Dieses UML Sequenzdiagramm-Tutorial soll Ihnen helfen, Sequenzdiagramme besser zu verstehen; es erklärt alles, was Sie wissen müssen, vom Zeichnen eines Sequenzdiagramms bis hin zu den häufigen Fehlern, die beim Zeichnen passieren. Des weiteren zeigen wie auch Beispiele sowie das perfekte Tool zur Erstellung von Sequenzdiagrammen.
Es gibt 3 Arten von Interaktionsdiagrammen: UML Sequenzdiagramme, Kommunikationsdiagramme und Zeitdiagramme. Diese Diagramme werden zur Veranschaulichung der Interaktionen zwischen Teilen innerhalb eines Systems verwendet. Unter den dreien werden Sequenzdiagramme wegen ihrer Einfachheit sowohl von Entwicklern als auch von Lesern vermehr angewendet. In diesem Sequenzdiagramm-Tutorial erfahren Sie mehr darüber:
- Was ist ein UML Sequenzdiagramm?
- Sequenzdiagramm-Notationen
- Best Practices für Sequenzdiagramme
- Wie zeichne ich ein Sequenzdiagramm?
- Sequenzdiagramm Häufige Fehler
- Sequenzdiagramm-Vorlagen und Beispiele
- Sequenzdiagramm SlideShare-Präsentation
- Feedback zum Sequenzdiagramm-Leitfaden
Was ist ein UML Sequenzdiagramm?
UML Sequenzdiagramme, die häufig von Entwicklern verwendet werden, modellieren die Interaktionen zwischen Objekten in einem einzigen Anwendungsfall. Sie veranschaulichen, wie die verschiedenen Teile eines Systems miteinander interagieren, um eine Funktion auszuführen, und in welcher Reihenfolge die Interaktionen bei der Ausführung eines bestimmten Anwendungsfalles erfolgen. In einfacheren Worten: Ein Sequenzdiagramm zeigt verschiedene Teile eines Systems, die in einer “Sequenz” arbeiten, um etwas zu erreichen.
Sequenzdiagramm Beispiel sowie Vorlagen
Im Folgenden finden Sie einige Beispiele für Sequenzdiagramme und Vorlagen, die mit Creately erstellt wurden. Erstellen Sie Sequenzdiagramme online mit dem Online-Tool von Creately. Klicken Sie auf das untenstehende Beispiel, um sie im Editor zu öffnen.
Beispiel eines Sequenzdiagramm für ein Online-Prüfungssystems
Sequenzdiagramm Beispiel eines Schulmanagementsystems
Beispiel eines Sequenzdiagramms für ein Optionskombinationsfragment
Sequenzdiagramm-Beispiel einer Schleifensequenz
Hier sind einige weitere Sequenzdiagramm-Vorlagen und Beispiele die Sie sofort bearbeiten können.
Sequenzdiagramm-Notationen
Ein Sequenzdiagramm ist so strukturiert, dass es eine Zeitachse darstellt, die oben beginnt und allmählich absteigt, um die Abfolge der 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 einer Sequenzdiagramm-LebensliniennotationenEin Sequenzdiagramm besteht aus mehreren dieser Lebensliniennotationen, die horizontal über den oberen Rand des Diagramms angeordnet werden sollten. Keine zwei Lebenslinien-Notationen sollten sich überschneiden. Sie repräsentieren die verschiedenen Objekte oder Teile, die während der Sequenz im System miteinander interagieren. Eine Lebenslinien-Notation mit einem Akteurselementsymbol wird verwendet, wenn das bestimmte Sequenzdiagramm einem Anwendungsfall gehört. Eine Lebenslinie mit einem Entitätselement repräsentiert Systemdaten. In einer Kundendienstanwendung würde die Entität Kunde beispielsweise alle Daten verwalten, die sich auf einen Kunden beziehen. Eine Lebenslinie mit einem Begrenzungselement zeigt eine Systemgrenze/Softwareelement in einem System an; z. B. sind Benutzeroberflächenbildschirme, Datenbank-Gateways oder Menüs, mit denen Benutzer interagieren, Begrenzungen. Und eine Lebenslinie mit einem Kontrollelement weist auf eine kontrollierende Einheit oder einen Manager hin. Sie organisiert und terminiert die Interaktionen zwischen den Grenzen und Entitäten und fungiert als Vermittler zwischen ihnen. Aktivierungsbalken
Der Aktivierungsbalken ist das Kästchen, das auf der Lebenslinie platziert ist. Sie 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 der Aktivierungsleiste 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 während des Nachrichtenaustauschs aktiv/instanziiert sind. 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 Nachrichtenaufrufer 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 gesendeten oder empfangenen Nachricht angeben. Auf dem Nachrichtenpfeil befindet sich eine Beschreibung, die als Nachrichtensignatur bezeichnet wird. Das Format für diese Nachrichtensignatur ist unten aufgeführt. Alle Teile außer message_name sind optional.
attribute = message_name (Argumente): return_type
- 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 weitermacht. Die Pfeilspitze, die zur Kennzeichnung dieser Art von Nachricht verwendet wird, ist eine durchgehende Pfeilspitze, 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.
- Rückmeldung
Eine Rückmeldung wird verwendet, um anzuzeigen, dass der Empfänger der Nachricht mit der Verarbeitung der Nachricht fertig ist und die Kontrolle über die Nachricht an den Anrufer 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 ein Durcheinander in Ihren Diagrammen vermeiden, indem Sie die Verwendung von Rückmeldungen minimieren, da der Rückgabewert im Pfeil der ursprünglichen Meldung selbst angegeben werden kann.
- Nachricht zur Teilnehmer-Erstellung
Objekte leben nicht notwendigerweise während der gesamten Dauer des Ereignisablaufs. Objekte oder Teilnehmer können je nach der Nachricht, die gesendet wird, angelegt werden. Die gelöschte Teilnehmer-Box-Notation kann verwendet werden, wenn Sie zeigen müssen, dass der bestimmte Teilnehmer nicht existierte, bis der Erstellungsaufruf gesendet wurde. Wenn der erstellte Teilnehmer unmittelbar nach seiner Erstellung etwas tut, sollten Sie ein Aktivierungsfeld direkt unter dem Teilnehmerfeld hinzufügen.
- Vernichtungsbotschaft der Teilnehmer
Ebenso können Teilnehmer, wenn sie nicht mehr benötigt werden, aus einem Sequenzdiagramm gelöscht werden. Dies geschieht durch Hinzufügen eines “X” am Ende der Lebenslinie des besagten Teilnehmers.
- Reflektierende Botschaft
Wenn ein Objekt eine Nachricht an sich selbst sendet, wird dies als reflexive Nachricht bezeichnet. Sie ist mit einem Meldungspfeil gekennzeichnet, der an derselben Lebenslinie beginnt und endet, wie im Beispiel unten gezeigt. Kommentar
Die Erstellung UML Diagrammen erlaub im Allgemeinen die Kommentierung von Kommentaren in allen UML-Diagrammtypen. Das Kommentarobjekt ist ein Rechteck mit einer umgefalteten Ecke, wie unten dargestellt. Der Kommentar kann durch eine gestrichelte Linie mit dem zugehörigen Objekt verknüpft werden.
Notiz: Sehen Sie sich die Best Practices für Sequenzdiagramme an, um mehr über Sequenzfragmente zu erfahren.
Best Practices für Sequenzdiagramme
- Verwalten komplexer Interaktionen mit Sequenzfragmenten
Ein Sequenzfragment wird als ein Kasten dargestellt, der einen Abschnitt der Interaktionen zwischen Objekten (wie in den Beispielen unten gezeigt) in einem Sequenzdiagramm einrahmt.
Sie dient dazu, komplexe Interaktionen wie alternative Flüsse und Schleifen strukturierter darzustellen. In der linken oberen Ecke des Fragments sitzt ein Operator. Dieser – der Fragmentoperator – gibt an, um welche Art von Fragment es sich handelt.
Alternativen
Das alternative Kombinationsfragment wird verwendet, wenn eine Wahl zwischen zwei oder mehr Nachrichtensequenzen getroffen werden muss. Sie modelliert die “Wenn-dann-sonst”-Logik.
Das alternative Fragment wird durch ein großes Rechteck oder einen Rahmen dargestellt; es wird durch die Angabe von ‘alt’ im Namensfeld des Rahmens spezifiziert (auch bekannt als Fragmentoperator).
Um zwei oder mehr Alternativen zu zeigen, wird das größere Rechteck dann mit Hilfe einer gestrichelten Linie in so genannte Interaktionsoperanden unterteilt, wie im obigen Beispiel des Sequenzdiagramms gezeigt. Jeder Operand hat eine Schutzvorrichtung, an der er getestet werden kann und die sich in der linken oberen Ecke des Operanden befindet.
Optionen
Das Optionskombinationsfragment wird verwendet, um eine Sequenz anzugeben, die nur unter einer bestimmten Bedingung auftritt, andernfalls wird die Sequenz nicht auftreten.
Sie modelliert die “Wenn-dann”-Anweisung, Ähnlich wie das Alternativfragment wird auch das Optionsfragment mit einem rechteckigen Rahmen dargestellt, wobei ‘opt’ innerhalb des Namensfeldes platziert ist.
Im Gegensatz zum alternativen Fragment wird ein Optionsfragment nicht in zwei oder mehr Operanden aufgeteilt. Die Wache von Option befindet sich in der linken oberen Ecke.
(Ein Beispiel-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 Worte “Schleife” im Namensfeld und den Schutzzustand in der Nähe der linken oberen Ecke des Rahmens.
Zusätzlich zum Booleschen Test kann der Wächter in einem Schleifenfragment auf 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 einen minimalen Iterationsschutz handelt, darf die Schleife nicht weniger als die angegebene Anzahl ausführen, und wenn es sich um einen maximalen Iterationsschutz handelt, darf die Schleife nicht mehr als die angegebene Anzahl ausführen.
(Ein Beispiel für ein Schleifenfragment finden Sie unten in den Sequenzdiagramm-Vorlagen und im Beispielabschnitt)
Referenzfragment
Mit dem ref-Fragment können Sie die Größe großer Sequenzdiagramme verwalten. Es ermöglicht Ihnen, einen Teil eines Sequenzdiagramms in einem anderen Diagramm wiederzuverwenden, oder mit anderen Worten, Sie können einen Teil eines Diagramms in einem anderen Diagramm mit Hilfe des Ref-Fragments referenzieren.
Um das Referenzfragment anzugeben, müssen Sie ‘ref’ im Namensfeld des Rahmens und den Namen des Sequenzdiagramms, auf das innerhalb des Rahmens verwiesen wird, angeben.
Weitere Sequenzfragmente finden Sie unter Beyond the Basics of Sequence Diagrams: Teil 1, Teil 2 und Teil 3.
- Zeichnen Sie kleinere Sequenzdiagramme in UML, die das Wesen des Anwendungsfalles erfassen
Anstatt Ihr Sequenzdiagramm mit mehreren Objekten und Nachrichtengruppen zu überladen, die den Leser verwirren, zeichnen Sie ein paar kleinere Sequenzdiagramme in UML, die die Funktionsweise Ihres Systems treffend erklären. Achten Sie darauf, dass das Diagramm auf eine einzige Seite passt und auch Platz für Erläuterungen lässt. Auch sollten Sie, anstatt Dutzende von Sequenzdiagrammen zu zeichnen, herausfinden, was den Szenarien gemeinsam ist, und sich darauf konzentrieren. Und wenn der Code ausdrucksstark ist und für sich allein stehen kann, braucht man gar kein Sequenzdiagramm zu zeichnen.
Wie zeichne ich ein UML Sequenzdiagramm? Mit Beispiel erklärt
Ein UML Sequenzdiagramm stellt das Szenario oder den Ablauf von Ereignissen in einem einzelnen Anwendungsfall dar. Der Nachrichtenfluss des Sequenzdiagramms basiert auf der Erzählung des jeweiligen Anwendungsfalles. 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 erstellen, was der jeweilige Anwendungsfall bewirkt.
Aus dem obigen Anwendungsfalldiagramm-Beispiel “Neues Online-Bibliothekskonto erstellen” werden wir uns auf den Anwendungsfall “Neues Benutzerkonto erstellen” konzentrieren, um unser Sequenzdiagramm-Beispiel zu zeichnen.
Bevor das Sequenzdiagramm gezeichnet wird, ist es notwendig, die Objekte oder Akteure zu identifizieren, die an der Erstellung eines neuen Benutzerkontos beteiligt wären. Diese wären;
- Bibliothekar
- Online-Bibliotheksverwaltungssystem
- Datenbank für Benutzeranmeldeinformationen
- E-Mail-System
Sobald Sie die Objekte identifiziert haben, ist es wichtig, eine detaillierte Beschreibung zu schreiben, was der Anwendungsfall bewirkt. Anhand dieser Beschreibung können Sie leicht herausfinden, welche Interaktionen (die in das Sequenzdiagramm eingehen sollten) zwischen den oben genannten Objekten auftreten würden, wenn der Anwendungsfall ausgeführt wird.
Hier sind die Schritte, die in dem Anwendungsfall ‘Neues Bibliotheksbenutzerkonto anlegen’ vorkommen.
- Der Bibliothekar bittet das System, ein neues Online-Bibliothekskonto zu erstellen
- Der Bibliothekar wählt dann die Art des Bibliotheksbenutzerkontos aus
- Der Bibliothekar gibt die Daten des Benutzers ein
- Die Angaben des Benutzers werden mit Hilfe 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 geschickt
Von jedem dieser Schritte aus können Sie leicht angeben, welche Nachrichten zwischen den Objekten im Sequenzdiagramm ausgetauscht werden sollen. Sobald es klar ist, können Sie 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 und häufige Fehler
Wenn du ein Sequenzdiagramm erstellen möchtest, dann passieren dabei immer einige Fehler. Durch die Vermeidung dieser Fehler können Sie die Qualität Ihres Diagramms sicherstellen.
- Zu viele Details hinzufügen. Das bringt das Diagramm durcheinander und macht es schwer lesbar.
- Veraltete und überholte Sequenzdiagramme, die im Vergleich zu den Schnittstellen, tatsächlichen Architekturen usw. des Systems irrelevant sind. Vergessen Sie nicht, sie zu ersetzen oder zu modifizieren.
- Zwischen dem Text des Anwendungsfalles und dem Meldungspfeil wird kein Leerraum gelassen; dies erschwert das Lesen des Diagramms für jedermann.
- Die Herkunft der Nachrichtenpfeile nicht sorgfältig zu berücksichtigen.
Siehe diese häufigen Fehler, die im Sequenzdiagramm-Leitfaden ausführlich erläutert werden: Häufig zu vermeidende Fehler beim Zeichnen von Sequenzdiagrammen.
Sequenzdiagramm-Tutorial – SlideShare-Präsentation
Feedback zum UML Sequenzdiagramm-Tutorial
Dieses UML Sequenzdiagramm-Tutorial behandelt alles, was Sie über Sequenzdiagramme und deren Erstellung wissen müssen. Wenn Sie Anregungen oder Fragen zum Sequenzdiagramm-Anleitung haben, können Sie gerne einen Kommentar hinterlassen.
Weitere Diagramm-Tutorials
- Tutorial zur Geschäftsprozessmodellierung (BPM-Leitfaden zur Erläuterung der Funktionen)
- Ultimative Flussdiagramm-Anleitung ( Komplettes Flussdiagramm-Tutorial mit Beispielen )
- Tutorial zum Anwendungsfalldiagramm ( Leitfaden mit Beispielen )