INTRODUCTION TO

SYSTEMS ANALYSIS AND
DESIGN:
AN AGILE, ITERATIVE APPROACH

SATZINGER | JACKSON | BURD

CHAPTER 5
Chapter 5

Systems Analysis and Design in a Changing World, 6th Edition 1

Extending the Requirements
Models
Chapter 5

Introduction to Systems
Analysis and Design:
An Agile, Iteractive Approach
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

Introduction to Systems Analysis and Design, 6th Edition 3
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition.
May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

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

Introduction to Systems Analysis and Design, 6th Edition 4
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition.
May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

preconditions. including actors. All Rights Reserved. . post conditions. or posted to a publicly accessible website. only. This edition is intended for use outside of the U. Edition. 6th Edition 5 © 2012 Cengage Learning.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. 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 Introduction to Systems Analysis and Design. May not be scanned.S.S. with content that may be different from the U. stakeholders. in whole or in part. copied. duplicated.

duplicated.S. or posted to a publicly accessible website.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. . 6th Edition 6 © 2012 Cengage Learning. with content that may be different from the U. Edition. All Rights Reserved. This edition is intended for use outside of the U. Only model when there is complexity and a need to communicate details Introduction to Systems Analysis and Design. in whole or in part.S. only. May not be scanned. 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. activity diagrams. copied.

S. Edition. with content that may be different from the U. 6th Edition 7 © 2012 Cengage Learning.S.Use Case Descriptions  Write a brief description as shown in Chapter 3 for most use cases. . only. duplicated. May not be scanned. This edition is intended for use outside of the U. in whole or in part. All Rights Reserved. copied. Introduction to Systems Analysis and Design. or posted to a publicly accessible website.

All Rights Reserved. with content that may be different from the U. May not be scanned. only. . copied. duplicated. This edition is intended for use outside of the U.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 Introduction to Systems Analysis and Design.S. in whole or in part. 6th Edition 8 © 2012 Cengage Learning.S. Edition. or posted to a publicly accessible website.

May not be scanned. copied. This edition is intended for use outside of the U.Fully Developed Use Case Description Use case: Create customer account Introduction to Systems Analysis and Design. with content that may be different from the U. in whole or in part. .S. All Rights Reserved. duplicated. Edition.S. only. or posted to a publicly accessible website. 6th Edition 9 © 2012 Cengage Learning.

This edition is intended for use outside of the U. Edition. only. All Rights Reserved. . May not be scanned. duplicated.Fully Developed Use Case Description Create customer account (part 1 ) Introduction to Systems Analysis and Design. or posted to a publicly accessible website.S. 6th Edition 10 © 2012 Cengage Learning.S. copied. with content that may be different from the U. in whole or in part.

Fully Developed Use Case Description Create customer account (part 2 ) Introduction to Systems Analysis and Design.S. May not be scanned. All Rights Reserved. only. .S. or posted to a publicly accessible website. with content that may be different from the U. This edition is intended for use outside of the U. in whole or in part. duplicated. 6th Edition 11 © 2012 Cengage Learning. copied. Edition.

with content that may be different from the U.S. May not be scanned. Edition. only. . duplicated. in whole or in part. 6th Edition 12 © 2012 Cengage Learning.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 Introduction to Systems Analysis and Design. This edition is intended for use outside of the U. copied.S. All Rights Reserved. or posted to a publicly accessible website.

in whole or in part. with content that may be different from the U. .S.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 Introduction to Systems Analysis and Design. 6th Edition 13 © 2012 Cengage Learning. Edition. only. This edition is intended for use outside of the U.S. copied. or posted to a publicly accessible website. All Rights Reserved. May not be scanned. duplicated.

copied.S.Another Fully Developed Use Case Description Example Use case Ship items Introduction to Systems Analysis and Design. in whole or in part. duplicated. . This edition is intended for use outside of the U. Edition. 6th Edition 14 © 2012 Cengage Learning.S. All Rights Reserved. with content that may be different from the U. May not be scanned. only. or posted to a publicly accessible website.

This edition is intended for use outside of the U. Edition.Fully Developed Use Case Description Ship items (part 1 ) Introduction to Systems Analysis and Design. duplicated. in whole or in part. May not be scanned. only. copied. 6th Edition 15 © 2012 Cengage Learning. All Rights Reserved.S. or posted to a publicly accessible website. with content that may be different from the U. .S.

with content that may be different from the U. only.Fully Developed Use Case Description Ship items (part 2 ) Introduction to Systems Analysis and Design. duplicated. or posted to a publicly accessible website.S. in whole or in part. 6th Edition 16 © 2012 Cengage Learning. copied. All Rights Reserved. . Edition.S. May not be scanned. This edition is intended for use outside of the U.

