0% found this document useful (0 votes)
68 views15 pages

System Sequence Diagrams

This document discusses system sequence diagrams (SSDs), which model the dynamic behavior of systems by showing the sequence of messages exchanged between objects to carry out a use case scenario. It provides guidance on developing SSDs, including identifying the appropriate actor, naming system events and operations, relating SSDs to the project glossary, and using SSDs within the Unified Process. Concurrency and alternative notations like collaboration diagrams are also addressed.

Uploaded by

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

System Sequence Diagrams

This document discusses system sequence diagrams (SSDs), which model the dynamic behavior of systems by showing the sequence of messages exchanged between objects to carry out a use case scenario. It provides guidance on developing SSDs, including identifying the appropriate actor, naming system events and operations, relating SSDs to the project glossary, and using SSDs within the Unified Process. Concurrency and alternative notations like collaboration diagrams are also addressed.

Uploaded by

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

SYSTEM SEQUENCE

DIAGRAMS
Based on Craig Larman, Chapter 10
and Anuradha Dharanis notes

Dynamic behaviors
Class diagrams represent static relationships. Why?
What about modeling dynamic behavior?
Interaction diagrams model how groups of object

collaborate to perform some behavior


Typically captures the behavior of a single use case

Use Case: Order Entry


1) An Order Entry window sends a prepare message to an Order
2) The Order sends prepare to each Order Line on the Order
3) Each Order Line checks the given Stock Item
4) Remove appropriate quantity of Stock Item from stock
5) Create a deliver item
Alternative: Insufficient Stock
3a) if Stock Item falls below reorder level
then Stock Item requests reorder

Sequence diagrams
Vertical line is called an objects lifeline
Represents an objects life during interaction
Object deletion denoted by X, ending a lifeline
Horizontal arrow is a message between two objects
Order of messages sequences top to bottom
Messages labeled with message name
Optionally arguments and control information

Control information may express conditions:


such as [hasStock], or iteration
Returns (dashed lines) are optional
Use them to add clarity

A time for systems analysis


To every thing there is a season, and a time to every purpose
under heaven. Ecclesiastes 3:1

What UP phase are your projects in?


What have you determined about your projects?
Preliminary requirements analysis determines a

vision and scope, use cases, risks and estimates


I.e., is there a project worthy of pursuing?
Next comes systems analysis:
Clarifies input and output System events and which

Objects trigger them


Generates System Sequence Diagrams from Use Cases
Why does this activity make sense now?

System Sequence Diagram (SSD)


For a use case scenario, an SSD shows:
The System (as a black box)
:System
The external actors that interact with System
The System events that the actors generate
SSD shows operations of the System in response to events,
in temporal order
Develop SSDs for the main success scenario of a selected
use case, then frequent and salient alternative scenarios

SSD for Process Sale scenario


(Larman, page 175)

From Use Case to


Sequence System Diagram
How to construct an SSD from a use case:
1.
2.
3.
4.

Draw System as black box on right side


For each actor that directly operates on
the System, draw a stick figure and a lifeline.
For each System events that each actor
generates in use case, draw a message.
Optionally, include use case text to left of diagram.

Example: use cases to SSD

Identifying the right Actor

In the process Sale example, does the customer


interact directly with the POS system?
Who does?
Cashier interacts with the system directly
Cashier is the generator of the system events
Why is this an important observation?

Naming System events & operations


System events and associated system operations

should be expressed at the level of intent


Rather than physical input medium or UI widget
Start operation names with verb (from use case)
Which is better, scanBarCode or enterItem?

SSDs and the Glossary in parallel


Why is updating the glossary important when developing

the SSD?
New terms used in SSDs may need explanation,
especially if they are not derived from use cases
A glossary is less formal, easier to maintain and more
intuitive to discuss with external parties such as
customers

SSDs within the Unified Process


Create System Sequence Diagrams during
Elaboration in order to:
Identify System events and major operations
Write System operation contracts (Contracts
describe detailed system behavior)
Support better estimates
Remember, there is a season for everything:
it is not necessary to create SSDs for all scenarios
of all use cases, at least not at the same time

Concurrency in Sequence Diagrams


Concurrent processes:
UML 1: asynchronous messages as horizontal lines with

half arrow heads


UML 2 makes this distinction by not filling an arrowhead
Fowler prefers older notation.
Why? Which do you prefer?
After setting up Transaction Coordinator,

invoke concurrent Transaction Checkers


If a check fails, kill all Transaction Checker processes

Note use of comments in margin


When is this a good idea?

Collaboration diagrams
Objects are rectangular icons
e.g., Order Entry Window, Order, etc.
Messages are arrows between icons
e.g., prepare()
Numbers on messages indicate sequence
Also spatial layout helps show flow
Which do you prefer: sequence or collaboration diagrams?
Fowler now admits he doesnt use collaboration diagrams
Interaction diagrams show flow clearly,
but are awkward when modeling alternatives
UML notation for control logic has changed in UML 2

but Fowler isnt impressed

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy