Interaktions-, Kollaborations- und Sequenzdiagramme mit Beispielen

Was ist ein Interaktionsdiagramm?

Interaktionsdiagramm werden in UML verwendet, um die Kommunikation zwischen Objekten herzustellen. Die mit dem jeweiligen Kommunikationspfad verbundenen Daten werden nicht manipuliert. Interaktionsdiagramme konzentrieren sich hauptsächlich auf die Weitergabe von Nachrichten und darauf, wie diese Nachrichten eine Funktionalität eines Systems ausmachen. Interaktionsdiagramme sollen zeigen, wie die Objekte die besonderen Anforderungen eines Systems umsetzen. Die entscheidende Komponente in einem Interaktionsdiagramm sind Lebensader und Nachrichten.

Verschiedene UML-Elemente besitzen typischerweise Interaktionsdiagramme. Die Details der Interaktion können mithilfe verschiedener Notationen wie Sequenzdiagramm, Zeitdiagramm, Kommunikations-/Kollaborationsdiagramm dargestellt werden. Interaktionsdiagramme erfassen das dynamische Verhalten jedes Systems.

Interaktionsdiagramm
Notation eines Interaktionsdiagramms

Nachfolgend sind die verschiedenen in UML definierten Typen von Interaktionsdiagrammen aufgeführt:

  • Sequenzdiagramm
  • Zusammenarbeitsdiagramm
  • Zeitdiagramm

Der Zweck eines Sequenzdiagramms in UML-Diagramm besteht darin, den Ablauf eines Nachrichtenflusses im System zu visualisieren. Das Sequenzdiagramm im Software Engineering zeigt die Interaktion zwischen zwei Lebensadern als eine zeitlich geordnete Abfolge von Ereignissen.

Das Kollaborationsdiagramm in UML wird auch Kommunikationsdiagramm genannt. Der Zweck eines Kollaborationsdiagramms besteht darin, strukturelle Aspekte eines Systems hervorzuheben, dh wie verschiedene Lebenslinien im System miteinander verbunden sind.

Zeitdiagramme konzentrieren sich auf den Zeitpunkt, zu dem eine Nachricht von einem Objekt an ein anderes Objekt gesendet wird.

Zweck eines Interaktionsdiagramms

Interaktionsdiagramme helfen Ihnen, das interaktive Verhalten eines Systems zu visualisieren. Interaktionsdiagramme werden verwendet, um darzustellen, wie ein oder mehrere Objekte im System miteinander verbunden sind und kommunizieren.

Interaktionsdiagramme konzentrieren sich auf das dynamische Verhalten eines Systems. Ein Interaktionsdiagramm liefert uns den Kontext einer Interaktion zwischen einer oder mehreren Lebenslinien im System.

In UMLwerden die Interaktionsdiagramme für folgende Zwecke verwendet:

  • Interaktionsdiagramme werden verwendet, um das dynamische Verhalten eines Systems zu beobachten.
  • Das Interaktionsdiagramm visualisiert die Kommunikation und den Ablauf der Nachrichtenübermittlung im System.
  • Das Interaktionsmodellierungsdiagramm stellt die strukturellen Aspekte verschiedener Objekte im System dar.
  • Das Interaktionsdiagramm stellt die geordnete Abfolge von Interaktionen innerhalb eines Systems dar.
  • Interaktionsdiagramme bieten die Möglichkeit, Echtzeitdaten über UML zu visualisieren.
  • UML-Interaktionsdiagramme können verwendet werden, um die Architektur eines objektorientierten oder verteilten Systems zu erklären.

Wichtige Terminologie

Ein Interaktionsdiagramm enthält Lebenslinien, Nachrichten, Operatoren, Zustandsinvarianten und Einschränkungen.

Lebenslinie

Eine Lebenslinie repräsentiert einen einzelnen Teilnehmer an einer Interaktion. Es beschreibt, wie eine Instanz eines bestimmten Klassifikators an der Interaktion teilnimmt.

