UML (Unified Modeling Language) ist eine Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Modellen für Software- und andere Systeme. Sie wurde von den Programmierern Grady Booch, Ivar Jacobson und James Rumbaugh in den 1990er-Jahren entwickelt. Der Grundgedanke bestand darin, eine einheitliche Notation für alle Softwaresysteme zu entwickeln. Die Object Management Group (OMG) übernahm später die Weiterentwicklung und Standardisierung.
Die Modelle in UML werden in Form von Diagrammen dargestellt. Diese lassen sich zum Beispiel folgendermaßen aufteilen:
1. Strukturdiagramme (zur Beschreibung von statischen Aspekten)
- Kompositionsstrukturdiagramme
2. Verhaltensdiagramme (zur Beschreibung von dynamischen Aspekten)
Außer diesen Diagrammen beinhaltet UML auch die Object Constraint Language (OCL). OCL legt innerhalb dieser Diagramme Randbedingungen fest.