Im Zuge des Software-Engineerings habe ich einige Programme ausprobiert, um UML-Diagramme zu erstellen oder sogar um UML-Diagramme aus Java-Sourcecode generieren zu lassen. Dabei ist mir aufgefallen, dass es zahlreiche UML-Tools gibt, aber nur wenige davon intuitiv und übersichtlich sind.
Wirklich gut gefallen hat mir der Violet UML Editor von Cay S. Horstmann. Dieses Programm ist so, wie Software sein sollte: Klar strukturiert, nicht überladen und gut zu bedienen. Wer also schnell und effizient Anwendungsfälle (Use-Cases), Klassendiagramme, Objektdiagramme, Zustandsdiagramme, Aktivitätsdiagramme oder Sequenzdiagramme erstellen möchte, der ist hier bestens beraten. Violet ist ein betriebssystemunabhängiges Java-Programm und nur 1,7 MB groß.
Wem die Diagramme im Violet UML Editor nicht ausreichen, der kann sich mal den „Software Ideas Modeler“ ansehen. Mit insgesamt 19 verschiedenen Diagramm-Arten können hier nicht nur alle 13 möglichen UML-Diagramme, sondern auch CRC-Karten und Diagramme für Endliche Automaten erstellt werden. Selbst die Erzeugung von Quellcode ist möglich. Leider nur für C#, SQL und Visual Basic .NET.
Trotz der großen Funktionsvielfalt beherrscht der „Software Ideas Modeler“ kein Reverse-Engineering. Dafür sind dann Programme wie ArgoUML und Eldean ESS-Model zuständig.
Eldean ESS-Model ist ein portables Tool und kann aus Java-Code mit nur wenigen Klicks ein Klassendiagramm erzeugen. Leider kommt es dabei mit Annotationen durcheinander. Ebenso wie ArgoUML.
Diese Probleme hat die Visual Paradigm for UML 7.2 Standard Edition nicht. Dafür ist das Programm überaus komplex und hat eine sehr dürftige deutsche Übersetzung. Außerdem ist es nur in der „Community Edition“ kostenlos. Dafür kann es aus den Quellcode-Dateien vieler Programmiersprachen verschiedene UML-Diagramme (Klassendiagramme, Paketdiagramme, …) erzeugen. Trotzdem finde ich, dass es nicht der non plus ultra UML-Editor ist.
Wenn ihr ein besseres Programm kennt, dass aus Java-Quellcode übersichtliche Diagramme erzeugen kann und bestenfalls auch noch kostenlos ist, dann schreibt mir bitte einen Kommentar. Wer selbst noch auf der Suche ist, dem empfehle ich den Vergleich von UML-Tools auf der englischen Wikipedia-Seite.