UML steht für Unified Modeling Language, was auf Deutsch "Vereinheitlichte Modellierungssprache" bedeutet. Es handelt sich um eine standardisierte Modellierungssprache, die in der Softwareentwicklung verwendet wird, um visuelle Darstellungen von Systemen und deren Struktur, Verhalten und Architektur zu erstellen. UML bietet eine gemeinsame Sprache und einheitliche Notationen, die von Entwicklern, Analysten und anderen Stakeholdern verwendet werden können, um ein besseres Verständnis für komplexe Systeme zu entwickeln.
UML bietet verschiedene Diagrammtypen, die verschiedene Aspekte eines Systems darstellen können. Hier sind einige der häufig verwendeten UML-Diagramme:
Klassendiagramm: Zeigt die Struktur eines Systems durch Klassen, ihre Attribute, Methoden und die Beziehungen zwischen den Klassen an.
Sequenzdiagramm: Stellt die Interaktion zwischen verschiedenen Objekten oder Klassen in einer zeitlichen Reihenfolge dar und zeigt, wie Nachrichten zwischen ihnen übermittelt werden.
Use Case-Diagramm: Beschreibt die verschiedenen Anwendungsfälle (Use Cases), die ein System unterstützt, und die Akteure, die an diesen Anwendungsfällen beteiligt sind.
Zustandsdiagramm: Zeigt die verschiedenen Zustände, in denen sich ein Objekt während seines Lebenszyklus befinden kann, sowie die Übergänge zwischen diesen Zuständen.
Aktivitätsdiagramm: Beschreibt den Ablauf von Aktivitäten oder Prozessen in einem System und zeigt den Fluss von Aktivitäten sowie die Entscheidungen und Parallelitäten im Prozess.
Komponentendiagramm: Zeigt die physischen Komponenten eines Systems und deren Abhängigkeiten voneinander.
Verteilungsdiagramm: Beschreibt die physische Verteilung von Komponenten auf verschiedenen Hardware- oder Netzwerkressourcen.
UML-Diagramme dienen dazu, komplexe Software- und Systementwicklungsprozesse zu vereinfachen und zu visualisieren. Sie ermöglichen es den Teammitgliedern, unabhängig von ihrer technischen Hintergrundkenntnis, ein gemeinsames Verständnis für das System zu entwickeln und erleichtern die Kommunikation zwischen den Teammitgliedern und anderen Stakeholdern im Entwicklungsprozess.