Kommunikationsdiagramm
Das Kommunikationsdiagramm entspricht dem Kollaborationsdiagramm der UML 1.x. Es ist umbenannt worden, da der Name Kollaborationsdiagramm irreführend ist. Es gibt in der UML auch das Modellelement Kollaboration, das aber nichts mit Kollaborationsdiagrammen zu tun hat.
Das Kommunikationsdiagramm stellt die Fakten eines Sequenzdiagramms unter einer anderen Betrachtungsweise dar. In diesem Diagramm wird besonderes Augenmerk auf die Zusammenarbeit der Objekte untereinander gelegt. Dazu werden ausgewählte Nachrichten verwendet, mit denen die zeitliche Abfolge der Kommunikation zwischen den Objekten erfolgt. Es stellt somit in kompakterer Form die Aussagen des Sequenzdiagramms zusammen.
Abb. 56: Beispiel Kommunikationsdiagramm „Verfügungsberechtigten identifizieren“
In der Abbildung ist gut zu sehen, dass das Kommunikationsdiagramm die Beziehungen zwischen den Beteiligten in den Vordergrund stellt und nicht wie das Sequenzdiagramm die zeitliche Abfolge des Nachrichtenaustauschs.
Die grafische Darstellung besteht aus einem Rechteck, das den Objektnamen und die zugehörige Klasse enthält. Ein Doppelpunkt trennt beide Namen. Die Objekte werden mit Assoziationslinien verbunden. Ein kleiner Pfeil zeigt jeweils die Richtung der Nachricht vom Sender zum Empfänger an. Wenn mit der Nachricht Argumente übergeben werden, sind diese aufgeführt. Mögliche Rückgabewerte können ebenfalls in der Form
antwort := Nachrichtenname (Parameterliste)
angegeben werden.
Um den zeitlichen Ablauf zu modellieren, erhalten die Nachrichten Nummern. Durch eine Nachricht können weitere Nachrichten ausgelöst werden. Sie erhalten Unternummern der auslösenden Nachricht (z. B. 1.2).
Wird eine Nachricht mehrfach ausgelöst, kann durch ein Zeichen * vor dem Nachrichtennamen diese Iteration modelliert werden.
Objekte, die innerhalb des dargestellten Szenarios erzeugt werden, können Sie mit dem Stereotyp new kennzeichnen. Für Objekte, die innerhalb des dargestellten Szenarios zerstört werden, erfolgt die Bezeichnung mit dem Stereotyp destroy. Objekte, die innerhalb des Szenarios erzeugt und zerstört werden, erhalten das Stereotyp transient.
Symbole
Die folgende Tabelle enthält die Symbole der Kommunikationsdiagramme.
Symbol/Name | Verwendung |
---|---|
Das Rechteck ist das Symbol eines Objekts und enthält den Objektnamen. Da keine Verwechslung mit Klassen eintreten kann, muss der Name nicht unterstrichen sein. | |
Kommunizieren zwei Objekte über einen Methodenaufruf miteinander, wird diese Verbindung mit einer durchgängigen Linie dargestellt, die beide Objekte verbindet. | |
Zusätzlich zur Verbindungslinie wird nach dem Methodennamen durch einen Pfeil angezeigt, zu welchem Objekt die Methode gehört. Die Pfeilspitze zeigt auf dieses Objekt. | |
Die Linie wird mit dem Methodennamen und der Parameterliste beschriftet. Eine Nummerierung wird zur Kennzeichnung der zeitlichen Reihenfolge der Methodenaufrufe vor dem Methodennamen angezeigt und durch einen Doppelpunkt von diesem getrennt. In einer Bedingung können Sie die Nummern der Methoden angeben, die als Voraussetzung bereits abgearbeitet wurden. Das Zeichen * vor dem Methodennamen kennzeichnet eine Wiederholung der Methode. Die Bedingung für die Wiederholung können Sie nach dem Zeichen * angeben. |
Beispiel
Das Beispiel modelliert den Kauf eines Tickets über das Internet. Der Internetkunde wählt einen Platz auf der Internetseite eines Schauspielhauses aus und ruft damit die Methode auswählen auf. Die Interaktion wird gestartet. Das Objekt Platz ruft die Methode kaufen des Bestellung-Objekts auf und übergibt eine Referenz auf sich selbst im Parameter. Das Objekt Bestellung ruft die Methode IsFrei des Saalplan-Objekts auf.
Diese Methode ruft zum einen die Methode reservieren und zum anderen die Methode buchen auf. Sie unterscheiden sich deshalb nur in der Unternummer. Das Saalplan-Objekt ruft die Methode buchen des Objekts Verkauf auf. Dieses Objekt ruft die Methode erstelleRechnung des Bestellung-Objekts auf und übergibt die Rechnungsposition des gebuchten Platzes.
Nachdem die Rechnung vom Objekt Bestellung erstellt wurde, erfolgt die Benachrichtigung des Internetkunden über die erfolgreiche Buchung. Dazu wird die Methode bestätigt aufgerufen, die die Bestätigung des Kunden erfragt und zurückgibt.
Abb. 57: Beispiel Kommunikationsdiagramm „Ticketkauf über Internet“
Sequenzdiagramme vs. Kommunikationsdiagramme
Sequenz- und Kommunikationsdiagramme sind sehr ähnlich und können auch in einigen UML- Tools ineinander übergeführt werden. Der Fokus beim Sequenzdiagramm liegt auf dem zeitlichen Aspekt, beim Kommunikationsdiagramm liegt er hingegen auf den Beziehungen zwischen den Objekten. Der größte Vorteil der Sequenzdiagramme und gleichzeitig größte Nachteil der Kommunikationsdiagramme ist der deutlich sichtbare zeitliche Ablauf, der bei Kommunikationsdiagrammen zwar prinzipiell auch durch ein Nummerierungsschema visualisierbar ist, aber weniger deutlich sichtbar.
Dafür muss beim Erstellen nicht sofort die Ausführungsreihenfolge festgelegt werden, was die Erstellung der Sequenzdiagramme manchmal etwas trickreich gestaltet. Andererseits ist in einem umfangreichen Kommunikationsdiagramm die Reihenfolge schlecht lesbar, der Leser muss durch eine Suche herausfinden, ob z. B. auf 1.1 2, 1.2 oder gar 1.1.1 folgt.