menu Navigation

UML – Unified Modeling Language

Die UML ist die Notation zur Modellierung von fast allem. Auch wenn Sie momentan hautpsächlich
als Softwaretool wahrgenommen wird, ist sie doch schon für so unterschiedliche Dinge erfolgreich eingesetzt worden, wieGeschäftsprozessmodellierung, Modellierung komplexer Systems of Systems oder Definition einer Ontologie. Hier finden Sie einige Informationen zur UML.

Wir beschreiben wie es zur UML gekommen ist und geben Ihnen einen Überblick über die Notation, den Sie auch gerne kopieren dürfen. Sie wollen sich die UML an die Wand hängen oder aus der Kurzreferenz Kaffee trinken? Das UML-Poster und den UML-Becher finden Sie in unserem Webshop. Zum Nachschlagen haben wir ein UML-Glossar und eine Liste mit deutschen Übersetzungen der englischen Fachbegriffe (für Historiker: UML 1-Glossar).

Object Management Group

Die Object Management Group ist die Organisation hinter der UML. oose ist dort Mitglied und arbeitet im Netzwerk der internationalen UML-Experten an der UML-Spezifikation mit.

Auf der UML-Website der OMG gibt es eine Fülle von weitergehenden Informationen. Insbesondere natürlich die aktuelle UML-Spezifikation selbst. Das ist ein komplexes Werk von über 1000 Seiten (wenn man zugehörige Dokumente wie OCL dazurechnet). Selbstverständlich gibt es dort noch Fehler. Jeder Leser, egal ob Mitglied oder nicht, kann diese über ein Formular melden. Allerdings ist der Fehler vielleicht schon gemeldet. Es gibt nämlich schon eine eine lange Liste, die aber auch so interessant ist, weil manch vermeintlicher Fehler einfach ein Missverständnis ist.

Zur UML-Spezifikation gehört auch das maschinenlesbare Metamodell. Wir haben es mit einem Tool aufbereitet, so dass Sie es im Webbrowser betrachten können:

UML 2.4.1 Metamodell

Gut geeignet auch zur Vorbereitung auf die Prüfung (siehe unten).

Die UML besteht aus 242 Metaklassen, wovon aber nur 193 effektiv sind (49 sind abstrakt). In dieser Datei finden Sie eine taxonomische Übersicht, die man sogar lesbar auf DIN A3 ausdrucken kann.

UML 2.4.1 Taxonomy

Enthalten sind so gut wie alle Metaklassen und ihre Spezialisierungen und Generalisierungen. Weggelassen haben wir nur 34 spezielle Aktionen, die wirklich nur für spezielle Zwecke gebraucht werden (Stichwort Ausführbarkeit). Um Kreuzungsfreiheit zu erreichen haben wir ein paar Klassen mehrfach im Diagramm aufgenommen. Diese Doubles sind dann in einer helleren Farbe dargestellt. Bei jeder Klasse in einer dunklen Farbe sind alle ihre Generalisierungen und Spezialisierungen angegeben.

Zertifizierung

Die OMG hat ein Programm zur Zertifizierung von UML-Professionals aufgelegt, damit man das mühsam erworbene Wissen auch nachweisen kann. Hier finden Sie weitere Informationen.

UML-Werkzeuge

Ein reines Malwerkzeug tut es nicht für die UML. Schließlich muss das Tool auch das Modell selbst verwalten können. Die Diagramme sind ja nur Sichtenauf das Modell. Die Auswahl an Tools ist groß, aber das eine ultimative Tool gibt es nicht. Wir helfen Ihnen gerne, das für Ihre Anforderungen passendeModellierungswerkzeug auszuwählen. Hier ist eine unkommentierte Werkzeugliste für Ihre Vorauswahl.

Generierung von Dokumenten aus UML-Modellen

Was man modelliert hat, kann man in vielfältiger Form verwenden. Wenn’s sein muss auch zum Generieren von Dokumenten – und es ist häufig nötig. Für verschiedene Leserkreise benötigt man eben ausgewählte Inhalte des Modells, in lesbarer Form präsentiert. Das Thema wird zur Zeit heiß diskutiert, ein Standard der OMG ist im Gespräch. Wir haben gute Erfahrungen gemacht mit verschiedenen Ansätzen. Man kann eine bekannte Template-Sprache (z.B.Velocity oder Xtend) verwenden, die von manchen Tools auch intern eingesetzt wird. Andere Tools haben ihren proprietären Vorlageneditor an Bord. Ein ganz neuer Ansatz des European Southern Observatory definiert das Dokument mittels Stereotypen als UML-Modell. Wer Magic Draw verwendet, kann das Open Source-Plugin bei SourceForge herunterladen.

UML Bücher

Analyse und Design mit UML 2.5, Bernd Oestereich, Axel Scheithauer unter Mitarbeit von Stefan Bremer 11. Auflage, 2013, 350 Seiten, Oldenbourg Wissenschaftsverlag

UML 2 – Zertifizierung: Fundamental, Intermediate und Advanced, Test-Vorbereitung zum OMG Certified UML Professional, Tim Weilkiens, Bernd Oestereich, 1. Aufl., 2006, 321 Seiten, dpunkt.verlag

