Mithilfe von Lucidchart, einem Arbeitsbereich für visuelle Darstellungen und Zusammenarbeit, können Sie einfach verständliche UML Diagramme individuell gestalten, die das dynamische Verhalten Ihres gesamten Systems abbilden.
Im Folgenden erhalten Sie einen Einblick in die Grundlagen von UML einschließlich ihrer Verwendung, ihrer Vorteile und ihrer Erstellung.
Lesedauer: 9 Minute(n)
Möchten Sie Ihr eigenes UMl Diagramm erstellen? Testen Sie Lucidchart. Das geht schnell, ist ganz einfach und völlig kostenlos.
Was ist ein UML?
Wie der Name bereits vermuten lässt, handelt es sich bei einem Interaktionsdiagramm um eine UML-Diagrammart, mit der das interaktive Verhalten eines Systems dargestellt wird. Interaktionsdiagramme eignen sich hervorragend um den Nachrichtenfluss in einem System zu beschreiben, indem sie eine oder mehrere Lebenslinien innerhalb eines Systems in Kontext setzen. Zusätzlich können Interaktionsdiagramme verwendet werden, um die geordneten Sequenzen in einem System darzustellen und die Echtzeit-Daten mittels UML abzubilden.
Vorteile von UML Diagrammen
UML Diagramme können in eine Reihe von Szenarien implementiert werden, um einzigartige Betrachtungsweisen bereitzustellen. Folgende Verwendungszwecke sind möglich:
- Modellierung eines Systems als zeitlich geordnete Abfolge von Ereignissen
- Reverse oder Forward Engineering eines Systems oder Prozesses
- Organisation der Struktur diverser Interaktionsereignisse
- Einfache Darstellung des Nachrichtenverhaltens und der Lebenslinien in einem System
- Identifizierung möglicher Verbindungen zwischen Lebenslinienelementen
Arten von UML
UML Diagramme werden in vier Hauptarten unterteilt:
- UML Klassendiagramm
- UML Sequenzdiagramm
- UML Zustandsdiagramm
- UML Aktivitätsdiagramm
Jeder Diagrammart liegt eine andere Betrachtungsweise des Verhaltens oder der Struktur eines Systems zugrunde. Im Folgenden werden die Grundlagen der einzelnen Diagramme näher behandelt und aufgezeigt, wie Sie davon profitieren können.
UML Klassendiagramm
In UML dienen Kommunikationsdiagramme dazu, die Beziehungen und Interaktionen zwischen unterschiedlichen Softwareobjekten abzubilden. Die Schwerpunkte liegen dabei auf der Struktur eines Interaktionsdiagramms, wobei eher die Objektarchitektur im Vordergrund steht als der Nachrichtenfluss.
Kommunikationsdiagramme bieten folgende Vorteile:
- Sie betonen, wie Lebenslinien miteinander verbunden sind.
- Sie heben die Elemente eines Systems hervor und weniger den Nachrichtenfluss.
- Sie lenken den Blick auf die Organisation, nicht auf die Zeit.
Zu potenziellen Nachteilen von Kommunikationsdiagrammen zählen die folgenden:
- Sie können sehr komplex werden.
- Sie sind weniger gut geeignet, um spezifische Objekte in einem System zu untersuchen.
- Sie können bei der Erstellung viel Zeit in Anspruch nehmen.
UML Sequenzdiagramm
Eine weitere Option, um Interaktionen darzustellen, sind UML Sequenzdiagramm. Diese Diagrammart findet bei den folgenden fünf wesentlichen Ereignissen Anwendung:
- Bestellung
- Zahlung
- Bestellbestätigung
- Vorbereitung der Bestellung
- Übergabe der Bestellung
Bei einer Änderung der Ereignisabfolge kann es zu Verzögerungen kommen oder das System stürzt eventuell ab. Es ist also wichtig, dass Sie die Notation verwenden, die zu der entsprechenden Sequenz in Ihrem Diagramm passt.
Sequenzdiagramme bieten die folgenden Vorteile:
- Sie sind leicht zu erhalten und zu erstellen.
- Sie können mühelos aktualisiert werden, sollten Änderungen in einem System anfallen.
- Sie erlauben sowohl ein Reverse als auch ein Forward Engineering.
Zu potenziellen Nachteilen von Sequenzdiagrammen zählen die folgenden:
- Sie können komplex werden; mit zu vielen Lebenslinien und uneinheitlicher Notation.
- Sie sind fehleranfällig bei der Erstellung und davon abhängig, ob die Sequenz korrekt eingegeben wurde.
UML Zustandsdiagramm
Eine weitere Diagrammoption sind UML Zustandsdiagramm. Sie stellen den Zustand einer Lebenslinie zu einem beliebigen Zeitpunkt dar und beschreiben die Änderungen eines Objekts von einer Form zur anderen. Anhand von Wellenformen wird in Zeitdiagrammen der Fluss im Softwareprogramm zu verschiedenen Zeitpunkten abgebildet.
UML Zustandsdiagramm bieten die folgenden Vorteile:
- Sie erlauben sowohl ein Forward als auch ein Reverse Engineering.
- Sie können den Zustand eines Objekts zu einem exakten Zeitpunkt darstellen.
- Sie können einzelne bzw. alle Änderungen in einem System nachverfolgen.
Die folgenden potenziellen Nachteile von UML Zustandsdiagramm sollten Sie aber ebenfalls beachten:
- Sie können sehr komplex und unübersichtlich sein.
- Sie können im Laufe der Zeit schwer zu erhalten sein.
UML Aktivitätsdiagramm
UML Aktivitätsdiagramm helfen dabei, Interaktionsmodelle übersichtlich darzustellen. Das Diagramm bildet dabei den Kontrollfluss von Interaktion zu Interaktion sowie den Aktivitätsfluss von Diagramm zu Diagramm übersichtlich ab.
UML Aktivitätsdiagramm bieten die folgenden Vorteile:
- Sie zeigen eine unkomplizierte Sicht auf die Aktivität in einem Modell.
- Sie sorgen für viele Navigationsmöglichkeiten zwischen Diagrammen.
- Sie lassen sich mit den meisten Anmerkungen in einem Aktivitätsdiagramm verwenden, einschließlich zusätzlicher Elemente für zusätzliche Eindeutigkeit.
Obwohl UML Diagramme sehr intuitiv sind, müssen Verzweigungen und Interaktionen einem bestimmten Verhalten folgen. Das führt dazu, dass die Modellierung restriktiv sein kann.
Möchten Sie Ihr eigenes UMl Diagramm erstellen? Testen Sie Lucidchart. Das geht schnell, ist ganz einfach und völlig kostenlos.
Ein UML Diagramm erstellenSymbole und Terminologie von Interaktionsdiagrammen
Bei der Arbeit mit Interaktionsdiagrammen stoßen Sie häufig auf folgende Begriffe und Symbole:
Lebenslinie: Mit einer Lebenslinie wird ein einziger Teilnehmer in einer bestimmten Interaktion dargestellt. Sie beschreibt, wie eine Instanz eines konkreten Klassifikators an einer Interaktion beteiligt ist.
Zu den Attributen einer Lebenslinie zählen die folgenden:
- Name: Wird verwendet, um auf die Lebenslinie in einer bestimmten Interaktion Bezug zu nehmen. Namen von Lebenslinien sind optional.
- Typ: Benennt den Klassifikator, dessen Lebenslinie eine Instanz abbildet.
- Selector: Findet als Boolesche Bedingung ihre Anwendung, indem eine bestimmte Instanz ausgewählt wird, die die Anforderungen erfüllt.
Nachricht: Eine Nachricht ist eine bestimmte Art der Kommunikation zwischen zwei Lebenslinien in einer Interaktion. Sie kann verwendet werden, um eine Operation aufzurufen, eine Instanz zu erstellen bzw. zu entfernen oder ein Signal zu senden. Während Lebenslinien Nachrichten erhalten und mit ihnen interagieren, entsteht ein Kontrollfokus, der von Lebenslinie zu Lebenslinie wandert. Diesen Fokus bezeichnet man als Kontrollfluss.
Zu den Nachrichten in einem Interaktionsdiagramm zählen folgende:
- Synchrone Nachrichten: Der Sender der Nachricht wartet, bis der Empfänger die Kontrolle der Nachrichtenausführung wieder zurückgeschickt hat.
- Asynchrone Nachricht: Der Sender der Nachricht fährt mit der Ausführung der nächsten Nachricht fort, ohne zuvor eine Antwort vom Empfänger abzuwarten.
- Antwortnachricht: Der Empfänger einer zuvor gesendeten Nachricht schickt den Kontrollfokus an den Sender zurück.
- Objekterzeugung: Der Sender der Nachricht erstellt eine Instanz eines Klassifikators.
- Objektzerstörung: Der Sender der Nachricht entfernt die erstellte Instanz.
- Gefundene Nachricht: Der Sender der Nachricht befindet sich außerhalb des Interaktionsbereichs.
- Verlorene Nachricht: Die Nachricht geht in der Interaktion unter und erreicht nie den Empfänger.
Operator: Ein Operator definiert, wie der Operand in einer Operation ausgeführt wird. In UML unterstützt ein Operator Datenoperationen in Form von Verzweigungen und Iterationen.
In Interaktionsdiagrammen kommen die folgenden Operatoren zum Einsatz:
- Opt (Option): Ein Operand wird ausgeführt, sofern die Bedingung wahr ist.
- Alt (Alternative): Ein Operand, dessen Bedingung war ist, wird ausgeführt.
- Loop (Schleife): Dieser Operator lässt einen Befehl für eine bestimmte Zeitspanne durch eine Schleife laufen.
- Break (Abbruch): Wenn die Bedingung wahr oder falsch ist, wird die Schleife abgebrochen und der nächste Befehl ausgeführt.
- Ref (Bezug): Dieser Operator bezieht sich auf eine andere Interaktion.
- Par (parallel): Alle Operanden werden parallel zueinander ausgeführt.
Verzweigung: Hierunter fallen einige der wichtigsten Begriffe in einem Interaktionsdiagramm. Um Verzweigungen in einem Interaktionsdiagramm darzustellen, werden zu einzelnen Nachrichten sogenannte Guard-Bedingungen hinzugefügt. Anhand dieser Guard-Bedingungen wird überprüft, ob eine Nachricht weitergeleitet werden kann oder nicht. Nur wenn die Guard-Bedingungen einer Nachricht wahr sind, ist eine Weiterleitung möglich. Eine Nachricht kann mehrere Guard-Bedingungen aufweisen; zudem können mehrere Nachrichten dieselben Guard-Bedingungen enthalten.
Iteration: Ein Interaktionsausdruck besteht aus einem Interaktionsmodifikator und einer Iterationsbestimmung. Ein Iterationsausdruck kann ebenfalls verwendet werden, um Iterationen in einem Interaktionsdiagramm darzustellen. Es ist keine spezifische Syntax erforderlich.
Modifikatoren für parallele Iterationen werden eingesetzt, um anzuzeigen, dass Nachrichten parallel gesendet werden. Die Notation erfolgt durch *//. In UML werden Iterationen mithilfe eines Schleifen-Operators durchgeführt.
Zustandsinvarianten und Einschränkungen: In einem Interaktionsdiagramm wird ein Zustand als Situation oder Bedingung während der Lebensdauer eines Objektes definiert. Es erfüllt also eine Einschränkung, führt diverse Operationen aus und wartet auf ein Ereignis. Ein Zustand kann verändert werden, wenn eine Instanz oder eine Lebenslinie eine Nachricht empfangen. Beachten Sie jedoch, dass nicht alle Nachrichten eine Zustandsänderung verursachen.
Ein UML Diagramm erstellen
Anhand dieser Schritte können Sie sicherstellen, dass Sie die nötigen Informationen für die Erstellung Ihres UML Diagramms haben:
- Definieren Sie das Szenario, das Sie mit dem UML darstellen möchten.
- Identifizieren Sie die Lebenslinien, die an der Interaktion beteiligt sind.
- Sehen Sie sich jede Lebenslinie ganz genau an, um potenzielle Verbindungen und Beziehungen zu ermitteln. Kategorisieren Sie die Lebenslinien anschließend.
- Bestimmen Sie die Sequenzen von Nachrichtenflüssen in der Interaktion.
- Identifizieren Sie die diversen Nachrichtenarten in der Interaktion sowie eine geordnete Sequenz von Ereignissen und Zeiteinschränkungen der einzelnen Objekte.
- Öffnen Sie Ihre UML-Diagramm-Software und wählen Sie die passenden Formen, Knoten und Linien, um den Aktivitätsfluss im Diagramm zu erstellen. Alternativ können Sie auch eine Vorlage heranziehen und sie entsprechend Ihrem Diagramm anpassen.
- Beschriften Sie alle Formen, Knoten und Linien, um alle Ereignisse, Interaktionen und Nachrichten in Ihrem System adäquat abzubilden.
Beachten Sie, dass sich das Design Ihres Diagramms unterschiedlich gestaltet, je nachdem, ob Sie ein Sequenz-, Zeit- oder Kommunikationsdiagramm erstellen. Denn jedes Diagramm beleuchtet einen anderen Verhaltensaspekt Ihres Systems.
UML Diagramm Beispiel
Hier finden Sie ein einfaches Beispiel für eine UML-Vorlage. Sie kann verwendet werden, um die Interaktionen zwischen den verschiedenen Elementen einer simplen Web-App zu modellieren. Sie können diese Vorlage abändern und so den Kontrollfluss eines Systems darstellen bzw. die Interaktionen zwischen Objekten im System beschreiben.