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

Lecture 9

Uploaded by

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

Lecture 9

Uploaded by

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

Object-oriented modeling

Sequence diagrams

Karolina Muszyńska

Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Object Modeling

 Dynamic view – sequence diagrams


◦ role and types of sequence diagrams
◦ basic concepts
◦ advanced concepts
◦ examples

2
Sequence Diagram –role
 Sequence diagram is a kind of interaction diagram,
describing interactions among system classifiers in
the form of sequence of messages interchanged
between them during a certain period of time.
 Sequence diagrams are closely related to use case
scenarios as they document their functionality.
 Interaction is shown on the sequence diagram in two
dimensions:
o Horizontal - static dimension where the system classifiers
taking part in the interaction are placed
o Vertical – dynamic dimension, with the time line showing
chronically arranged messages

3
Sequence Diagrams –types
Depending on the degree of abstraction three types of
sequence diagrams can be specified:
 Conceptual sequence diagram – using only basic
concepts, for quick and general overview of the
system interactions
 Generic sequence diagram – is the basis for software
specification and uses all available concepts; this
type of diagram includes the main and all alternative
scenarios of a use case and it can be used for
automatic generation of program code
 Instance sequence diagram – a diagram describing
one particular scenario of a use case; there may be
several instance diagrams for one generic diagram

4
Sequence Diagrams –basic concepts
 Classifier – abstract category of system modeling in UML
(e.g. actor, object, interface, component, package, etc.)
 Message – describes a control flow in the system; it
determines the sequence and place of execution of
operations; messages are arranged according to the
sequence of their appearance – the later they occur the lower
they appear on the diagram
 Each classifier has a lifeline that represents its life time; the
“X” mark at the end of the lifeline indicates the point at which
the object ceases to exist in the system
 The execution specification shows time period during which
the classifier performs an operation (processing, calculating,
communicating with other classifiers or executing complex
algorithms); the execution specification is initiated with an
activation and ended with deactivation.

5
Sequence Diagrams –basic concepts

Classifier
(actor, object,
interface,
package)

Lifeline

Message
6
Sequence Diagrams –basic concepts

Activation

Deactivation
Execution
specification 7
Sequence Diagrams – advanced concepts

 Types of messages

 Creating and destroying objects

 Guard conditions

 Combined fragments with interaction

operators
 Interaction occurrences

8
Sequence Diagrams – advanced concepts
Message types:
 synchronous message – passes control from the
sender classifier to the receiver classifier
 asynchronous message – does not pass control, does
not wait for an answer from the receiver, may
continue processing
 return message – indicates control return to the
sender classifier after synchronous message and may
also initiate a certain operation
 self message – message sent by the classifier to itself
resulting in calling its own operation; self message is
a certain kind of iteration, which creates a nested
execution specification

9
Sequence Diagrams – advanced concepts

Synchronous Asynchronous
message message

10
Sequence Diagrams – advanced concepts

Return
Self message
message

11
Sequence Diagrams – advanced concepts
Other message types:
 lost message – message sent from a known
sender to an unknown receiver (temporary
message)
 found message – message whose sender is
unknown (may be an external signal, stimulus)
 balking message – message which will not be
handled by the receiver classifier if it cannot be
handled immediately
 timeout message – similar to balking message
although sender classifier is willing to wait for
handling the operation for a specified period of
time
12
Sequence Diagrams – advanced concepts
Creating and destroying objects:
 „create” stereotype message – results in creation
of an object, which is situated below the primary
existing classifiers, corresponding with the time
of its creation
 „destroy” stereotype message – results in
destruction of an object

13
Sequence Diagrams – advanced concepts

<<Create>> <<Destroy>>
message message

14
Sequence Diagrams – advanced concepts
 Guard condition – a criterion connected with the
message, on fulfillment of which depends the
execution of a specified operation.
 If a condition referring to a certain message is not
met the operation indicated by the message is not
executed.
 Conditions are placed in square brackets before the
message name
 Realization of a message can be conditioned by
more than one condition

15
Sequence Diagrams – advanced concepts

Guarding
condition
16
Sequence Diagrams – advanced concepts

 Combined fragment – is a logically consistent area


of interaction, a part of a sequence diagram
characterized by specific properties defined by the
interaction operator
 Interaction operator – specifies the functionality
realized by the combined fragment
 Interaction operators:
alt – alternative critical – critical region
opt – option assert – formula
break – interruption consider – significance
loop – iteration ignore – insignificance
neg – improper functionality stricte – strict order
par - concurrency seq – weak order
17
Sequence Diagrams – advanced concepts
Selected, most common operators:
 alternative (alt) – means a possibility to choose only one

of all presented interaction operands within the


combined fragment, depending on the condition
assigned to the operand
 option (opt ) – means that the operand within the

combined fragment will occur or will be omitted,


depending on the condition
 interruption (break) – is a abbreviated form of alt with

only one defined operand and when the combined


fragment is executed other interactions are ignored
 iteration (loop) – means repeating the operand a

specified number of times

18
Sequence Diagrams – advanced concepts

19
Sequence Diagrams – advanced concepts

20
Sequence Diagrams – advanced concepts

21
Sequence Diagrams – advanced concepts

22
Sequence Diagrams – advanced concepts
 Interaction occurrence – is a reference to a linked
interaction diagram, placed within the base
diagram
 Interaction occurrences are especially useful in
case of extensive sequence diagrams, which refer
to other diagrams defined earlier
 Interaction occurrence can be invoked either by a
message or by time factor

23
Sequence Diagrams – advanced concepts

Interaction
occurrence

24
Building a sequence diagram
 Analysis of a selected use case and its scenarios
 Identification of classifiers taking part in the
interaction
 Development of conceptual sequence diagram
including (identified classifiers, messages and
execution specifications)
 Development of a generic sequence diagram on
the basis of the conceptual diagram by adding
advanced concepts like: different message types,
conditions, combined fragments, interaction
occurrences
 Optional development of instance sequence
diagrams for a selected generic diagram
25
Additional information and examples
 UML Sequence Diagrams: Guidelines https://
msdn.microsoft.com/en-us/library/dd409389.as
px

 UML Sequence Diagrams: Reference


 https://
msdn.microsoft.com/en-us/library/dd409377.as
px

 Sequence Diagrams http://


www.uml-diagrams.org/sequence-diagrams.htm
l
26

You might also like