Use Case Diagrams
Use Case diagrams describe the high-level functional requirements of a system. They show what a system does, not how it does it.
1. Key Elements
- Actors: External entities that interact with the system (stick figures). Can be humans or other systems.
- Use Cases: Specific tasks or functions the system performs (ovals).
- System Boundary: A box defining the scope of the system.
- Associations: Lines connecting actors to use cases.
2. Advanced Relationships
Use cases can relate to each other:
<<include>>: One use case must include another to complete its task.- Example: “Withdraw Cash”
<<include>>“Authenticate User”.
- Example: “Withdraw Cash”
<<extend>>: One use case optionally adds behavior to another under specific conditions.- Example: “Calculate Tax”
<<extend>>“Place Order” (only if tax applies).
- Example: “Calculate Tax”
3. Decisions: Actor or Use Case?
- Actor: Is it outside the system boundary? Does it initiate or receive something?
- Use Case: Is it a goal the actor wants to achieve?
4. Example
PlantUML Code:
left to right direction
actor "Customer" as c
actor "Bank Clerk" as b
rectangle "ATM System" {
c -- (Withdraw Cash)
c -- (Check Balance)
(Withdraw Cash) ..> (Authenticate) : <<include>>
(Check Balance) ..> (Authenticate) : <<include>>
(Withdraw Cash) <.. (Print Receipt) : <<extend>>
b -- (Maintenance)
}
System Diagram