UML Notationsübersicht

Hier finden Sie die aktuelle UML 2 Notationsübersicht (PDF-Datei, 4 Seiten, 304 KB)

Weitere Notationsübersichten

Lizenz

Alle hier angebotenen Dateien stehen unter der Creative Commons Lizenz.

UML-Historie

Die Idee der Objektorientierung ist über 30 Jahre alt und fast ebenso lange liegt die Entwicklung objektorientierter Programmiersprachen zurück. Während es etwa solange bereits Publikationen zur objektorientierten Programmierung gibt, erschienen die ersten Bücher über objektorientierte Analyse- und Designmethoden erst Anfang der 90er Jahre.

Zu ihnen gehören die von Booch, Coad und Yourdon, Rumbaugh u.a., Wirfs-Brock und Johnson, Shlaer und Mellor, Martin und Odell, Henderson-Sellers, Firesmith. Wichtige Impulse gaben auch Goldberg und Rubin sowie Jacobson. Viele Methoden sind auf bestimmte Anwendungsbereiche spezialisiert und begrenzt.

Die Methoden von Grady Booch und James Rumbaugh haben sich Anfang der 90er Jahre zu den deutlich beliebtesten Methoden entwickelt. Die Methode von Rumbaugh war dabei eher an die strukturierten Methoden angelehnt. Die von Booch deckte die Bereiche kommerzieller, technischer und vergleichsweise gut auch zeitkritischer Anwendungen ab. 1995 begannen Booch und Rumbaugh dann, ihre Methoden zunächst in Form einer gemeinsamen Notation zur Unified Method (UM) zusammenzuführen. Die Unified Method wurde jedoch schon bald in Unified Modeling Language (UML) umbenannt, was auch eine angemessenere Bezeichnung darstellte, weil es sich im wesentlichen nur um die Vereinheitlichung der grafischen Darstellung und Semantik der Modellierungselemente handelte, jedoch keine Methodik beschrieben wurde. Modeling Language ist hauptsächlich eine vornehmere Umschreibung für Notation.

Kurze Zeit später stieß auch Ivar Jacobson dazu, so daß die von ihm geprägten Use Cases (dt. Anwendungsfälle) integriert wurden. Die drei nannten sich fortan „Amigos“. Weil die Methoden von Booch, Rumbaugh und Jacobson bereits sehr populär waren und einen hohen Marktanteil hatten, bildete die Zusammenführung zur Unified Modeling Language (UML) einen Quasi-Standard. Schließlich wurde 1997 die UML in der Version 1.1 bei der Object Management Group (OMG) zur Standardisierung eingereicht und akzeptiert. Die Versionen 1.2 bis 1.5 enthalten jeweils einige Korrekturen. Die Version 2.0 ist bei der OMG in Vorbereitung und wird ca. 2003/2004 erscheinen. Aktuelle Informationen hierzu finden Sie unter http://www.omg.org/uml/.

Die UML ist in erster Linie die Beschreibung einer einheitlichen Notation und Semantik sowie die Definition eines Metamodells. Die Beschreibung einer Entwicklungsmethode gehört nicht direkt dazu, sie wurde erst Anfang 1999 mit der Publikation des Buches [Jacobson99, The Unified Software Development Process], dem sogenannten Unified Process (UP) auf einem sehr abstrakten Niveau nachgeliefert. Eine konkretere Methodik findet sich in der 5. Auflage des Buches „Objektorientierte Softwareentwicklung, Analyse und Design mit der UML“ von Bernd Oestereich. Zu dem von den Amigos publizierten Vorgehen Unified Process gibt es ebenfalls verschiedene Ausprägungen, beispielsweise den Rational Unified Process (RUP) und den Object Engineering Process (OEP).

Die UML ist sehr vielfältig und integriert auch interessante Ideen und Konzepte anderer Autoren. Neben den Gedanken von Booch, Rumbaugh und Jacobson finden sich zum Beispiel auch die von Harel (Zustandsdiagramme) wieder.

 

Erdrückende Vielfalt? Die Grundkonzepte objektorientierter Softwareentwicklungsmethodik sind ausgereift und bewähren sich in der Praxis. Andererseits bietet gerade die UML einen beachtlichen Detailreichtum und ist daher durchaus mit Bedacht anzuwenden.

Die Vielfalt der Beschreibungsmöglichkeiten kann sehr erdrückend wirken, ein tieferes Verständnis für die UML-Konstrukte in allen Facetten erfordert einigen Aufwand. In einer ersten Annäherung kann man sich deshalb auf die grundlegenden Elemente beschränken. In unseren Seminaren berücksichtigen wir diese Erkenntnisse explizit und vermitteln auch, welche UML-Konstrukte in der Prxais problematisch und welche wichtig sind. Es bleiben dadurch gegebenenfalls zwar semantische Lücken in der Modellierung, dennoch kann die Arbeit auf diesem Niveau in der Praxis ausreichen. Ganz abgesehen davon wird vielerorts überhaupt keine Systematik angewendet.