Was ist ein UML-Kollaborationsdiagramm?
Kollaborationsdiagramme (bekannt als Kommunikationsdiagramm in UML 2.x) werden verwendet, um zu zeigen, wie Objekte interagieren, um das Verhalten eines bestimmten Anwendungsfalls oder eines Teils eines Anwendungsfalls auszuführen. Zusammen mit Sequenzdiagrammen werden sie von Designern verwendet, um die Rollen der Objekte zu definieren und zu verdeutlichen, die einen bestimmten Ereignisfluss eines Anwendungsfalls ausführen. Sie sind die primäre Informationsquelle zur Bestimmung von Klassenverantwortlichkeiten und Schnittstellen.
Lernen Sie UML schneller, besser und einfacher
Suchen Sie ein kostenloses UML-Tool, mit dem Sie UML schneller, einfacher und schneller lernen können? Visual Paradigm Community Edition ist eine UML-Software, die alle UML-Diagrammtypen unterstützt. Es ist ein international preisgekrönter UML-Modellierer, und doch ist es einfach zu bedienen, intuitiv & völlig kostenlos.
Was ist eine Collaboration?
- Eine Kollaboration ist eine Sammlung benannter Objekte und Akteure mit Verknüpfungen, die sie verbinden. Sie arbeiten bei der Ausführung einer Aufgabe zusammen.
- Eine Zusammenarbeit definiert eine Gruppe von Teilnehmern und Beziehungen, die für einen bestimmten Zweck von Bedeutung sind
- Eine Zusammenarbeit zwischen Objekten, die zusammenarbeiten, bietet emergente wünschenswerte Funktionalitäten in objektorientierten Systemen
- Jedes Objekt (Verantwortung) unterstützt emergente Funktionalitäten teilweise
- Objekte können durch Zusammenarbeit (verwendbare) Funktionen auf hoher Ebene erzeugen
- Objekte arbeiten zusammen, indem sie kommunizieren (Nachrichten ), um zusammen zu arbeiten
Warum Kollaborationsdiagramm?
Im Gegensatz zu einem Sequenzdiagramm zeigt ein Kollaborationsdiagramm die Beziehungen zwischen den Objekten. Sequenzdiagramme und Kollaborationsdiagramme drücken ähnliche Informationen aus, zeigen sie jedoch auf unterschiedliche Weise an.
Aufgrund des Formats des Kollaborationsdiagramms sind sie in der Regel besser für Analyseaktivitäten geeignet (siehe Aktivität: Anwendungsfallanalyse). Insbesondere sind sie tendenziell besser geeignet, einfachere Interaktionen einer kleineren Anzahl von Objekten darzustellen. Wenn jedoch die Anzahl der Objekte und Nachrichten wächst, wird das Diagramm immer schwieriger zu lesen. Darüber hinaus ist es schwierig, zusätzliche beschreibende Informationen wie Timing, Entscheidungspunkte oder andere unstrukturierte Informationen anzuzeigen, die den Notizen in einem Sequenzdiagramm leicht hinzugefügt werden können. Hier sind einige Anwendungsfälle, für die wir ein Kollaborationsdiagramm erstellen möchten:
- Modellieren Sie Kollaborationen zwischen Objekten oder Rollen, die die Funktionalitäten von Anwendungsfällen und Vorgängen bereitstellen
- Modellieren Sie Mechanismen innerhalb des architektonischen Entwurfs des Systems
- Erfassen Sie Interaktionen, die die Nachrichten anzeigen, die zwischen Objekten und Rollen innerhalb der Zusammenarbeit ausgetauscht werden
- Modellieren Sie alternative Szenarien innerhalb von Anwendungsfällen oder Vorgängen, die die Zusammenarbeit verschiedener Objekte und Interaktionen beinhalten
- Unterstützen Sie (daher Klassen), die an Anwendungsfällen teilnehmen
- Jede Nachricht in einer Zusammenarbeit diagramm hat eine Sequenznummer.
- Die Nachricht der obersten Ebene hat die Nummer 1. Nachrichten, die während desselben Anrufs gesendet werden, haben dasselbe Dezimalpräfix, jedoch Suffixe von 1, 2 usw. je nachdem, wann sie auftreten.
Notations of Collaboration Diagram
Objects
Ein Objekt wird durch ein Objektsymbol dargestellt, das den Namen des Objekts und seine Klasse unterstrichen und durch einen Doppelpunkt getrennt anzeigt:
Object_name : class_name
Sie können Objekte in Kollaborationsdiagrammen folgendermaßen verwenden:
- Jedes Objekt in der Kollaboration ist benannt und hat seine Klasse angegeben
- Nicht alle Klassen müssen erscheinen
- Es kann mehr als ein Objekt einer Klasse geben
- Die Klasse eines Objekts kann nicht angegeben sein. Normalerweise erstellen Sie zuerst ein Kollaborationsdiagramm mit Objekten und geben später deren Klassen an.
- Die Objekte können unbenannt sein, aber Sie sollten sie benennen, wenn Sie verschiedene Objekte derselben Klasse unterscheiden möchten.
Actors
Normalerweise tritt eine Actor-Instanz im Kollaborationsdiagramm als Aufrufer der Interaktion auf. Wenn Sie mehrere Aktorinstanzen im selben Diagramm haben, versuchen Sie, sie in der Peripherie des Diagramms zu belassen.
- Jeder Akteur ist benannt und hat eine Rolle
- Ein Akteur ist der Initiator des Anwendungsfalls
Links
Links verbinden Objekte und Akteure und sind Instanzen von Assoziationen und jeder Link entspricht einer Assoziation im Klassendiagramm
Links sind wie folgt definiert:
- Ein Link ist eine Beziehung zwischen Objekten, über die Nachrichten gesendet werden können. In Kollaborationsdiagrammen wird eine Verknüpfung als durchgezogene Linie zwischen zwei Objekten angezeigt.
- Ein Objekt interagiert mit oder navigiert zu anderen Objekten über seine Verknüpfungen zu diesen Objekten.
- Ein Link kann eine Instanz einer Assoziation sein, oder er kann anonym sein, was bedeutet, dass seine Assoziation nicht spezifiziert ist.
- Nachrichtenflüsse werden an Links angehängt, siehe Nachrichten.
Nachrichten
Eine Nachricht ist eine Kommunikation zwischen Objekten, die Informationen mit der Erwartung übermittelt, dass Aktivitäten folgen. In Kollaborationsdiagrammen wird eine Nachricht als beschrifteter Pfeil neben einem Link angezeigt.
- Die Nachricht wird vom Absender zum Empfänger geleitet
- Der Empfänger muss die Nachricht verstehen
- Die Zuordnung muss in diese Richtung navigierbar sein
Schritte zum Erstellen von Kollaborationsdiagrammen
- Identifizieren Sie ein Verhalten, dessen Realisierung und Implementierung angegeben ist
- Identifizieren Sie die Strukturelemente (Klassenrollen, Objekte, Subsysteme), die für die Funktionalität der Zusammenarbeit erforderlich sind
- Entscheiden Sie sich für den Kontext der Interaktion: system, Subsystem, Anwendungsfall und Betrieb
- Modellieren Sie strukturelle Beziehungen zwischen diesen Elementen, um ein Diagramm zu erstellen, das den Kontext der Interaktion zeigt
- Betrachten Sie die alternativen Szenarien, die möglicherweise erforderlich sind
- Zeichnen Sie bei Bedarf Diagramme für die Zusammenarbeit auf Instanzebene.
- Zeichnen Sie optional ein Kollaborationsdiagramm auf Spezifikationsebene, um die alternativen Szenarien in den Sequenzdiagrammen auf Instanzebene zusammenzufassen
Beispiel für ein Kollaborationsdiagramm
Kollaborationsdiagramm im Robustheitsdiagrammformat
Sie können Objekte und Aktorinstanzen in Kollaborationsdiagrammen zusammen mit Links und Nachrichten haben, die beschreiben, wie sie zusammenhängen und wie sie interagieren. Das unten gezeigte Pfandobjekt im Recycling-Maschinen-Systemdiagramm empfangen beschreibt, was in den beteiligten Objekten stattfindet, in Bezug darauf, wie die Objekte kommunizieren, indem sie Nachrichten aneinander senden. Sie können für jede Variante des Ereignisflusses eines Anwendungsfalls ein Kollaborationsdiagramm erstellen.
Versuchen Sie jetzt, ein UML-Kollaborationsdiagramm zu zeichnen
Sie haben gelernt, was ein Kollaborationsdiagramm ist und wie man ein Kollaborationsdiagramm zeichnet. Es ist Zeit, ein eigenes Kollaborationsdiagramm zu zeichnen. Holen Sie sich Visual Paradigm Community Edition, eine kostenlose UML-Software, und erstellen Sie Ihr eigenes Kollaborationsdiagramm mit dem kostenlosen Kollaborationsdiagramm-Tool. Es ist einfach zu bedienen und intuitiv.