UML Diagramme

UML mit Enterprise Architect

In unserem Basis-Training lernen Sie die Modellierungssprache Unified Modelling Language (UML) für die konzeptionelle Modellierung mit Enterprise Architect anhand praktischer Beispiele bestmöglich einzusetzen.

UML Aktivitätsdiagramm

Das UML Aktivitätsdiagramm ist eines der in der UML enthaltenen Verhaltensmodellen und dient zur Beschreibung von Prozessen, Workflows und Algorithmen. Es wird auch gerne verwendet, um Szenarien von Anwendungsfällen (Use Cases) zu beschreiben oder das Verhalten von Klassen-Operationen oder das Verhalten von Zuständen in einem Zustandsdiagramm.

Der Fokus beim Aktivitätsdiagramm liegt auf den einzelnen Schritten und Verzweigungen eines Ablaufes/Prozesses. Mit Aktivitätsdiagrammen können auch Datenflüsse und deren Verarbeitung beschrieben werden.

Mit UML Aktivitätsdiagrammen können wir große komplexe Prozesse in einzelne Aktivitäten aufteilen und aus anderen Prozessen aufzurufen. Damit erreichen wir Abstraktion in der Prozessbeschreibung und eine einfache Wiederverwendung von Prozessen.

Es besteht auch die Möglichkeit, das Verschicken und Empfangen von Signalen und das Unterbrechen von Abläufen zu beschreiben. Zustandsautomaten eignen sich allerdings besser zum Beschreiben von ereignisorientiertem Verhalten.

Verwandte Themen und Sprachen:

  • Business Process Model and Notation (BPMN) (eine alternative zu UML Aktivitäten, mit Fokus auf Geschäftsprozessen)
  • ArchiMate Business Prozesse (eine abstraktere Sicht auf Prozesse)
  • UML Zustandsautomaten
  • UML Anwendungsfälle

UML Anwendungsfalldiagramm

Mittels UML Anwendungsfalldiagramme (Use Cases) visualisieren wir die Beschreibung fachlich erforderlicher (System-)Funktionen und bündeln alle möglichen Szenarien dieser Funktion (dem Anwendungsfällen).

Mit Anwendungsfällen analysieren und beschreiben wir Abhängigkeiten zu Stakeholdern und anderen Anwendungsfällen auf einer nicht technischen Ebene.

UML Interaktionsübersichtsdiagramm

Das UML Interaktionsübersichtsdiagramm ist eine Kombination aus Aktivitätsdiagramm (AD) und Sequenzdiagramm (SD). Die Basis ist ein AD. Ein Schritt in einem AD kann in einem Interaktionsübersichtsdiagramm durch ein SD verfeinert werden.

UML Klassendiagramm

UML Klassendiagramme sind eine grafische Repräsentation von Konzepten und stehen für eine Menge von Ausprägungen (Instanzen/Objekten) der Realität und folgt dabei dem objektorientierten Paradigma.

Klassen ermöglichen es, Daten (Eigenschaften) und Verhalten (Prozesse, Workflows, Algorithmen) zu kapseln. Durch unterschiedliche Beziehungen (z.B. Assoziation, Generalisierung, Abhängigkeit, etc.) können wir Klassen untereinander verbinden, um so Zusammenhänge grafisch zu beschreiben und einen schnellen Überblick zu erhalten.

UML Kommunikationsdiagramm

Das UML Kommunikationsdiagramm erlaubt es, Szenarien wie mit dem UML Sequenzdiagramm (SD) zu beschreiben. Wesentlicher Unterschied ist, dass beim SD der Fokus auf „WER kommuniziert mit WEM in welcher Reihenfolge“ liegt. Beim Kommunikationsdiagramm steht die Struktur der kommunizierenden Bausteine (Klassen, Komponenten) im Vordergrund und die Reihenfolge wird lediglich durch eine Nummerierung hervorgehoben.

Verwandte Themen und Sprachen:

  • UML Sequenzdiagramm

UML Komponentendiagramm

UML Komponenten werden verwendet, um eine modulare Sicht auf die zu beschreibende Realität einzunehmen. Je nachdem, um welche Realität es sich handelt, werden unterschiedliche Aspekte von Komponenten verwendet.

Da UML Komponenten spezielle UML Klassen sind und somit alles können was eine Klasse kann, ist es oft schwer zu entscheiden, wann Klassen und wann Komponenten verwendet werden sollen. Eine Faustregel ist, dass wir Komponenten einsetzen, wenn es darum geht eine modulare Sicht auf die Realität einzunehmen. Eine Komponente wird dann durch Schnittstellen (Interfaces) beschrieben und kann somit mit kompatiblen anderen Komponenten verbunden werden.

