Sequenzdiagramm-Tutorial – Vollständiger Leitfaden mit Beispielen
Veröffentlicht: 2017-01-27Dieses Sequenzdiagramm-Tutorial soll Ihnen helfen, Sequenzdiagramme besser zu verstehen; um alles zu erklären, was Sie wissen müssen, vom Zeichnen eines Sequenzdiagramms bis hin zu den häufigsten Fehlern, die Sie beim Zeichnen vermeiden sollten.
Es gibt 3 Arten von Interaktionsdiagrammen; Sequenzdiagramme, Kommunikationsdiagramme und Zeitdiagramme. Diese Diagramme werden verwendet, um Wechselwirkungen zwischen Teilen innerhalb eines Systems zu veranschaulichen. Unter den dreien werden Sequenzdiagramme sowohl von Entwicklern als auch von Lesern wegen ihrer Einfachheit bevorzugt.
In diesem Sequenzdiagramm-Tutorial lernen Sie Folgendes kennen:
- Was ist ein Sequenzdiagramm
- Notationen von Sequenzdiagrammen
- Best Practices für Sequenzdiagramme
- So zeichnen Sie ein Sequenzdiagramm
- Sequenzdiagramm Häufige Fehler
- Vorlagen und Beispiele für Sequenzdiagramme
- Sequenzdiagramm SlideShare-Präsentation
- Feedback zum Sequenzdiagramm-Leitfaden
Was ist ein Sequenzdiagramm?
Sequenzdiagramme, die häufig von Entwicklern verwendet werden, modellieren die Interaktionen zwischen Objekten in einem einzelnen Anwendungsfall. Sie veranschaulichen, wie die verschiedenen Teile eines Systems miteinander interagieren, um eine Funktion auszuführen, und die Reihenfolge, in der die Interaktionen auftreten, wenn ein bestimmter Anwendungsfall ausgeführt wird.
Einfacher ausgedrückt zeigt ein Sequenzdiagramm verschiedene Teile eines Systems, die in einer „Sequenz“ arbeiten, um etwas zu erledigen.
zeigt verschiedene Teile eines Systems, die in einer "Sequenz" arbeiten, um etwas zu erledigen.
Notationen von Sequenzdiagrammen
Ein Sequenzdiagramm ist so strukturiert, dass es eine Zeitleiste darstellt, die oben beginnt und allmählich abfällt, um die Abfolge von Interaktionen zu markieren. Jedes Objekt hat eine Spalte und die zwischen ihnen ausgetauschten Nachrichten werden durch Pfeile dargestellt.
Ein schneller Überblick über die verschiedenen Teile eines Sequenzdiagramms
Lebenslinien-Notation
Ein Sequenzdiagramm besteht aus mehreren dieser Lebensliniennotationen, die horizontal über dem oberen Rand des Diagramms angeordnet werden sollten. Keine zwei Lebensliniennotationen sollten einander überlappen. Sie stellen die verschiedenen Objekte oder Teile dar, die während der Sequenz im System miteinander interagieren.
Eine Lebensliniennotation mit einem Akteurelementsymbol wird verwendet, wenn das bestimmte Sequenzdiagramm einem Anwendungsfall gehört.
Eine Lebenslinie mit einem Entitätselement repräsentiert Systemdaten. Beispielsweise würde in einer Kundendienstanwendung die Kundenentität alle Daten verwalten, die sich auf einen Kunden beziehen.
Eine Lebenslinie mit einem Begrenzungselement zeigt eine Systemgrenze/ein Softwareelement in einem System an; Beispielsweise sind Benutzerschnittstellenbildschirme, Datenbank-Gateways oder Menüs, mit denen Benutzer interagieren, Grenzen.
Und eine Lebenslinie mit einem Kontrollelement weist auf eine kontrollierende Einheit oder einen Manager hin. Es organisiert und terminiert die Interaktionen zwischen den Grenzen und Entitäten und dient als Vermittler zwischen ihnen.
Aktivierungsleisten
Die Aktivierungsleiste ist das Kästchen auf der Lebenslinie. Es wird verwendet, um anzuzeigen, dass ein Objekt während einer Interaktion zwischen zwei Objekten aktiv (oder instanziiert) ist. Die Länge des Rechtecks gibt an, wie lange die Objekte aktiv bleiben.
In einem Sequenzdiagramm tritt eine Interaktion zwischen zwei Objekten auf, wenn ein Objekt eine Nachricht an ein anderes sendet. Die Verwendung des Aktivierungsbalkens auf den Lebenslinien des Nachrichtenaufrufers (das Objekt, das die Nachricht sendet) und des Nachrichtenempfängers (das Objekt, das die Nachricht empfängt) zeigt an, dass beide aktiv sind/während des Austauschs der Nachricht instanziiert werden.
Nachrichtenpfeile
Ein Pfeil vom Nachrichtenaufrufer zum Nachrichtenempfänger gibt eine Nachricht in einem Sequenzdiagramm an. Eine Nachricht kann in jede Richtung fließen; von links nach rechts, von rechts nach links oder zurück zum Message Caller selbst. Während Sie auf dem Pfeil die Nachricht beschreiben können, die von einem Objekt zum anderen gesendet wird, können Sie mit verschiedenen Pfeilspitzen die Art der Nachricht angeben, die gesendet oder empfangen wird.
Der Nachrichtenpfeil enthält eine Beschreibung, die als Nachrichtensignatur bezeichnet wird. Das Format für diese Nachrichtensignatur ist unten. Alle Teile außer dem Nachrichtennamen sind optional.
Attribut = Nachrichtenname (Argumente): Rückgabetyp
- Synchrone Nachricht
Wie im Beispiel der Aktivierungsbalken gezeigt, wird eine synchrone Nachricht verwendet, wenn der Sender darauf wartet, dass der Empfänger die Nachricht verarbeitet und zurückkehrt, bevor er mit einer anderen Nachricht fortfährt. Die Pfeilspitze, die verwendet wird, um diese Art von Nachricht anzuzeigen, ist solide, wie die untenstehende.
- Asynchrone Nachricht
Eine asynchrone Nachricht wird verwendet, wenn der Nachrichtenaufrufer nicht darauf wartet, dass der Empfänger die Nachricht verarbeitet und zurückkehrt, bevor er andere Nachrichten an andere Objekte innerhalb des Systems sendet. Die Pfeilspitze, die verwendet wird, um diese Art von Nachricht anzuzeigen, ist ein Linienpfeil, wie im Beispiel unten gezeigt.
- Nachricht zurück
Eine Rücknachricht wird verwendet, um anzuzeigen, dass der Nachrichtenempfänger mit der Verarbeitung der Nachricht fertig ist und die Kontrolle an den Nachrichtenaufrufer zurückgibt. Rückmeldungen sind optionale Notationsstücke, denn ein Aktivierungsbalken, der durch eine synchrone Meldung ausgelöst wird, impliziert immer eine Rückmeldung.
Tipp: Sie können vermeiden, dass Ihre Diagramme unübersichtlich werden, indem Sie die Verwendung von Rückgabenachrichten minimieren, da der Rückgabewert im anfänglichen Nachrichtenpfeil selbst angegeben werden kann.
- Nachricht zur Teilnehmererstellung
Objekte leben nicht notwendigerweise für die gesamte Dauer der Abfolge von Ereignissen. Je nach gesendeter Nachricht können Objekte oder Teilnehmer erstellt werden.
Die Notation des gelöschten Teilnehmerfelds kann verwendet werden, wenn Sie zeigen müssen, dass der bestimmte Teilnehmer nicht existierte, bis der Anruf zum Erstellen gesendet wurde. Wenn der erstellte Teilnehmer unmittelbar nach seiner Erstellung etwas tut, sollten Sie ein Aktivierungsfeld direkt unter dem Teilnehmerfeld hinzufügen.
- Nachricht zur Zerstörung des Teilnehmers
Ebenso können nicht mehr benötigte Teilnehmer aus einem Sequenzdiagramm gelöscht werden. Dies geschieht durch Hinzufügen eines „X“ am Ende der Lebenslinie des besagten Teilnehmers.
- Reflexive Nachricht
Wenn ein Objekt eine Nachricht an sich selbst sendet, spricht man von einer reflexiven Nachricht. Es wird mit einem Nachrichtenpfeil angezeigt, der an derselben Lebenslinie beginnt und endet, wie im Beispiel unten gezeigt.
Kommentar
UML-Diagramme erlauben generell die Kommentierung von Kommentaren in allen UML-Diagrammtypen. Das Kommentarobjekt ist ein Rechteck mit einer gefalteten Ecke, wie unten gezeigt. Der Kommentar kann mit einer gestrichelten Linie mit dem zugehörigen Objekt verknüpft werden.
Notiz: Sehen Sie sich Best Practices für Sequenzdiagramme an, um mehr über Sequenzfragmente zu erfahren.
Best Practices für Sequenzdiagramme
- Verwalten Sie komplexe Interaktionen mit Sequenzfragmenten
Ein Sequenzfragment wird als Kästchen dargestellt, das einen Abschnitt von Interaktionen zwischen Objekten (wie in den Beispielen unten gezeigt) in einem Sequenzdiagramm einrahmt.
Es wird verwendet, um komplexe Interaktionen wie alternative Flüsse und Schleifen strukturierter darzustellen. In der oberen linken Ecke des Fragments sitzt ein Operator. Dieser – der Fragmentoperator – gibt an, um was für ein Fragment es sich handelt.
Alternativen
Das alternative Kombinationsfragment wird verwendet, wenn eine Auswahl zwischen zwei oder mehr Nachrichtensequenzen getroffen werden muss. Es modelliert die „if then else“-Logik.
Das alternative Fragment wird durch ein großes Rechteck oder einen Rahmen dargestellt; Er wird durch Erwähnung von „alt“ im Namensfeld des Frames (auch als Fragmentoperator bezeichnet) angegeben.
Um zwei oder mehr Alternativen anzuzeigen, wird das größere Rechteck dann mit einer gestrichelten Linie in sogenannte Interaktionsoperanden unterteilt, wie im obigen Beispiel des Sequenzdiagramms gezeigt. Jeder Operand hat einen Schutz, gegen den getestet werden kann, und er befindet sich in der oberen linken Ecke des Operanden.
Optionen
Die Optionskombination Fragment wird verwendet, um eine Sequenz anzugeben, die nur unter einer bestimmten Bedingung auftritt, andernfalls tritt die Sequenz nicht auf. Es modelliert die „wenn dann“-Aussage.
Ähnlich wie das Alternativfragment wird auch das Optionsfragment durch einen rechteckigen Rahmen dargestellt, in dem „opt“ in das Namensfeld eingefügt wird.
Im Gegensatz zum alternativen Fragment ist ein Optionsfragment nicht in zwei oder mehr Operanden unterteilt. Die Wache der Option befindet sich in der oberen linken Ecke.
(Ein Beispiel für ein Sequenzdiagramm mit einem Optionsfragment finden Sie im Abschnitt Vorlagen und Beispiele für Sequenzdiagramme).
Schleifen
Schleifenfragment wird verwendet, um eine sich wiederholende Sequenz darzustellen. Platzieren Sie die Wörter „Schleife“ in das Namensfeld und die Schutzbedingung in der Nähe der oberen linken Ecke des Rahmens.
Zusätzlich zum booleschen Test kann das Wächter-in-einem-Schleifen-Fragment gegen zwei weitere spezielle Bedingungen getestet werden. Dies sind minimale Iterationen (geschrieben als minint = [die Zahl]) und maximale Iterationen (geschrieben als maxint = [die Zahl]).
Wenn es sich um eine minimale Iterationsüberwachung handelt, darf die Schleife nicht weniger als die angegebene Anzahl ausführen, und wenn es sich um eine maximale Iterationsüberwachung handelt, darf die Schleife nicht mehr als die angegebene Anzahl ausführen.
(Ein Beispiel für ein Schleifenfragment finden Sie weiter unten im Abschnitt Sequenzdiagrammvorlagen und Beispiele)
Referenzfragment
Sie können das ref-Fragment verwenden, um die Größe großer Sequenzdiagramme zu verwalten. Es ermöglicht Ihnen, einen Teil eines Sequenzdiagramms in einem anderen wiederzuverwenden, oder mit anderen Worten, Sie können mit dem ref-Fragment auf einen Teil eines Diagramms in einem anderen Diagramm verweisen.
Um das Referenzfragment anzugeben, müssen Sie im Namensfeld des Frames „ref“ und den Namen des Sequenzdiagramms angeben, auf das innerhalb des Frames verwiesen wird.
Weitere Sequenzfragmente finden Sie unter Beyond the Basics of Sequence Diagrams: Part 1 , Part 2 und Part 3 .
- Zeichnen Sie kleinere Sequenzdiagramme, die die Essenz des Anwendungsfalls erfassen
Anstatt Ihr Sequenzdiagramm mit mehreren Objekten und Nachrichtengruppen zu überladen, die den Leser verwirren, zeichnen Sie ein paar kleinere Sequenzdiagramme, die treffend erklären, was Ihr System tut. Achten Sie darauf, dass das Diagramm auf eine Seite passt und auch Platz für Erläuterungen lässt.
Anstatt Dutzende von Sequenzdiagrammen zu zeichnen, finden Sie heraus, was die Szenarien gemeinsam haben, und konzentrieren Sie sich darauf. Und wenn der Code aussagekräftig ist und für sich alleine stehen kann, braucht man gar kein Sequenzdiagramm zu zeichnen.
So zeichnen Sie ein Sequenzdiagramm
Ein Sequenzdiagramm repräsentiert das Szenario oder den Ablauf von Ereignissen in einem einzelnen Anwendungsfall. Der Nachrichtenfluss des Sequenzdiagramms basiert auf der Erzählung des jeweiligen Anwendungsfalls.
Bevor Sie dann mit dem Zeichnen des Sequenzdiagramms beginnen oder entscheiden, welche Interaktionen darin enthalten sein sollen, müssen Sie das Anwendungsfalldiagramm zeichnen und eine umfassende Beschreibung dessen vorbereiten, was der jeweilige Anwendungsfall tut.
Aus dem obigen Anwendungsfalldiagramm-Beispiel „Neues Online-Bibliothekskonto erstellen“ konzentrieren wir uns auf den Anwendungsfall namens „Neues Benutzerkonto erstellen“, um unser Sequenzdiagramm-Beispiel zu zeichnen.
Vor dem Zeichnen des Sequenzdiagramms müssen die Objekte oder Akteure identifiziert werden, die an der Erstellung eines neuen Benutzerkontos beteiligt sind. Dies wären;
- Bibliothekar
- Online-Bibliotheksverwaltungssystem
- Datenbank mit Benutzeranmeldeinformationen
- E-Mail-System
Sobald Sie die Objekte identifiziert haben, ist es wichtig, eine detaillierte Beschreibung darüber zu schreiben, was der Anwendungsfall tut. Aus dieser Beschreibung können Sie leicht die Interaktionen (die in das Sequenzdiagramm aufgenommen werden sollten) ermitteln, die zwischen den obigen Objekten auftreten würden, sobald der Anwendungsfall ausgeführt wird.
Hier sind die Schritte, die im Anwendungsfall „Neues Bibliotheksbenutzerkonto erstellen“ ausgeführt werden.
- Der Bibliothekar fordert das System auf, ein neues Online-Bibliothekskonto zu erstellen
- Der Bibliothekar wählt dann den Benutzerkontotyp der Bibliothek aus
- Der Bibliothekar gibt die Benutzerdaten ein
- Die Angaben des Benutzers werden anhand der Datenbank für Benutzeranmeldeinformationen überprüft
- Das neue Bibliotheksbenutzerkonto wird erstellt
- Eine Zusammenfassung der Details des neuen Kontos wird dann per E-Mail an den Benutzer gesendet
Von jedem dieser Schritte aus können Sie einfach angeben, welche Nachrichten zwischen den Objekten im Sequenzdiagramm ausgetauscht werden sollen. Sobald es klar ist, können Sie fortfahren und mit dem Zeichnen des Sequenzdiagramms beginnen.
Das folgende Sequenzdiagramm zeigt, wie die Objekte im Online-Bibliotheksverwaltungssystem miteinander interagieren, um die Funktion „Neues Bibliotheksbenutzerkonto erstellen“ auszuführen.
Sequenzdiagramm Häufige Fehler
Beim Zeichnen von Sequenzdiagrammen neigen Designer dazu, diese häufigen Fehler zu machen. Indem Sie diese Fehler vermeiden, können Sie die Qualität Ihres Diagramms sicherstellen.
- Hinzufügen zu vieler Details. Dadurch wird das Diagramm unübersichtlich und schwer lesbar.
- Veraltete und veraltete Sequenzdiagramme, die im Vergleich zu den Schnittstellen, tatsächlichen Architekturen usw. des Systems irrelevant sind. Vergessen Sie nicht, sie zu ersetzen oder zu modifizieren.
- Lassen Sie kein Leerzeichen zwischen dem Anwendungsfalltext und dem Nachrichtenpfeil; dies macht es für jedermann schwierig, das Diagramm zu lesen.
- Die Ursprünge von Nachrichtenpfeilen nicht sorgfältig berücksichtigen.
Sehen Sie sich diese häufigen Fehler ausführlich in Sequence Diagram Guide: Common Mistakes to Avoid When Drawing Sequence Diagrams an.
Beispiele und Vorlagen für Sequenzdiagramme
Im Folgenden finden Sie einige Beispiele und Vorlagen für Sequenzdiagramme, die mit Creately gezeichnet wurden. Erstellen Sie Sequenzdiagramme online mit dem Online-Tool von Creately. Klicken Sie auf die Vorlage, um sie im Editor zu öffnen.
Ablaufdiagramm eines Online-Prüfungssystems
Online-Prüfungssystem – Klassendiagramm (UML)
Beispiel eines Sequenzdiagramms eines Schulverwaltungssystems
Beispiel für ein Optionskombinationsfragment
Beispiel einer Loop-Sequenz
Hier sind einige weitere Sequenzdiagrammvorlagen und Beispiele , die Sie sofort bearbeiten können.
Sequenzdiagramm-Tutorial – SlideShare-Präsentation
Feedback zum Sequenzdiagramm-Tutorial
Dieses Sequenzdiagramm-Tutorial behandelt alles, was Sie über Sequenzdiagramme und deren Zeichnung wissen müssen. Wenn Sie Anregungen oder Fragen zum Sequenzdiagramm-Tutorial haben, können Sie gerne einen Kommentar hinterlassen.
Weitere Diagramm-Tutorials
- Tutorial zur Geschäftsprozessmodellierung (BPM-Leitfaden zur Erläuterung der Funktionen)
- Ultimativer Flussdiagramm-Leitfaden (Vollständiges Flussdiagramm-Tutorial mit Beispielen)
- Anwendungsfalldiagramm-Tutorial (Leitfaden mit Beispielen)