Archyno
UMLDiagramas de comportamiento

Diagrama de secuencia vs de comunicación

La misma compra dibujada de las dos maneras, para que la compensación se vea en lugar de contarse: una pone el tiempo en el eje vertical, la otra pone la estructura en la página y numera los mensajes.

7 min de lecturaUML 2.5.127 de 35

1: placeOrder(cart)2: reserve(items)3: charge(total)4: save(order)Customer: OrderController: Inventory: PaymentGateway: OrderRepo
The checkout as a communication diagram: the structure is immediate, the order lives in the numbers.

01One interaction, two drawings

Both diagrams below describe the same checkout: a customer places an order, the controller reserves stock, charges a card, saves the order and replies. Nothing about the system differs between them. Only the axis the notation spends its space on does.

Customer: OrderController: Inventory: PaymentGateway: OrderRepoplaceOrder(cart)reserve(items)reservedcharge(total)authorisedsave(order)confirmation
The same checkout as a sequence diagram: order is the vertical axis, and the nesting of calls is visible in the activation bars.

Read the hero figure again after that one. The communication diagram makes something obvious that the sequence diagram buries: every message passes through OrderController. Four links radiate from one node and none connect to each other, which is the shape of the design rather than the shape of the run. On the sequence diagram that fact is spread over seven rows and you have to look for it.

And the reverse is just as true. On the sequence diagram you can see at a glance that the card is charged after stock is reserved, and that the reservation reply comes back before the charge goes out. On the communication diagram that ordering is the difference between the numerals 2 and 3.

02What each one spends its space on

The two notations are defined over the same underlying interaction in UML, so this is a presentation choice rather than a modelling one. What follows from that choice is consistent enough to tabulate.

ElementNotationWhat it means
OrderSequenceRead down the page, with no counting. On a communication diagram you follow the numbers, which is slower past about six messages.
StructureCommunicationThe links are the layout, so hubs, chains and isolated participants are visible immediately. A sequence diagram has no layout to read.
NestingSequenceActivation bars show which call is still on the stack. Communication diagrams express it as decimal numbering - 2.1 inside 2 - which is harder to scan.
Conditionals and loopsSequenceCombined fragments (alt, opt, loop) frame a region of the diagram. Communication diagrams have only guards on message labels.
Number of participantsCommunicationA sequence diagram runs out of horizontal room past six or seven lifelines. A communication diagram lays them out in two dimensions.
Being understoodSequenceFar more people can read one without being taught. That is not a property of the notation, but it decides most real choices.

The same information, two very different reading experiences.

03Choosing between them

The decision is easier if you write the sentence the diagram is meant to make somebody say. If the sentence has an order in it, you want lifelines. If it has a shape in it, you want links.

Reach for it when

  • Sequence, when the point is what happens before what - protocols, handshakes, race conditions.
  • Sequence, when conditionals and loops are part of the story and you need alt or loop frames.
  • Communication, when the point is who talks to whom - coupling, a hub, a layering violation.
  • Communication, when there are more participants than fit across a page as lifelines.

Reach for something else when

  • Communication, when the audience has to be taught the numbering before they can read it.
  • Sequence, when you are really describing structure - that is a class or component diagram.
  • Both, when neither order nor collaboration is in question. Prose is shorter.
  • Drawing the same interaction twice as documentation. Keep one; a tool can regenerate the other.

In practice most teams draw sequence diagrams and read the occasional communication diagram, which is a reasonable equilibrium: order is what people are usually trying to explain. The one place the communication diagram earns its keep outright is a design review about coupling, where four links converging on one node makes the argument faster than any list of call sites.

04What to remember

In one line each

  1. 01Both notations describe the same interaction. The choice is about what a reader notices first.
  2. 02Sequence puts order on the vertical axis; communication puts structure on the page and numbers the messages.
  3. 03Nesting is an activation bar on one and a decimal number on the other.
  4. 04Only sequence diagrams have alt, opt and loop frames - conditionals are why most teams stay with them.
  5. 05Communication diagram and collaboration diagram are the same picture under UML 2 and UML 1 names.

05Preguntas frecuentes

¿Qué es mejor, un diagrama de secuencia o uno de comunicación?

Ninguno es mejor: enfatizan ejes distintos. El de secuencia hace evidente el orden y difícil de ver la estructura. El de comunicación hace evidente la forma de la colaboración y trabajoso el orden. Elija aquel cuya fortaleza coincida con su pregunta.

¿Los diagramas de secuencia y de comunicación contienen la misma información?

Semánticamente sí: ambos describen una interacción, y UML los define sobre el mismo modelo, así que una herramienta puede generar uno a partir del otro. Lo que cambia es lo que una persona nota primero, y esa es la única razón para tener dos notaciones.

¿Por qué los diagramas de comunicación numeran los mensajes?

Porque no hay eje temporal del que leer el orden. La numeración lo lleva en su lugar, y los números anidados como 2.1 y 2.2 muestran qué llamadas ocurren dentro de cuáles. Sin los números el diagrama deja de decir qué pasa cuándo.

¿Se puede convertir un diagrama de secuencia en uno de comunicación?

Sí, y de forma mecánica. Cada línea de vida pasa a ser un nodo, cada mensaje una etiqueta numerada sobre el enlace entre dos nodos, y el orden de arriba abajo pasa a ser la numeración. Muchas herramientas convierten en ambos sentidos desde una única interacción guardada.

¿Por qué se usan tan poco los diagramas de comunicación?

La mayoría quiere comunicar precisamente el orden, y leerlo de un conjunto de números es más lento que leerlo de arriba abajo. El diagrama de comunicación gana cuando lo que importa es quién habla con quién y no en qué orden, que es una parte menor de las conversaciones reales.

Todos los artículos