Use Cases
Behavioral
Structural
Objective
- Understand system boundaries and scope.
- Identify system functions and their associated actors.
- Define relationships, associations, and stereotypes.
- Generalize use cases and actors.
- Factor use cases using inclusion and extension.
Functions
A use case is a description of a system function. A description of how a user interacts with a system to achieve a specific goal. It represents a functional requirement of the system from the user’s perspective.
Actors
An external entity (person, system, or device) that interacts with the system. Actors are typically represented in use case diagrams.
System
Scope
A scope clearly outlines the boundaries of the system, indicating which components are internal to the system and which are external actors or entities interacting with the system.
Boundaries
Boundaries are often used to define the scope of the system and represented as a box around use cases, separating them from external actors.
Goals
A goal is typically a single concise statement describing the overall objective or intended outcome and focusing on what the actor wants to achieve. Goals should be actor oriented and provide the “why” of the use case.
Exercise 1
Transform the functions and actors identified in 2 Requirements: Exercise 2 into a natural language description of corresponding use cases. You can use this guide (opens in a new tab), for example. Write the description using Markdown in use-cases.md.
Relationships
Associations
Associations in use case diagrams represent relationships between actors and use cases. They show how actors interact with the system’s functionalities.
Exercise 2
Create use case diagrams based on the natural language descriptions from Exercise 1. Save the corresponding project as system.vpp.
Stereotypes
A stereotype is one of three types of extensibility mechanisms in UML, the other two being tags and constraints.
Dependency
A relationship where a change in one element may affect another element. It indicates that one element relies on another.
Generalization
A relationship between a more general element (the parent) and a more specific element (the child) that fully inherits the parent’s characteristics.
Inclusion
A relationship in use case diagrams where one use case (the base) includes the functionality of another use case (the inclusion) as part of its normal operation.
Extension
A relationship in use case diagrams where one use case (the extension) may be inserted into another use case (the base) under certain conditions.
Exercise 3
Factor the use cases and actors from Exercise 2 using generalization/specialization (), inclusion («include»), and extension («extend»). Save the corresponding project as details.vpp.
Follow the 3 Issue Tracking guide to learn more about issue tracking using GitHub.
Structure
details.vppsystem.vppuse-cases.md
Resources
- Visual Paradigm: What is a use case diagram? (opens in a new tab), Use case diagram notations guide (opens in a new tab), Use case relationship types: A comprehensive guide for effective system design (opens in a new tab)
- Use case diagrams (opens in a new tab)
- Use-case diagrams (opens in a new tab)
- UML use case diagrams (opens in a new tab)
- UML diagrams (opens in a new tab)