A use case diagram (UML) is used to summarize the interactions between a system and its users. A use case diagram can be made for a general scenario or multiple scenarios that encapsulate the functioning of the system.
Three kinds of entities are displayed in the use case diagram:
1. System: The product that is developed in question. This is represented by a box that encompasses the use cases.
2. Actors: The users or systems that interact with the main system. An actor can be primary or secondary.
3. Use cases: The functions performed by the actors as they interact with the system. Use cases are represented by ellipses.
Generalization is a relationship between two entities such that one entity (child) inherits the functionality of another entity (parent). It can exist between two actors or two use cases. It is represented by an arrow in the direction of the parent use case or actor.
In the example above, the actors, supervisor, and student inherit the structure of their parent actor, the user. It means that both the supervisor and the student are types of users.
Similarly, the use case view repository has three children, a display repository list, a display tree, and a display file. The generalization implies that all three of these functions are similar to the parent use case, differing only in the particular entity that they display.