Use case diagram is one of the static Unified Modelling Language . Use case is a high level diagram and it is used to describe the functionality of how system works using essential and supporting use cases. A use case represents a distinct functionality of a system , a component, a package , or a class. In use case diagram Primary actor directly interacts with the system. After making a use case model we have to find the relationships between actors, essential use cases , and supporting use cases .
Use case UML ( Unified Modelling Language ) diagrams can be created using these softwares – MS visio , Lucid chart, Magic draw, Gliffy.
In use case diagram relationships are connection between model elements. The relationships we use in a Use case UML diagram is : –
- Generalization Relationship
- Association Relationship
- Include Relationship
- Exclude Relationship
Generalization is a relationship in which one child model element is based on another parent model element. The descendant inherits all the use cases of the ancestor. The descendant has one or more than one use cases that are specific to that role . Generalization Relationship are used in use case diagram to indicate that the child model element receives all of the relationships, attributes and operations that are defined in the parent model class .
Parent class exist of one or more of child classes .
For example – when essential use case is “make payment” functionality generalized supporting use cases will be “pay by Card” , “pay by cash” .
This relationship between actor and use case is straightforward in every use case diagram and it describes the reasons for the relationship and rules that effect the relationships. It is a basic relationship feature to indicate that the actor and use case somehow communicate or interact with each other. An actor must be associated with at least one use case and can be associated with more than one use cases. Two Actors can also be associated with one use case .
In Use case diagram Include relationship is used to determine that one base use case includes the functionality of another inclusion use case. When an actor initiates any base use case then base use case executes included use case . An include relationship is depicted with a directed arrow having a dotted line. The tip of arrowhead points to the child use case and the parent use case connected at the base of the arrow. The stereo type of “USES” is used to identify the include relationship . Parent class is not complete without child class.
For example – when essential use is “withdraw cash “ the supporting use case will be “check balance”, this will be considered as an include relationship between these use cases.
In Microsoft visio like software Use case include feature is mentioned as USES .
In Use case diagrams Exclude relationship is used when a use case has optional functionalities. You can use an extend relationship to specify that one use case extends the behaviour of another base use case. This type of relationship reveals details about a system or application that are usually hidden in a use case. Depict with a directed arrow having a dotted line. The tip of arrowhead points to the base use case and the child use case is connected at the base of the arrow. The stereo type of “Extends” used to identifies the extend relationship.
Parent class exist without child class
For example – toppings of a pizza is an optional choice whether we can use it or not use it. So the extend relationship is same like that, used to mention the optional supporting use cases.