Sie sind auf Seite 1von 4

UML-Werkzeug

Ein UML-Werkzeug ist ein Anwendungsprogramm, das eine QVT-Implementierung ist die ATL-Sprache von INeinige oder auch alle Phasen im Entwicklungsprozess RIA.
oder die Erzeugung von Artefakten untersttzt, die in
der Unied Modeling Language (UML), einer Modellierungssprache fr Software und andere Systeme, beschrie- 1.3 Quelltexterzeugung
ben sind.
Quelltexterzeugung bedeutet in diesem Zusammenhang,
Ein Teil der Modellierungswerkzeuge fr den dass der Anwender UML-Diagramme mit spezizierSoftwareentwurf ist nicht auf UML fokussiert, un- ten Modelldaten erzeugt, und das UML-Werkzeug als
tersttzt jedoch Aspekte der UML zu einem gewissen Codegenerator fungiert und daraus einen Teil oder
Grade, als Erweiterung oder Komponente der grundle- den gesamten Quelltext ableitet. Bei einigen Werkzeugenden Funktionalitt.
gen kann der Anwender ein Gerst des ProgrammQuelltextes in Form eines Code-Templates bereitstellten,
in welchem dann vordenierte Token whrend der automatischen Codeerzeugung durch Quelltext ersetzt wer1 Aspekte der Funktionalitt
den.
Aspekte der Funktionalitt von UML-Werkzeugen sind Der Nutzen der automatischen Quelltexterzeugung aus
unter anderem die Untersttzung von Diagrammen, UML-Diagrammen als solcher ist strittig und hngt zweifellos von dem spezischen Feld und Grad der AnwenCodeerzeugung und Reverse Engineering.
dung ab. In bestimmten Bereichen ist die Codeerzeugung
eine etablierte Methode und nicht auf UML beschrnkt.
Die Idee, die Ebene des Programmcodes komplett zu verlassen und das Programmieren auf der Ebene von UML
Diagrammuntersttzung bedeutet in diesem Zusam- zu beginnen (also auf Entwurfsniveau), ist unter Entwickmenhang das Erzeugen und Bearbeiten von UML- lern umstritten. Es ist die Vision der modellgetriebenen
Diagrammen, das heit Diagrammen, die konform zur Architektur. Die Idee ist nicht so verbreitet wie andere
Werkzeuge der Softwareentwicklung, etwa Compiler und
graphischen Notation der UML sind.
Systeme fr das Kongurationsmanagement.
Auf die Verwendung von UML-Diagrammen, um Diagramme von hauptschlich objektorientierter Software Eine oft zitierte Kritik lautet, dass UML-Diagrammen
zu zeichnen, hat man sich im allgemeinen unter Software- eben jene Detailgenauigkeit fehlt, die notwendig ist, um
Entwicklern geeinigt. Andererseits wird kontrovers dis- die im Quellcode enthaltene Information abzudecken.
kutiert, ob und in welchen Phasen der Softwareentwick- Manche Entwickler sagen sogar: Der Code ist der Entlung solche Diagramme berhaupt bentigt werden, und wurf. Allerdings handelt es sich bei dem, was mit der
wie (wenn berhaupt) diese Diagramme aktualisiert wer- nicht umsonst so genannten Unied Modeling Language
den sollten. Der Vorrang des Programm-Codes fhrt oft erzeugt wird, immer bestenfalls um ein Modell von Software, nicht um die Software selbst.
dazu, dass die Diagramme vernachlssigt werden.

1.1

Diagrammuntersttzung

1.2

Modelltransformation

1.4 Reverse Engineering


Reverse Engineering bedeutet in diesem Kontext, dass
das UML-Werkzeug den Quelltext 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:

Ein wesentlicher Bestandteil der modellgetriebenen Architektur ist die Fhigkeit, verschiedene Modelle ineinander zu transformieren. Es ist zum Beispiel mglich diese Fhigkeit auf die Codeerzeugung anzuwenden, um aus einer UML-Notation automatisch JavaCode zu erzeugen. Des Weiteren knnen verschiedene Arten von UML-Modellen ineinander umgewandelt
werden. Dies wird zum Beispiel durch QVT (fr Queries/Views/Transformations) ermglicht. Ein Beispiel fr

Der Quellcode hat oft sehr viel genauere Informationen, als man in Entwurfsdiagrammen sehen mch1

2 PROGRAMME
te. Dieses Problem wird innerhalb der Software- die in kaum einem Werkzeug untersttzt werden, sind
Architektur-Rekonstruktion behandelt.
zum Beispiel strukturierte Classier, named frames in
Sequenzdiagrammen und das Zeitverlaufsdiagramm.
Diagramminformation ndet sich gewhnlich nicht
im Quellcode, so dass das UML-Werkzeug wenigstens fr einen Anfangsschritt ein zuflliges Lay2 Programme
out der graschen Symbole der UML-Notation erzeugen, oder einen Layoutalgorithmus verwenden
muss, der die Symbole derart platziert, dass der An- 2.1 Freie Software
wender das Diagramm verstehen kann. Zum Bei ArgoUML
spiel sollten die Symbole so angeordnet werden,
dass sie sich nicht berlappen. Gewhnlich muss der
Eclipse mit Uml2Tools
Anwender die automatisch generierten Diagramme
manuell berarbeiten, so dass sie Bedeutung gewin NClass
nen. Zudem ergibt es meist keinen Sinn, Diagram Netbeans
me aus dem gesamten Quellcode abzuleiten, da diese mehr Detailinformation enthalten wrden, als in
Dia
UML-Diagrammen von Interesse ist.
Fujaba
Einige Programmiersprachen besitzen Konstrukte,
die in ihrer ganzen Komplexitt automatisch be Gaphor
sonders schwer in UML-Diagramme umzuwandeln
Modelio Free Edition
sind, wie etwa Klassen- oder Funktions-Templates
in C++.
OpenAmeos

