0% found this document useful (0 votes)
27 views

Lecture 14

The document discusses system sequence diagrams, including when they should be created and how to identify classes and instances. It covers UML notation for SSDs and provides examples of interaction diagrams, sequence diagrams, objects lifespans, and representing objects and messages between objects in a sequence diagram.

Uploaded by

Muhammad Adeel
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Lecture 14

The document discusses system sequence diagrams, including when they should be created and how to identify classes and instances. It covers UML notation for SSDs and provides examples of interaction diagrams, sequence diagrams, objects lifespans, and representing objects and messages between objects in a sequence diagram.

Uploaded by

Muhammad Adeel
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 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