SlideShare a Scribd company logo
1 of 56
OOAD
Interaction
Diagram
Interaction Diagram
• From the name Interaction it is clear that the
diagram is used to describe some type of
interactions among the different elements in
the model.
• Interaction diagrams are models that describe
how a group of objects interact / collaborate
in some behavior - typically a single use-case.
Interaction Diagram
• Purpose
–To capture dynamic behaviour of a system.
–To describe the message flow in the system.
–To describe structural organization of the
objects.
–To describe interaction among objects.
Forms of Interaction Diagram
• This interactive behaviour is
represented in UML by two diagrams
known as
– Sequence diagram and
–Collaboration diagram.
Drawing the interaction diagram
• The purpose of interaction diagrams are to capture
the dynamic aspect of a system.
• Dynamic aspect can be defined as the snap shot of
the running system at a particular moment.
• So the following things are to identified clearly
before drawing the interaction diagram:
– Objects taking part in the interaction.
– Message flows among the objects.
– The sequence in which the messages are flowing.
– Object organization.
Sequence Diagram
• Describe the flow of messages, events, actions
between objects .
• An important characteristic of a sequence
diagram is that time passes from top to bottom
and model important runtime interactions
between the parts that make up the system.
• Typically used to document and understand
the logical flow of the system .
Sequence Diagram Key Parts
• participant: object or entity that acts in the
diagram
message: communication between participant
objects
• the axes in a sequence diagram:
• –horizontal: which object/participant is acting
• –vertical: time (down -> forward in time)
Sequence Diagrams Dimensions
• Time. The vertical axis represents time proceedings
(or progressing) down the page. Note that Time in a
sequence diagram is all a about ordering, not
duration. The vertical space in an interaction diagram
is not relevant for the duration of the interaction.
• Objects. The horizontal axis shows the elements
that are involved in the interaction. Conventionally,
the objects involved in the operation are listed from
left to right according to when they take part in the
message sequence. However, the elements on the
horizontal axis may appear in any order.
Sequence Diagram (make a phone call)
Object
• Objects as well as classes can be targets on a
sequence diagram, which means that
messages can be sent to them.
• A target is displayed as a rectangle with some
text in it. Below the target, its lifeline extends
for as long as the target exists. The lifeline is
displayed as a vertical dashed line.
Object
• The basic notation for an object is
where 'name' is the name of the object in the
context of the diagram and 'Type' indicates the type
of which the object is an instance.
• Both name and type are optional, but at least one of
them should be present.
Object (Examples)
Object (Examples)
• As with any UML-element, we can add a stereotype
to a target. Some often used stereotypes for objects
are «actor», «boundary», «control», «entity» and
«database».
MultiObject
• When we want to show how a client interacts
with the elements of a collection, we can use
a multiobject. Its basic notation is:
Lifelines in UML diagrams
• In UML diagrams, such as sequence or
communication diagrams, lifelines represent
the objects that participate in an interaction.
• Lifeline is a named element which represents
an individual participant in the interaction.
• For example, in a banking scenario, lifelines
can represent objects such as a bank system
or customer.
• Each instance in an interaction is represented
by a lifeline.
Lifelines in Sequence diagrams
• Lifeline in a sequence
diagram is displayed with
its name and type in a
rectangle, which is called
the head. The head is
located on top of a vertical
dashed line, called the
stem, which represents the
timeline for the instance of
the object.
Messages
• Messages (or signals) on a sequence diagram are
specified using an arrow from the participant (message
caller) that wants to pass the message to the
participant (message receiver) that is to receive the
message.
• A Message (or stimulus) is represented as an arrow
going from the sender to the top of the focus of control
(i.e., execution occurrence) of the message on the
receiver's lifeline.
• Near the arrow, the name and parameters of the
message are shown.
Synchronous message
• A synchronous message is used when the sender waits
until the receiver has finished processing the message,
only then does the caller continue.
• A closed and filled arrowhead signifies that the
message is sent synchronously.
Synchronous message
• If you want to show that the receiver has finished processing the
message and returns control to the sender, draw a dashed arrow
from receiver to sender. Optionally, a value that the receiver
returns to the sender can be placed near the return arrow.
• If you want your diagrams to be easy to read, only show the
return arrow if a value is returned. Otherwise, hide it.
Synchronous message
Asynchronous messages
• With an asynchronous message, the sender
does not wait for the receiver to finish
processing the message, it continues
immediately.
• Messages sent to a receiver in another
process or calls that start a new thread are
examples of asynchronous messages.
Asynchronous messages
• An open arrowhead is used to indicate that a
message is sent asynchronously.
Asynchronous messages
Drink Order
Greet new customer
Instantaneous message
• Messages are often considered to be instantaneous,
i.e. the time it takes to arrive at the receiver is
negligible.
• Such messages are drawn as a horizontal arrow.
Non-instantaneous message
• Sometimes the message takes a considerable
amount of time to reach the receiver.
• For example, a message across a network.
• Such a non-instantaneous message is drawn as a
slanted arrow.
Non-instantaneous message
Found message
• A found message is a message of which the
caller is not shown.
• Depending on the context, this could mean
that either the sender is not known, or that it
is not important who the sender was.
Found message
• The arrow of a found message originates from a
filled circle.
Guards
• A message can include a guard, which signifies that
the message is only sent if a certain condition is met.
• The guard is simply that condition between brackets.
• Guards are used throughout UML diagrams to
control flow.
Guards
Combined fragments (alternatives,
options, and loops)
• If you want to show that several messages are
conditionally sent under the same guard,
you'll have to use an 'opt' combined fragment.
• The combined fragment is shown as a large
rectangle with an 'opt' operator plus a guard,
and contains all the conditional messages
under that guard.
alt
• If you want to show several alternative
interactions, use an 'alt' combined fragment.
• The combined fragment contains an operand
for each alternative. Each alternative has a
guard and contains the interaction that occurs
when the condition for that guard is met.
Repeated interaction
• When a message is prefixed with an asterisk (the '*'-
symbol), it means that the message is sent
repeatedly. A guard indicates the condition that
determines whether or not the message should be
sent (again). As long as the condition holds, the
message is repeated.
Repeated interaction
• If you want to show that multiple messages are sent
in the same iteration, a 'loop' combined fragment
can be used. The operator of the combined fragment
is 'loop' and the guard represents the condition to
control the repetition.
Create and Destroy message
• A create message represents the creation of
an instance in an interaction. The target
lifeline begins at the point of the create
message.
• A destroy message represents the destruction
of an instance in an interaction. The target
lifeline ends at the point of the destroy
message, and is denoted by an X.
Sequence diagram for issuing book
Sequence diagram for returning book
Communication diagram
• A communication diagram, is an interaction
diagram that shows similar information to
sequence diagrams but its primary focus is on
object relationships.
• Formerly known as collaboration diagram.
• Shows interactions between objects and/or
parts (represented as lifelines) using
sequenced messages in a free-form
arrangement.
Communication diagram
• Model collaborations between objects or roles
that deliver the functionalities of use cases
and operations.
• Capture interactions that show the passed
messages between objects and roles within
the collaboration.
• Support the identification of objects (hence
classes) that participate in use cases.
Communication diagram
Communication diagram
Which to Use?
• Choose sequence diagram when only the sequence of
events needs to be shown and collaboration among the
objects are priority.
• Choose a communication diagram when the objects
and their links facilitate understanding the interactions
(you don’t have to put all objects at the top and make
the lines all vertical or horizontal).
• Sequence diagrams emphasize the time ordering of
messages, whereas communication diagrams depict
more of an organizational structure and are more space
efficient.
Which to Use?
• Although it is possible to derive the sequencing of
messages in the communication diagram from the
numbering scheme, it isn’t immediately visible.
• What the communication diagram does show quite
clearly though, is the full set of messages passed
between adjacent objects.
• Communication diagrams offer a better view of a
scenario than a Sequence diagram when the modeler is
trying to understand all of the effects on a given object

