Use Cases

advertisement
Use Case Modeling
Watch the video on use cases
• Review at minute 2:41-3:37
Use Cases are one way to capture
requirements
• A visual way to capture functional
requirements
• 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
sensors
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
Teacher
Authorized
Staff Worker
Student
First, identify actors
• Who or what will provide input to the system?
• Who or what will need output from the
system?
• 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
Student
Graduate
Student
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
transaction”
• Exercise: identify
five uses cases for
an ATM
https://commons.wikimedia.org/wiki/File:Girl_blowing_bubbles.jpg
Answer: identify five use cases for an
ATM
•
•
•
•
•
•
•
•
Authenticate user
Withdraw funds
Deposit funds
Check balance
Transfer funds
Load bills
etc
Each would be a
bubble in diagram
https://commons.wikimedia.org/wiki/File:Girl_blowing_bubbles.jpg
Finally, add relationships
• Three types of relationships for use cases:
Includes
Extends
Generalization
Includes relationship
• One use case can invoke the behavior of
another
– 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
<<includes>>
Teacher
Record Grades for a
Section
Extends Relationship
• Similar to the includes, but used for handling
an abnormal situation
– arrow goes toward extended use case
Alter Student Grade
<<extends>>
Alter student grade for
a class taken more
than a year ago
Authorized
Staff Worker
Generalization Relationship
• Replaces generic functionality with an
concrete implementation
– arrow goes toward extended use case
Authenticate user
User
Authenticate by card
swipe
Authenticate by iris
scan
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:
http://www.cs.gmu.edu/~kdobolyi/cs321/hwk02.html
• 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
page
Download