Komponenten werden auch gerne eingesetzt, um eine Black-Box und eine White-Box (UML Kompositionsdiagramm) Sicht auf die beschriebene Realität (die zu entwickelnde Software-Komponente, die Hardware Komponente oder eine Applikation in der Unternehmensarchitektur) zu erhalten.

Verwandte Themen und Sprachen:

  • ArchiMate Business Prozesse (eine abstraktere Sicht auf Prozesse)
  • UML Kompositionsdiagramm

UML Kompositionsstrukturdiagramm

Das Kompositionsstrukturdiagramm ist die White-Box Sicht einer Komponente. Mit diesem Diagramm beschreiben wir die interne Struktur einer UML Komponente.

Da eine Komponente als Abstraktion und als Container für weitere Teile verwendet wird, können wir diese Teile auch und deren Zusammenhang genauer beschreiben und das machen wir mit dem Kompositionsstrukturdiagramm.

Verwandte Themen und Sprachen:

  • UML Komponente … als Black-Box Sicht
  • SysML IBD … als Alternative zum UML Kompositionsstrukturdiagramm

UML Objektdiagramm

Das Objektmodell kommt nicht allein. Die UML ist eine objektorientierte Sprache, mit der wir unterschiedliche Strukturen beschreiben können. Dazu verwenden wir zum Beispiel Klassen oder Komponenten. Mit Klassen und Komponenten beschreiben wir in der Regel immer eine Menge von konkreten Ausprägungen in der Realität die durch das Modell (Klassen, Komponenten) beschrieben wird.

Mit Objekten können wir nun eine modellhafte Abbildung dieser Ausprägungen der Realität beschreiben.

Klassen- und Komponenten-Diagramme sind oft sehr kompakt und beschreiben durch diese kompakte Schreibweise viele mögliche Ausprägungs-Konfigurationen. Mit dem Objekt-Diagramm können wir diese als Diagramm visualisieren.

UML Paketdiagramm

In der UML werden alle Modell-Elemente in sogenannten Paketen organisiert. Ein Paket ist vergleichbar mit einem Folder unseres File-Systems.

Pakete können mit unterschiedlichen Beziehungen verbunden werden, um damit Abhängigkeiten zwischen Paketen und den darin enthaltenen Modellen auf einer abstrakten und kompakten Weise zu beschreiben.

UML Sequenzdiagramm

Das UML Sequenzdiagramm gehört zu einer Unterart von UML Verhaltensmodellen, den Interaktionsdiagrammen.

Ein Sequenzdiagramm schlägt die Brücke zwischen Strukturdiagrammen und Verhaltensdiagrammen.
In einem Sequenzdiagramm verwenden wir sogenannte Lebenslinien (Lifelines), welche durch Struktur-Elemente klassifiziert werden und deren Verhalten aufrufen können.

Dabei beschreiben die Lebenslinien eine konkrete System-Konfiguration und wie diese in einer gewissen Reihenfolge miteinander Nachrichten austauschen. Dabei beschreibt das Sequenzdiagramm in der Regel immer ein spezielles Szenario, also einen konkreten Anwendungsfall.

Sequenzdiagramme werden z. B. gerne verwendet, um Szenarien von Anwendungsfällen (Use Cases) modellhaft zu beschreiben.

UML Verteilungsdiagramm

Mit dem UML Verteilungsdiagramm (Deployment-Diagram) schlagen wir die Brücke zwischen abstrakten Komponenten und deren physischer Verteilung.

Mit einem Verteilungsdiagramm beschreiben wir eine physische Infrastruktur und können diese mit den vorhandenen UML Komponenten verbinden. Als Bindeglied wird das sogenannte Artefakt verwendet. Das Artefakt ist die physische Ausprägung einer oder mehrerer logischer Komponenten.

UML Zeitdiagramm

Das UML Zeitdiagramm erlaubt es, einen genaueren Blick auf das Thema Zeit und zeitkritisches Verhalten zu werfen. Dabei werden Zustände definiert und die Zeitpunkte, wann ein Zustand gewechselt wird.

UML Zustandsdiagramm

Ist das Verhalten, welches beschrieben werden soll, stark ereignis-getrieben, bieten sich UML Zustandsautomaten an.