1.5

Roundtrip-Engineering

PingUML
Software Ideas Modeler

Manche UML-Werkzeuge bezeichnen die Fhigkeit,


den Programmcode, die Modelldaten und die UMLDiagramme konsistent zu halten, als roundtrip (die
Verwendung von synchronisierten Fassungen wird auch
Round-Trip-Engineering genannt).

StarUML

Das bedeutet, dass der Anwender die Mglichkeit hat,


entweder die Modelldaten (durch Vernderung der entsprechenden Diagramme) oder den Quellcode zu verndern, und das Werkzeug das Gegenstck automatisch aktualisiert.

UMLet

1.6

XMI-Untersttzung

Die meisten UML-Werkzeuge ermglichen das Speichern und Exportieren der UML-Modelle im XMIFormat. Theoretisch sollte die von einem UMLWerkzeug erzeugte XMI-Datei von einem anderen UMLWerkzeug gelesen werden knnen, jedoch erweisen sich
in der Praxis die komplexeren UML-Entwrfe als inkompatibel bezglich verschiedener Werkzeuge.

TOPCASED
Umbrello

Violet
WhiteStarUML

2.2 Proprietre Software


Altova UModel
ARIS
Artisan Studio
Astah (ehemals JUDE)
Borland Together
BOUML

1.7

Untersttzung von UML 2.0

Die UML-2.0-Spezikation umfasst 13 verschiedene


Diagramme. Verglichen mit den 1.x-Versionen gibt es
viele neue Symbole und auch neue Semantik. Viele
UML-Werkzeuge untersttzen angeblich UML 2.0
in Wirklichkeit wird der neue Standard von den meisten nur teilweise untersttzt. Manche Erweiterungen,

ConceptDraw
EasyCODE
Embedded UML Studio
Innovator
iBS DesignTime for ABAP

3
MagicDraw UML
Metamill
Microsoft Visio
Microsoft Visual Studio 2010 Ultimate
Modelio Enterprise Edition
objectiF
Poseidon for UML
PowerDesigner von Sybase
radCASE
Rational Rhapsody
Rational Rose
Select Solution Factory von Select Business Solutions
sinelaboreRT
SiSy
Sparx Systems Enterprise Architect
UML Lab
UML 2 Statemachine C/C++ Code Generator
Framework
Visual Paradigm (freie Community-Edition fr
nicht-kommerzielle Nutzung)
yEd

Weblinks
Eine bersicht ber UML-Werkzeuge auf Oose.de
Fachstudie der Universitt Stuttgart zu brauchbaren
UML-Werkzeugen(Okt. 2007; PDF-Datei; 1,07
MB)
Eine bersicht ber 100 UML-Werkzeuge von
Mario Jeckle (Stand 2004)
UML-Werkzeuge auf Freebase

4 TEXT- UND BILDQUELLEN, AUTOREN UND LIZENZEN

Text- und Bildquellen, Autoren und Lizenzen

4.1

Text

UML-Werkzeug Quelle: https://de.wikipedia.org/wiki/UML-Werkzeug?oldid=143670931 Autoren: Aka, KarstenSchulz, Jla net.de, Zwobot, Jpp, Jdiemer, Wiki-observer, DasBee, Juergen nbg, M.L, Sparti, Blah, RedBot, Tobias K., O.Koslowski, Gubaer, Jbraunia, Millbart,
Ma-Lik, Leptokurtosis999, STBR, Kassander der Minoer, Mef.ellingen, Sterling, $pike, Streifengrasmaus, Kissaki, Hayos, HS70, Matthias Reissner, Akribix, Jaellee, Semper, Sebastian.Dietrich, ComillaBot, Baumfreund-FFM, Christian Storm, Avron, Sommerkom, Krawi,
Der.Traeumer, Sliver blue moon, Gerhard Trimpin, Trustable, Erik Warmelink, Prettyprinter, Pittimann, Christian1985, Inkowik, Percy86,
Easycode, Wuryel, Go4wiki, Biezl, Peter O. Mueller, Dlhentsc 1978, Der Hakawati, Xqbot, Stegosaurus Rex, MorbZ-Bot, Serols, Kelti,
Kistano, Yatta Solutions, Cries, KLBot2, AFoltinek, Wush~dewiki, Boshomi, Armand3496, VNeumann, Softmetz, Hiku2 und Anonyme:
62

4.2

Bilder

4.3

Inhaltslizenz

Creative Commons Attribution-Share Alike 3.0