Die Unified Modeling Language - UML
Im Zeitraum Ende der 1980er bis Anfang der 1990er Jahre entstanden mehrere Notationen zur Modellierung von OO-Systemen. Die Grundlage der Notationen waren objektorientierte Programmiersprachen, wie Smalltalk und C++. Einige der wichtigsten Notationen waren:
- Booch (Grady Booch)
- OMT (James Rumbaugh)
- OOSE (Ivar Jacobson)
- Shlaer/Mellor
- Coad/Yourdon
Seit 1994/1995 arbeiteten die "drei Amigos" Grady Booch, James Rumbaugh und Ivar Jaboson in ihrer gemeinsamen Firma Rational Rose an einer Methode, die die Vorteile der einzelnen Notationen vereinen und die ihre Nachteile eliminieren sollte. Es entstand, in Zusammenarbeit mit vielen Firmen aus der Software-Industrie, die Unified Method 0.8, die bis 1997 zur Unified Modeling Language 1.1 weiterentwickelt wurde. Die Notation der UML 1.1 war so umfangreich, daß der Anspruch eine Methode (konkrete Handlungsanweisung zum Erreichen eines Ziels) zu definieren auf die Definition einer Modellierungssprache reduziert wurde.
Die UML 1.1 wurde 1997 bei der Object Management Group (OMG)eingereicht und wurde ein weltweiter Standard im Bereich der Objekt-Orientierten Entwicklung. Mit den Versionen 1.4, bzw. 1.5 war die UML so umfangreich geworden, dass eine neue Definition notwendig wurde. Die Neudefinition erfolgte mit der Version 2.0.
Was ist die UML?
Die UML ist eine Modellierungssprache, also eine Sprache zur Beschreibung von Software-Systemen. Sie bietet eine einheitliche Notation, die für viele Anwendungsgebiete nutzbar ist. Sie enthält 14 Diagramme und Prosa-Beschreibungsformen. Mit Hilfe der UML können statische, dynamische und Implementierungsaspekte von Softwaresystemen beschrieben werden.
Übersicht der UML-Diagramme
Strukturdiagramme (statische Aspekte)
- Klassendiagramm - Class Diagram
- Objektdiagramm - Object Diagram
- Komponentendiagramm - Component Diagram
- Paket Diagramm - Package Diagram
- Kompositionsstrukturdiagramm - Composite Structure Diagram
- Verteilungsdiagramm - Deployment Diagram
- Profildiagramm - Profile Diagram
Verhaltensdiagramme (dynamische Aspekte)
- Aktivitätsdiagramm - Activity Diagram
- Anwendungsfalldiagramm - Use Case Diagram
- Zustandsdiagramm - State Machine Diagram