Ein Zustand beschreibt – wie der Name schon sagt – einen Zustand, in dem Verhalten ausgeführt werden kann. Tritt nun ein Ereignis ein, wird der Zustand (unter noch weiter zu definierenden Bedingungen) gewechselt, dabei kann ebenfalls weiteres Verhalten ausgeführt werden. Wir können mit Zustandsautomaten also genauso Prozesse modellieren wie mit Aktivitätsdiagramme. Wann ein Zustand gewechselt wird und damit Verhalten ausgeführt wird, hängt aber von unterschiedlichen Ereignissen ab.

Das Verhalten in einem Zustand oder Zustandsübergang selbst kann mit jedem anderen UML Verhaltensmodell beschrieben werden, meist wird das Aktivitätsdiagramm verwendet.

Der Zustandsautomat wird gerne verwendet, um die Orchestrierung von ereignisgesteuertem Verhalten zu definieren und beschreibt in der Regel die Zustände von einem als Struktur beschriebenen Baustein (z.B. UML Klasse oder Komponente).

Verwandte Themen und Sprachen:

  • UML Aktivitätsdiagramme
  • UML Anwendungsfälle (Use Cases)
  • UML Klassendiagrammen
t

FAQs zu UML-Diagrammen

Was ist ein UML-Diagramm?

Ein UML Diagramm ist nur eine graphische Sicht auf Ausschnitte eines UML Modells, darf also nicht mit dem Modell selbst verwechselt werden. Offiziell gibt es in der Definition der UML keine Übersicht über die Diagramme. Sie können also recht frei definiert werden und stellen eine Sammlung von Notationselementen dar. Die UML enthält derzeit 13 Diagrammtypen, die grob in Struktur- und Verhaltensdiagramme unterteilt werden.

Wie setzt man UML richtig ein und worauf gilt es zu achten?

UML ist eine weit verbreitete Modellierungssprache, die dabei hilft, komplexe Systeme besser verstehen und einfacher darstellen zu können. Grundsätzlich sind vier Komponenten bei der Erstellung eines zielführenden UML Modells wichtig:

  • Methode oder Vorgehensweise
  • Sprache (z.B. UML)
  • Werkzeug (z.B. Enterprise Architect)
  • Erfahrung (Best Practice)

Der Einsatz von UML kann also nicht alleinstehend betrachtet werden. Um Modeliierung mit UML nutzbringend einsetzen zu können, muss also eine gewisse Lernkurve überwunden werden. Dies ist z.B. durch spezielle Trainings sehr gut und rasch erreichbar.

Wie erstellt man ein UML-Diagramm?

Oft beginnt die Arbeit mit der Modellierung in UML damit, dass Diagramme erstellt oder beurteilt werden sollen. Je nach gewählten Diagrammtyp stehen dafür verschiedene Elemente und Zeichen zur Verfügung. Diagramme können auf verschieden Arten erstellen werden, manchmal reichen dazu auch Stifte und Papier.

Bei der professionellen Nutzung der Modellierung kommen allerdings Werkzeuge zum Einsatz. Reine Zeichenprogramme legen die erstellen Diagramme nicht in einem Repository ab. Modellierungsprogramme wie Enterprise Architect dagegen legen die Diagramme in einem Repository ab, damit sie jederzeit verändert und weiterentwickelt werden können.

Was macht die UML so vorteilhaft für die Software- und Systementwicklung?

UML stellt verschiedene Symbole zur Verfügung, jedes mit einer festgelegten Bedeutung. Sie bietet Diagrammtypen für Analyse, Design und Programmierung. Damit unterstützt sie den gesamten Entwicklungsprozess von der Erhebung der Anforderungen bis zur fertigen Implementierung. UML hilft dabei, die Struktur und das Verhalten eines Systems darzustellen und dieses immer weiter zu optimieren. UML bietet viele Vorteile, da sie Diagramme als Teil der Doku­men­tation verwendet.

Ihre dominierende Position im Bereich der modellbasierten Software- und Systementwicklung hat die UML durch viele Vorteile erreicht:

  • Verbesserung der Zusammenarbeit zwischen Entwicklern und weitere Personen
  • Graphische Darstellung erleichtert die Verständlichkeit von Systemen
  • Entwicklungen werden durch die gute Dokumentation leicht wiederverwendbar
  • Frühzeitige Fehlererkennung senkt die Projektkosten deutlich
  • Roundtrip Engineering (Übereinstimmung von Modell und Implementierung) bringt eine enorme Zeitersparnis

Obwohl UML ursprünglich für die Modellierung von Software entwickelt wurde, ist sie auch für Organisationsprojekte einsetzbar. Durch die Visualisierung von Prozessen lassen sich diese rasch analysieren und verbessern.