Chapter 5
Systems Analysis and Design in a Changing World, 6th Edition 1
Extending the Requirements
Models
Chapter 5
Systems Analysis and Design
in a Changing World 6th Ed
Satzinger, Jackson & Burd
Chapter 5 Outline
Use Case Descriptions
Activity Diagrams for Use Cases
The System Sequence Diagram—
Identifying Inputs and Outputs
The State Machine Diagram—Identifying
Object Behavior
Integrating Requirements Models
Systems Analysis and Design in a Changing World, 6th Edition 3
Learning Objectives
Write fully developed use case descriptions
Develop activity diagrams to model flow of
activities
Develop system sequence diagrams
Develop state machine diagrams to model
object behavior
Explain how use case descriptions and UML
diagrams work together to define functional
requirements
Systems Analysis and Design in a Changing World, 6th Edition 4
Overview
Chapters 3 and 4 identified and modeled the two primary
aspects of functional requirements: use cases and
domain classes
This chapter focuses on additional techniques and
models to extend the requirements models to show more
detail
Fully developed use case descriptions provide
information about each use case, including actors,
stakeholders, preconditions, post conditions, the flow of
activities and exceptions conditions
Activity diagrams (first shown in Chapter 2) can also be
used to show the flow of activities for a use case
Systems Analysis and Design in a Changing World, 6th Edition 5
Overview (continued)
System sequence diagrams (SSDs) show the inputs and
outputs for each use case as messages
State machine diagrams show the states an object can
be in over time between use cases
Use cases are modeled in more detail using fully
developed use case descriptions, activity diagrams, and
system sequence diagrams
Domain classes are modeled in more detail using state
machine diagrams
Not all use cases and domain classes are modeled at
this level of detail. Only model when there is complexity
and a need to communicate details
Systems Analysis and Design in a Changing World, 6th Edition 6
Use Case Descriptions
Write a brief description as shown in Chapter 3
for most use cases.
Systems Analysis and Design in a Changing World, 6th Edition 7
Use Case Descriptions
Write a fully developed use case description for more
complex use cases
Typical use case description templates include:
Use case name
Scenario (if needed)
Triggering event
Brief description
Actors
Related use cases (<<includes>>)
Stakeholders
Preconditions
Post conditions
Flow of activities
Exception conditions
Systems Analysis and Design in a Changing World, 6th Edition 8
Fully
Developed
Use Case
Description
Use case:
Create customer
account
Systems Analysis and Design in a Changing World, 6th Edition 9
Fully Developed Use Case Description
Create customer account (part 1 )
Systems Analysis and Design in a Changing World, 6th Edition 10
Fully Developed Use Case Description
Create customer account (part 2 )
Systems Analysis and Design in a Changing World, 6th Edition 11
Use Case Description Details
Related use cases <<includes>>
If one use case invokes or includes another
Stakeholders
Anyone with an interest in the use case
Preconditions
What must be true before the use case begins
Post conditions
What must be true when the use case is completed
Use for planning test case expected results
Flow of activities
The activities that go on between actor and the system
Exception conditions
Where and what can go wrong
Systems Analysis and Design in a Changing World, 6th Edition 12
Use Case Description Details
Use case name
Verb-noun
Scenario (if needed)
A use case can have more than one scenario
(special case or more specific path)
Triggering event
Based on event decomposition technique
Brief description
Written previously when use case was identified
Actors
One or more users from use case diagrams
Systems Analysis and Design in a Changing World, 6th Edition 13
Another
Fully
Developed
Use Case
Description
Example
Use case
Ship items
Systems Analysis and Design in a Changing World, 6th Edition 14
Fully Developed Use Case Description
Ship items (part 1 )
Systems Analysis and Design in a Changing World, 6th Edition 15
Fully Developed Use Case Description
Ship items (part 2 )
Systems Analysis and Design in a Changing World, 6th Edition 16
UML
Activity
Diagram for
Use Case
Create
Customer
Account
Note: this
shows flow of
activities only
Systems Analysis and Design in a Changing World, 6th Edition 17
UML Activity
Diagram for
Use Case
Fill shopping
cart
Note: this shows
use case with
<<includes>>
reltionship
Systems Analysis and Design in a Changing World, 6th Edition 18
System Sequence Diagram (SSD)
A UML sequence diagram
Special case for a sequence diagram
Only shows actor and one object
The one object represents the complete system
Shows input & output messaging requirements
for a use case
Actor, :System, object lifeline
Messages
Systems Analysis and Design in a Changing World, 6th Edition 19
System Sequence Diagram (SSD)
Notation
Systems Analysis and Design in a Changing World, 6th Edition 20
Message Notation
Systems Analysis and Design in a Changing World, 6th Edition 21
SSD
Message
Examples
with Loop
Frame
Systems Analysis and Design in a Changing World, 6th Edition 22
SSD
Message
Examples
Opt Frame
(optional)
Alt Frame
(if-else)
Systems Analysis and Design in a Changing World, 6th Edition 23
Steps for Developing SSD
1. Identify input message
See use case flow of activities or activity diagram
2. Describe the message from the external actor to
the system using the message notation
Name it verb-noun: what the system is asked to do
Consider parameters the system will need
3. Identify any special conditions on input messages
Iteration/loop frame
Opt or Alt frame
4. Identify and add output return values
On message itself: aValue:= getValue(valueID)
As explicit return on separate dashed line
Systems Analysis and Design in a Changing World, 6th Edition 24
SSD for Create customer account
Use case
Systems Analysis and Design in a Changing World, 6th Edition 25
SSD for
Ship items
Use Case
Systems Analysis and Design in a Changing World, 6th Edition 26
State Machine Diagram
State machine diagram
A UML diagram showing the life of an object in states and
transitions
State
A condition during an object’s life when it satisfies some
criterion, performs some action, or waits for an event
Transition
The movement of an object from one state to another
state
Action Expression
A description of activities performed as part of a transition
Systems Analysis and Design in a Changing World, 6th Edition 27
State Machine Diagram (continued)
Pseudo state
The starting point of a state machine diagram (black dot)
Origin state
The original state of an object before transition
Destination state
The state to which the object moves after the transition
Guard condition
A true false test to see whether a transition can fire
Systems Analysis and Design in a Changing World, 6th Edition 28
State Machine Diagram
for a Printer
Systems Analysis and Design in a Changing World, 6th Edition 29
Composite States
State containing other states and transitions
Printer can be On and either Idle or Working
Systems Analysis and Design in a Changing World, 6th Edition 30
Concurrent Paths
Multiple paths in composite state
Printer On paths are independent
Systems Analysis and Design in a Changing World, 6th Edition 31
Steps for Developing State
Machine Diagram
1. Review the class diagram and select classes that
might require state machine diagrams
2. For each class, make a list of status conditions
(states) you can identify
3. Begin building diagram fragments by identifying
transitions that cause an object to leave the
identified state
4. Sequence these states in the correct order and
aggregate combinations into larger fragments
5. Review paths and look for independent,
concurrent paths
Systems Analysis and Design in a Changing World, 6th Edition 32
Steps for Developing State
Machine Diagram (continued)
6. Look for additional transitions and test both
directions
7. Expand each transition with appropriate message
event, guard condition, and action expression
8. Review and test the state machine diagram for
the class
Make sure state are really state for the object in the
class
Follow the life cycle of an object coming into existence
and being deleted
Be sure the diagram covers all exception condition
Look again for concurrent paths and composite states
Systems Analysis and Design in a Changing World, 6th Edition 33
RMO Domain Class States for
SaleItem Object
Systems Analysis and Design in a Changing World, 6th Edition 34
Final State Machine Diagram for
SaleItem Object
addItem() and archive() transitions added
markBackOrdered() transition added
Systems Analysis and Design in a Changing World, 6th Edition 35
RMO Domain Class States for
Sale Object
Systems Analysis and Design in a Changing World, 6th Edition 36
Initial State Machine Diagram for
RMO Sale Object
Systems Analysis and Design in a Changing World, 6th Edition 37
Final State Machine Diagram for
Sale Object
Systems Analysis and Design in a Changing World, 6th Edition 38
Extending and Integrating
Requirements Models
Use cases
Use case diagram
Use case description
Activity diagram
System sequence diagram (SSD)
Domain Classes
Domain model class diagram
State machine diagram
Systems Analysis and Design in a Changing World, 6th Edition 39
Integrating Requirements Models
Systems Analysis and Design in a Changing World, 6th Edition 40
Summary
Chapters 3 and 4 identified and modeled the two primary
aspects of functional requirements: use cases and
domain classes
This chapter focuses on additional techniques and
models to extend the requirements models to show more
detail
Fully developed use case descriptions provide
information about each use case, including actors,
stakeholders, preconditions, post conditions, the flow of
activities and exceptions conditions
Activity diagrams (first shown in Chapter 2) can also be
used to show the flow of activities for a use case
Systems Analysis and Design in a Changing World, 6th Edition 41
Summary (continued)
System sequence diagrams (SSDs) show the inputs and
outputs for each use case as messages
State machine diagrams show the states an object can
be in over time between use cases
Use cases are modeled in more detail using fully
developed use case descriptions, activity diagrams, and
system sequence diagrams
Domain classes are modeled in more detail using state
machine diagrams
Not all use cases and domain classes are modeled at
this level of detail. Only model when there is complexity
and a need to communicate details
Systems Analysis and Design in a Changing World, 6th Edition 42