UML Activity Diagram for Use Case Create Customer Account Note: this shows flow of activities only Introduction to Systems Analysis and Design. or posted to a publicly accessible website. Edition.S.S. All Rights Reserved. . duplicated. 6th Edition 17 © 2012 Cengage Learning. This edition is intended for use outside of the U. only. copied. May not be scanned. in whole or in part. with content that may be different from the U.

UML Activity Diagram for Use Case Fill shopping cart Note: this shows use case with <<includes>> reltionship Introduction to Systems Analysis and Design. copied.S. or posted to a publicly accessible website. only. . duplicated. Edition. with content that may be different from the U. in whole or in part. 6th Edition 18 © 2012 Cengage Learning.S. All Rights Reserved. May not be scanned. This edition is intended for use outside of the U.

only.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. copied. All Rights Reserved.S. May not be scanned. :System. in whole or in part. object lifeline  Messages Introduction to Systems Analysis and Design. Edition. duplicated. with content that may be different from the U. .S. This edition is intended for use outside of the U. 6th Edition 19 © 2012 Cengage Learning. or posted to a publicly accessible website.

Edition. duplicated.S.S. copied. in whole or in part. May not be scanned. . All Rights Reserved. only. This edition is intended for use outside of the U. with content that may be different from the U. or posted to a publicly accessible website. 6th Edition 20 © 2012 Cengage Learning.System Sequence Diagram (SSD) Notation Introduction to Systems Analysis and Design.

copied. 6th Edition 21 © 2012 Cengage Learning. in whole or in part. only. duplicated. or posted to a publicly accessible website. with content that may be different from the U. All Rights Reserved. This edition is intended for use outside of the U. May not be scanned. Edition.S.S. .Message Notation Introduction to Systems Analysis and Design.

SSD Message Examples with Loop Frame Introduction to Systems Analysis and Design. . only. 6th Edition 22 © 2012 Cengage Learning. This edition is intended for use outside of the U. copied. with content that may be different from the U. May not be scanned. All Rights Reserved. in whole or in part. or posted to a publicly accessible website.S.S. Edition. duplicated.

S. 6th Edition 23 © 2012 Cengage Learning. only. All Rights Reserved. with content that may be different from the U.S. May not be scanned.SSD Message Examples Opt Frame (optional) Alt Frame (if-else) Introduction to Systems Analysis and Design. This edition is intended for use outside of the U. or posted to a publicly accessible website. copied. . Edition. in whole or in part. duplicated.

copied. 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. . duplicated. with content that may be different from the U. Identify any special conditions on input messages  Iteration/loop frame  Opt or Alt frame 4. in whole or in part. May not be scanned.Steps for Developing SSD 1.S. 6th Edition 24 © 2012 Cengage Learning. Edition. only. Identify and add output return values  On message itself: aValue:= getValue(valueID)  As explicit return on separate dashed line Introduction to Systems Analysis and Design. All Rights Reserved. This edition is intended for use outside of the U.S. Identify input message  See use case flow of activities or activity diagram 2. or posted to a publicly accessible website.

. Edition. All Rights Reserved. duplicated. 6th Edition 25 © 2012 Cengage Learning. with content that may be different from the U. or posted to a publicly accessible website. May not be scanned.S. copied.SSD for Create customer account Use case Introduction to Systems Analysis and Design. only.S. in whole or in part. This edition is intended for use outside of the U.

SSD for Ship items Use Case Introduction to Systems Analysis and Design. or posted to a publicly accessible website. 6th Edition 26 © 2012 Cengage Learning. duplicated. May not be scanned. in whole or in part. only.S. Edition. copied. . with content that may be different from the U. All Rights Reserved.S. This edition is intended for use outside of the U.

The payment is then made by credit card The system reviews the bank to check credit card balance After confirming payments. The passenger selects the seat and the system computes the cost. the ticket is issued and printed. Systems Analysis and Design in a Changing World. the terminal screen displays the available seats in that train. After he selects the train time. 6th Edition 27 . Case study Suppose a system analyst developing a Train Reservation System with the following conclusion: The passenger uses the system to search the train times and purchase tickets.

only. This edition is intended for use outside of the U.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. 6th Edition 28 © 2012 Cengage Learning. performs some action. or posted to a publicly accessible website. .S. copied. All Rights Reserved. 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 Introduction to Systems Analysis and Design. duplicated. with content that may be different from the U. May not be scanned. Edition. in whole or in part.S.

copied. in whole or in part.S. only. with content that may be different from the U. 6th Edition 29 © 2012 Cengage Learning. or posted to a publicly accessible website.S. This edition is intended for use outside of the U. Edition. May not be scanned. All Rights Reserved. .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 Introduction to Systems Analysis and Design. duplicated.

only. May not be scanned. This edition is intended for use outside of the U. or posted to a publicly accessible website. duplicated. All Rights Reserved. with content that may be different from the U. 6th Edition 30 © 2012 Cengage Learning.S.State Machine Diagram for a Printer Introduction to Systems Analysis and Design.S. . Edition. in whole or in part. copied.

