UML tool

UML tool

Ein UML-Werkzeug ist ein Anwendungsprogramm, das einige oder auch alle Phasen im Entwicklungsprozess oder die Erzeugung von Artefakten unterstützt, die in der Unified Modeling Language (UML), einer Modellierungssprache für Software und andere Systeme, beschrieben sind.

Ein Teil der Modellierungswerkzeuge für den Softwareentwurf ist nicht auf UML fokussiert, unterstützt jedoch Aspekte der UML zu einem gewissen Grade, als Erweiterung oder Komponente der grundlegenden Funktionalität.

Inhaltsverzeichnis

Aspekte der Funktionalität

Aspekte der Funktionalität von UML-Werkzeugen sind unter anderem die Unterstützung von Diagrammen, Codeerzeugung und Reverse Engineering.

Diagrammunterstützung

Diagrammunterstützung bedeutet in diesem Zusammenhang das Erzeugen und Bearbeiten von UML-Diagrammen, das heißt Diagrammen, die konform zur graphischen Notation der UML sind.

Auf die Verwendung von UML-Diagrammen, um Diagramme von hauptsächlich objektorientierter Software zu zeichnen, hat man sich im allgemeinen unter Software-Entwicklern geeinigt. Andererseits wird kontrovers diskutiert, ob und in welchen Phasen der Softwareentwicklung solche Diagramme überhaupt benötigt werden, und wie (wenn überhaupt) diese Diagramme aktualisiert werden sollten. Der Vorrang des Programm-Codes führt oft dazu, dass die Diagramme vernachlässigt werden.

Modelltransformation

Ein wesentlicher Bestandteil der modellgetriebenen Architektur ist die Fähigkeit, verschiedene Modelle ineinander zu transformieren. Es ist zum Beispiel möglich diese Fähigkeit auf die Codeerzeugung anzuwenden, um aus einer UML-Notation automatisch Java-Code zu erzeugen. Des weiteren können verschiedene Arten von UML-Modellen ineinander umgewandelt werden. Dies wird zum Beispiel durch QVT (für Queries/Views/Transformations) ermöglicht. Ein Beispiel für eine QVT-Implementierung ist die ATL-Sprache von INRIA.

Codeerzeugung

Codeerzeugung bedeutet in diesem Zusammenhang, dass der Anwender UML-Diagramme mit spezifizierten Modelldaten erzeugt, und das UML-Werkzeug daraus einen Teil oder den gesamten Quellcode ableitet. Bei einigen Werkzeugen kann der Anwender ein Gerüst des Programm-Quellcodes in Form eines Code-Templates bereitstellten, in welchem dann vordefinierte Token während der automatischen Codeerzeugung durch Quellcode ersetzt werden.

Der Nutzen der Codeerzeugung als solcher ist strittig und hängt zweifellos von dem spezifischen Feld und Grad der Anwendung ab. In bestimmten Bereichen ist die Codeerzeugung eine etablierte Methode und nicht auf UML beschränkt.

Die Idee, die Ebene des Programmcodes komplett zu verlassen und das „Programmieren“ auf der Ebene von UML zu beginnen (also auf Entwurfsniveau), ist unter Entwicklern umstritten. Es ist die Vision der modellgetriebenen Architektur. Die Idee ist nicht so verbreitet wie andere Werkzeuge der Softwareentwicklung, etwa Compiler und Systeme für das Konfigurationsmanagement.

Eine oft zitierte Kritik lautet, dass UML-Diagrammen eben jene Detailgenauigkeit fehlt, die notwendig ist, um die im Quellcode enthaltene Information abzudecken. Manche Entwickler sagen sogar: „Der Code ist der Entwurf“.

Reverse Engineering

Reverse Engineering bedeutet in diesem Kontext, dass das UML-Werkzeug Quellcode als Eingabe liest und daraus entsprechende UML-Diagramme und Modelldaten ableitet (im Gegensatz zu der etwas umfassenderen Bedeutung, die im Artikel Reverse Engineering beschrieben ist). Einige der Herausforderungen des Reverse Engineering sind:

  • Der Quellcode hat oft sehr viel genauere Informationen, als man in Entwurfsdiagrammen sehen möchte. Dieses Problem wird innerhalb der Software-Architektur-Rekonstruktion behandelt.
  • Diagramminformation findet sich gewöhnlich nicht im Quellcode, so dass das UML-Werkzeug wenigstens für einen Anfangsschritt ein zufälliges Layout der grafischen Symbole der UML-Notation erzeugen, oder einen Layoutalgorithmus verwenden muss, der die Symbole derart platziert, dass der Anwender das Diagramm verstehen kann. Zum Beispiel sollten die Symbole so angeordnet werden, dass sie sich nicht überlappen. Gewöhnlich muss der Anwender die automatisch generierten Diagramme manuell überarbeiten, so dass sie Bedeutung gewinnen. Zudem ergibt es meist keinen Sinn, Diagramme aus dem gesamten Quellcode abzuleiten, da diese mehr Detailinformation enthalten würden, als in UML-Diagrammen von Interesse ist.
  • Einige Programmiersprachen besitzen Konstrukte, die in ihrer ganzen Komplexität automatisch besonders schwer in UML-Diagramme umzuwandeln sind, wie etwa Klassen- oder Funktions-Templates in C++.