Eine Lebenslinie stellt eine Rolle dar, die eine Instanz des Klassifikators in der Interaktion spielen kann. Im Folgenden sind verschiedene Attribute einer Lebenslinie aufgeführt:

  1. Name
    1. Es wird verwendet, um auf die Lebensader innerhalb einer bestimmten Interaktion zu verweisen.
    2. Der Name einer Lebenslinie ist optional.
  2. Typ
    1. Es ist der Name eines Klassifikators, dessen Lebenslinie eine Instanz darstellt.
  3. Wähler
    1. Es handelt sich um eine boolesche Bedingung, die verwendet wird, um eine bestimmte Instanz auszuwählen, die die Anforderung erfüllt.
    2. Das Selektorattribut ist ebenfalls optional.

Die Notation der Lebenslinie wird im Abschnitt Notation erklärt.

Chat-Funktion

Eine Nachricht ist eine spezielle Art der Kommunikation zwischen zwei Lebenslinien in einer Interaktion. Eine Nachricht beinhaltet folgende Aktivitäten,

  1. Eine Aufrufnachricht, die zum Aufrufen einer Operation verwendet wird.
  2. Eine Nachricht zum Erstellen einer Instanz.
  3. Eine Nachricht zum Zerstören einer Instanz.
  4. Zum Senden eines Signals.

Wenn eine Lebenslinie eine Anrufnachricht empfängt, fungiert sie als Anforderung zum Aufrufen einer Operation mit einer ähnlichen Signatur wie in der Nachricht angegeben. Wenn eine Lebenslinie eine Nachricht ausführt, hat sie einen Kontrollfokus. Im Laufe der Zeit verschiebt sich der Kontrollfokus zwischen verschiedenen Lebenslinien. Diese Bewegung wird als Kontrollfluss bezeichnet.

Die folgenden Nachrichten werden in einem Systeminteraktionsdiagramm verwendet:

Nachrichtenname Bedeutung
Syncchronische Nachricht Der Absender einer Nachricht wartet weiterhin darauf, dass der Empfänger die Kontrolle über die Nachrichtenausführung zurückgibt.
Asynchrone Nachricht Der Absender wartet nicht auf eine Antwort vom Empfänger; Stattdessen wird die Ausführung einer nächsten Nachricht fortgesetzt.
Antwortnachricht Der Empfänger einer früheren Nachricht gibt den Fokus der Kontrolle an den Absender zurück.
Objekt erstellen Der Absender erstellt eine Instanz eines Klassifikators.
Objektzerstörung Der Absender zerstört die erstellte Instanz.
Nachricht gefunden Der Absender der Nachricht befindet sich außerhalb des Interaktionsbereichs.
Nachricht verloren Die Nachricht erreicht nie das Ziel und geht in der Interaktion verloren.

Zustandsinvarianten und Einschränkungen

Wenn eine Instanz oder eine Lebenslinie eine Nachricht empfängt, kann dies zu einer Statusänderung führen. Ein Status ist eine Bedingung oder Situation während der Lebensdauer eines Objekts, in der es bestimmte Einschränkungen erfüllt, bestimmte Operationen ausführt und auf ein bestimmtes Ereignis wartet.

Im Interaktionsdiagramm bewirken nicht alle Nachrichten eine Änderung des Status einer Instanz. Einige Nachrichten verfügen nicht über die Werte einiger Attribute. Es hat keine Nebenwirkungen auf den Zustand eines Objekts.

OperaDo.

Ein Operator gibt eine Operation an, mit der die Operanden ausgeführt werden. Die Operatoren in UML unterstützen Operationen an Daten in Form von Verzweigungen sowie Iterationen. Um die Verwendung von Iterationen und Verzweigungen im UML-Modell sicherzustellen, können verschiedene Operatoren verwendet werden. Die Operatoren opt und alt werden für Verzweigungsoperationen verwendet. Der Schleifenoperator wird verwendet, um Iterationsoperationen sicherzustellen, bei denen eine Bedingung wiederholt ausgeführt wird, bis das zufriedenstellende Ergebnis erzielt wird. Der Break-Operator wird innerhalb der Schleife oder der Iterationsoperationen verwendet. Er stellt sicher, dass die Schleife beendet wird, wenn ein Break-Operator angetroffen wird. Wenn keine Break-Bedingung angegeben ist, wird die Schleife unendlich oft ausgeführt, was zum Absturz des Programms führt.

Die folgenden Operatoren werden in einem Interaktionsdiagramm verwendet:

OperaDo. Name Bedeutung
Optieren Option Ein Operand wird ausgeführt, wenn die Bedingung erfüllt ist.
z. B. Wenn sonst
Andere Alternative Der Operand, dessen Bedingung erfüllt ist, wird ausgeführt.
zB wechseln
Loop Loop Es wird verwendet, um eine Anweisung für einen bestimmten Zeitraum in einer Schleife auszuführen.
Break Break Es unterbricht die Schleife, wenn eine Bedingung wahr oder falsch ist, und die nächste Anweisung wird ausgeführt.
Ref Literaturhinweis Es wird verwendet, um auf eine andere Interaktion zu verweisen.
von Parallel Alle Operanden werden parallel ausgeführt.

Iteration

In einem Interaktionsdiagramm können wir die Iteration auch mithilfe eines Iterationsausdrucks darstellen. Ein Iterationsausdruck besteht aus einem Iterationsspezifizierer und einer optionalen Iterationsklausel. Für die UML-Iteration gibt es keine vorgegebene Syntax.

Um bei der Iteration anzuzeigen, dass Nachrichten parallel gesendet werden, wird ein paralleler Iterationsspezifizierer verwendet. Ein paralleler Iterationsspezifizierer wird durch *// gekennzeichnet. Die Iteration in UML wird durch die Verwendung des Schleifenoperators erreicht.

Verzweigung

In einem Interaktionsdiagramm können wir Verzweigungen darstellen, indem wir den Nachrichten Schutzbedingungen hinzufügen. Schutzbedingungen werden verwendet, um zu prüfen, ob eine Nachricht weitergeleitet werden kann oder nicht. Eine Nachricht wird nur weitergeleitet, wenn ihre Schutzbedingung erfüllt ist. Eine Nachricht kann mehrere Schutzbedingungen haben, oder mehrere Nachrichten können dieselbe Schutzbedingung haben. Verzweigungen in UML werden mithilfe der Operatoren Alt und Opt erreicht.

Dies sind einige der wichtigsten Terminologien, die im UML-Interaktionsdiagramm verwendet werden.

Arten von Interaktionsdiagrammen und Notationen

Nachfolgend sind die verschiedenen in UML definierten Typen von Interaktionsdiagrammen aufgeführt:

  • Sequenzdiagramm
  • Zusammenarbeitsdiagramm
  • Zeitdiagramm

Die grundlegende Notation der Interaktion ist ein Rechteck mit einem Fünfeck in der oberen linken Ecke einer rechteckigen Box.

Was ist ein Sequenzdiagramm?

A Sequenzdiagramm stellt einfach die Interaktion zwischen Objekten in einer sequentiellen Reihenfolge dar. Der Zweck eines Sequenzdiagramms in UML besteht darin, den Ablauf eines Nachrichtenflusses im System zu visualisieren. Das Sequenzdiagramm zeigt die Interaktion zwischen zwei Lebensadern als zeitlich geordnete Abfolge von Ereignissen.

  • Ein Sequenzdiagramm zeigt eine Implementierung eines Szenarios im System. Lebensadern im System nehmen an der Ausführung eines Systems teil.
  • In einem Sequenzdiagramm wird eine Lebenslinie durch einen vertikalen Balken dargestellt.
  • Ein Nachrichtenfluss zwischen zwei oder mehr Objekten wird durch eine vertikale gepunktete Linie dargestellt, die sich über den unteren Rand der Seite erstreckt.
  • In einem Sequenzdiagramm werden verschiedene Nachrichtentypen und Operatoren verwendet, die oben beschrieben sind.
  • In einem Sequenzdiagramm werden auch Iteration und Verzweigung verwendet.
Sequenzdiagramm
Notationen im Sequenzdiagramm

Das obige Sequenzdiagramm enthält Lebensliniennotationen und Notationen verschiedener Nachrichten, die in einem Sequenzdiagramm verwendet werden, wie z. B. Erstellen, Antworten, asynchrone Nachrichten usw.

Beispiel für ein Sequenzdiagramm

Das folgende Sequenzdiagrammbeispiel stellt das Bestellsystem von McDonald's dar:

Sequenzdiagramm
Sequenzdiagramm von McDonald's Bestellsystem

Die geordnete Abfolge von Ereignissen in einem bestimmten Sequenzdiagramm ist wie folgt:

  1. Eine Bestellung aufgeben.
  2. Bezahlen Sie Geld an der Kasse.
  3. Bestellbestätigung.
  4. Auftragsvorbereitung.
  5. Servieren bestellen.

