Alles, Was Sie Über Sequenzdiagramme Wissen Müssen
UML -Sequenzdiagramme sind Interaktionsdiagramme, die detailliert darstellen, wie Operationen ausgeführt werden. Sie erfassen die Interaktion zwischen Objekten im Rahmen einer Kollaboration. Sequenzdiagramme konzentrieren sich auf die Zeit und zeigen die Reihenfolge der Interaktion visuell an, indem die vertikale Achse des Diagramms verwendet wird, um die Zeit darzustellen, welche Nachrichten wann gesendet werden.
Was ist ein Sequenzdiagramm?
Ein Sequenzdiagramm, auch Sequenzdiagramm, Sequenzdiagramm oder Sequenzdiagramm genannt, ist ein UML-Interaktionsdiagramm. Es zeigt die dynamische Zusammenarbeit zwischen mehreren Objekten, indem es die zeitliche Reihenfolge beschreibt, in der Nachrichten zwischen ihnen gesendet werden.
In UML wird ein Objekt in einem Sequenzdiagramm als Rechteck gezeichnet, das den Namen des Objekts unterstrichen enthält. Ein Objekt kann auf drei Arten benannt werden: der Objektname, der Objektname und seine Klasse oder nur der Klassenname (anonymes Objekt). Die drei Möglichkeiten, ein Objekt zu benennen, sind in der folgenden Abbildung dargestellt.
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Die Objekte des Sequenzdiagramms
- Zeigen Sie die Reihenfolge der Interaktionen zwischen Objekten. Modellieren Sie das Interaktionsverhalten als Nachrichtenweitergabe und zeigen Sie die Interaktion zwischen Objekten dynamisch an, indem Sie beschreiben, wie Nachrichten zwischen ihnen gesendet und empfangen werden.
- Im Vergleich zu anderen UML-Diagrammen legt ein zeitliches Sequenzdiagramm mehr Wert auf die zeitliche Abfolge des Interaktionsverhaltens.
- Es kann den Prozess der Parallelität visuell beschreiben.
Die Elemente des Sequenzdiagramms
1. Akteur – Systemakteure, die Menschen, Maschinen, andere Systeme, Subsysteme sein können; zur Darstellung im zeitlichen Ablaufdiagramm verwendet.
2. Objekt – Es gibt drei Möglichkeiten, Objekte zu benennen:
- Enthält den Objektnamen und den Klassennamen, zum Beispiel: Live-Klasse: Klasse, im Zeitreihendiagramm mit „Objekt: Klasse“.
- Zeigt nur den Klassennamen an, dh es handelt sich um ein anonymes Objekt, zum Beispiel: :course; im Timing-Diagramm mit „:class“.
- Zeigt nur den Objektnamen, aber nicht den Klassennamen, zB: Dozent; im Timing-Diagramm wird es durch „Objekt“ dargestellt.
Alle drei Benennungsmethoden sind verfügbar, was für Leute, die das chronologische Diagramm lesen, am einfachsten ist, zu verstehen, wählen Sie welche aus.
3. Die Reihenfolge der Objekte
- Die linke und rechte Reihenfolge der Objekte ist nicht wichtig, aber um ein klares und ordentliches Diagramm zu erstellen, sollten die folgenden zwei Prinzipien befolgt werden: Stellen Sie die Objekte mit häufigen Interaktionen so nah wie möglich zusammen;
- Platzieren Sie das Objekt, das die gesamte Interaktionsaktivität initialisiert, ganz links.
Lebenslinie
Eine gestrichelte Linie, die sich vom Objektsymbol im Zeitdiagramm nach unten erstreckt und angibt, wie lange das Objekt existiert.
- Fokus der Kontrolle (auch bekannt als Aktivierungszeitraum) ist das Symbol für den Zeitraum, in dem das Objekt die entsprechende Operation ausführt. Es kann als Klammerpaar { } in der C-Semantik interpretiert werden; dargestellt durch ein kleines Rechteck. Es stellt den Zeitraum dar, während dessen ein Element eine Operation ausführt. Die Ober- und Unterseite des Rechtecks sind jeweils auf die Initiierungs- und die Abschlusszeit ausgerichtet.
- Nachrichten werden im Allgemeinen als synchrone Nachricht, asynchrone Nachricht und Rücknachricht klassifiziert.
Beachten Sie, dass
- Der Sender einer Nachricht übergibt die Kontrolle an den Empfänger der Nachricht, stoppt dann die Aktivität und wartet darauf, dass der Empfänger der Nachricht die Kontrolle aufgibt oder zurückgibt, was verwendet wird, um die Synchronisation anzuzeigen.
- Der Sender einer Nachricht leitet das Signal über die Nachricht an den Empfänger der Nachricht weiter und setzt dann seine Aktivität fort, ohne darauf zu warten, dass der Empfänger die Nachricht oder die Steuerung zurückgibt. Empfänger und Sender einer asynchronen Nachricht arbeiten gleichzeitig.
- Eine Rückgabenachricht zeigt eine Rückgabe von einem Prozeduraufruf an.
Schöpfungs- und Zerstörungsnachrichten
Die Teilnehmer leben nicht notwendigerweise für die gesamte Dauer der Interaktion eines Sequenzdiagramms. Teilnehmer können gemäß den übermittelten Nachrichten erstellt und gelöscht werden.
Eine Konstruktornachricht erstellt ihren Empfänger. Die Absender, die zu Beginn der Interaktion bereits vorhanden sind, werden oben im Diagramm platziert. Ziele, die während der Interaktion durch einen Konstruktoraufruf erstellt werden, werden automatisch weiter unten im Diagramm platziert.
Eine Destruktornachricht zerstört ihren Empfänger. Es gibt andere Möglichkeiten, anzuzeigen, dass ein Ziel während einer Interaktion zerstört wird. Nur wenn die Zerstörung eines Ziels auf „nach dem Destruktor“ eingestellt ist, müssen Sie einen Destruktor verwenden.
Nicht sofortige Nachricht
Nachrichten werden oft als unverzögert angesehen, daher ist die Zeit, die benötigt wird, um beim Empfänger anzukommen, vernachlässigbar. Die Meldungen werden als horizontaler Pfeil gezeichnet. Um anzuzeigen, dass es eine gewisse Zeit dauert, bis der Empfänger tatsächlich eine Nachricht erhält, wird ein schräger Pfeil verwendet .
Kombinationsfragmente
Ein Sequenzfragment wird als ein als kombiniertes Fragment bezeichnetes Kästchen dargestellt, das einen Teil der Interaktion im Sequenzdiagramm einschließt. Der Fragmentoperator (in der oberen linken Ecke) gibt den Typ des Fragments an. Mit interaktiven Fragmenten können Sie verwandte Nachrichten in einem Sequenzdiagramm gruppieren. Es stehen verschiedene vordefinierte Fragmenttypen zur Verfügung, mit denen Sie alternative Ergebnisse, parallele Nachrichten oder Schleifen angeben können.
Das Fragment im Sequenzdiagramm sind rechteckige Rahmen, die über einen Teil des Diagramms gezogen werden. Sie stellen die bedingte Struktur dar, die den Nachrichtenfluss beeinflusst. Diese Frames werden in der UML-Spezifikation kombinierte Fragmente genannt, und die Container werden Interaktionsoperanden genannt. Frames sind in der linken oberen Ecke beschriftet. Diese Bezeichnung wird in UML als Interaktionsoperator bezeichnet.
Beispiel – Bestellszenario aufgeben
Ein Schiffsmitglied, das online eine Bestellung aufgeben möchte. Die bestellten Artikel werden dem Mitglied je nach Mitgliedsstatus (VIP, ordentliches Mitglied) per Kurier oder Post zugestellt. Wenn das Mitglied die Benachrichtigungsoption in der Bestellung auswählt, sendet das Geschäft eine Bestätigungsbenachrichtigung an das Mitglied.
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Ein weiteres Beispiel: Bestellung aufgeben
Ein Sequenzdiagramm ist ein zweidimensionales Diagramm, bei dem die horizontale Achse Objekte darstellt und die vertikale Achse die Zeit darstellt, wobei Nachrichten horizontal zwischen Objekten weitergegeben und vertikal in chronologischer Reihenfolge angeordnet werden. Das Beispiel zeigt ein Sequenzdiagramm mit drei beteiligten Objekten: Kunde, Bestellung und Bestand. Ohne die Notation formal zu kennen, können Sie wahrscheinlich eine ziemlich gute Vorstellung davon bekommen, was vor sich geht.
- Schritt 1 und 2: Der Kunde erstellt eine Bestellung.
- Schritt 3: Der Kunde fügt der Bestellung Artikel hinzu.
- Schritt 4, 5: Jeder Artikel wird auf Verfügbarkeit im Bestand geprüft.
- Schritt 6, 7, 8 : Wenn das Produkt verfügbar ist, wird es der Bestellung hinzugefügt.
- Schritt 9 zurück
- Schritt 10, 11: Ordnung speichern und zerstören
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Häufig verwendete Kombinationsfragmente
Zu den Fragmenttypen gehören ref, assert, loop, break, alt, opt und neg, ref, sd.
Operator | Bedeutung |
alt | Alternative Mehrfachfragmente: Nur dasjenige, dessen Bedingung wahr ist, wird ausgeführt. |
opt | Optional : Das Fragment wird nur ausgeführt, wenn die angegebene Bedingung wahr ist. Entspricht einem alt nur mit einer Spur. |
Par | Parallel : Jedes Fragment wird parallel ausgeführt. |
Schleife | Schleife : Das Fragment kann mehrmals ausgeführt werden, und der Wächter gibt die Basis der Iteration an. |
kritisch | Kritischer Bereich : Das Fragment kann nur von einem Thread gleichzeitig ausgeführt werden. |
neg | Negativ : Das Fragment zeigt eine ungültige Interaktion. |
Ref | Referenz : bezieht sich auf eine Interaktion, die in einem anderen Diagramm definiert ist. Der Rahmen wird so gezogen, dass er die an der Interaktion beteiligten Lebenslinien abdeckt. Sie können Parameter und einen Rückgabewert definieren. |
SD | Sequenzdiagramm : wird verwendet, um ein ganzes Sequenzdiagramm zu umgeben. |
Beachten Sie, dass:
- Es ist möglich, Frames zu kombinieren, um zB Schleifen oder Verzweigungen zu erfassen.
- Kombinierte Fragmentschlüsselwörter : Alt, Opt, Break, Par, Seq, Strict, Neg, Critical, Ignore, Consider, Assert und Loop.
- Einschränkungen werden normalerweise verwendet, um zeitliche Einschränkungen für Nachrichten anzuzeigen. Sie können sich auf das Timing einer Nachricht oder auf Intervalle zwischen Nachrichten beziehen.
Beispiele für kombinierte Fragmente
(1) Auswahl (Alt) – Ein alternatives Fragment bietet mehrere geschützte alternative Fragmente (getrennt durch Interaktionsoperanden), dh verwendet, um sich gegenseitig ausschließende Auswahlmöglichkeiten zwischen zwei oder mehr Nachrichtensequenzen anzugeben, äquivalent zum klassischen if..else…:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
(2) Option (Opt) – Enthält eine Folge möglicher Vorkommen oder Nichtvorkommen, was bedeutet, dass ein optionales Fragment nur ausgeführt wird, wenn eine Schutzbedingung wahr ist:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
(3) Schleife (Loop) – Eine Schleife ermöglicht die Wiederholung eines Fragments, bis eine Schutzbedingung falsch wird:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Unterbrechung
Eine Unterbrechung ermöglicht das Verlassen einer umschließenden Schleife, wenn eine Wache wahr wird:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Unterbrechungen werden am häufigsten verwendet, um die Ausnahmebehandlung zu modellieren. Dieses Beispiel für ein Sequenzdiagramm verwendet ein Unterbrechungskombinationsfragment, da es die Bedingung Saldo < Betrag als Ausnahme und nicht als alternativen Fluss behandelt. Um dieses Beispiel zu lesen, beginnen wir in der oberen linken Ecke der Sequenz und lesen nach unten. Wenn die Sequenz den Rückgabewert „balance“ erreicht, prüft sie, ob der Saldo kleiner als der Betrag ist. Wenn der Saldo nicht geringer ist als der Betrag, ist die nächste gesendete Nachricht die addDebitTransaction-Nachricht, und die Sequenz wird normal fortgesetzt.
Parallel
Ein paralleles Fragment ermöglicht die parallele Ausführung mehrerer Interaktionen:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Rahmen
Ein Frame bietet eine Möglichkeit, ein Sequenzdiagramm zu kapseln.
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Referenz (Referenz)
Ein Frame kann in einem anderen Sequenzdiagramm referenziert werden:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Protokolle
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Kooperationen
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Szenarien
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Signale und Empfänge
Ein Auktionator sendet einen vorgeschlagenen Preis für einen Artikel in einen überfüllten Raum mit ängstlichen Bietern. Wenn ein Bieter den Vorschlag hört, entscheidet er, den Preis anzunehmen oder nicht.
Wie wird der Auktionator bei einer automatisierten Auktion den Vorschlag übermitteln? Ein Objekt kann bestimmte Operationen haben, die automatisch aufgerufen werden sollten, wenn bestimmte Typen von Rundfunksignalen empfangen werden. Diese Methoden werden Empfänge genannt. Signale sind eine besondere Klasse. Der Name des Empfangs stimmt normalerweise mit dem Namen des Signals überein. Empfänge werden in einem separaten Fach angezeigt:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
In einem Sequenzdiagramm können wir ein Signal als asynchrones Signal und den Empfang als Empfangsaufruf darstellen:
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Kritisch
BEARBEITEN SIE DIESES SEQUENZDIAGRAMM
Andere Fragmenttypen
- Strikt
- Behaupten
- In Betracht ziehen
- Ignorieren
- Region
- Neg
Zusammenfassung der Sequenzdiagrammnotation
Notationsbeschreibung | Visuelle Darstellung |
---|---|
Schauspieler
Beachten Sie, dass:
|
|
Lebenslinie
|
|
Aktivierungen
|
|
Nachricht anrufen
|
|
Rücknachricht
|
|
Selbstnachricht
|
|
Rekursive Nachricht
|
|
Nachricht erstellen
|
|
Nachricht vernichten
|
|
Meldung zur Dauer
|
|
NotizEine Notiz (Kommentar) bietet die Möglichkeit, Elemente mit verschiedenen Anmerkungen zu versehen. Ein Kommentar hat keine semantische Kraft, kann aber Informationen enthalten, die für einen Modellierer nützlich sind. |