A use case diagram is a static type of UML diagram which is used to depict the interactions among the elements of a system. It is a high-level diagram, also considered a mother of all UML diagrams. Basically, use case diagrams describe the functionality of a system. There are four major components in a use case diagram: Actors, Use Cases, System Boundary, Relationships. In this article we will emphasis on the relationships between and among the actors and use cases. Relationships exist either between actors or between use cases but not between an actor and a use case. There are basically four types of relationships in a use case diagram:
- Association – An association is a relationship between two classifiers, such as classes or use cases, that describes the reasons for the relationship. It is denoted by a single line.
- Generalization – Generalization exists between a generalized class(also known as parent class) and specialized class(child class). This relation explains the Inheritance taking place in a use case diagram. It is denoted by a single line with an arrow.
- Include – This is a relationship in which one use case(base use case) includes the functionality of another use case. It depicts what is mandatory. It is denoted by dotted line and arrow with <<inc>>.
- Extend – This is a relationship in which one use case(extension) extends the behaviour of another use case(base use case). It depicts what is optional. It is denoted by a dotted line and arrow with <<ext>>.