Home

Diagrammtypen der UML

Die Unified Modeling Language (UML) definiert verschiedene Diagrammtypen, mit denen sich software-intensive Systeme visualisieren, spezifizieren, entwickeln und dokumentieren lassen. Ein UML-Diagramm ist eine grafische Darstellung einer Gruppe semantisch zusammengehöriger Modellelemente und ihrer Beziehungen. Formal lassen sich diese Diagramme als Graphen auffassen, deren Knoten die Modellelemente und deren Kanten die Beziehungen repräsentieren.

UML-Diagramme lassen sich grob in zwei Hauptgruppen einteilen: Strukturdiagramme und Verhaltensdiagramme.

Strukturdiagramme

Strukturdiagramme beschreiben die statische Struktur eines Systems. Dazu gehören:

  • Klassendiagramme: Stellen eine Menge semantisch zusammengehöriger Klassen und ihrer Beziehungen dar. Sie liefern eine strukturelle Beschreibung des statischen Daten- bzw. Objektmodells.

  • Instanzdiagramme (auch Objektdiagramme): Zeigen eine Menge semantisch zusammengehöriger Objekt-Instanzen, ihren aktuellen Zustand zu einem bestimmten Zeitpunkt und ihre Beziehungen. Sie bilden einen Schnappschuss des dynamischen Systemzustands zu einem definierten Laufzeitmoment ab.

  • Paketdiagramme: Bilden Pakete, deren Inhalte und deren Beziehungen ab. Sie dienen dazu, das Zielsystem in modulare Subsysteme zu unterteilen und deren Abhängigkeiten und Verknüpfungen zu verdeutlichen.

  • Kompositionsstrukturdiagramme: Veranschaulichen die innere Struktur eines komplexen Modellelements (z. B. komplexe Objekte, Komponenten oder Kollaborationen). Sie zeigen die interne Zusammenarbeit der Teile sowie die Kommunikation mit der Außenwelt über Ports.

  • Komponentendiagramme: Zeigen die innere Struktur einer Komponente und die Beziehungen (insbesondere Abhängigkeiten) zwischen Komponenten. Dabei werden die benötigten und bereitgestellten Schnittstellen der Komponenten einander zugeordnet.

  • Verteilungsdiagramme: Stellen die Hardware-Konfiguration dar, auf der das laufende Zielsystem eingesetzt wird, sowie die Verteilung von Software-Artefakten auf einzelne Knoten dieser Hardware-Konfiguration. Ein Knoten enthält in der Regel verschiedene Systemartefakte.

Verhaltensdiagramme

Verhaltensdiagramme modellieren das dynamische Verhalten eines Systems. Dazu gehören:

  • Anwendungsfalldiagramme: Zeigen semantisch zusammengehörige Anwendungsfälle (Use Cases) und Akteure sowie deren Beziehungen. Hauptziel ist es, das externe Systemverhalten aus Sicht der Benutzenden abzubilden – vor allem in der Anforderungsanalyse.

  • Aktivitätsdiagramme: Stellen Kontroll- und Datenflüsse innerhalb komplexer dynamischer Prozesse dar, koordinieren und synchronisieren parallele Aktivitäten und weisen einzelnen Objekten oder Akteuren Verantwortlichkeiten zu. Sie integrieren Konzepte aus Flussdiagrammen, SDL, Data-Flow-Diagrammen und Petrinetzen.

  • Zustandsdiagramme: Grafische Repräsentation eines Zustandsautomaten. Beschreiben das dynamische Verhalten von Objekt-Instanzen, Schnittstellen und/oder Kollaborationen anhand ereignisgesteuerter Übergänge zwischen diskreten Zuständen. Besonders geeignet zur Modellierung von Objektlebenszyklen.

  • Interaktionsdiagramme: Dienen zur Darstellung einer Interaktion, bestehend aus beteiligten Partnern und ihren Beziehungen, insbesondere den ausgetauschten Nachrichten. UML unterscheidet vier Typen von Interaktionsdiagrammen:

    • Sequenzdiagramme: Konzentrieren sich auf die relative zeitliche Reihenfolge der Nachrichten in einer Interaktion; gut geeignet zur Darstellung nicht-trivialer Kontrollstrukturen.

    • Kommunikationsdiagramme: Betonen die Kommunikation zwischen den Partnern und deren zugrunde liegende Beziehungen; lassen sich als dynamische Objektdiagramme auffassen.

    • Zeitverlaufsdiagramm: Liefern eine präzise Beschreibung des absoluten Zeitverhaltens von Objekten und Systemen; besonders für zeitkritische, technische Anwendungen geeignet.

    • Interaktionsübersichtsdiagramme: Geben einen Überblick über den Kontrollfluss mehrerer gekapselter Interaktionen. Syntaktisch sind sie ein Hybrid aus Interaktions- und Aktivitätsdiagramm, wobei Aktionsknoten durch Interaktionen oder Interaktionsreferenzen ersetzt werden.

Fazit

Die vorgestellten Diagrammtypen finden in den verschiedenen Phasen der Softwareentwicklung Anwendung, um unterschiedliche Aspekte und Abstraktionsebenen des Systemmodells darzustellen.