You are on page 1of 31

Slide 1

Object-Oriented Software Systems Engineering Chapter 3


Use Cases
Chapter 3
Slide 2
Object-Oriented Software Systems Engineering Chapter 3
Objectives
In this chapter we will:
Describe use case modelling
Introduce use cases and actors
Discuss relationships between use cases
Introduce use case descriptions



Slide 3
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling
The purpose of use case modelling
to decide and describe the functional
requirements of the system
to give clear and consistent description of what
the system should do
to provide a basis for performing tests that
verify the system
to provide the ability to trace functional
requirements into classes and operations
Use case model
represents use-case view
is described by a use-case diagram
Slide 4
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling
Use Cases are described using both text
documents and diagrams

Use-case modelling is primarily an act
of writing text NOT just drawing diagrams
Slide 5
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling
Definition of use case
represents a complete functionality as perceived by an actor
a set of sequences of actions a system performs that yield
an observable result of value to a particular actor
Characteristics
is always initiated by an actor
provides tangible value to an actor (observable not
necessary salient)
is complete - use case is not complete until an end value is
produced even if several communications occur along the
way
Scenarios are instances of use-cases
A specific sequence of actions that illustrate behaviour
Youll find primary scenarios and secondary scenarios
Slide 6
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling terms & concepts
Name of System
A Use Case An Actor
Slide 7
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling terms & concepts
The system boundary
defines responsibility
black box that provides use-cases
within the system boundary
what the system does but not how the system does
Use-cases
a description of a set of sequence of actions, including
variants that the system performs to yield an observable
value to an actor
a set of scenarios
Slide 8
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling terms & concepts
Actor
representing a role that someone might play, rather than
a particular individual
external entity that has interest in interacting with the
system
Interaction
a communication relation between an actor and a use
case

Slide 9
Object-Oriented Software Systems Engineering Chapter 3
Identifying Use Cases and Actors
What functions does the actor require from the
system?
Does the actor need to read, create, destroy,
modify or store some kind of data in the system?
Does the actor have to be notified about events in
the system, or does the actor need to confirm with
the system for something?
Could the actors daily work be simplified or made
more efficient via new functions in the system?
What input/output does the system need?
Can these requirements be handled by one actor
or someone else as well?

Slide 10
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling organising use cases
UML use-case diagram
Communication associations:
connect actors to use cases
Manager
UseCase 1
User 2
UseCase 3
User 1
UseCase 2
An Actor
A Use Case
Communication Association
Slide 11
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling types of relationships
Relationships between actors
generalization - specialization
Library User
Student Lecturer
Slide 12
Object-Oriented Software Systems Engineering Chapter 3
Use Case Modelling types of relationships
Two stereotypes of dependency relationship in use cases
<<include>>
B A
Include
specifies that the source use case
(A) explicitly incorporates the
behaviour of the target (B)

A includes the behaviour of B
Extends
specifies that the target use case
(B) extends the behaviour of the
source (A)

A is extended from B by adding
some actions
<<extends>>
B A
Extension points
Slide 13
Object-Oriented Software Systems Engineering Chapter 3
Use Case Relationships
Extend and Uses relationship - different forms of re-use
Extend relationship - accounts for optional behaviour
Include relationship -uses or include relationship
one use case uses another use case
(reuse by composition)

Place order
Extension points
set priority
Vaildate user
Place rush
order
<<extends>>
(set priority)
<<uses>>
Check password
Retinal scan
Slide 14
Object-Oriented Software Systems Engineering Chapter 3
A Simple Use Case Diagram of Library
part 1
Library
Member
Search for
book
Borrow a
copy of book Librarian
Refuse
loan
Member of
Staff
Return a
copy of book
Reserve a book
Library System
<<extend>>
over limit
Update
catalog
Extend loan
Slide 15
Object-Oriented Software Systems Engineering Chapter 3
Use Case Diagram - order processing
Return
product
Update product
quantities
Place order
extension points
set discount
Give product
information
Update
account
Customer
discount
Cancel order
Get status
on order
Run sales
report
Customer
Sales Rep
Inventory
system
Accounting
system
Slide 16
Object-Oriented Software Systems Engineering Chapter 3
Use Case Diagram - course management
Student
Register for
courses
Billing system
Create
course
catalogue
Lecturer
Select
courses to
teach
Registrar
Request
course roster
Maintain
information
Maintain
courses infor.
Maintain
lecturers infor.
Maintain
students infor
Course Management System
Slide 17
Object-Oriented Software Systems Engineering Chapter 3
Manager
UseCase 1
Actor 2
UseCase 3
Actor 1
UseCase 2
Use Case
diagram
Class 1
Class 2
Class 3 Class 4
c3: object c2: object
<<Actor>>
User
0: event
1: operation
2: operation
Class
diagram
Sequence
diagram
state 2
state 1
State
diagram
Slide 18
Object-Oriented Software Systems Engineering Chapter 3
Manager
UseCase 1
Actor 2
UseCase 3
Actor 1
UseCase 2
Use Case
diagram
Class 1
Class 2
Class 3 Class 4
c3: object c2: object
<<Actor>>
User
0: event
1: operation
2: operation
Class
diagram
Sequence
diagram
state 2
state 1
State
diagram
state 2
state 1
State
diagram
Slide 19
Object-Oriented Software Systems Engineering Chapter 3
Use Case
A use case is a starting point
You may not know very much about a subject,
write down what you do know
Then you need to find out the detail that you do
not know but that you need to know in order to
solve the problem
When we have as much detail as we need, we can
produce Use Case Descriptions

