Heim

Kommunikationsdiagramm (UML)

Strukturdiagramme der UML
Klassendiagramm
Komponentendiagramm
Kompositionsstrukturdiagramm
Objektdiagramm
Paketdiagramm
Verteilungsdiagramm
Verhaltensdiagramme der UML
Aktivitätsdiagramm
Anwendungsfalldiagramm
Interaktionsübersichtsdiagramm
Kommunikationsdiagramm
Sequenzdiagramm
Zeitverlaufsdiagramm
Zustandsdiagramm

Ein Kommunikationsdiagramm (engl. communication diagram) ist eine der dreizehn Diagrammarten in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme.

Das Kommunikationsdiagramm ist ein Verhaltensdiagramm. Es zeigt eine bestimmte Sicht auf die dynamischen Aspekte des modellierten Systems und stellt Interaktionen grafisch dar, wobei der Austausch von Nachrichten zwischen Ausprägungen mittels Lebenslinien dargestellt wird.

In älteren UML-Versionen war das Kommunikationsdiagramm unter dem Namen Kollaborationsdiagramm bekannt.

Inhaltsverzeichnis

Notation von Lebenslinien und Nachrichten

Beispiels eines Kommunikationsdiagramms mit zwei Lebenslinien und zwei Nachrichten

Die Abbildung links zeigt ein Beispiel eines Kommunikationsdiagramms mit einem Kopf- und einem Inhaltsbereich. Das optionale Schlüsselwort im Kopfbereich ist bei einem Kommunikationsdiagramm wie bei jedem Interaktionsdiagramm sd oder interaction.

Ähnlich wie in einem Sequenzdiagramm werden in einem Kommunikationsdiagramm Lebenslinien als Rechtecke dargestellt. Dieses Symbol „Lebenslinie“ zu nennen mag etwas seltsam erscheinen, denn im Kommunikationsdiagramm wird im Unterschied zum Sequenzdiagramm die gestrichelte Linie, die für die Zeitachse beim Austausch von Nachrichten steht, nicht angezeigt. Eine Nachricht wird als kurzer Pfeil gezeichnet. Die Richtung des Pfeils zeigt vom Sender zum Empfänger der Nachricht. Der Pfeil ist beschriftet mit einer Sequenznummer und einer Signatur der Nachricht, zum Beispiel der Signatur der Operation, falls es sich bei der Nachricht um einen synchronen Aufruf einer Operation handelt.

Jeder Verbindung im Kommunikationsdiagramm muss eine Assoziation im Klassendiagramm gegenüberstehen.

Zeitliche Ordnung der Nachrichten

Die zeitliche Abfolge von Nachrichten wird in Kommunikationsdiagrammen mit Sequenzausdrücken modelliert. Jeder modellierten Nachricht ist ein Sequenzausdruck zugeordnet, aus dem hervorgeht, was die Vorgängernachrichten sind und welche Nachrichten allenfalls parallel ablaufen.

Ein Sequenzausdruck besteht aus einer Folge von mit einem Punkt (.) getrennten Sequenztermen, gefolgt von einem Doppelpunkt (:). Sequenzterme sind Zahlen, zum Beispiel 1, 10 oder 22, die optional von einem Kleinbuchstaben, zum Beispiel a oder b gefolgt werden. Folgende Zeichenfolgen sind also gültige Sequenzausdrücke: 1, 1.7, 1a.6, 1a.6c.2.

Die Bedeutung von Sequenzausdrücken ist durch drei Regeln gegeben.

Erstens gibt die Folge der Terme im Sequenzausdruck die Verschachtelungstiefe in einer Meldung an. Eine Nachricht mit dem Sequenzausdruck 1.2b.6 wird also von einer Ausprägung gesendet, nachdem diese eine Nachricht mit dem Sequenzausdruck 1.2b erhalten hat. In der Abbildung links folgt die Nachricht mit dem Sequenzausdruck 1.2b.1 auf die Nachricht mit dem Sequenzausdruck 1.2b, diese wiederum auf die Nachricht mit dem Sequenzausdruck 1.


Zweitens geben rein numerische Terme auf der gleichen Verschachtelungstiefe eine sequentielle Reihenfolge an. Die Abbildung links stellt also eine Interaktion dar, in der die Lebenslinie :B die Nachricht mit dem Sequenzausdruck 1.1 vor der Nachricht mit dem Sequenzausdruck 1.2 versendet.

Drittens bezeichnen Terme mit einem Buchstaben am Schluss Nachrichten, die parallel versendet werden. Im Diagramm links erkennt man also, dass die Nachricht mit dem Sequenzausdruck 1.1a und die Nachricht mit dem Sequenzausdruck 1.1b gleichzeitig versendet werden.


Siehe auch

Literatur