- Kommunikationsdiagramm (UML)
-
Strukturdiagramme der UML Klassendiagramm Komponentendiagramm Kompositionsstrukturdiagramm Objektdiagramm Paketdiagramm Profildiagramm Verteilungsdiagramm Verhaltensdiagramme der UML Aktivitätsdiagramm Anwendungsfalldiagramm Interaktionsübersichtsdiagramm Kommunikationsdiagramm Sequenzdiagramm Zeitverlaufsdiagramm Zustandsdiagramm Ein Kommunikationsdiagramm (engl. communication diagram) ist eine der 14 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.
Notation von Lebenslinien und 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
oderinteraction
.Ä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
oder22
, die optional von einem Kleinbuchstaben, zum Beispiela
oderb
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.1
wird also von einer Ausprägung gesendet, nachdem diese eine Nachricht mit dem Sequenzausdruck1.2b
erhalten hat. In der Abbildung rechts folgt die Nachricht mit dem Sequenzausdruck1.2b.1
auf die Nachricht mit dem Sequenzausdruck1.2b
, diese wiederum auf die Nachricht mit dem Sequenzausdruck1
.Zweitens geben rein numerische Terme auf der gleichen Verschachtelungstiefe eine sequentielle Reihenfolge an. Die Abbildung rechts stellt also eine Interaktion dar, in der die Lebenslinie
:B
die Nachricht mit dem Sequenzausdruck1.1
vor der Nachricht mit dem Sequenzausdruck1.2
versendet.Drittens bezeichnen Terme mit einem Buchstaben am Schluss Nachrichten, die parallel versendet werden. Im Diagramm rechts erkennt man also, dass die Nachricht mit dem Sequenzausdruck
1.1a
und die Nachricht mit dem Sequenzausdruck1.1b
gleichzeitig versendet werden.Literatur
- Christoph Kecher: "UML 2.0 - Das umfassende Handbuch" Galileo Computing, 2006, ISBN 3-89842-738-2
- Heide Balzert: "Lehrbuch der Objektmodellierung - Analyse und Entwurf mit der UML 2" Elsevier Spektrum Akademischer Verlag, 2005, ISBN 3-8274-1162-9
Wikimedia Foundation.