S. All Rights Reserved. copied. 6th Edition 31 © 2012 Cengage Learning. in whole or in part.S. with content that may be different from the U. May not be scanned. . only. duplicated. Edition. or posted to a publicly accessible website. This edition is intended for use outside of the U.Composite States  State containing other states and transitions  Printer can be On and either Idle or Working Introduction to Systems Analysis and Design.

copied. This edition is intended for use outside of the U.S. or posted to a publicly accessible website. 6th Edition 32 © 2012 Cengage Learning. in whole or in part. only. May not be scanned. duplicated. Edition. All Rights Reserved. .S. with content that may be different from the U.Concurrent Paths  Multiple paths in composite state  Printer On paths are independent Introduction to Systems Analysis and Design.

copied. . Edition. concurrent paths Introduction to Systems Analysis and Design. in whole or in part. with content that may be different from the U. May not be scanned. only. All Rights Reserved. or posted to a publicly accessible website. 6th Edition 33 © 2012 Cengage Learning. Review paths and look for independent. Begin building diagram fragments by identifying transitions that cause an object to leave the identified state 4. duplicated. This edition is intended for use outside of the U. Sequence these states in the correct order and aggregate combinations into larger fragments 5. Review the class diagram and select classes that might require state machine diagrams 2.Steps for Developing State Machine Diagram 1.S. For each class. make a list of status conditions (states) you can identify 3.S.

Edition. .S. in whole or in part. Look for additional transitions and test both directions 7. copied. This edition is intended for use outside of the U. May not be scanned.Steps for Developing State Machine Diagram (continued) 6. All Rights Reserved. Expand each transition with appropriate message event. 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 Introduction to Systems Analysis and Design. only.S. or posted to a publicly accessible website. 6th Edition 34 © 2012 Cengage Learning. and action expression 8. with content that may be different from the U. duplicated. guard condition.

May not be scanned.RMO Domain Class States for SaleItem Object Introduction to Systems Analysis and Design. with content that may be different from the U. Edition. in whole or in part. or posted to a publicly accessible website. This edition is intended for use outside of the U. duplicated. only. All Rights Reserved. . 6th Edition 35 © 2012 Cengage Learning.S. copied.S.

This edition is intended for use outside of the U. All Rights Reserved. duplicated. with content that may be different from the U. May not be scanned. Edition. only.Final State Machine Diagram for SaleItem Object  addItem() and archive() transitions added  markBackOrdered() transition added Introduction to Systems Analysis and Design. or posted to a publicly accessible website.S. 6th Edition 36 © 2012 Cengage Learning. .S. copied. in whole or in part.

May not be scanned. in whole or in part. 6th Edition 37 © 2012 Cengage Learning. only. duplicated.S. with content that may be different from the U. Edition. All Rights Reserved. copied. .RMO Domain Class States for Sale Object Introduction to Systems Analysis and Design. This edition is intended for use outside of the U. or posted to a publicly accessible website.S.

with content that may be different from the U. in whole or in part.S. This edition is intended for use outside of the U. Edition. or posted to a publicly accessible website. copied. . All Rights Reserved.S. May not be scanned.Initial State Machine Diagram for RMO Sale Object Introduction to Systems Analysis and Design. only. 6th Edition 38 © 2012 Cengage Learning. duplicated.

. 6th Edition 39 © 2012 Cengage Learning.S. in whole or in part.Final State Machine Diagram for Sale Object Introduction to Systems Analysis and Design. Edition.S. duplicated. only. May not be scanned. with content that may be different from the U. All Rights Reserved. or posted to a publicly accessible website. This edition is intended for use outside of the U. copied.

with content that may be different from the U. copied.S. only. 6th Edition 40 © 2012 Cengage Learning. duplicated. in whole or in part.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 Introduction to Systems Analysis and Design. Edition. . or posted to a publicly accessible website.S. All Rights Reserved. This edition is intended for use outside of the U. May not be scanned.

in whole or in part. only. All Rights Reserved. . with content that may be different from the U. or posted to a publicly accessible website.Integrating Requirements Models Introduction to Systems Analysis and Design. duplicated.S. copied.S. 6th Edition 41 © 2012 Cengage Learning. This edition is intended for use outside of the U. May not be scanned. Edition.

preconditions. .S. May not be scanned. copied. or posted to a publicly accessible website. post conditions. Edition. stakeholders. with content that may be different from the U. 6th Edition 42 © 2012 Cengage Learning.S.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. in whole or in part. only. 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 Introduction to Systems Analysis and Design. All Rights Reserved. This edition is intended for use outside of the U. duplicated.

S. duplicated. 6th Edition 43 © 2012 Cengage Learning. or posted to a publicly accessible website. All Rights Reserved. Edition. Only model when there is complexity and a need to communicate details Introduction to Systems Analysis and Design. . activity diagrams. in whole or in part. with content that may be different from the U. This edition is intended for use outside of the U.S. only.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. 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. copied. May not be scanned.