Tool-Radar: MagicDraw - JAXenter

Tool-Radar: MagicDraw

Christel Sohnemann und Andrea Grass

Wer heutzutage ein IT-System grafisch modellieren möchte, kommt an der Unified Modeling Language (UML) als weltweit standardisierte Sprache nicht vorbei. Der Markt bietet dafür eine Vielzahl an Modellierungswerkzeugen unterschiedlicher Hersteller an. Ein Hersteller davon ist die Firma NoMagic, deren Tool MagicDraw in Java implementiert ist.

MagicDraw ist in der Version 15.1 in fünf Editionen verfügbar (Community, Personal, Standard, Professional, Enterprise-Edition), die einen sehr unterschiedlichen Funktionsumfang aufweisen. Deshalb sollten vor dem Erwerb die eigenen Bedürfnisse an das Werkzeug gründlich analysiert werden. Beim Kauf berechnet der Anbieter nach Stückzahl und Lizenztyp gestaffelte Preise. Für den nichtkommerziellen Einsatz ist eine kostenlose Community-Edition verfügbar, deren Funktionsumfang jedoch sehr eingeschränkt ist. Die günstigste kommerzielle Edition liegt in der Anschaffung als Einzelplatzlizenz bei ca. 125 Euro, die Enterprise-Edition bei ca. 1 355 Euro. MagicDraw setzt bei der Datenhaltung der Modelle auf XML – als unterstützte Hard- und Softwareplattform nennt der Hersteller neben Windows noch Linux (Intel) und Mac OS X.

Modellieren

Von den dreizehn Diagrammen der UML2 unterstützt das Werkzeug alle, mit Ausnahme des Zeitdiagramms. Letzteres wird zwar angeboten, entpuppt sich jedoch bei näherem Hinsehen als Sequenzdiagramm. Eine große Stärke ist, dass MagicDraw das UML2-Metamodell sehr dicht am Standard abbildet. Der Benutzer kann die UML2 gut an seine Bedürfnisse durch eigene Profile anpassen. Diesen Mechanismus verwendet NoMagic selbst, um dem Benutzer ein ausgefeiltes Customizing anzubieten.

Die Benutzerführung entspricht dem aktuellen Stand der Technik und ist intuitiv, wobei UML2-Metamodellkenntnisse die Bedienung erleichtern. Nutzern mit geringeren Erfahrungen nimmt eine einführende Schulung in die Modellierung die ersten größeren Einstiegsschwierigkeiten. Durch die enge Anlehnung an das UML2-Metamodell sowie eine Plausibilitätsprüfung wird der Modellierer beim Erstellen eines UML-konformen Modells unterstützt. Dies ist eine wesentliche Voraussetzung für den erfolgreichen Einsatz modellgetriebener Entwicklung (MDA, MDD) auf Basis von UML.

Sourcecode

Wer an der Generierung von Quelltexten interessiert ist, muss mindestens zur Professional Edition greifen. Die unterstützten Sprachen sind C++, C# sowie Java und ab der Enterprise Edition ist auch Database Modeling, DDL, WSDL und XML Schema möglich. Für den modellgetriebenen Ansatz bietet MagicDraw Forward Engineering (Quelltext generieren aus dem Modell, z.B. Klassen, Attribute und Methodenköpfe). Des Weiteren ist Reverse Engineering (Generieren von Modellelementen aus dem Quelltext) und Roundtrip Engineering (die Kombination aus beidem) möglich. Der Benutzer kann die Codeerzeugung durch das Anpassen von Templates beeinflussen.

Eine direkte und komfortable Anbindung an openArchitectureWare (oAW) ist möglich. Alternativ hierzu kann das Modell auch über Eclipse Model Format (EMF) in XMI 2.1 exportiert und in oAW importiert werden. Die Anbindung ist ein weiterer Grund, weshalb MagicDraw im MDA-Umfeld derzeit auf große Akzeptanz stößt.
Ein Feature in der Enterprise-Edition ist die Anwendung von Patterns, z.B. GoF-Patterns, speziellen Java Patterns, JUnit-Testcase-Klassen sowie XML-Schema-Typen.

NoMagic bietet ab der Standardedition eine Integration in alle gängigen Java IDEs, jedoch keine „typischen“ Plug-ins für Eclipse oder NetBeans. Ob diese Integration den eigenen Anforderungen entspricht, sollte vor einem Kauf evaluiert werden.

Dokumentengenerierung

Und wenn alles modelliert ist? Dann ist eine Modelldokumentation vollständig oder in Auszügen im RTF- und HTML-Format möglich. Hierzu werden einige vordefinierte Templates mitgeliefert und darüber hinaus steht auch ein Editor für die Bearbeitung zur Verfügung. So können Dokumentenstruktur und -layout den individuellen Bedürfnissen angepasst werden. Auch externe Informationen (z.B. Word) lassen sich in das generierte Dokument einbetten. Hyperlinks verknüpfen Modellelemente mit diesen externen Dateien oder die Modellelemente untereinander.

Weitere Funktionalität

Noch nicht genug? Mehrbenutzerfähigkeit kann auf unterschiedliche Art und Weise realisiert werden und ist abhängig von der gewählten Edition. Eine Versionsverwaltung ist mit der direkten Anbindung an z.B. ClearCase oder Subversion möglich. Neben dem dargestellten Leistungsspektrum gibt es noch zahlreiche weitere Funktionalitäten, exemplarisch seien hier neben diversen Plug-ins das SysML und das BPMN Plug-in genannt sowie die Integration mit dem Requirement-Managementtool CaliberRM.

Abb. 1: MagicDraw in Aktion
Geschrieben von
Christel Sohnemann und Andrea Grass
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.