Wenn man die Reihenfolge der Operationen ändert, kann das Programm abstürzen. Es kann auch zu falschen oder fehlerhaften Ergebnissen führen. Jede Sequenz im oben angegebenen Sequenzdiagramm wird durch einen anderen Nachrichtentyp gekennzeichnet. Man kann nicht denselben Nachrichtentyp verwenden, um alle Interaktionen im Diagramm zu kennzeichnen, da dies zu Komplikationen im System führt.

Sie müssen bei der Auswahl der Notation einer Nachricht für eine bestimmte Interaktion vorsichtig sein. Die Notation muss mit der jeweiligen Sequenz im Diagramm übereinstimmen.

Vorteile eines Sequenzdiagramms

  • Sequenzdiagramme werden verwendet, um jede reale Anwendung oder ein System zu untersuchen.
  • Sequenzdiagramme werden verwendet, um den Nachrichtenfluss von einem Objekt zu einem anderen Objekt darzustellen.
  • Sequenzdiagramme sind einfacher zu pflegen.
  • Sequenzdiagramme sind einfacher zu erstellen.
  • Sequenzdiagramme können entsprechend den Änderungen innerhalb eines Systems problemlos aktualisiert werden.
  • Das Sequenzdiagramm ermöglicht sowohl Reverse- als auch Forward-Engineering.

Nachteile eines Sequenzdiagramms

  • Sequenzdiagramme können komplex werden, wenn zu viele Lebenslinien in das System involviert sind.
  • Wird die Reihenfolge der Meldungsreihenfolge geändert, kommt es zu falschen Ergebnissen.
  • Jede Sequenz muss mit einer anderen Nachrichtennotation dargestellt werden, was etwas komplex sein kann.
  • Die Art der Nachricht entscheidet über die Art der Reihenfolge innerhalb des Diagramms.

Was ist das Kollaborationsdiagramm?

Kollaborationsdiagramm stellt die Beziehungen und Interaktionen zwischen Softwareobjekten dar. Sie werden verwendet, um die Objektarchitektur innerhalb eines Systems zu verstehen, und nicht den Nachrichtenfluss wie in einem Sequenzdiagramm. Sie werden auch als „Kommunikationsdiagramme“ bezeichnet.

Gemäß der objektorientierten Programmierung (OOP) sind einer Objektentität verschiedene Attribute zugeordnet. Normalerweise sind in einem objektorientierten System mehrere Objekte vorhanden, wobei jedes Objekt mit jedem anderen Objekt im System verknüpft werden kann. Kollaborationsdiagramme werden verwendet, um die Architektur von Objekten im System zu untersuchen. Der Nachrichtenfluss zwischen den Objekten kann mithilfe eines Kollaborationsdiagramms dargestellt werden.

Vorteile des Kollaborationsdiagramms

  • Es wird auch als Kommunikationsdiagramm bezeichnet.
  • Es betont die strukturellen Aspekte eines Interaktionsdiagramms – wie Lebensadern miteinander verbunden sind.
  • Seine Syntax ähnelt der eines Sequenzdiagramms, mit dem Unterschied, dass Lebenslinien keine Enden haben.
  • Die Sequenzierung übergebener Nachrichten wird durch die hierarchische Nummerierung der einzelnen Nachrichten angezeigt.
  • Im Vergleich zum Sequenzdiagramm ist das Kommunikationsdiagramm semantisch schwach.
  • Objektdiagramme sind ein Sonderfall von Kommunikationsdiagrammen.
  • Dadurch können Sie sich auf die Elemente konzentrieren, anstatt sich auf den Nachrichtenfluss zu konzentrieren, wie im Sequenzdiagramm beschrieben.
  • Sequenzdiagramme können leicht in ein Kollaborationsdiagramm umgewandelt werden, da Kollaborationsdiagramme nicht sehr aussagekräftig sind.
  • Beim Modellieren von Kollaborationsdiagrammen im Hinblick auf Sequenzdiagramme können einige Informationen verloren gehen.

Notationen von Kollaborationsdiagrammen
Notationen von Kollaborationsdiagrammen

