Use Case Diagram (UCD)
This article is a concept guide to the Use Case Diagram (UCD)—covering exam questions, core components, and best practices.
In a Nutshell
A use case diagram models which goals actors aim to achieve with a system and which use cases the system offers, all from the user’s perspective. It’s a key artifact of requirements analysis.
Formal Definition
A UCD shows:
- Actors (roles/external systems) outside the system boundary
- System boundary (scope)
- Use cases (goal-oriented application scenarios)
Relations:
- include: mandatory reuse (always required)
- extend: optional extension under a condition
- Generalization: specialization of actors or use cases
A UCD describes the what, not the how. Details belong in textual use-case specifications (triggers, preconditions, postconditions, main and alternate flows) and in sequence or activity diagrams.
For security concerns, misuse cases can model threats and attacks.
Key Exam Topics
- Goal-level thinking, not UI-level clicks
- Actors are roles outside the system boundary
- include vs extend (frequently tested)
- Deriving requirements, acceptance criteria, and tests from a UCD
- Misuse cases for threat modeling
- Versioning and signing off diagrams and text descriptions
Core Components
- Primary/secondary actors
- System boundary
- Use case (ellipse)
- Association between actor and use case
- include
- extend
- Generalization
- External systems
- Misuse case
- Traceability (use case → test)
Practical Example (E-commerce Shop)
Actors: Customer, Payment Provider, Admin
Use Cases: Register, Log In, Search Product, Shopping Cart, Checkout
Checkout: include Start Payment Process
Checkout: extend Apply Discount (if voucher present)
Misuse: Unauthorized Access → Countermeasure: Enable 2FA
Strengths and Weaknesses
Strengths
- Excellent for stakeholder communication
- Clear system boundaries
- Strong foundation for deriving requirements and tests
Weaknesses
- No process logic or flow details
- Risk of overloading the diagram
- Textual descriptions are essential
Typical Exam Questions (with Short Answers)
-
What is a UCD used for? To show system functionality from the user’s perspective and define system boundaries.
-
What’s the difference between include and extend? include = always required; extend = optional, triggered by a condition.
-
What goes in a textual use-case description? Triggers, preconditions, postconditions, main flow, alternate flows, and acceptance criteria.
-
How do you derive tests from a UCD? Each flow variation yields at least one test case.
Important Note
In the FIAE exam, “UCD” almost always refers to the use case diagram (not user-centered design). Pay close attention to correct notation, clear goal names, and traceability to requirements and tests.
Study Strategy
- Sketch a UCD for an e-commerce shop.
- Write textual descriptions for each use case (with preconditions and postconditions).
- Practice include and extend relationships.
- Create a traceability matrix linking use cases to test cases.
Key References
- https://www.omg.org/spec/UML
- https://en.wikipedia.org/wiki/Use_case_diagram
- https://alistair.cockburn.us/knowledgebase/writing-effective-use-cases/



