Borlands Together EC: Fast perfekt

22.03.2005
Von   
Bernhard Steppan arbeitet als IT-Chefarchitekt bei DB Systel GmbH (Deutsche Bahn) in Frankfurt am Main. Er hat 100+ Artikel und zahlreiche Bücher über C++ und Java verfasst. Er betreibt mehrere Blogs, unter anderem http://steppan.net, http://artouro.org und http://tourbine.com
Zu den professionellen UML-Modellierungswerkzeugen mit Roundtrip-Fähigkeiten zählt Borlands Produkt "Together". Die Eclipse-Version des Tools ist sehr ausgereift, allerdings auch teuer.

Das Angebot an professionellen UML-Tools, die sich als Plug-in in die Eclipse-Plattform einklinken lassen, ist nicht besonders groß. Zu den wenigen Produkten zählt "Eclipse UML" von Omondo, zu dem ein Testbericht in computerwoche 12/05, Seite 24, veröffentlicht wurde. Ein Konkurrenzprodukt kommt von Borland mit der "Together Edition für Eclipse" (kurz: Together EC). Es wurde unter den gleichen Testbedingungen wie das Omondo-Plug-in untersucht.

Konkurrenz im eigenen Haus

Vorab ein kurzer geschichtlicher Abriss: Das "Together Controlcenter" war vielen Entwicklern vor der Übernahme durch Borland als eines der führenden UML-Modellierungswerkzeug bekannt. Sowohl die Akquisition als auch der Umstand, dass die Entwicklung des UML-Plug-ins Together EC von Borland nicht eingestellt, sondern weiter vorangetrieben wurde, dürfte manchen Anwender überrascht haben, denn die Gesamtlösung steht in Konkurrenz zu Borlands Java-Flaggschiff "Jbuilder Enterprise Edition".

Together EC ist derzeit in der Version 7.0 für Windows und Linux erhältlich. Das Tool lässt sich sehr einfach installieren. Danach ist die für Borland-Produkte mittlerweile typische Zwangsregistrierung notwendig, wobei das Programm entweder mit einer Einzel- oder Mehrbenutzerlizenz erworben werden kann. Im letzteren Fall ist ein Lizenz-Server erforderlich.

Together EC bettet sich nahtlos in die Eclipse-Workbench ein. Das Tool bietet eine Vielzahl von Einstellungsmöglichkeiten und Ansichten. Gleich drei neue Perspektiven sowie fünf neue Ansichten (Views) sind nach der Installation vorhanden. Sie gestatten dem Entwickler eine sehr differenzierte Sicht auf sein Projekt. Neben den üblichen UML-Views wird zudem eine Ansicht integriert, die es erlaubt, Entwurfsmuster in vorhandenem Code aufzuspüren - für das Reverse Engineering bestehender Projekte ein interessantes Feature.

Funktionen aktivieren

Direkt nach dem Start sollte man sich wie bei Eclipse UML mit den Grundeinstellungen des Werkzeugs beschäftigen, die sich zum Teil nicht auf den ersten Blick erschließen. Es gibt natürlich einen eigenen Eintrag im Preferences-Dialog namens "Modeling", in dem sich die wesentlichen Grundeinstellungen des Plug-ins befinden. Um jedoch an einige verborgene Funktionen zu gelangen, ist der Eintrag Windows > Capabilities noch wichtiger. Er erlaubt, verborgene Funktionen zu aktivieren, wie zum Beispiel das automatische Erzeugen von Sequenzdiagrammen.

Ist alles korrekt eingestellt, kann auf die enorme Funktionsfülle des Werkzeugs zugegriffen werden: Together EC unterstützt alle in der UML 1.4 enthaltenen Diagramme. Es kann Audits, Metriken, Online- und gedruckte Dokumentationen sowie Software nach bestimmten Entwurfsmustern erzeugen oder per Reverse Engineering auch vorhandene Muster in bestehender Software erkennen. Alle hinreichend bekannten Muster wie Memento, Observer etc. sind bereits integriert. Die Erkennung lässt sich entweder pauschal oder auch für jedes Muster wahlweise zu- oder abschalten. Man kann auch auswählen, ob in jedem neu zu analysierenden Projekt nach Mustern gesucht werden soll.

Kein eigenes Repository

Together EC hält alle notwendigen Daten im Dateisystem und benötigt daher kein spezielles Repository. Alle wesentlichen Informationen gewinnt das Tool aus den Klassendateien, die durch die reine Analyse (Reverse Engineering) des Werkzeugs nicht verändert werden. Layoutspezifische Informationen der Diagramme legt das Tool in speziellen Dateien ab, deren Speicherort man festlegen kann. Durch dieses Verhalten ist eine Konfiguration mit einem Versionskontrollsystem äußerst einfach. Lediglich die Dateien, die Layoutinformationen enthalten, müssen zusätzlich verwaltet werden, sofern alle Teammitglieder fertige Diagramme eines Anwenders erhalten sollen.

