Unified Modeling Language
UML ist die Abkürzung für Unified Modeling Language, eine von der Object Management Group entwickelte Entwurfssprache in Form von graphischer Notation um Strukturen und Abläufe in objektorientierten Programmsystemen darzustellen.
Die UML schafft eine allgemeine Norm für "technische Zeichnungen" nicht nur in der Informatik. Die Väter der UML (insbesondere Grady Booch, Ivar Jacobson und James Rumbaugh) sind äußerst bekannte Propagandisten der objektorientierten Programmierung, die alle bereits ihre (mehr oder weniger ähnlichen) eigenen Systeme entwickelt hatten. Als sie zusammen bei der Firma Rational beschäftigt waren, entstand der Ansatz, die verschiedenen Notationssysteme strukturiert zusammenzuführen.
UML unterstützt in der Version 1.5 acht verschiedene Diagrammtypen wie
- Statische-Diagramme
- 1. Anwendungsfalldiagramm (use case)
- 2. Klassendiagramm (class)
- Verhaltens-Diagramme
- 3. Zustandsdiagramm (statechart)
- 4. Aktivitätsdiagramm (activity)
- 5. Sequenzdiagramm (sequence)
- 6. Kollaborationsdiagramm (collaboration)
- Implementierungs-Diagramme
- 7. Paketdiagramm (component)
- 8. Verteilungsdiagramm (deployment)
UML ist programmiersprachenunabhängig, wobei die volle Bandbreite der Modellierungsmöglichkeiten mittels UML erst bei objektorientierten oder objektbasierten Programmiersprachen ausgeschöpft werden kann.
Die UML-Diagramm-Semantik (Metamodelle oder MetaMetadaten) wird innerhalb der so genannte M2-Ebene nach MOF (Meta Object Facility) abgebildet.
CASE-Werkzeuge (Computer Aided Software Engineering) helfen beim Erstellen von UML-Modellen. Die Tools können aus den Diagrammen Quellcode generieren - darin liegt die besondere Leistungsfähigkeit von UML-Tools. Auch können sie vorhandenen Code einlesen und daraus die entsprechenden Diagramme erzeugen. Diese beiden Funktionalitäten erlauben Roundtrip-Engineering. Der Datenaustausch zwischen Werkzeugen verschiedener Hersteller erfolgt über das XMI-Dateiformat (XMI = XML Metadata Interchange).
Weblinks
- OMG UML Die offizielle UML-Spezifikation (englisch)
- UML Resource Page (englisch)
- UML-Mailingliste
- ArgoUML ist ein Open-Source-Werkzeug, das XMI unterstützt
- objectiF ist ein Werkzeug, das die UML bis hin zur Code-Generierung in C++, Java, C+ und VB.NET unterstützt
- Umbrello ist ein weiteres, modernes UML-Tool, das zum Beispiel C++ und Java Quellcode erzeugen kann.
- UML-Werkzeugübersicht Übersicht vieler UML-Tools und ihrer Fähigkeiten
- Fujaba ist ein Open-Source-Werkzeug