More Related Content

What's hot

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Haitham El-Ghareeb
 
Object and class relationships
Object and class relationshipsObject and class relationships
Object and class relationships
Pooja mittal
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
mewaseem
 

What's hot (20)

Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
SAD11 - Sequence Diagrams
SAD11 - Sequence DiagramsSAD11 - Sequence Diagrams
SAD11 - Sequence Diagrams
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Object and class relationships
Object and class relationshipsObject and class relationships
Object and class relationships
 
Diagrams
DiagramsDiagrams
Diagrams
 
classes & objects introduction
classes & objects introductionclasses & objects introduction
classes & objects introduction
 
State chart diagram
State chart diagramState chart diagram
State chart diagram
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
Functional modeling
Functional modelingFunctional modeling
Functional modeling
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Class diagram
Class diagramClass diagram
Class diagram
 
OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Uml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot netUml class diagram and packages ppt for dot net
Uml class diagram and packages ppt for dot net
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 

Viewers also liked

7. sequence and collaboration diagrams
7. sequence and collaboration diagrams7. sequence and collaboration diagrams
7. sequence and collaboration diagrams
APU
 
Lecture 6 collaboration diagrams
Lecture 6 collaboration diagramsLecture 6 collaboration diagrams
Lecture 6 collaboration diagrams
ASHOK KUMAR PALAKI
 
