0% found this document useful (0 votes)
35 views42 pages

Chapter5 - Extending The Requirements Model

Uploaded by

ameerayman38
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views42 pages

Chapter5 - Extending The Requirements Model

Uploaded by

ameerayman38
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

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

You might also like