Slide 20
Object-Oriented Software Systems Engineering Chapter 3
Use Case Descriptions
A use case description:
The text to describe a particular use case
interaction - in the form of a 2-way dialogue
between the actor and the system
Provides the supporting detail for the use case
diagram - not to be started until the diagram is
complete/nearly complete
Also known as Use Case Scripts or Use Case
Scenarios (beware - the latter has another
meaning)
Slide 21
Object-Oriented Software Systems Engineering Chapter 3
What to describe
Describe the most common/normal form of
interaction first - the basic course
Describe possible variations separately - the
alternative courses
The script should be in a conversational style:
actor requests.
System responds by.
Actor does..
And so on..
Slide 22
Object-Oriented Software Systems Engineering Chapter 3
Example of a Use Case Description
In the video rental shop, the interaction between
Counter Assistant and Rent Video use case may
be:
Actor Actions System Response
1. Customer tenders video(s) to be
rented and membership card
2. Counter assistant enters member 3. System provides member details and
no.into system status of loans and fines
4. Assistant enters identification of each
video to be rented 5. System accepts ids and gives fee payable
6. Assistant requests payment, takes
money and enters payment made 7. System logs payment details

Slide 23
Object-Oriented Software Systems Engineering Chapter 3
Guidelines
Include a series of numbered sections or steps
which describe noteworthy events and possibly
related context, constraints and business rules
Steps may alternate between actor and system, or
may be a series of consecutive steps taken by
either of them
Written from the users point of view
Written in the vocabulary of the user
Slide 24
Object-Oriented Software Systems Engineering Chapter 3
Conversational Style
This conversational style script (as if for a theatre
play) is a good compromise between the
advantages and disadvantages of other methods:
It is quick and easy to write (important for
capturing early, outline information)
It is quick and easy to read and to understand
It encourages concise-ness
It identifies the required sequence of actions
It highlights causes and effects

Slide 25
Object-Oriented Software Systems Engineering Chapter 3
Essential Use Cases
These are used during the feasibility and analysis
stages of the project
The aim is to be free of implementation detail to
show the essence of the business requirements
(the conceptual model)
Enables analysts, developers, users and clients to
understand the scope of the problem and the
processes required
Slide 26
Object-Oriented Software Systems Engineering Chapter 3
Real Use Cases
Now the Essential Use Cases will be used as the
basis for lateral, creative thinking with the
opportunity for new ideas on how to create the
system
Real Use Cases are used to document the design
of the project
how it will work in reality
For a user interface it may include prototype
screen shots, print layouts, form layouts, menus
For a system interface it may include file layouts
Slide 27
Object-Oriented Software Systems Engineering Chapter 3
Template Sections
The following sections are normally included:

Use Case - its identifier/name
Actors - list of actors involved. Show which one
initiates the use case
Overview - short outline description summarising
the use case
Type - category of the use case
Cross References - use case relationships
(covered later)
Slide 28
Object-Oriented Software Systems Engineering Chapter 3
Categories of Use Cases
1. Primary - major common process
For example: Rent Video
2. Secondary - minor or rare processes
For example: Request to supply unstocked New Video
3. Optional - processes that may or may not be used
Slide 29
Object-Oriented Software Systems Engineering Chapter 3
Alternative Courses
Alternative courses can describe alternative
events to the typical story
These are the less common, the exceptional or
error cases
Place all the alternatives after all the typical
course of events
For example:
7. Customer pays clerk by cash or credit
Alternative Courses
7. Customer has unpaid late charges and will not pay them.
Collect payment or cancel rental transaction
Slide 30
Object-Oriented Software Systems Engineering Chapter 3
Use Case Descriptions
Review of use case descriptions:

Use Case descriptions supply the detail of system
requirements
Conversational scripts are used to describe the
interactions between actors and use cases
The basic course may be followed by 1 or more
alternative courses
Essential Use Cases are used during Analysis,
Real Use Cases are used during Design
Slide 31
Object-Oriented Software Systems Engineering Chapter 3
Summary
In this chapter we have:
Described use case modelling
Introduced use cases and actors
Discussed relationships between use cases
Introduced use case descriptions