Use Cases

Use Case Modeling
Watch the video on use cases
• Review at minute 2:41-3:37
Use Cases are one way to capture
• A visual way to capture functional
• Each bubble is a discrete
user goal
• Actors can be people, or
external systems
• Each bubble is mapped to a
textual description
Arms/ disarms
syst em
Accesses syst em
via Int ernet
homeow ner
syst em
administ rat or
Responds t o
alarm event
Encount ers an
error condit ion
Reconf igures sensors
and relat ed
syst em f eat ures
Use Case Description
• See example on class schedule
• Include basic and alternate/exception flows
– Each alternate flow must start at a step in the basic
flow, and may return to a step in the basic flow
– Exception flows are analogous to exceptions in code
• Includes versus preconditions
• Do not use language that hints at implementation
details or system interactions
– Avoid click, press, type, button, etc.
– Unnecessarily limits creativity
Use Case Diagrams
• Made up of three components
– Actors (people or external systems)
– Use Cases (with textual descriptions)
– Relationships
Record class grades
Review Transcripts
Staff Worker
First, identify actors
• Who or what will provide input to the system?
• Who or what will need output from the
• Exercise: identify three
actors for an ATM
Answer: identify three
actors for an ATM
• Customer
• Database (for account information, etc) – this
is an external system
• Maintenance person
Relationships between actors
• One can be a specialization of another
• Actors are classes, not individual people
Next, identify user goals
• User Goals are statements that represent
what the users need to accomplish,
independent of specific software features
“Buy a book”
“Return a book”
“View order history”
“Record a log for a
• Exercise: identify
five uses cases for
an ATM
Answer: identify five use cases for an
Authenticate user
Withdraw funds
Deposit funds
Check balance
Transfer funds
Load bills
Each would be a
bubble in diagram
Finally, add relationships
• Three types of relationships for use cases:
Includes relationship
• One use case can invoke the behavior of
– arrow goes toward included use case
• Not always, but often a precursor
– I.e. the “Buy a book” use case includes the
“Authenticate customer” Alter Student Grade
Record Grades for a
Extends Relationship
• Similar to the includes, but used for handling
an abnormal situation
– arrow goes toward extended use case
Alter Student Grade
Alter student grade for
a class taken more
than a year ago
Staff Worker
Generalization Relationship
• Replaces generic functionality with an
concrete implementation
– arrow goes toward extended use case
Authenticate user
Authenticate by card
Authenticate by iris
Why Use Cases?
Visual representation easy to understand
Relationships are opportunities for reuse
Use case descriptions can be basis for testing
Can be the basis for planning and scheduling
Quiz review
What is a single use case?
What is a use case description?
What is a use case diagram?
What is an actor?
What is a relation?
includes relation?
extends relation?
generalization relation?
which way does the arrow go?
In-class Exercises
• Complete the ATM use case diagram
– use each type of relation at least once
• Complete the use case description for the
Withdraw Funds use case for the ATM
• Complete the exercises at:
• Due at beginning of next class
In-class Exercises (time permitting)
• Examine the Quiz Game description
• In your teams, come up with at least seven
use cases;
– At least three actors
– At least one of each type of relationship
– Complete a use case description for each use case
• Turn in this assignment through svn
– See instructions, rubric, and details on project

similar documents