Sample Use Case Diagrams

Telephone

Sometimes it's useful to distinguish between actor/use case associations that are initiated by the actor and those initiated by the system. This is really an attribute of the association, but in this diagram I am using a navigation arrow to point away from the initiator.

Make Call Scenarios

Here are some make call scenarios:

connected, busy, no answer, invalid number

A scenario may be described using a script. Here's a script for the connected scenario of make call:

subscriber: dial number
telephone: send number to C.O.
central office: ring
telephone: play ring tone
central office: connect
telephone: connect
subscriber: talk
subscriber: hangup
telephone: disconnect

A sequence diagram is a slightly more formal way to describe a scenario:

 

VCR

 

Document Editor

The document editor use case model highlights the distinction between includes, extends, and specializes (i.e., generalizes). It's useful to distinguish between actor initiated and use case initiated use cases. Save As specializes Save because it's actor-initiated, whereas First Save extends Save because it can only be initiated by the Save use case. Like First Save, Get Path is also use case initiated, but Get Path is always initiated by First Save, Save As, and Open, while First Save is only conditionally initiated by Save (i.e., if it's the first time the document is being saved).

Note: Dependency arrows are broken in Rose.

Menus and menu items often make good use cases. Often menu item use cases are generalized by their parent menu use case. Buttons and boxes also make good use cases. When the user activates a text or list box, a message is sent to the system. In this case we may regard the text or list selection as a message parameter.

Order Processing System

View Catalog extends Place Order because it is only initiated if the Customer doesn't know what he wants to order.

 

Credit Card Payment System

It's also possible to show relationships (associations and generalizations) between actors in a use case diagram. (Remember, Actor is just a class stereotype with a special icon. Also remember that when UML talks about actors, what they really mean are roles.) Showing relationships between actors is mostly useful for modeling business processes.

 

Stack Calculator

Apply Function, Apply Trig Function, and Apply Arithmetic Function are abstract use cases:

Other Examples

Sketch use case diagrams for the following systems:

Point of Sale Terminal (POST)

Inventory Control System

Payroll System

Streaming Media Player

Electronic Business

Web Browser

Web Server

Computer

Car

TV

PBX

Call Center

Chat Room

Statistics/Probability Calculator

Financial Calculator

Graphing/Geometry Calculator

Physics Calculator

Integrated Development Environment

Electronic Auction

Patient Monitoring System

ATM

Battlefield Management System

Manufacturing Control System

Embedded flight Control System

Database Management System

Solitaire

Doom