Die Unified Modeling Language (UML) ist eine standardisierte Modellierungssprache, die in der Softwareentwicklung verwendet wird, um Systeme, insbesondere objektorientierte Software, zu visualisieren, zu spezifizieren, zu konstruieren und zu dokumentieren. UML bietet eine Reihe von Diagrammtypen, die verschiedene Aspekte eines Systems darstellen. 

Im Sinne einer Sprache definiert UML Dabei Bezeichner für die meisten bei der Modellierung wichtigen Begriffe und legt mögliche Beziehungen zwischen diesen Begriffen fest. UML definiert Weiter grafische Notationen für diese Begriffe und Modelle statischer Strukturen und dynamische Abläufe, die man mit diesen Begriffen formulieren kann.

AspektBeschreibungBeispiele
Syntax und SemantikStandardisierte Syntax und Bedeutung der Symbole und BeziehungenPfeilrichtung bei Assoziation zeigt Informationsfluss
EinheitlichkeitKlare Regeln für konsistente und verständliche DiagrammeRechtecke für Klassen, Ovale für Aktivitätsknoten
ModularitätJedes Diagramm dokumentiert einen spezifischen Teilaspekt des SystemsStruktur (Klassendiagramm), Verhalten (Interaktionsdiagramme)
Werkzeuge und InteroperabilitätUnterstützung durch Tools, automatische Code-ÜbersetzungEnterprise Architect, Lucidchart, Visual Paradigm

UML ist heute die dominierende Sprache für die Softwaresystem-Modellierung. Der erste Kontakt tu UML besteht häufig darin, dass Diagramme in UML im Rahmen von Softwareprojekten zu erstellen, zu verstehen oder zu beurteilen sind:

  • Projektauftraggeber und Fachvertreter prüfen und bestätigen zum Beispiel Anforderungen an ein System, welche Wirtschaftanalytiker bzw. Business Analysten in Anwendungsfalldia-grammen in UML festgehalten haben.
  • Softwareentwickler realisieren Arbeitsabläufe, die Wirtschaftsanalytiker bzw. Business Ana-lysten in Zusammenarbeit mit Fachvertretern in Aktivitätsdiagrammen beschrieben haben.
  • Systemingenieure installieren und betreiben Softwaresysteme basierend auf einem Installationsplan, der als Verteilungsprogramm vorliegt.

Die Unified Modeling Language (UML) ist ein standardisiertes Diagramm- und Notationswerkzeug für die objektorientierte Softwareentwicklung. UML bietet klare Vorgaben zur Erstellung von Artefakten, die als Modelle dienen, um Softwareentwürfe zu visualisieren, zu spezifizieren, zu konstruieren und zu dokumentieren. Diese Artefakte tragen wesentlich zur Konkretisierung einer Applikation bei, da sie technische Details verständlich und für alle Stakeholder zugänglich machen.

Die Unified Modeling Language (UML) ist eine standardisierte Modellierungssprache, die in der Softwareentwicklung verwendet wird, um Systeme, insbesondere objektorientierte Software, zu visualisieren, zu spezifizieren, zu konstruieren und zu dokumentieren. UML bietet eine Reihe von Diagrammtypen, die verschiedene Aspekte eines Systems darstellen. 

DiagrammtypVorgabenBeitrag zur Konkretisierung
KlassendiagrammZeigt die Struktur des Systems durch Klassen, Attribute, Methoden und Beziehungen. Klassen werden durch Rechtecke dargestellt, unterteilt in drei Bereiche: Name, Attribute, Methoden. Beziehungen wie Assoziationen, Vererbungen und Abhängigkeiten werden durch spezifische Linien und Pfeile definiert.Visualisiert die Datenstruktur und zeigt, wie Objekte miteinander interagieren. Hilft bei der Definition von Datenmodellen und der Identifikation von Verantwortlichkeiten innerhalb der Applikation.
VerteilungsdiagrammModelliert die physische Verteilung von Komponenten in einer Laufzeitumgebung. Knoten repräsentieren Hardware oder Laufzeitumgebungen, und Artefakte repräsentieren ausführbare Softwarekomponenten.Zeigt die physische Architektur der Applikation, z. B. welche Server welche Softwaremodule hosten. Unterstützt Entscheidungen über Skalierung, Performance und Infrastruktur.
InteraktionsdiagrammeSequenzdiagramme modellieren den zeitlichen Ablauf von Interaktionen zwischen Objekten. Kommunikationsdiagramme zeigen, wie Nachrichten zwischen Objekten ausgetauscht werden.Veranschaulichen die Dynamik des Systems, indem sie den Nachrichtenfluss und die Reihenfolge von Interaktionen darstellen. Helfen, komplexe Prozessabläufe zu analysieren und zu dokumentieren.
AktivitätsdiagrammStellt Workflows oder Geschäftsprozesse in Form von Aktivitäten, Entscheidungen und parallelen Abläufen dar. Aktivitätsknoten repräsentieren Aktionen, Entscheidungsknoten visualisieren Verzweigungen.Bietet eine klare Darstellung der Prozesslogik und der Abfolge von Aktionen. Unterstützt die Modellierung von Geschäftsprozessen, die von der Applikation abgebildet werden müssen.

Die Vorgaben von UML an die Erstellung von Artefakten wie Klassendiagrammen, Verteilungsdiagrammen und Interaktionsdiagrammen fördern eine präzise Modellierung der Architektur, Struktur und Abläufe einer Applikation. Diese Artefakte tragen entscheidend dazu bei, Anforderungen zu klären, Designentscheidungen zu dokumentieren und eine reibungslose Kommunikation zwischen allen Beteiligten zu gewährleisten. Durch ihre Nutzung wird die Entwicklung strukturierter, die Implementierung effizienter und die langfristige Wartung einfacher.

BeitragBeschreibung
Unterstützung bei der AnforderungsanalyseUML-Artefakte ermöglichen eine klare Visualisierung der Anforderungen. Sie schaffen ein gemeinsames Verständnis zwischen Entwicklern, Business-Stakeholdern und Endbenutzern.
Klärung der technischen ArchitekturArtefakte wie Klassendiagramme und Verteilungsdiagramme definieren die strukturellen und physischen Aspekte der Applikation. Sie legen die Grundlage für die Auswahl von Technologien, Datenbanken und Infrastruktur.
Verbesserung der KommunikationUML bietet eine einheitliche Sprache, die Missverständnisse zwischen Entwicklern, Designern und Kunden minimiert.
Unterstützung bei der ImplementierungDiagramme können direkt in Code umgesetzt werden, z. B. durch Code-Generierungstools. Entwickler können sich auf die modellierten Strukturen und Abläufe verlassen.
Vereinfachung von Wartung und WeiterentwicklungGut gepflegte UML-Artefakte dienen als Dokumentation, die bei der Fehlersuche, Anpassungen oder Erweiterungen der Applikation hilfreich ist.