USE CASE DIAGRAM
Use case diagram is a behavioral UML diagram, this is a high-level diagram and the mother of all diagrams. A use case diagram can summarize the details of the system’s users and their interactions with the system. Use case diagrams are used to identify functions and how people, organization, and external systems interact with the proposed application or system. It describes the functionality of a system in a horizontal way. Only positive flow is modeled in a use case diagram and it does not indicate the order in which the actions are performed.
The various elements of a use case diagram are:
- THE SYSTEM ITSELF
- THE USES CASES
- THE LINES THAT REPRESENT THE RELATIONSHIP between those elements.
Actor in a use case diagram is any entity that performs a role in one given system. This could be a person, organization or an external system. Actor is represented by a noun. Actors stay away from the system boundary. Primary actor initiates the system to work and the system depends on secondary actor for information. All reusable actors should be placed towards the right side of the system boundary. You cannot model database of the system as a separate (secondary) actor.
A use case represents a function or an action within the system. It’s drawn as an oval and named with the function. Use cases are verbs. Essential use cases make sense and completeness to the end user. Supporting use cases makes sense and supports essential use case.
System is a box that sets a system scope to use cases. All use cases outside the box would be considered outside the scope of that system.
Relationship is a line between actors and use cases. It is important to know which actors are associated with which use cases. There are five types of relationships in a use case diagram. They are: Association between an actor and a use case, Generalization of an actor, extend relationship between two use cases, Include relationship between two use cases, Generalization of a use case. The direction of arrow indicates dependency.
GENERALIZATION is a kind of [Parent class doesn’t exist without none of the child classes].
INCLUDE means compulsory [Parent class is NOT complete without child classes].
EXTEND means optional [Parent class exist without child classes].
How to identify actors?
The following questions can help you identify the actors of your system:
Who uses the system?
Who installs the system?
Who starts up the system?
Who maintains the system?
Who shuts down the system?
What other systems use this system?
Who gets information from this system?
Who provides information to the system?
Does anything happen automatically at a present time?
How to identify Uses cases?
The following questions can be asked to identify use cases:
What functions will the actor want from the system?
Does the system store information? Which actors will create, read, update or delete this information?
Does the system need to notify an actor about changes in the internal state?
Are there any external events the system must know about? Which actor informs the system of those events?
How to draw use case diagram from a case study:
- Information which we do not model in use case diagrams are: names of the systems, database names, networks, brand names, technology names.
- Differentiate information against actions.
- Write all sequence of actions.
- Find out which actor is performing the above action.
- Identify essential use cases and supporting use cases.
- Identify some modules with respect to functionality or usage.
- Draw the relationships appropriately between the identified actors and use cases.