Login
Newsletter
Werbung

Do, 23. Februar 2012, 15:00

UML-Programme im Test

Für die moderne Software-Entwicklung sind Entwicklungswerkzeuge unerlässlich. Das fängt bei einem normalen Interpreter oder Compiler an und hört bei einer Entwicklungsumgebung (Integrated Development Environment, kurz IDE) nicht auf. Für die objektorientierte Programmierung hat es sich in vielen (wirtschaftlichen) Projekten durchgesetzt, vor der Implementierung ein Software-Modell zu erstellen. Hierfür gibt es eine Abstraktionssprache namens UML (Unified Modelling Language). Der Artikel soll einige der unter Linux frei verfügbaren UML-Programme vorstellen.

Vorwort

UML-Programme gibt es fast wie Sand am Meer. Für den Artikel wurden einige der in der Wikipedia unter »Freie Software« gelisteten und unter Linux verfügbaren Programme getestet. Einige der Kandidaten schieden aber bereits im Vorfeld aus:

  • BOUML wird aufgrund von Streitigkeiten mit der Wikipedia seit September 2010 nicht mehr weiterentwickelt. Seit Dezember 2011 wurden aus unbekannten Gründen die Downloads gesperrt, sodass ein Test nicht (mehr) möglich war.
  • Eclipse und Netbeans sind eigene IDEs, die aufgrund ihrer Komplexität nicht getestet wurden. Aus dem gleichen Grund schied Topcased aus, welches auf Eclipse basiert.
  • NClass kann theoretisch mittels Mono ausgeführt werden, funktionierte unter Linux aber leider nicht, da es immer eine System.TypeLoadException gab.
  • Fujaba stammt von der Universität Paderborn, alle Downloadlinks sind aber verwaist und zeigen auf nicht mehr vorhandene Seiten. Daher konnte die Software nicht getestet werden.
  • UMLet ist weniger ein UML-Editor, sondern mehr ein Interpreter für eine eigene Beschreibungssprache, mit der sich dann UML-Elemente darstellen lassen. Dies entspricht aber nicht ganz den Anforderungen an ein echtes UML-Programm, daher wurde von einem Test abgesehen.
  • OpenAmeos konnte einmalig zum Start bewegt werden, versagte danach immer seinen Dienst. Da die Software auch noch einen eigenen Server starten will sowie bei der Installation Root-Rechte verlangt, obwohl man sie im Homeverzeichnis installieren will, wurde das Programm nicht weiter getestet.

Darüber hinaus sei angemerkt, dass jedes Programm nur wenige Stunden getestet wurde, sodass der Artikel keinen Anspruch auf Vollständigkeit erhebt. Daneben kann es sein, dass einige der angeprangerten fehlenden Funktionen im jeweiligen Programm nur etwas versteckt sind, sodass sie im Test nicht intuitiv gefunden werden konnten.

In jedem Programm wurde versucht, ein Klassendiagramm mit den verschiedenen Elementen Paket, Klasse, Interface, Enum, Aggregation, Komposition, Realisierung, Generalisierung und Abhängigkeit darzustellen.

ArgoUML

ArgoUML

Dominik Wagenführ

ArgoUML

ArgoUML ist ein in Java geschriebenes UML-Programm, welches viele Diagrammarten wie Klassendiagramme, Sequenzdiagramme, Anwendungsfalldiagramme, Aktivitätsdiagramme, Zustandsdiagramme und mehr unterstützt. Die Oberfläche ist in Deutsch gehalten, sodass man auch ohne Englisch-Kenntnisse weit kommt, wobei dies im IT-Bereich normalerweise nicht so kritisch ist.

Nach dem Download des gepackten Archives von der Webseite kann man dies einfach entpacken und startet ArgoUML über das Skript ./argouml.sh. Eine funktionierende Java-Installation wird natürlich vorausgesetzt.

Von der Bedienung her lässt sich ArgoUML gut handhaben. Schade ist, dass alle Eingaben über Menüs, Masken und Felder getätigt werden müssen. Eine Direkteingabe der UML-Syntax ist nicht möglich. Seltsam ist auch, dass die Sichtbarkeit der Elemente in Klassen nicht angezeigt wird. Ob eine Operation also von außen genutzt werden kann, erschließt sich bei einem bloßen Blick auf das Diagramm nicht. Ansonsten werden alle gewünschten UML-Elemente unterstützt, nur Enums kann man nicht darstellen, auch nicht als Stereotyp, was etwas schade ist.

Was noch negativ auffällt, ist die fehlende Rückgängig-Funktion. Wer also aus Versehen ein Element löscht oder falsch verschiebt, muss auf einen hoffentlich zuvor gespeicherten Stand zurückgreifen. Auch den automatischen Layout-Algorithmus sollte man besser nicht nutzen, da dieser alles macht, außer ein gutes Layout zu erzeugen.

Vor allem der vorletzte Punkt macht ArgoUML nicht gerade zur ersten Wahl, wenn man einen UML-Editor sucht.

Dia

Dia

Dominik Wagenführ

Dia

Dia ist streng genommen kein UML-Programm, sondern nur ein Diagramm-Zeichenprogramm, das UML-Elemente darstellen kann. Dabei beherrscht es Elemente für Klassen-, Sequenz-, Anwendungsfall-, Aktivitäts- und Zustandsdiagramme.

Der Quellcode kann von der Webseite heruntergeladen werden, da die letzte Version aber von 2009 ist, reicht die Installation aus den Paketquellen. Da Dia wie gesagt nur ein Zeichenprogramm ist, ist der UML-Umfang etwas geringer. So werden Interfaces und Enums nicht direkt unterstützt, beides kann aber über Stereotypen angegeben werden. Die Eingabe aller Daten geschieht dabei nur über Menüs, in der Regel durch einen Doppelklick auf das jeweilige Element.

Für die Pfeile gibt es zahlreiche Andockmöglichkeiten an den Klassen, nur leider ist das Routing nicht intuitiv, da man einen Pfeil komplett verschiebt, wenn man ihn per Drag & Drop entlangleiten will. Dadurch geht auch die Verbindung zu den Klassenelementen verloren. Neue Haltepunkte können aber eingefügt werden.

Wer nur kleine Diagramme malen will, für den ist Dia recht gut geeignet.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung