Use Case Diagram

What is a use case diagram? A use case diagram is a dynamic or behavior diagram in UML. Use case diagrams model the functionality of a system using actors and use cases. Use cases are a set of actions, services, and functions that the system needs to perform. In this context, a "system" is something being developed or operated, such as a web site. The "actors" are people or entities operating under defined roles within the system.

Why Make Use Case Diagrams?

Use case diagrams are valuable for visualizing the functional requirements of a system that will translate into design choices and development priorities.

They also help identify any internal or external factors that may influence the system and should be taken into consideration.

They provide a good high level analysis from outside the system. Use case diagrams specify how the system interacts with actors without worrying about the details of how that functionality is implemented.

Use Case Diagram

Basic Use Case Diagram Symbols and Notations

Draw your system's boundaries using a rectangle that contains use cases. Place actors outside the system's boundaries.

System symbol - use case diagram

Use Case
Draw use cases using ovals. Label the ovals with verbs that represent the system's functions.

Use case symbol - use case diagram

Actors are the users of a system. When one system is the actor of another system, label the actor system with the actor stereotype.

Actor symbol - use case diagram

Illustrate relationships between an actor and a use case with a simple line. For relationships among use cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates that one use case is needed by another in order to perform a task. An "extends" relationship indicates alternative options under a certain use case.

Relationship symbol - use case diagram

Tips for UML Use Case Diagrams

When thinking of use cases, think of the end goal of a user. They don't want to "login" or "sign up." That's not a use case. The use case is more like "make a purchase."

Actors don't have names. They're not "Bob." They represent the role of someone interacting with the system.

Keep your names short and the size of your use cases consistent for a professional look.

For a detailed implementation of a user's goal use a sequence diagram.