Der Begriff des Reverse-Engineering wird im Allgemeinen mit der Dekompilierung eines Programmes verwendet, d.h also das Zurückübersetzen" von compilierten Programmcode.
Der Begriff des Reverse-Enginnering im Zusammenhang mit dem CASE-Tool Rational Rose wird verwendet, wenn aus bestehendem Source-Code eines Programmes die Designinformationen der logischen und physischen Struktur analysiert werden. Diese Analyseergebnisse werden dann in eine Zielnotation transformiert".
Der Analyzer läßt sich über das Menü Tools-C++-Reverse Engineering starten.
Das Vorgehen für das Reverse-Enginnering mit dem Analyzer sieht wie folgt aus :
Der Vorgang des Reverse-Engineering kann dann über das Menü Action-Export to Rose gestartet werden. Es wird dann eine Modell-Datei mit den Designinformationen erstellt.
Im Zusammenhang des Reverse-Engineering wird auch der Begriff Round-Trip-Engineering erwähnt.
Dieses soll durch die folgendene Grafik verdeutlicht werden :
Folie zu Round-Trip-Engineering
Das CASE-Tool unterstützt das Round-Trip-Engineering durch die Möglichkeit, ein in Rational Rose entworfenes Modell mit einem aus dem Analyzer durch Reverse-Engineering erstelltes Modell zu vergleichen.
In der Datei diff.txt werden dann die Unterschiede der beiden Modelle protokolliert.
Dieser Vorgang wird aus Rational Rose über das Menü Tools-Model Differencing gestartet.
Als Ablaufbedingung muß jedoch gelten, daß das durch das Reverse-Engineering erstellte Modell die Dateiendung red und den gleichen Modellnamen besitzt.
Zuständig für diesen Vorgang sind die Dateien :
Die Skriptsprache RoseScript ist eine Visual Basic for Application (von Microsoft) kompatible Skriptsprache, die für die Erweiterung, Automatisierung usw. von Rational Rose eingesetzt werden kann.
Die Source-RoseScript-Dateien erkennt man an der Dateiendung ebs; die compilierten Skript-Dateien besitzen die Dateiendung ebx.
In dem CASE-Tool werden selbst RoseScripts eingesetzt, die z.B.
Rational Rose stellt eine Schnittstelle zu Verfügung, über die man mit der Skriptsprache RoseScript auf die Rose Anwendung, die Diagramme und auf die Modellkomponenten zugreifen kann.
Die DDL Code Generierung erstellt für eine persistente Klasse DDL Source-Code, der dann anschließend in einem RDBMS für die Erstellung von Entities und Views weiterverarbeitet werden kann.
Das setzt jedoch voraus, daß der Entwickler alle persistenten Klassen kennt. Bei größeren Modellen kann jedoch schnell eine persistente Klasse vergessen werden.
Aus diesem Grund wurde ein Skript erstellt, welche die persistenten Klassen aus dem logischen Modell heraussucht und für diese den entsprechenden DDL-Code generiert.
Die Menüstruktur des CASE-Tools ist in einer Datei gespeichert.
Diese Datei wird in der INI-Datei rose.ini im Abschnitt [Rational Rose 4.0] mit dem Identifier ROSE_CPP_MENU_PATH festgelegt.
Diese Datei kann mit einem beliebigen Editor erweitert werden.
Als Beispiel wird das oben erstellte Skript ddlall.ebx in die Menüstruktur Tools eingefügt.
Aus dem Menü Report Document Report kann der Entwickler ein MSWord Dokument generieren, der ein Data Dictionary enthält.
Der Entwickler hat in einem Dialogfenster die Möglichkeit, den Bericht seinen Wünschen entsprechend auszuwählen.
Dabei stehen ihm folgende Wahlmöglichkeiten zu Verfügung :
Außerdem kann der Benutzer entscheiden, ob das gesamte Modell oder nur das aktuell ausgewählte Digramm in dem Bericht ausgedruckt werden soll.
Bemerkungen :
Durch den Aufruf dieses Menüpunktes wird das compilierte RoseScript reportgen.ebx ausgeführt.
Dieses RoseScript ist angepaßt auf die englische Version von MS Word .
In diesem Skript wird ein OLE-Objekt des Types Word.Basic erzeugt.
Die Eigenschaften dieses Objektes der deutschen Version von MSWord unterscheiden sich von der englischen.
Aus diesem Grund erhält man die Fehlermeldung property or method not found". Die Reports können also nicht mit einer deutschen Version von MSWord erstellt werden.
Rational Rose bietet als enthaltenes Tool die Möglichkeit, ein Hypertextdokument des Modells im hlp-Format zu generieren.
Zuständig hierfür sind die Dateien
Es wird eine Datei mit dem Namen help.rtf aus dem Modell generiert. Anschließend wird die Batch-Datei help.bat ausgeführt.
Die erzeugte Datei help.rtf wird mit Hilfe des Filters helpflter.exe in eine neue Datei help.rtf konvertiert.
Als nächstes wird der Help-Compiler mit der Help-Projektdatei help.hpj, in der auf die Datei help.rtf verwiesen wird, aufgerufen.
Es wird nun die Datei help.hlp erzeugt.
Das Hypertextdokument enthält Informationen über
Achtung :
Die Datei help.bat ruft den Help-Compiler hcp.exe auf, der sich aber nicht im Lieferumfang von Rational Rose befindet.
Deshalb ist die Batch-Datei eventuell auf den vorhandenen Help-Compiler anzupassen.