Die obige Notation des Kollaborationsdiagramms enthält Lebenslinien sowie Konnektoren, Selbstschleifen, Vorwärts- und Rückwärtsnachrichten, die in einem Kollaborationsdiagramm verwendet werden.

Nachteile eines Kollaborationsdiagramms

  • Kollaborationsdiagramme können komplex werden, wenn im System zu viele Objekte vorhanden sind.
  • Es ist schwierig, jedes Objekt innerhalb des Systems zu untersuchen.
  • Kollaborationsdiagramme sind zeitaufwändig.
  • Das Objekt wird nach Beendigung eines Programms zerstört.
  • Der Zustand eines Objekts ändert sich vorübergehend, was es schwierig macht, den Überblick über jede einzelne Änderung zu behalten, die innerhalb eines Objekts eines Systems auftritt.

Beispiel für ein Kollaborationsdiagramm

Das folgende Diagramm stellt die Sequenzierung über das Studentenverwaltungssystem dar:

Kollaborationsdiagramm

Kollaborationsdiagramm für das Studentenverwaltungssystem

Das obige Kollaborationsdiagramm stellt ein Studenteninformationsmanagementsystem dar. Der Kommunikationsfluss im obigen Diagramm ist gegeben durch:

  1. Ein Student beantragt eine Anmeldung über das Anmeldesystem.
  2. Ein Authentifizierungsmechanismus einer Software prüft die Anfrage.
  3. Wenn in der Datenbank ein Studierendeneintrag vorhanden ist, wird der Zugriff erlaubt, andernfalls wird ein Fehler zurückgegeben.

Was ist ein Timing-Diagramm?

Zeitdiagramm ist eine Wellenform oder ein Diagramm, das verwendet wird, um den Zustand einer Lebenslinie zu einem beliebigen Zeitpunkt zu beschreiben. Es wird verwendet, um die Transformation eines Objekts von einer Form in eine andere Form zu bezeichnen. Das Zeitdiagramm enthält keine Notationen, wie sie im Sequenz- und Kollaborationsdiagramm erforderlich sind. Der Fluss zwischen dem Softwareprogramm zu verschiedenen Zeitpunkten wird mithilfe einer Wellenform dargestellt.

  • Es handelt sich um eine korrekte Darstellung von Interaktionen, die sich auf die spezifischen Zeitpunkte der zwischen verschiedenen Objekten gesendeten Nachrichten konzentriert.
  • Zeitdiagramme werden verwendet, um die detaillierte Zeitverarbeitung eines bestimmten Objekts zu erklären.
  • Zeitdiagramme werden verwendet, um zu erklären, wie sich ein Objekt im Laufe seiner Lebensdauer verändert.
  • Zeitdiagramme werden hauptsächlich bei verteilten und eingebetteten Systemen verwendet.
  • In UML werden Zeitdiagramme von links nach rechts entsprechend dem Namen einer am linken Rand angegebenen Lebenslinie gelesen.
  • Zeitdiagramme werden verwendet, um verschiedene Änderungen darzustellen, die von Zeit zu Zeit innerhalb einer Lebenslinie auftreten.
  • Zeitdiagramme werden verwendet, um verschiedene Zustände einer Lebensader pro Zeiteinheit grafisch darzustellen.
  • UML bietet verschiedene Notationen, um den Übergangszustand zwischen zwei Lebenslinien pro Zeiteinheit zu vereinfachen.

Beispiel für ein Zeitdiagramm

Das unten angegebene Zeitdiagramm stellt einige Phasen eines dar Lebenszyklus der Softwareentwicklung.

Zeitdiagramm

Beispiel eines Zeitdiagramms

Im obigen Diagramm durchläuft die Software zuerst die Anforderungsphase, dann die Entwurfs- und später die Entwicklungsphase. Die Ausgabe der vorherigen Phase zu diesem Zeitpunkt wird der zweiten Phase als Eingabe übergeben. Somit kann das Zeitdiagramm verwendet werden, um SDLC (Software Development Life Cycle) in UML zu beschreiben.

Vorteile eines Timing-Diagramms

  • Zeitdiagramme werden verwendet, um den Zustand eines Objekts zu einem bestimmten Zeitpunkt darzustellen.
  • Das Zeitdiagramm ermöglicht sowohl Reverse- als auch Forward-Engineering.
  • Mithilfe eines Zeitdiagramms kann jede Änderung im System verfolgt werden.

