2. Use Case Diagram
A use case describes the functionality of the software system that an actor must perform to obtain a desired result or to achieve a goal. Use cases should allow to talk to the future user about the functionality of the software system without getting lost in details right away.
An actor is a role played by a user of the software system. Actors can be humans or other automated systems. They are always external to the system.
A use case diagram gives a good overview of the software system and its interfaces to the environment at a high level of abstraction. The actors are often entered as stick figures, but can also be represented by a rectangle or pictogram (e.g., as a computer symbol).
![../../_images/UseCaseDiagram1.png](../../_images/UseCaseDiagram1.png)
A line between actor and use case means that communication is taking place. The system under consideration is modeled as a large rectangle that includes all use cases.
With the help of the extend relationship, a use case A is extended by a use case B. The use case A describes the basic functionality, the use case B specifies extensions. Use case A can be executed alone or together with the extensions. For an extension to be inserted, a condition must be met. This condition can be specified as a note or comment if required and appended to the extend relationship.
The include relationship allows the common functionality of use-cases A and B to be described by a use-case C. The use case C is not optional, but is always required for the correct execution of A and B. The include relationship eliminates the need to describe the same behavior multiple times. In contrast to the extend relationship, the execution of use case C is not dependent on any condition.
![../../_images/UseCaseDiagram2.png](../../_images/UseCaseDiagram2.png)
Use case diagrams are created per use case. A visual connection of multiple use cases is not typical, here individual diagrams are used.
To represent boundaries, e.g. of devices, packages can be used.
![../../_images/UseCaseDiagram3.png](../../_images/UseCaseDiagram3.png)
Hint
Use case diagrams can be created online: https://app.diagrams.net/