Die Analysefunktionen des Plug-ins sind sehr ausgereift und zeitsparend. Together EC legt nicht nur für jedes Package automatisch Klassendiagramme an, die alle seine Klassen enthalten. Es erzeugt auch Sequenzdiagramme automatisch per Reverse Engineering. Im Gegensatz zu Eclipse UML kann der Anwender dabei den Scope (Depth of call nesting) der Diagramme vor der Generierung festlegen. Die Performance selbst bei hoher Schachtelungstiefe ist wie bei allen Analysen sehr gut. Nur bei sehr großen Diagrammen merkt man einen Geschwindigkeitseinbruch.

Diagrammeditoren überzeugen

Die Diagrammeditoren sind nicht nur performant, auch die Bedienung lässt nichts zu wünschen übrig. Alle Elemente können pixelgenau entweder frei, an einem Raster oder an Hilfslinien ausgerichtet und mit einem Gummiband gruppiert werden. Der Entwickler kann zudem einstellen, ob Gitter oder Hilfslinien "magnetisch" sein sollen. Ein Übersichtsfenster wird über einen Klick in die rechte untere Diagrammecke eingeblendet. Es ist stufenlos skalierbar und lässt sich frei auf der Eclipse-Workbench positionieren. Durch dieses Fenster verliert der Entwickler auch in sehr großen Diagrammen nicht den Überblick.

Auch das Autolayout funktioniert schnell und tadellos. Der Entwickler kann sogar den Algorithmus auswählen, nach dem die Elemente ausgerichtet werden sollen. Wie bei Eclipse UML muss er jedoch je nach gewählten Verfahren damit rechnen, dass manuell ausgerichtete Diagramme etwas "umgestaltet" werden. Aber auch Together EC bietet hierfür eine Undo-Funktion. Sie könnte allerdings etwas schneller den alten Zustand wiederherstellen.

Permanenter Roundtrip

Das Plug-in arbeitet bei allen Änderungen am Diagramm in einem ständigen Roundtrip-Verfahren. Legt man eine Methode an oder entfernt diese, zieht Together EC im Hintergrund unbemerkt den Code nach. Dieses implementierungsnahe Verhalten hat für viele Entwickler große Vorteile: Markiert man ein Diagrammelement wie eine Methode oder eine Assoziation, zeigt Together EC dieses Diagrammelement in einem geöffneten Editorfenster umgehend im Quelltext an. UML-Neulinge können so leicht lernen, wie sich UML-Elemente im Quelltext umsetzen lassen.

Das implementierungsnahe Verhalten ist aber manchen Designern ein Dorn im Auge, weil es sie in ihrer Modellierungsfreiheit einengt. Doch auch an diese Gruppe haben die Entwickler von Together EC gedacht: Anwender können ein reines Analyseprojekt als "Java Modeling Project" anlegen. In einem solchen Projekt lässt sich ohne die harten Restriktionen der Implementierung arbeiten.

Ferner beherrrscht Together EC diverse Verfahren zur Auswertung und Dokumentation von Softwareprojekten. Es bietet Audits und Metriken an, mit denen man sich einen Überblick über die Qualität des Projekts verschaffen kann. Allen Auswertungen ist gemein, dass ihre Performance sich entgegengesetzt zur allgemein sehr guten Gesamtgeschwindigkeit des Werkzeugs verhält. Egal, ob man ein Audit vornimmt, Metriken anwendet oder Dokumentationen erzeugt: Der Rechner wird bis an die Grenzen seiner Leistungsfähigkeit strapaziert. Aus diesem Grund sollte man die Auswertungen nur auf Computern mit sehr viel Hauptspeicher betreiben.

Fazit: Ausgereiftes Werkzeug

Unterm Strich merkt man dem Together-Plug-in deutlich seine fortgeschrittene Versionsnummer an: Es ist ein ausgereiftes Werkzeug, das auch den kritischen Anwender überzeugen dürfte. Das trifft nicht nur auf die allgemein sehr gute Ausführungsgeschwindigkeit zu, sondern auch auf die durchdachte Benutzerführung und den enormen Funktionsumfang. Einzig störend ist der immer noch extrem hohe Preis und die allzu schwache Performance der Auswertungsfunktionen. Man kann nur hoffen, dass Borland die Entwicklung dieses Eclipse-Plug-ins weiter vorantreibt und die wenigen Kritikpunkte ausräumt. (ue)