Basics of UML Use Case Diagrams

Use case diagrams can be defined as behavior diagrams that are used to describe a set of actions (use cases) that some system or systems (subject) should or can perform in collaboration with one or more external users of the system (actors). Each use case should provide some observable and valuable result to the actors or other stakeholders of the system. For a detailed look into use case diagrams check out our use case guide

What you need to remember is that when it comes to UML 2.4 specification, it makes sense to assess and see what use case diagrams are described as when it comes to a specialization of class diagrams. Class diagrams, as we already know, are structure diagrams.

Use case diagrams could be regarded as being twofold - they are both behavior diagrams (because they describe behavior of the system), and they are also structure diagrams - as a special case of class diagrams where classifiers are restricted to be either actors or use cases related with association.

Use case diagrams are used to specify :

  1. (external) needs on a subject, mandatory usages of a system - to capture what a system under construction is meant to do;
  2. the functionality offered by a subject – what the system can do;
  3. the requirements, which the specified subject poses on its environment - by defining how environment should interact with the subject so that it will be able to perform its services.

Major elements of the use case diagram are shown on the picture below:

Subject

The subject (of use cases) is the system under analysis or design to which a set of use cases apply. The subject could be a business or company, software system, physical system or device, or a smaller subsystem having some behavior.

When it comes to UML terms, the subject is a use case classifier playing the "subject" role. Use case classifier is classifier extended with the capability to own use cases.

The required behavior of the subject is specified by one or more use cases, which in turn are defined as per the needs of actors.

Subject is presented by a rectangle with subject name in upper corner with applicable use cases inside the rectangle and actors - outside of the system boundaries.

Business Model Subject

Use cases could be used to model business to analyse business processes, recognize the problems being experienced, determine the opportunities to better serve customers. Subject of use cases in this case is enterprise, business, company or its division, department, team.

Examples of business subjects :

  1. Department Store
  2. Airport
  3. Restaurant

UML provides no standard stereotypes to model business processes but we can use custom stereotypes like «business» or «department», if needed for clarity. The diagram shown below indicates that «business» Restaurant with business actors Customer, Advertiser and Supplier and related business use cases.

Example below shows typical misconception for the «business» Restaurant with business actors mistakenly including Waiter and Cashier. These are both working for the restaurant and are part of the business. They should not be shown as actors because actors are external users (customers) of the business (system).

Software System Subject

When it comes to the aspect of system use cases, there are a few things that describe a system, which automates some business use case(s) or process. Subject in this case is software and/or hardware system, subsystem, component or device.

Examples of systems :

  1. Web Site
  2. Payment System
  3. Automated Teller Machine (ATM)
  4. Point of Sale (POS) Terminal

<

Applicability of Use Cases

Use cases visually located inside the system boundaries are use cases that are applicable to the subject. However, they are not necessarily owned by the subject.

It is possible for some use cases to be applicable to multiple subjects.

Ownership of Use Cases      

In UML 2.4 subject could own some or all of applicable use cases. This owning (nesting) of a use case is represented using the standard notation for nested classifier.

For a more detailed look at use case diagram check out our use case diagram tutorial.

Learn How Creately Diagrams works

Learn How Creately Diagrams works