UML-Kommunikationsdiagramme
Dieselbe Interaktion, die ein Sequenzdiagramm zeigt, so angeordnet, dass sie eine andere Frage beantwortet: nicht wann etwas geschieht, sondern wer mit wem verbunden ist.
6 Min. LesezeitUML 2.5.126 von 35
Die kurze Antwort
- Es trägt dieselbe Information wie ein Sequenzdiagramm und unterscheidet sich nur im Layout: ein Netz statt einer Zeitachse.
- Die Reihenfolge tragen allein die Nachrichtennummern, denn das Layout trägt keine. Dezimalpunkte zeigen Verschachtelung: 1.1 wird während der Bearbeitung von 1 gesendet.
- Kollaborationsdiagramm war in UML 1.x der Name derselben Sache. Ältere Bücher und etliche Werkzeuge verwenden ihn weiterhin.
- Wählen Sie es, wenn Struktur mehr zählt als Reihenfolge - etwa zu prüfen, dass eine Komponente nur mit vorgesehenen Nachbarn spricht. Für Verzweigung und Fehlerpfade nehmen Sie das Sequenzdiagramm.
01Was es zeigt#
Ein Kommunikationsdiagramm - vor UML 2 Kollaborationsdiagramm genannt - zeigt eine Menge von Objekten, die Links zwischen ihnen und die Nachrichten, die über diese Links laufen. Es ist eines der vier Interaktionsdiagramme und trägt exakt dieselbe Information wie das entsprechende Sequenzdiagramm.
Unterschiedlich ist, was das Layout betont. Ein Sequenzdiagramm gibt seine Geometrie für die Zeit aus: Teilnehmer oben quer, Reihenfolge die Seite hinunter. Ein Kommunikationsdiagramm gibt seine Geometrie für die Topologie aus: Objekte, wohin Sie sie setzen, Links zwischen denen, die miteinander sprechen. Die Reihenfolge wird zu einer Zahl vor jeder Nachricht degradiert.
02Die Notation#
| Element | Notation | Was es bedeutet |
|---|---|---|
| Objekt | Rechteck, unterstrichener Name | Ein Teilnehmer, geschrieben role: Type. Dieselbe Instanznotation wie in einem Objektdiagramm. |
| Link | schlichte Linie | Diese beiden können kommunizieren. Die Linie selbst trägt keine Richtung - sie ist der Kanal, nicht der Verkehr. |
| Nachricht | kleiner Pfeil neben dem Link | Eine Kommunikation, beschriftet sequenceNumber: name(arguments). Mehrere Nachrichten können auf einem Link sitzen. |
| Sequenznummer | 1:, 1.1:, 2: | Die Reihenfolge. Dezimalstellen verschachteln: 1.1 geschieht während 1. |
| Iteration | 1 * [i = 1..n]: | Die Nachricht wiederholt sich. |
| Wächter | 1 [ok]: | Die Nachricht wird nur gesendet, wenn die Bedingung gilt. |
Der lernenswerte Teil ist die verschachtelte Dezimalnummerierung, denn damit drückt dieses Diagramm Aufruftiefe ohne senkrechte Achse aus. Nachricht 2.1 geschieht innerhalb der Bearbeitung von Nachricht 2. Lesen Sie ein Kommunikationsdiagramm nach Nummer, nicht nach Position: 1, 1.1, 1.2, 2. Die Position ist absichtlich bedeutungslos.
03Die Wahl zwischen diesem und einem Sequenzdiagramm#
Im Prinzip sind sie austauschbar - ein gutes Werkzeug wandelt automatisch zwischen ihnen um -, die Wahl betrifft also die Leserin.
Bevorzugen Sie ein Sequenzdiagramm, wenn die Reihenfolge das Thema ist, wenn es viele Nachrichten gibt oder wenn Sie kombinierte Fragmente brauchen. Nichts in der Kommunikationsnotation kommt an einen alt-Block heran, um eine Verzweigung zu zeigen, und jenseits von etwa einem Dutzend Nachrichten wird die Nummerierung schwerer zu verfolgen als eine senkrechte Achse.
Bevorzugen Sie ein Kommunikationsdiagramm, wenn die Verbindungsstruktur das Thema ist: welche Objekte einander kennen, wo die Knotenpunkte liegen, ob die Form zu der beabsichtigten Architektur passt. Es ist außerdem das kompaktere der beiden für eine kleine Interaktion unter vielen Objekten, weil es keine Spalte je Teilnehmer reserviert.
Ehrliche Einschätzung: in der Praxis dominieren Sequenzdiagramme, und wenn Sie nur ein Interaktionsdiagramm lernen, lernen Sie dieses. Kommunikationsdiagramme bleiben erkennenswert - und zeichnenswert an genau dem Tag, an dem die Frage Kopplung betrifft statt Reihenfolge.
04Wann man eines zeichnet#
Dazu greifen, wenn
- Die Frage ist, wer mit wem spricht, nicht in welcher Reihenfolge
- Kopplungsprobleme suchen - Knotenpunkte und unerwartete Links stechen hervor
- Eine kleine Interaktion über viele Objekte verteilt, wo ein Sequenzdiagramm meist Leerraum wäre
- Zeigen, dass ein Entwurf einer beabsichtigten Struktur entspricht, etwa einem Muster
Zu etwas anderem greifen, wenn
- Der Ablauf hat Verzweigungen oder Schleifen - Fragmente haben hier kein Gegenstück
- Es gibt mehr als etwa ein Dutzend Nachrichten; die Nummerierung wird unlesbar
- Das Publikum kennt die Struktur bereits und braucht die Reihenfolge
- Sie wollen verstrichene Zeit zeigen - nehmen Sie ein Zeitverlaufsdiagramm
In je einer Zeile
- 01Dieselbe Information wie ein Sequenzdiagramm, angeordnet, um Struktur statt Zeit zu zeigen.
- 02Das Layout ist der Verbindungsgraph; die Position sagt nichts über die Reihenfolge.
- 03Die Reihenfolge steckt in den Nachrichtennummern, und Dezimalstellen verschachteln, um Aufruftiefe zu zeigen.
- 04Lesen Sie nach Nummer - 1, 1.1, 1.2, 2 - nie nach Position auf der Seite.
- 05Am besten, wenn die Frage Kopplung ist; nehmen Sie ein Sequenzdiagramm, wenn es Reihenfolge oder Verzweigung ist.
05Häufige Fragen#
Was unterscheidet Kommunikations- und Sequenzdiagramm?
Sie tragen dieselbe Information und unterscheiden sich nur im Layout. Ein Sequenzdiagramm legt die Zeit auf eine senkrechte Achse, wodurch die Reihenfolge offensichtlich ist und die Verbindungen nicht. Ein Kommunikationsdiagramm ordnet die Beteiligten als Netz an, wodurch offensichtlich wird, wer mit wem spricht, und die Reihenfolge aus den Nachrichtennummern gelesen werden muss.
Wie funktioniert die Nachrichtennummerierung?
Nachrichten werden in Ausführungsreihenfolge nummeriert, Verschachtelung wird durch Dezimalpunkte gezeigt. Nachricht 1.1 ist die erste, die während der Bearbeitung von Nachricht 1 gesendet wird, und 1.1.2 die zweite während der Bearbeitung von 1.1. Die Nummerierung trägt als Einziges die Reihenfolge, denn das Layout trägt keine.
Ist ein Kommunikationsdiagramm dasselbe wie ein Kollaborationsdiagramm?
Ja. Kollaborationsdiagramm war der Name in UML 1.x, in UML 2.0 zu Kommunikationsdiagramm umbenannt. Ältere Bücher und etliche Werkzeuge verwenden den älteren Begriff weiterhin.
Wann sollte ich ein Kommunikationsdiagramm wählen?
Wenn die Struktur einer Interaktion mehr zählt als ihre Reihenfolge: zu prüfen, dass eine Komponente nur mit den vorgesehenen Nachbarn spricht, oder Kopplung zu zeigen. Wo Zeitverhalten, Verzweigung oder Fehlerpfade zählen, ist das Sequenzdiagramm das bessere Werkzeug.
In dieser Reihe
- 01Was ist UML?
- 02UML-Symbole
- 03Diagramm auswählen
- 04Klassendiagramme
- 05Klassendiagramm-Beispiele
- 06Klassendiagramm zeichnen
- 07Klassendiagramm-Symbole
- 08Sequenzdiagramme
- 09Sequenzdiagramm-Beispiele
- 10Sequenzdiagramm zeichnen
- 11Anwendungsfalldiagramme
- 12Anwendungsfall-Beispiele
- 13Aktivitätsdiagramme
- 14Aktivitätsbeispiele
- 15Zustandsdiagramme
- 16Zustandsdiagramm-Beispiele
- 17Komponentendiagramme
- 18Komponenten-Beispiele
- 19Komponentendiagramm zeichnen
- 20Komponenten-Symbole
- 21Verteilungsdiagramme
- 22Verteilungsbeispiele
- 23Objektdiagramme
- 24Paketdiagramme
- 25Kompositionsstrukturdiagramme
- 26Kommunikationsdiagramme
- 27Sequenz vs Kommunikation
- 28Zeitverlaufsdiagramme
- 29Interaktionsübersichtsdiagramme
- 30Profildiagramme
- 31UML mit KI
- 32E-Commerce-Beispiel
- 33Banken-Beispiel
- 34Microservices-Beispiel
- 35AWS-Beispiel
Passend dazu
Verhaltensdiagramme
Grundlagen
Verhaltensdiagramme
Strukturdiagramme
Verhaltensdiagramme
Verhaltensdiagramme