12.07.2015 Aufrufe

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

Entwicklung und Anwendung eines Bezugsrahmens zur ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>und</strong> verursacht erst <strong>zur</strong> Compilezeit eine Fehlermeldung, da viele Compiler diese Sonderzeichen nichtaußerhalb von Kommentaren akzeptieren.Die im Eigenschaftendialog eingegebene Dokumentation für Klassen, Schnittstellen, Attribute <strong>und</strong>Methoden wird als Kommentar in den Quellcode übernommen. Benutzerkommentare, die direkt imQuellcode eingetragen werden, werden bei erneuter Codeerzeugung überschrieben, außer sie wurdenan den dafür vorgesehenen Positionen im Quellcode positioniert (z.B. unmittelbar vor Operationenoder Attributen) <strong>und</strong> durch vorherige Synchronisierung (s.u.) in das Dokumentationsfeld derEigenschaften des entsprechenden Elements eingefügt. Benutzerdefinierter Code innerhalb von Methodenbleibt erhalten, sofern er sich in den dafür vorgesehenen <strong>und</strong> durch den Codegenerator durchentsprechende Kommentare markierten Bereich befindet. Attribut- <strong>und</strong> Methodendeklarationen außerhalbdieser Bereiche werden gelöscht.Bei der Aktualisierung des Modells aus dem Code wird zwischen Reverse Engineering <strong>und</strong> Synchronisierungunterschieden. Reverse Engineering erzeugt neue Diagramme aus dem Quellcode in beliebigenPhasen, wohingegen die Synchronisierung ausschließlich die Teilmodelle in derObjektentwurfsphase auf der Basis vorgenommener Änderungen im Quellcode aktualisiert. Fallsohne vorhergehende Synchronisierung ein erneutes Forward Engineering aus einem Modell initiiertwird, gehen die meisten manuell eingefügten Änderungen im Quellcode verloren. Die Synchronisierungläuft halbautomatisch, d.h. beim Parsen der Quellcodedatei fragt das Tool bei jeder identifiziertenÄnderung nach, ob diese in das Modell übernommen werden soll.Im Rahmen des Reverse Engineering besteht die Möglichkeit den Quellcode der Methodenimplementierungenzu sichern (code injection) <strong>und</strong> bis zum nächsten Vorgang der Codeerzeugung zuspeichern <strong>und</strong> erneut im Quellcode abzulegen. Danach ist dies nicht mehr möglich <strong>und</strong> der Quellcodewird exklusiv in den Dateien gehalten. Diese Option erweitert das Tool um eine Funktion, die dasRo<strong>und</strong> Trip Engineering begrenzt auch über die Reichweite der Behandlung reiner Codegerüste hinausanwendbar macht. Voraussetzung ist allerdings, daß die vorgenommenen Änderungen am Modellvor der erneuten Codegenerierung nicht zu groß ausfallen, da daraus Zuordnungsprobleme derCodefragmente resultieren können.Ein Quellcodeeditor ist nicht Teil des Lieferumfangs. Statt dessen ist standardmäßig das WindowsNotepad als Editor vorgesehen, das aus dem Tool heraus aufgerufen werden kann. Die Integrationvon externen <strong>Entwicklung</strong>sumgebungen berücksichtigt die Produkte Rational Apex für Ada, MSDeveloper Studio für C++, Visual Age for Java/Smalltalk/C++ <strong>und</strong> Borland C++ mit unterschiedlicherFunktionalität wie Synchronisierung des Quellcodes, Aufruf des Compilers, Nutzung desDebuggers u.a. Weiterhin enthalten die meisten Codeerzeugungsmodule einen Menüpunkt, mit demein externer Compiler gestartet werden kann.Die Tau UML Suite ermöglicht Ro<strong>und</strong> Trip Engineering mit einer großen Anzahl von Sprachen <strong>und</strong>unterstützt unabhängig davon ein einheitliches Vorgehen bei der Codeerzeugung. Das Fehlen <strong>eines</strong>dedizierten Quellcodeeditors mit gegenüber einem reinen Texteditor erweiterter Funktionalität erschwertdie Bearbeitung größerer Quellcodedateien. Hier wäre es wünschenswert, wenn ein solcherdem Lieferumfang Suite hinzugefügt werden würde.4.2.2.3.2 ZielsprachenabhängigkeitDie Modellierung mit der UML Suite ist in der Analyse- <strong>und</strong> Systementwurfsphase frei von programmiersprachenspezifischenRestriktionen. Diese werden erst in der Objektentwurfsphase berücksichtigt.Durch die Nutzung verschiedener Module <strong>zur</strong> Codeerzeugung in Kombination mit derzielsprachenunabhängigen Modellierung kann aus einem Modell mit geringem Aufwand Code fürmehrere Zielsprachen erzeugt werden. Als Konsequenz ist ein Wechsel der Zielsprache im Verlaufe- 161 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!