Nachteile eines Timing-Diagramms

  • Zeitdiagramme sind schwer zu verstehen.
  • Zeitdiagramme sind schwer zu pflegen.

Wie zeichnet man ein Interaktionsdiagramm?

Interaktionsdiagramme werden verwendet, um das interaktive Verhalten eines Systems darzustellen. Interaktionsdiagramme konzentrieren sich auf das dynamische Verhalten eines Systems. Ein Interaktionsdiagramm liefert uns den Kontext einer Interaktion zwischen einer oder mehreren Lebenslinien im System.

Um ein Interaktionsdiagramm zu zeichnen, müssen Sie zunächst das Szenario bestimmen, für das Sie ein Interaktionsdiagramm zeichnen müssen. Nachdem Sie die Situation festgelegt haben, identifizieren Sie verschiedene Lebenslinien, die an der Interaktion beteiligt sein werden. Kategorisieren Sie alle Lebenslinienelemente und untersuchen Sie sie, um mögliche Verbindungen zu identifizieren und herauszufinden, wie die Lebenslinien miteinander in Beziehung stehen. Um ein Interaktionsdiagramm zu zeichnen, sind folgende Dinge erforderlich:

  1. Die Gesamtzahl der Lebenslinien, die Teil einer Interaktion sein werden
  2. ist eine Abfolge des Nachrichtenflusses innerhalb verschiedener Objekte eines Systems.
  3. Verschiedene Operatoren zur Vereinfachung der Funktionalität eines Interaktionsdiagramms.
  4. Verschiedene Arten von Nachrichten, um die Interaktion klarer und präziser darzustellen.
  5. Die geordnete Abfolge von Nachrichten.
  6. Organisation und Struktur eines Objekts.
  7. Verschiedene Zeitkonstrukte eines Objekts.

Verwendung eines Interaktionsdiagramms

Interaktionsdiagramme bestehen aus einem Sequenzdiagramm, einem Kollaborationsdiagramm und Zeitdiagrammen. Der spezifische Zweck eines Interaktionsdiagramms ist wie folgt:

  • Sequenzdiagramme werden verwendet, um jede reale Anwendung oder ein System zu untersuchen.
  • Interaktionsdiagramme werden verwendet, um die Verwendung von Sequenz-, Kollaborations- und Zeitdiagrammen zu untersuchen und zu vergleichen.
  • Interaktionsdiagramme werden verwendet, um das Verhalten eines Systems zu erfassen. Es zeigt die dynamische Struktur eines Systems.
  • Sequenzdiagramme werden verwendet, um den Nachrichtenfluss von einem Objekt zu einem anderen Objekt darzustellen.
  • Kollaborationsdiagramme werden verwendet, um die Objektarchitektur eines Systems und nicht den Nachrichtenfluss zu verstehen.
  • Interaktionsdiagramme werden verwendet, um ein System als zeitlich geordnete Abfolge von Ereignissen zu modellieren.
  • Interaktionsdiagramme werden sowohl im Reverse Engineering als auch im Forward Engineering verwendet.
  • Interaktionsdiagramme werden verwendet, um die Struktur interaktiver Elemente zu organisieren.

Zusammenfassung

  • Die Interaktionen sind einfach Einheiten des Verhaltens eines Klassifikators.
  • Die entscheidenden Elemente in einem Interaktionsdiagramm sind Lebensadern und Nachrichten.
  • Interaktionsdiagramme konzentrieren sich hauptsächlich auf die Weitergabe von Nachrichten.
  • Interaktionsdiagramme erfassen das dynamische Verhalten jedes Systems.
  • Das Interaktionsdiagramm enthält ein Sequenzdiagramm, ein Zeitdiagramm und ein Kommunikations-/Zusammenarbeitsdiagramm.
  • Das Sequenz-UML-Diagramm dient dazu, den Ablauf eines Nachrichtenflusses im System zu visualisieren.
  • Der Zweck eines Kollaborationsdiagramms besteht darin, strukturelle Aspekte hervorzuheben.
  • Zeitdiagramme konzentrieren sich auf den Zeitpunkt, zu dem eine Nachricht von einem Objekt an ein anderes Objekt gesendet wird.