What Is Communication Diagram?
What Is Communication Diagram?
What/
HOME isSUPPORT
Communication Diagram? DIAGRAM?
/ WHAT IS COMMUNICATION
Purpose of Communication
At a Glance
Communication Diagram
Examples
Message Numbering
Related Links
UML communication diagrams, like the sequence diagrams - a kind of interaction diagram, shows how objects
interact. A communication diagram is an extension of object diagram that shows the objects along with the
messages that travel from one to another. In addition to the associations among objects, communication
diagram shows the messages the objects send each other.
Free Download
Capture interactions that show the passed messages between objects and roles within the collaboration
scenario
Model alternative scenarios within use cases or operations that involve the collaboration of di!erent objects
and interactions
Support the identi"cation of objects (hence classes), and their attributes (parameters of message) and
operations (messages) that participate in use cases
The objects are Object1, Object2, Object..., ObjectN-1 ..., and ObjectN.
Messages passed between objects are represented by labeled arrows that start with the sending object
(actor) and end with the receiving object.
The sample messages passed between objects are labeled 1: message1, 2: message2, 3: message3, etc.,
where the numerical pre"x to the message name indicates its order in the sequence.
Object1 "rst sends Object2 the message message1, Object2 in turn sends ObjectN-1 the message
message2, and so on.
Messages that objects send to themselves are indicated as loops (e.g., message message5).
Messages sent during the same call have the same decimal pre"x, but su#xes of 1, 2, etc. according to
when they occur.
Of the two types of interaction diagrams, sequence diagrams seem to be used far more than communication
diagrams. So, why would you use communication diagrams? First of all, they are very useful for visualizing the
relationship between objects collaborating to perform a particular task. This is di#cult to determine from a
sequence diagram. In addition, communication diagrams can also help you determine the accuracy of your
static model (i.e., class diagrams).
If you open this sequence diagram in Visual Paradigm you can automatically generate the communication
diagram shown in "gure below:
Note: If you compare the two diagrams, you'll see they both contain objects and messages. It also becomes
clear that it's much easier to determine the time ordering of messages by looking at the sequence diagram
and it's easier to see the relationships between objects by looking at the communication diagram.
Supplier objects are the objects that supply the method that is being called, and therefore receive the
message.
Client objects call methods on supplier objects, and therefore send messages.
Links
The connecting lines drawn between objects in a communication diagram are links.
These links are what set communication diagrams apart from sequence diagrams. They enable you to see
the relationships between objects.
Each link represents a relationship between objects and symbolizes the ability of objects to send messages
to each other.
If an object sends messages to itself, the link carrying these messages is represented as a loop icon. This
loop can be seen on both the UI object and the Transaction object.
Messages in communication diagrams are shown as arrows pointing from the Client object to the Supplier
object. Typically, messages represent a client invoking an operation on a supplier object. They can be modeled
along with the objects in the following manner:
For example, in the communication diagram in the "gure below, you can follow the sequence numbers to
determine the order of messages between objects:
You can indicate that a message is nested under a parent message by adding a decimal point and
incremental digits to the parent's sequence number.
For example:
Based on the example above, the "CalAmtCanBorrow" message is the "rst nested message under
"EnquireBorrower" and is given the sequence number 1.1. The second nested message under
"EnquireBorrower" is "DisplayInvalidMsg", so it's given a sequence number of 1.2.
Note that:
Focus of control: also called execution occurrence/activation. It shows as tall, thin rectangle on a lifeline
that represents the period during which an element is performing an operation.
The top and the bottom of the rectangle are aligned with the initiation and the completion time
respectively.
In communication diagram focus of control is explicit and thus, can be represented by the message nest
numbering.
Free Download
Related Links