„Roundtrip“-Engineering

Manche UML-Werkzeuge bezeichnen die Fähigkeit, den Programmcode, die Modelldaten und die UML-Diagramme konsistent zu halten, als „roundtrip“ (die Verwendung von synchronisierten Fassungen wird auch Round Trip Engineering genannt).

Das bedeutet, dass der Anwender die Möglichkeit hat, entweder die Modelldaten (durch Veränderung der entsprechenden Diagramme) oder den Quellcode zu verändern, und das Werkzeug das Gegenstück automatisch aktualisiert.

XMI-Unterstützung

Die meisten UML-Werkzeuge ermöglichen das Speichern und Exportieren der UML-Modelle im XMI-Format. Theoretisch sollte die von einem UML-Werkzeug erzeugte XMI-Datei von einem anderen UML-Werkzeug gelesen werden können, jedoch erweisen sich in der Praxis die komplexeren UML-Entwürfe als inkompatibel bezüglich verschiedener Werkzeuge.

Unterstützung von UML 2.0

Die UML-2.0-Spezifikation umfasst 13 verschiedene Diagramme. Verglichen mit den 1.x-Versionen gibt es viele neue Symbole und auch neue Semantik. Viele UML-Werkzeuge unterstützen angeblich UML 2.0 – in Wirklichkeit wird der neue Standard von den meisten nur teilweise unterstützt. Manche Erweiterungen, die in kaum einem Werkzeug unterstützt werden, sind zum Beispiel strukturierte Classifier, named frames in Sequenzdiagrammen und das Zeitverlaufsdiagramm.

Programme

Freie Software

Proprietäre Software

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • UML tool — A UML tool or UML modeling tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language (UML), which is the industry standard general purpose modeling language for software… …   Wikipedia

  • JUDE (UML Tool) — Jude(the accurate name is JUDE from Professional and Community edition.) is a UML Modeling tool created by the Japanese company [http://www.change vision.com/index en.html ChangeVision] (a related company of [http://www.esm.co.jp/ Eiwa System… …   Wikipedia

  • UML Pad — is a CASE tool for UML diagram design. UML Pad is free software licenced under the GPL.ee also*List of UML toolsExternal links* [http://web.tiscali.it/ggbhome/umlpad/umlpad.htm UML Pad website] …   Wikipedia

  • UML-based Web Engineering (UWE) — UWE (UML based Web Engineering) is a software engineering approach for the development of Web applications. UWE provides a UML profile (UML extension), a metamodel, model driven development process and tool support for the systematic design of… …   Wikipedia

  • UML-based Web Engineering — UWE (UML based Web Engineering) is a software engineering approach for the development of Web applications. UWE provides a UML profile (UML extension), a metamodel, model driven development process and tool support for the systematic design of… …   Wikipedia

  • List of UML tools — This article lists Unified Modeling Language tools, classified by their proprietary or non proprietary status. Non proprietary UML tools *Acceleo: Eclipse and EMF template based system for source code generation from UML models. *AmaterasUML:… …   Wikipedia

  • Executable UML — Executable UML, often abbreviated to xtUML [Example usage: http://www.techonline.com/community/tech topic/37519] or xUML [Example usage: http://www.kc.com/xuml.php] , is the evolution of the Shlaer Mellor method to UML. Executable UML graphically …   Wikipedia

  • Umbrello UML Modeller — Infobox Software name = Umbrello logo= caption = Umbrello 1.5.3 with a sample diagram developer = The Umbrello Team latest release version = 2.0.0 latest release date = January 12, 2008 operating system = Linux genre = UML tool | license = GPL… …   Wikipedia

  • Poseidon for UML — Infobox Software name = Poseidon for UML caption = developer = Gentleware AG latest release version = 6.0 latest release date = 2007 operating system = Cross platform genre = UML tool license = [http://www.gentleware.com/index.php?id=120/… …   Wikipedia

  • MetaCASE tool — meta CASE tool is a type of application software that provides possibility to use more than one modelling metodics or notations within process of software development. Another definition: Meta CASE tools are software tools that support the design …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”