5.state diagrams
5.state diagrams5.state diagrams
5.state diagrams
APU
 
Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...
Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...
Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...
Bilal yousaf
 
State Machine Diagram
State Machine DiagramState Machine Diagram
State Machine Diagram
Niloy Rocker
 

Viewers also liked (20)

Collaboration diagram- UML diagram
Collaboration diagram- UML diagram Collaboration diagram- UML diagram
Collaboration diagram- UML diagram
 
7. sequence and collaboration diagrams
7. sequence and collaboration diagrams7. sequence and collaboration diagrams
7. sequence and collaboration diagrams
 
Class, Collaboration, Sequence Diagram of a sample project
Class, Collaboration, Sequence Diagram of a sample projectClass, Collaboration, Sequence Diagram of a sample project
Class, Collaboration, Sequence Diagram of a sample project
 
UML
UMLUML
UML
 
Lecture 6 collaboration diagrams
Lecture 6 collaboration diagramsLecture 6 collaboration diagrams
Lecture 6 collaboration diagrams
 
Sequence diagrams in UML
Sequence diagrams in UMLSequence diagrams in UML
Sequence diagrams in UML
 
5.state diagrams
5.state diagrams5.state diagrams
5.state diagrams
 
Class diagrams
Class diagramsClass diagrams
Class diagrams
 
Pak Afghan relations
Pak Afghan relationsPak Afghan relations
Pak Afghan relations
 
Interaction diagram
Interaction diagramInteraction diagram
Interaction diagram
 
Uml sequence diagrams
Uml sequence diagramsUml sequence diagrams
Uml sequence diagrams
 
Pak Afghan Relation
Pak Afghan RelationPak Afghan Relation
Pak Afghan Relation
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...
Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...
Pak-Afghan Relations in post 9-11 era: A case study of Durand line security b...
 
Relationship between pakistan and afghanistan
Relationship between pakistan and afghanistanRelationship between pakistan and afghanistan
Relationship between pakistan and afghanistan
 
Use Case diagram-UML diagram-1
Use Case diagram-UML diagram-1Use Case diagram-UML diagram-1
Use Case diagram-UML diagram-1
 
Pak afghan relations
Pak afghan relationsPak afghan relations
Pak afghan relations
 
Human Resource Management PPT
Human Resource Management PPTHuman Resource Management PPT
Human Resource Management PPT
 
State Machine Diagram
State Machine DiagramState Machine Diagram
State Machine Diagram
 
State Diagram
State DiagramState Diagram
State Diagram
 

Similar to Slide 4 Interaction Diagram

UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussion
CherryBerry2
 
An introduction to uml
An introduction to umlAn introduction to uml
An introduction to uml
Tony Huynh
 
sequencediagram-150302224029-conversion-gate01 (1).pdf
sequencediagram-150302224029-conversion-gate01 (1).pdfsequencediagram-150302224029-conversion-gate01 (1).pdf
sequencediagram-150302224029-conversion-gate01 (1).pdf
mounikanarra3
 
Lecture#03, uml diagrams
Lecture#03, uml diagramsLecture#03, uml diagrams
Lecture#03, uml diagrams
babak danyal
 
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5
Ricardo Quintero
 

Similar to Slide 4 Interaction Diagram (20)

The Ultimate Sequence Diagram Tutorial
The Ultimate Sequence Diagram TutorialThe Ultimate Sequence Diagram Tutorial
The Ultimate Sequence Diagram Tutorial
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussion
 
Chapter3
Chapter3Chapter3
Chapter3
 
07 interaction diagrams
07 interaction diagrams07 interaction diagrams
07 interaction diagrams
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
An introduction to uml
An introduction to umlAn introduction to uml
An introduction to uml
 
sequencediagram-150302224029-conversion-gate01 (1).pdf
sequencediagram-150302224029-conversion-gate01 (1).pdfsequencediagram-150302224029-conversion-gate01 (1).pdf
sequencediagram-150302224029-conversion-gate01 (1).pdf
 
Lecture#03, uml diagrams
Lecture#03, uml diagramsLecture#03, uml diagrams
Lecture#03, uml diagrams
 
MID2 UML (1).pptx
MID2 UML (1).pptxMID2 UML (1).pptx
MID2 UML (1).pptx
 
UML
UMLUML
UML
 
Sequence diagrame
Sequence diagrameSequence diagrame
Sequence diagrame
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2 Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2
 
