visual-studioumldata-modelinguse-casesystem-requirements

Quiz System Use Case


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


Solution

  • Here's a few questions to ask yourself:

    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.