Unified Modeling Language (UML) ist eine standardisierte visuelle Modellierungssprache, die zur Spezifikation, Visualisierung, Erstellung und Dokumentation von Softwaresystemen verwendet wird. Sie bietet eine gemeinsame Vokabular- und Notationsweise zum Erstellen von Modellen, die die Struktur und das Verhalten eines Systems beschreiben.
UML wurde vom Object Management Group (OMG) entwickelt und die erste Version, UML 1.0, wurde 1997 vorgeschlagen. Seitdem ist UML der Industriestandard für die Softwaremodellierung und wird weithin von Entwicklern, Architekten und Business-Analysten eingesetzt.
In diesem Tutorial werden wir die Grundlagen von UML erkunden und untersuchen, wie sie zur Gestaltung und Dokumentation von Softwaresystemen eingesetzt werden kann.
UML-Bausteine
UML besteht aus drei Hauptbausteinen:
- Dinge: Dies sind die grundlegenden Elemente von UML, wie Klassen, Schnittstellen, Anwendungsfälle und Akteure.
- Beziehungen: Diese beschreiben, wie die Dinge in einem Modell miteinander verbunden sind, beispielsweise Assoziationen, Generalisierungen und Abhängigkeiten.
- Diagramme: Dies sind visuelle Darstellungen des Systems, die mithilfe der Dinge und Beziehungen erstellt werden. UML definiert mehrere Diagrammtypen, wie Klassendiagramme, Sequenzdiagramme und Anwendungsfalldiagramme.
Lassen Sie uns diese Bausteine genauer betrachten.
Dinge
Klassen: Klassen stellen die grundlegenden Bausteine eines objektorientierten Systems dar. Sie kapseln Daten (Attribute) und Verhalten (Operationen). Hier ist ein Beispiel für eine Person Klasse:

Schnittstellen: Schnittstellen definieren einen Vertrag, den Klassen implementieren müssen. Sie legen eine Reihe von Methoden fest, die eine Klasse bereitstellen muss, ohne die Implementierungsdetails zu spezifizieren. Hier ist ein Beispiel für eine Movable Schnittstelle:

Anwendungsfälle: Anwendungsfälle beschreiben die Interaktionen zwischen einem System und seinen Benutzern (Akteuren). Sie erfassen die funktionalen Anforderungen des Systems und beschreiben, wie das System in bestimmten Szenarien reagieren sollte.

Beziehungen
Assoziationen: Assoziationen stellen Beziehungen zwischen Klassen dar. Sie können bidirektional oder einseitig sein und verschiedene Vielfachheiten aufweisen (eins-zu-eins, eins-zu-viele, viele-zu-viele).

Generalisierungen: Generalisierungen stellen Vererbungsbeziehungen zwischen Klassen dar. Eine Unterklasse erbt die Attribute und Methoden ihrer Oberklasse.

Abhängigkeiten: Abhängigkeiten stellen die Tatsache dar, dass ein Element (der Client) auf ein anderes Element (den Lieferanten) für dessen Implementierung oder Verhalten angewiesen ist.

Diagramme
UML definiert mehrere Arten von Diagrammen, wobei jedes sich auf einen anderen Aspekt des Systems konzentriert:
- Klassendiagramme: Beschreiben die Struktur eines Systems, indem sie seine Klassen, deren Attribute, Operationen und die Beziehungen zwischen ihnen zeigen.
- Use-Case-Diagramme: Beschreiben die Funktionalität eines Systems, indem sie die Akteure, Use-Cases und ihre Beziehungen zeigen.
- Sequenzdiagramme: Beschreiben das dynamische Verhalten eines Systems, indem sie die Reihenfolge der Nachrichten darstellen, die zwischen Objekten ausgetauscht werden.
- Aktivitätsdiagramme: Beschreiben den Steuerfluss in einem System und konzentrieren sich auf die ausgeführten Aktivitäten.
- Zustandsautomatendiagramme: Beschreiben das dynamische Verhalten eines Systems, indem sie die verschiedenen Zustände, in denen ein Objekt sein kann, und die Übergänge zwischen diesen Zuständen zeigen.
Hier ist ein Beispiel für ein einfaches Klassendiagramm:

Fazit
UML ist ein leistungsfähiges Werkzeug zum Entwerfen und Dokumentieren von Software-Systemen. Durch das Verständnis der grundlegenden Bausteine von UML (Dinge, Beziehungen und Diagramme) können Sie Modelle erstellen, die die Struktur und das Verhalten Ihres Systems genau widerspiegeln. UML ist eine unverzichtbare Fähigkeit für jeden Softwareentwickler oder Architekten, und die Beherrschung davon kann die Qualität und Wartbarkeit Ihrer Softwareprojekte erheblich verbessern.
Der Artikel ist auch in English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 and 繁體中文 verfügbar.












