Use Case BasicUseCases
Use Case BasicUseCases
Model Namespace
Element
Classifier Generalizable
Element Constraint
name
isRoot visibility
isSpecification Body
CS/SWE 421
Introduction to Software Engineering
Dan Fleck
(Slides adapted from Dr. Stephen Clyde with permission)
3
Coming up: Use Case Diagrams
Use Case Diagrams
Use Case Diagrams provide a visual way to
document user goals and explore possible
functionality
Three primary modeling components:
– Actors – Relationships between
– Use Cases use cases
Record class grades Review Transcripts
Teacher
Authorized Student
Staff Worker
4
Coming up: Actors
Actors
Actors are people or external systems that
need to interact with our system
Finding Actors
Student
Graduate
Student
6
Coming up: Use Case Relationships
Use-Case Relationships
Includes Dependency: Defines how one
use case can invoke behavior defined by
another use case
<<includes>>
7
Coming up: Use-Case Relationships
Use-Case Relationships
Extends dependency: defines a use-case
that is a variation of another, usually for
handling an abnormal situation
<<extends>>
8
Coming up: Use-Case Relations
Benefits of Use Cases
Use cases diagrams capture user-visible functions
– iPod
– Television set
– Elevator
– ATM
– Online Scrabble game
– Word Processor
10
Coming up: Use cases for CS421
Use cases for CS421 Show system
boundary
Show Actors
outside
boundary
Use extend,
include, Typically one
generalization/spe
cialization where diagram for
appropriate your project
11
Coming up: Use cases for CS421
is sufficient
Use cases for CS421
For each use-case (oval) in your diagram
include the use-case description text
described in the slide for Chapter 5, titled:
12
Coming up: Questions
Questions
Who might be interested in reviewing or using use
case diagrams?
When in the development life cycle should we employ
use cases?
What do use cases have to do with object-orientation?
How many use cases are enough?
Can other modeling activities help in discovering use
cases?
What should the text description of use case contain?
13
Coming up:
Actors
Actors are people or external systems that
need to interact with our system
Actors carry out use cases
Actors are represented as stick figures
Although users are actors, not all actors
are users
– Actors can be external software systems
– External hardware (sensors, actuators, etc.)
– Actors can be people that need the functionality of
the system, but may not be the ones who actually
invoke the software commands
17
Coming up: Hints for Finding Actors
Hints for Finding Actors
Who or what will use the main functionality of the
system?
Who or what will provide input to this system?
Who or what will use output from this system?
Who will need support from the system to do their
work?
Are there any other software systems with which
this one needs to interact
Are there any hardware devices used or controlled
by this system?
Using these what are some actors for an iPod?
18
Coming up: Hints for Modeling Actors
Hints for Modeling Actors
An actor can be a role that a user plays with
respect to the system
A single person may play different roles
A single actor may perform many use cases
A use case may be performed by many actors
Show external systems as actors only when
they are the ones who need a use case
19
End of presentation