UML 2.0

Die Unified Modeling Language (UML) ist eine visuelle Beschreibungssprache zur Spezifikation, Visualisierung, Konstruktion und Dokumentation von Softwaresystemen. Die Spezifikation der UML besteht aus zwei Teilen:

  • UML Semantik (Meta-Modell zur Beschreibung der abstrakten Syntax und Semantik für die Umsetzung der Modellierungskonzepte)
  • UML Notation (Grafische Notation zur Visualisierung der Semantik)

Die UML entstand aus dem Bedürfnis, die objektorientierten Methoden von BOOCH und RUMBEAUGH zu einer gemeinsamen Methode zusammenzuführen. Da aber eine Methode ein Beschreibungsmodell, Techniken (Handlungsanweisungen) und ein Vorgehensmodell umfasst, kam man zu dem Schluss, die Syntax für die Notation in den Mittelpunkt der Standardisierungsbemühungen zu stellen. Auf den Schritt, ein gemeinsames Vorgehensmodell aufzustellen und damit die UML zu einer Methode zu erheben, hat man dabei bewusst verzichtet. Die Einigung auf ein Vorgehen hätte zweifellos einen weitaus größeren Einfluss auf die weltweite
Entwicklung von Software und eine schnelle Einigung wäre deshalb fraglich gewesen.

Um die trotzdem verbleibende Komplexität der Aufgabenstellung zu bewältigen, einigte man sich zunächst auf eine gemeinsame grafische Sprache. Später wurde dieser eine Semantik hinzugefügt und das Ergebnis als Modellierungssprache bezeichnet. JACOBSON steuerte später seine USE CASES bei und machte die UML endgültig zu einem Quasi-Standard.

Ziele

Beim Entwurf der UML standen die folgenden Ziele im Vordergrund:

  • Bereitstellung einer sofort anwendbaren, ausdrucksstarken grafischen Modellierungssprache für die Entwicklung und den Austausch von Modellen. Zu diesem Zweck wurden in der UML verschiedene Kernkonzepte der Modellierung konsolidiert, die über zahlreiche verschiedene Methoden und Modellierungswerkzeuge hinweg allgemein anerkannt sind.
  • Das Vorsehen von Erweiterungs- und Spezialisierungsmechanismen für die Erweiterung der Kernkonzepte, um das "Maßschneidern" der UML bei neuen oder domänenspezifischen Bedürfnissen zu ermöglichen. Dabei sollen die allgemeinen Kernkonzepte nicht für jedes Gebiet neu definiert oder reimplementiert werden. Dem Nutzer der UML muss es möoglich sein,
    • Modelle unter der Verwendung der Kernkonzepte zu erstellen, ohne Erweiterungsmechanismen zu nutzen,
    • neue Konzepte und Notationen für Probleme hinzuzufügen, die nicht durch den Kern der UML abgedeckt werden,
    • zwischen Interpretationsvarianten für existierende Konzepte zu wählen, wenn kein klarer Konsens existiert und
    • die Konzepte, Notationen und Einschränkungen für spezifische Anwendungsdomänen zu spezialisieren.
  • Unterstützung von Spezifikationen, die unabhängig von einzelnen Programmiersprachen und Entwicklungsprozessen sind.
  • Bereitstellung einer formalen Basis für das Verständnis der Modellierungssprache. Dafür muss die Sprache gleichzeitig präzise und anwendbar sein. Die UML sieht hierfür im Wesentlichen eine exakte natürliche Sprache vor. Ein vollständig formaler Ansatz, wie er z.B. zur Spezifikation von Algol-68 verwendet wurde, erschien für die meisten praktischen Fälle nicht ausreichend anwendbar.
  • Die Unterstützung des Wachstums auf dem Tool-Markt sollte über die Verfügbarkeit einer Standard-Modellierungssprache erfolgen, die durch die meisten Anwender und Werkzeuge genutzt wird. Dieses Vorgehen soll den Austausch von Modellen gewährleisten. Die Verwendung einer weiteren Metaebene ist hierfür keine Lösung, solange die Abbildung auf die Konzepte der Anwendungsebene nicht im Standard enthalten ist.
  • Die Unterstützung von High-Level Konzepten, wie z. B. Komponenten, Frameworks und Mustern ist wesentlich, um den vollen Nutzen der Objektorientierung und Wiederverwendung zu erreichen.
  • Das Einbeziehen von "best practices" der Industrie war eine weitere Schlüsselmotivation zur Entwicklung der UML.

Download

Die Unified Modeling Language ist die Standardsprache für die objektorientierte Analyse und den objektorientierten Entwurf. Unsere Typisierung enthält einige der neuen Features der UML, insbesondere innerhalb der Aktivitätsdiagramme.

DownloadDownload ETZ-Datei

Ein Beispiel zur Verwendung der UML finden Sie unter diesem Link. Dort wurde mittels der UML das Meta-Modell des Semantischen Objektmodells (SOM) dargestellt.