Kommunikationsdiagramm (UML)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
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 (engl. collaboration diagram) bekannt.

Notation von Lebenslinien und Nachrichten[Bearbeiten]

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[Bearbeiten]

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:

Kommunikationsdiagramm

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 Sequenzausdruck 1.2b erhalten hat. In der Abbildung rechts 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.

Kommunikationsdiagramm

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 Sequenzausdruck 1.1 vor der Nachricht mit dem Sequenzausdruck 1.2 versendet.

Kommunikationsdiagramm

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 Sequenzausdruck 1.1b gleichzeitig versendet werden.

Literatur[Bearbeiten]

  • 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