Kleine Helfer

TextUML - einfach per Text modellieren

31.05.2011
Von Heiko Spindler
Das Eclipse-Plug-in TextUML bietet einen einfachen Editor für Modellinformationen.

Die UML gehört zum Handwerkszeug in der Softwareentwicklung. Leider sind Einarbeitung und Umgang mit den typischen UML-Werkzeugen aufwändig und zeitraubend.

Das Open-Source-Projekt TextUML geht einen komplett anderen Weg: Es bietet nur einen einfachen Editor als Eclipse-Plug-in an. Die Modellinformationen erfasst der Benutzer mit einer einfachen Syntax als Text. Der Editor sorgt für den üblichen Eclipse-Komfort: Validierung während der Eingabe, Syntax-Hervorhebung und eine Outline View. TextUML erzeugt aus der Eingabe ein UML-2-Modell als XMI-Datei (XML Metadata Interchange für den Austausch von UML) und eine grafische Darstellung des Modells als Diagramm. Die Grafik kann leicht in diversen Grafikformaten aus der Diagrammansicht gespeichert werden.

Das folgende Beispiel zeigt zwei Klassen und eine Aggregation:

class ShoppingCart

end;

class CartItem

end;

aggregation HasItems

navigable role item : CartItem[*];

navigable role cart : ShoppingCart[1];

end;

Für die Darstellung nutzt TextUML die Bibliothek GraphVIZ die ebenfalls als Plug-in installiert wird. Die komplette Installation erfolgt über den Eclipse-Update-Mechanismus und ist in einer Anleitung auf der Web-Seite von TextUML beschrieben.

Die Vorteile liegen auf der Hand: Ohne viel Aufwand ist mit wenigen Zeilen Text ein ansprechendes Klassendiagramm erstellt. Die Syntax der textuellen Beschreibung ist logisch und schnell erlernt. Ein gutes Tutorial findet sich auf der Website.

Leider ist TextUML noch weit vom kompletten UML-Standard entfernt und bietet nur Klassen-Modelle mit den wichtigsten Features wie zum Beispiel Klassen, Attribute, Operationen, Stereotypen und Assoziationen. Weitere UML-Elemente sind geplant, aber noch nicht verfügbar. Auch der Einfluss auf die Anordnung und die Darstellung der Klassen ist sehr eingeschränkt.

CW-Fazit

Trotz seiner Einschränkungen bietet TextUML einen pragmatischen Ansatz, der den Umgang mit der UML sehr erleichtert.