2

The following image describe my Quiz System the teacher will login to a website and create a quiz and enter its question and the probable answers, then the student will use their phone to login and chose the teacher and select the required quiz,then answer the questions and view the results at the end on the phone,in addition the teacher can view the quiz results on the website.

does the following Use case describe what I have just said??!.

From student perspective:

1- should the login use case to be the base case and all other use cases will be added as include

2- should I have a "Do the Quiz" use case or just directly associate the other use cases to the student

3-should the "View Quiz Results" be associated as include to "Do the Quiz"

From teacher perspective

I have the same question for teacher actor which use cases should be associated as include and which should be associated directly to the actor and which should be associated as extend.

enter image description here

Moatasem bakri
  • 147
  • 1
  • 4
  • 16
  • not quite. the `UML sequence diagram` (http://www.uml-diagrams.org/sequence-diagrams.html) or `UML activity diagram` (http://www.uml-diagrams.org/activity-diagrams.html) might say it more clearly, especially if the `phone` and `website` were modeled as actors – xmojmr Sep 18 '14 at 15:52
  • I just want to know if the above model is valid as I have described it, so the sequence diagram and activity diagram will be used later to dig into system details. @xmojmr – Moatasem bakri Sep 18 '14 at 16:20
  • your case diagram does not describe the sequence of actions and some actions are not present at all, e.g. the "chose the teacher and select the required quiz". 1 sequence diagram or 2 activity diagrams would say it all and at the same time they would help you verify completeness of your use case diagram – xmojmr Sep 19 '14 at 01:46
  • I just want to make sure that my diagram describe all aspect and functionality of the system,later I can make activity diagram depending on the use case of the system,So should I change the association like include and extend or add more use cases and like should the "Do the Quiz" use case have to other use cases, that's all what I want. @xmojmr – Moatasem bakri Sep 19 '14 at 03:48
  • your diagram does not describe all aspects and it can not do it alone. Drawing some lines with <> or <> stereotypes between some bubbles without further meaning will not help (in my opinion). Drawing an overview sequence diagram would help. See http://stackoverflow.com/a/23842960/2626313 and http://stackoverflow.com/a/25896332/2626313 for some more links about use cases, watching this video may clarify my point even further: http://www.sparxsystems.com/resources/demos/use-case-analysis/structured-use-case-scenarios.htm – xmojmr Sep 19 '14 at 04:00

1 Answers1

3

Here's a few questions to ask yourself:

  • Is the Admin required to log in?
  • Could Prepare Quiz Information be replaced by Create New Quiz?
  • Likewise, could Do The Quiz be replaced by Choose The Quiz?
  • What does the line between Teacher and Admin represent?

Also see What's is the difference between include and extend in use case diagram? which says

Extend is used when a use case conditionally adds steps to another first class use case.

For example, imagine "Withdraw Cash" is a use case of an ATM machine. "Assess Fee" would extend Withdraw Cash and describe the conditional "extension point" that is instantiated when the ATM user doesn't bank at the ATM's owning institution. Notice that the basic "Withdraw Cash" use case stands on its own, without the extension.

Include is used to extract use case fragments that are duplicated in multiple use cases. The included use case cannot stand alone and the original use case is not complete without the included one. This should be used sparingly an only in cases where the duplication is significant and exists by design (rather than by coincidence).

For example, the flow of events that occurs at the beginning of every ATM use case (when the user puts in their ATM card, enters their PIN, and is shown the main menu) would be a good candidate for an include.

To answer your questions:

  1. should the login use case to be the base case and all other use cases will be added as include

From my experience, no.

  1. should I have a "Do the Quiz" use case or just directly associate the other use cases to the student

I would directly associate Student with Choose The Quiz, but it is highly subjective.

  1. should the "View Quiz Results" be associated as include to "Do the Quiz"

No, the included use case should not be able to stand alone but in your example it clearly can. See the definition of include and extends in the previous link.

Community
  • 1
  • 1
hayden
  • 2,643
  • 17
  • 21