Case tool lab-Reg2013 by Karthick Raja
Case tool lab-Reg2013 by Karthick RajaCase tool lab-Reg2013 by Karthick Raja
Case tool lab-Reg2013 by Karthick Raja
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 
Chapter7
Chapter7Chapter7
Chapter7
 
UML, ER and Dimensional Modelling
UML, ER and Dimensional ModellingUML, ER and Dimensional Modelling
UML, ER and Dimensional Modelling
 

Recently uploaded

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 

Slide 4 Interaction Diagram

  • 2. Interaction Diagram • From the name Interaction it is clear that the diagram is used to describe some type of interactions among the different elements in the model. • Interaction diagrams are models that describe how a group of objects interact / collaborate in some behavior - typically a single use-case.
  • 3. Interaction Diagram • Purpose –To capture dynamic behaviour of a system. –To describe the message flow in the system. –To describe structural organization of the objects. –To describe interaction among objects.
  • 4. Forms of Interaction Diagram • This interactive behaviour is represented in UML by two diagrams known as – Sequence diagram and –Collaboration diagram.
  • 5. Drawing the interaction diagram • The purpose of interaction diagrams are to capture the dynamic aspect of a system. • Dynamic aspect can be defined as the snap shot of the running system at a particular moment. • So the following things are to identified clearly before drawing the interaction diagram: – Objects taking part in the interaction. – Message flows among the objects. – The sequence in which the messages are flowing. – Object organization.
  • 6. Sequence Diagram • Describe the flow of messages, events, actions between objects . • An important characteristic of a sequence diagram is that time passes from top to bottom and model important runtime interactions between the parts that make up the system. • Typically used to document and understand the logical flow of the system .
  • 7. Sequence Diagram Key Parts • participant: object or entity that acts in the diagram 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 Diagrams Dimensions • Time. The vertical axis represents time proceedings (or progressing) down the page. Note that Time in a sequence diagram is all a about ordering, not duration. The vertical space in an interaction diagram is not relevant for the duration of the interaction. • Objects. The horizontal axis shows the elements that are involved in the interaction. Conventionally, the objects involved in the operation are listed from left to right according to when they take part in the message sequence. However, the elements on the horizontal axis may appear in any order.
  • 9. Sequence Diagram (make a phone call)
  • 10. Object • Objects as well as classes can be targets on a sequence diagram, which means that messages can be sent to them. • A target is displayed as a rectangle with some text in it. Below the target, its lifeline extends for as long as the target exists. The lifeline is displayed as a vertical dashed line.
  • 11. Object • The basic notation for an object is where 'name' is the name of the object in the context of the diagram and 'Type' indicates the type of which the object is an instance. • Both name and type are optional, but at least one of them should be present.
  • 13. Object (Examples) • As with any UML-element, we can add a stereotype to a target. Some often used stereotypes for objects are «actor», «boundary», «control», «entity» and «database».
  • 14. MultiObject • When we want to show how a client interacts with the elements of a collection, we can use a multiobject. Its basic notation is:
  • 15. Lifelines in UML diagrams • In UML diagrams, such as sequence or communication diagrams, lifelines represent the objects that participate in an interaction. • Lifeline is a named element which represents an individual participant in the interaction. • For example, in a banking scenario, lifelines can represent objects such as a bank system or customer. • Each instance in an interaction is represented by a lifeline.
  • 16. Lifelines in Sequence diagrams • Lifeline in a sequence diagram is displayed with its name and type in a rectangle, which is called the head. The head is located on top of a vertical dashed line, called the stem, which represents the timeline for the instance of the object.
  • 17. Messages • Messages (or signals) on a sequence diagram are specified using an arrow from the participant (message caller) that wants to pass the message to the participant (message receiver) that is to receive the message. • A Message (or stimulus) is represented as an arrow going from the sender to the top of the focus of control (i.e., execution occurrence) of the message on the receiver's lifeline. • Near the arrow, the name and parameters of the message are shown.
  • 18. Synchronous message • A synchronous message is used when the sender waits until the receiver has finished processing the message, only then does the caller continue. • A closed and filled arrowhead signifies that the message is sent synchronously.
  • 19. Synchronous message • If you want to show that the receiver has finished processing the message and returns control to the sender, draw a dashed arrow from receiver to sender. Optionally, a value that the receiver returns to the sender can be placed near the return arrow. • If you want your diagrams to be easy to read, only show the return arrow if a value is returned. Otherwise, hide it.
  • 21. Asynchronous messages • With an asynchronous message, the sender does not wait for the receiver to finish processing the message, it continues immediately. • Messages sent to a receiver in another process or calls that start a new thread are examples of asynchronous messages.
  • 22. Asynchronous messages • An open arrowhead is used to indicate that a message is sent asynchronously.
  • 24. Instantaneous message • Messages are often considered to be instantaneous, i.e. the time it takes to arrive at the receiver is negligible. • Such messages are drawn as a horizontal arrow.
  • 25. Non-instantaneous message • Sometimes the message takes a considerable amount of time to reach the receiver. • For example, a message across a network. • Such a non-instantaneous message is drawn as a slanted arrow.
  • 27. Found message • A found message is a message of which the caller is not shown. • Depending on the context, this could mean that either the sender is not known, or that it is not important who the sender was.
  • 28. Found message • The arrow of a found message originates from a filled circle.
  • 29.
  • 30. Guards • A message can include a guard, which signifies that the message is only sent if a certain condition is met. • The guard is simply that condition between brackets. • Guards are used throughout UML diagrams to control flow.
  • 32. Combined fragments (alternatives, options, and loops) • If you want to show that several messages are conditionally sent under the same guard, you'll have to use an 'opt' combined fragment. • The combined fragment is shown as a large rectangle with an 'opt' operator plus a guard, and contains all the conditional messages under that guard.
  • 33.
  • 34.
  • 35. alt • If you want to show several alternative interactions, use an 'alt' combined fragment. • The combined fragment contains an operand for each alternative. Each alternative has a guard and contains the interaction that occurs when the condition for that guard is met.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Repeated interaction • When a message is prefixed with an asterisk (the '*'- symbol), it means that the message is sent repeatedly. A guard indicates the condition that determines whether or not the message should be sent (again). As long as the condition holds, the message is repeated.
  • 41.
  • 42. Repeated interaction • If you want to show that multiple messages are sent in the same iteration, a 'loop' combined fragment can be used. The operator of the combined fragment is 'loop' and the guard represents the condition to control the repetition.
  • 43.
  • 44.
  • 45. Create and Destroy message • A create message represents the creation of an instance in an interaction. The target lifeline begins at the point of the create message. • A destroy message represents the destruction of an instance in an interaction. The target lifeline ends at the point of the destroy message, and is denoted by an X.
  • 46.
  • 47. Sequence diagram for issuing book
  • 48. Sequence diagram for returning book
  • 49.
  • 50. Communication diagram • A communication diagram, is an interaction diagram that shows similar information to sequence diagrams but its primary focus is on object relationships. • Formerly known as collaboration diagram. • Shows interactions between objects and/or parts (represented as lifelines) using sequenced messages in a free-form arrangement.
  • 51. Communication diagram • Model collaborations between objects or roles that deliver the functionalities of use cases and operations. • Capture interactions that show the passed messages between objects and roles within the collaboration. • Support the identification of objects (hence classes) that participate in use cases.
  • 52.
  • 55. Which to Use? • Choose sequence diagram when only the sequence of events needs to be shown and collaboration among the objects are priority. • Choose a communication diagram when the objects and their links facilitate understanding the interactions (you don’t have to put all objects at the top and make the lines all vertical or horizontal). • Sequence diagrams emphasize the time ordering of messages, whereas communication diagrams depict more of an organizational structure and are more space efficient.
  • 56. Which to Use? • Although it is possible to derive the sequencing of messages in the communication diagram from the numbering scheme, it isn’t immediately visible. • What the communication diagram does show quite clearly though, is the full set of messages passed between adjacent objects. • Communication diagrams offer a better view of a scenario than a Sequence diagram when the modeler is trying to understand all of the effects on a given object

Editor's Notes

  1. From the name Interaction it is clear that the diagram is used to describe some type of interactions among the different elements in the model. So this interaction is a part of dynamic behaviour of the system.
  2. From the name Interaction it is clear that the diagram is used to describe some type of interactions among the different elements in the model. So this interaction is a part of dynamic behaviour of the system.
  3. From the name Interaction it is clear that the diagram is used to describe some type of interactions among the different elements in the model. So this interaction is a part of dynamic behaviour of the system.
  4. Stem: a long, thin supportive or main section of something.
  5. The white rectangles on a lifeline are called activations and indicate that an object is responding to a message. It starts when the message is received and ends when the object is done handling the message. When a messages are used to represent method calls, each activation corresponds to the period during which an activation record for its call is present on the call stack.
  6. The white rectangles on a lifeline are called activations and indicate that an object is responding to a message. It starts when the message is received and ends when the object is done handling the message. When a messages are used to represent method calls, each activation corresponds to the period during which an activation record for its call is present on the call stack.