Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

System Sequence Diagrams

Recap
• When to create SSD?
• How to identify classes/instances?
• Use case descriptions
• UML notations for SSD
Contents
• Interaction diagrams
• UML notation
• Examples
Interaction Diagrams
• Show how objects interact with one another

• UML supports two types of interaction diagrams


 Sequence diagrams
 Collaboration diagrams
Sequence Diagrams
• AKA Interaction Diagrams – Semantically
equivalent to Collaboration Diagrams
• Dynamic Model relating use cases and class
diagrams
• Illustrates how objects interacts with each other
• Shows time ordering of interactions
• Generally a set of messages between
collaborating objects
• Ordering of objects not significant
Sequence Diagrams
• Show only one flow of control
• Can model simple sequential flow,
branching, iteration, recursion and
concurrency
• May need multiple diagrams
– Primary
– Variant
– Exceptions
UML sequence diagrams
• sequence diagram: an "interaction diagram"
that models a single scenario executing in the
system
– perhaps 2nd most used UML diagram (behind
class diagram)

• relation of UML diagrams to other exercises:


– CRC cards -> class diagram
– use cases -> sequence diagrams

7
Key parts of a sequence diag.
• participant: an object or entity that acts in the
sequence diagram
– sequence diagram starts with an unattached "found
message" arrow

• message: communication between participant


objects

• the axes in a sequence diagram:


– horizontal: which object/participant is acting
– vertical: time (down -> forward in time)
8
Sequence Diagram (Basic)

Object : Class or Actor

Lifeline
name
Focus of
Control/
Activation
message
X Object
Destruction/ <<create>>
Termination <<destroy>>
Sequence Diagram (Basic)

aClass: :Scheduler
Class
Student
Register
adjustRoom checkRooms
Sequence Diagrams (Advanced)

Seq# [Guard] *[Iteration] Return-List :=


Operation-Name (Argument-List)

*[Iteration Condition]

recursion

Conditional
Lifeline {transient}
Sequence Diagram(make a phone call)

Caller Phone Recipient

Picks up

Dial tone

Dial

Ring notification Ring

Picks up

Hello
Sequence Diagrams – Object Life Spans

• Creation
A
 Create message
 Object life starts at that point
Create
• Activation B
 Symbolized by rectangular stripes
 Place on the lifeline where object is
activated.
 Rectangle also denotes when object
is deactivated.
• Deletion Activation bar
X
Return
 Placing an ‘X’ on lifeline Deletion
 Object’s life ends at that point Lifeline
Sequence diag. from use case

14
Lifetime of objects
• creation: arrow with
'new' written above it
– notice that an object
created after the start of
the scenario appears
lower than the others

• deletion: an X at bottom
of object's lifeline
– Java doesn't explicitly
delete objects; they fall
out of scope and are
garbage-collected
15
Representing objects
• squares with object type, optionally preceded
by object name and colon
– write object's name if it clarifies the diagram
– object's "life line" represented by dashed vert. line

16
Messages between objects
• message (method call) indicated by horizontal arrow
to other object
– write message name and arguments above arrow

17
Messages between objects
– dashed arrow back indicates return
– different arrowheads for normal / concurrent
(asynchronous) methods
Example
Example
Example
Summary
• SSD revision
• Loops
• Conditions in SSD

You might also like