A use case diagram is a Unified Modeling Language (UML) diagram for requirements elicitation. Use case diagrams provide a graphical overview of the goals (modeled by use cases) that users (represented by actors) want to achieve by using the system. Use cases in a use case diagram can be organized and arranged according to their relevance, level of abstraction, and impact on the user. They can be linked to show their dependencies, include, extend, generation relationships.

A use case describes the specific business objective that the system to be built is intended to meet. Graphically, it is an oval with a name that looks simple, but is the most common tool used to manage business goals or project objectives.

Use Case Diagram Notation Summary

Notation Description Visual Representation
Actor
  • Someone interacts with the use case (system function).
  • Named by a noun.
  • Actor plays a role in the business
  • Similar to the concept of a user, but a user can play different roles
  • For example:
    • A prof. can be an instructor and also a researcher
    • plays 2 roles with two systems
  • Actor triggers use case(s).
  • Actor has a responsibility toward the system (inputs), and Actor has expectations from the system (outputs).
Use Case Diagram notation: Actor
Use Case
  • System function (process – automated or manual)
  • Named by verb + Noun (or Noun Phrase).
  • i.e. Do something
  • Each Actor must be linked to a use case, while some use cases may not be linked to actors.
Use Case Diagram notation: Use Case
Association Link
  • The participation of an actor in a use case is shown by connecting an actor to a use case by a solid link.
  • Actors may be connected to use cases by associations, indicating that the actor and the use case communicate with one another using messages.
Use Case Diagram notation: Association
Boundary of system
  • The system boundary is potentially the entire system as defined in the requirements document.
  • For large and complex systems, each module may be the system boundary.
  • For example, for an ERP system for an organization, each of the modules such as personnel, payroll, accounting, etc.
  • can form a system boundary for use cases specific to each of these business functions.
  • The entire system can span all of these modules depicting the overall system boundary
Use Case Diagram notation: System
Extends
  • Indicates that an “Invalid Password” use case may include (subject to specified in the extension) the behavior specified by base use case “Login Account”.
  • Depict with a directed arrow having a dotted line. The tip of arrowhead points to the base use case and the child use case is connected at the base of the arrow.
  • The stereotype “<<extends>>” identifies as an extend relationship
Use Case Diagram notation: Extend
Include
  • When a use case is depicted as using the functionality of another use case, the relationship between the use cases is named as include or uses relationship.
  • A use case includes the functionality described in another use case as a part of its business process flow.
  • A uses relationship from base use case to child use case indicates that an instance of the base use case will include the behavior as specified in the child use case.
  • An include relationship is depicted with a directed arrow having a dotted line. The tip of arrowhead points to the child use case and the parent use case connected at the base of the arrow.
  • The stereotype “<<include>>” identifies the relationship as an include relationship.
Use Case Diagram notation: Include
Generalization
  • A generalization relationship is a parent-child relationship between use cases.
  • The child use case is an enhancement of the parent use case.
  • Generalization is shown as a directed arrow with a triangle arrowhead.
  • The child use case is connected at the base of the arrow. The tip of the arrow is connected to the parent use case.

Use Case Diagram – Vehicle Sales Systems

The figure below shows a use case diagram example for a vehicle system. As you can see even a system as big as a vehicle sales system contains not more than 10 use cases! That’s the beauty of use case modeling.

The use case model also shows the use of extend and include. Besides, there are associations that connect between actors and use cases.

Use Case Diagram Example - Vehicle Sales Systems