Toolmentor: Code mit Rational Rose rückentwickeln
Dieser Toolmentor beschreibt, wie Sie mit Rational Rose verschiedene Typen von Elementen in ein Rose-Modell rückentwickeln können.
Tool: Rational Rose
Beziehungen
Hauptbeschreibung

Überblick

Dieser Toolmentor beschreibt, wie Sie mit Rational Rose verschiedene Typen von Elementen in ein Rose-Modell rückentwickeln können (Reverse Engineering). Dazu gehören so verschiedenartige Elemente wie Sprachencode und binärer Code, Typenbibliotheken, webbasierte Elemente, XML-DTDs und Datenbankschemata.

Rückentwicklung (Reverse-Engineering) beschreibt den Prozess, in dem eine vorhandene Ressource untersucht wird, Informationen zum Design dieser Ressource ermittelt werden und anschließend mit Hilfe dieser Informationen ein Modell generiert oder aktualisiert wird, das die logische Struktur des Projekts darstellt. Mit Rückentwicklung können Sie Elemente wiederverwenden, die in mehreren Modellen oder Systemen vorkommen. Außerdem können Sie mit Rückentwicklung ein System durch Analyse und Design in Rational Rose iterativ entwickeln (Round-Trip-Engineering), Quellcode aus dem Modell generieren, die Quelle entwickeln und anschließend die Quelle in ein Rose-Modell rückentwickeln.

Die folgenden Rational-Rose-Add-ins stellen Features für Rückentwicklung bereit:

Visual C++

Mit Rational Rose Visual C++ können Sie Visual-C++-Quellcode rückentwickeln. Features:

  • Vollständige Rückentwicklung allgemeiner Visual-C++-Sprachenkonstrukte, z. B. Beziehungen, typedefs, enums, Nachrichten/Objekt/COM-Zuordnungen, Konstruktoren und Destruktoren 
  • Dialogbasierte Unterstützung für die Rückentwicklung von Code für Visual-C++-Elemente
  • Automatischer Synchronisationsmodus für die automatische Aktualisierung von Code oder Modell, wenn er bzw. es geändert wird
  • Integration mit Microsoft Visual Studio, einschließlich IDL-Dateien
  • Unterstützung für Visual-C++-Vorlagenklassen und benutzerdefinierte Codemuster

 Visual Basic

Durch die enge Integration mit der Umgebung Microsoft Visual Basic 6.0 können Sie mit dem Add-in Rational Rose Visual Basic Language Support ein Rose-Modell mit den Änderungen aus dem Visual-Basis-Quellcode aktualisieren und anschließend weiterentwickeln. Die erweiterbaren und anpassbaren dialogbasierten Tools führen Sie problemlos durch die Aktualisierung des Modell, wenn sich der Quellcode ändert.

Features:

  • Aktualisierung von Modellelementen mit Änderungen aus den entsprechenden Quellcodeprojekten
  • Synchronisationsmodus für die Aktualisierung von Modellelementen, wenn Quellcode gelöscht wird
  • Import von Typenbibliotheken in das Modell
  • Möglichkeit, Round-Trip-Engineering durch Verwendung von Rose Visual Studio RTE Extensibility zu automatisieren und zu erweitern

Type Library Importer

Mit dem Type Library Importer in Rational Rose können Sie eine Typenbibliothek einer COM-Komponente (Dateien mit den Erweiterungen .dll, .exe, .ocx, .olb und .tlb) in ein Rose-Modell importieren. Die Typenbibliothek wird als Komponente und als logisches Paket im Modell dargestellt. Das logische Paket enthält die Typenbibliothekselemente, die durch die Typinformationen der importierten COM-Komponente definiert werden, z. B. co-Klassen, Schnittstellen usw. Jedes Element wird durch eine Klasse dargestellt.

Durch das Importieren von Typenbibliotheken in ein Modell können Sie aufzeigen, wie Klassen im Modell unabhängig von der Implementierungssprache Klassen und Schnittstellen in anderen COM-Komponenten verwenden, implementieren oder von diesen abhängig sind. Features des Type Library Importer:

  • Dialogbasierte Unterstützung für die Steuerung des Type Library Importer
  • Schnellimportmodus für den Import von Klassenplatzhaltern und vollständiger Importmodus für den Import von Klassen mit allen Operationen und Eigenschaften
  • Präsentation von Typenbibliotheken im Objekt-Browser oder OLE/COM-Viewer in Visual Studio
  • Möglichkeit, den Import von Typenbibliotheken durch Ausführung des Type Library Importer über ein Script oder ein Programm in Rose Visual Studio RTE Extensibility zu erweitern und anzupassen

Symbol für Onlinehilfe Die Verwendung einer Typenbibliothek richtet sich nach der jeweiligen Programmiersprache. Weitere Informationen finden Sie in der Onlinehilfe zu Rational Rose und in der Dokumentation zu dem Sprachen-Add-in, das Sie verwenden.

 ANSI C++

Mit dem Add-in Rational Rose ANSI C++ können Sie Quellcode in ein Rose-Modell rückentwickeln. ANSI C++ unterstützt Rückentwicklung in ein leeres Modell, in dem neue Modellelemente erstellt werden, und Rückentwicklung in ein vorhandenes Modell, in dem Modellelemente an den Code angepasst werden. Features:

  • Unterstützung für die Weiterentwicklung von Modellen von Analyse zum Design
  • Unterstützung für die Programmiersprache C++ ohne Beschränkung auf den C++-Compiler eines bestimmten Anbieters
  • Round-Trip-Engineering, das Modelle und generierten C++-Code über mehrere Iterationen synchronisiert
  • Übertrag von Codeänderungen am Code in das Modell beim Reverse-Engineering
  • Design, Modellierung und Visualisierung aller C++-Konstrukte einschließlich Klassen, Vorlagen, Namespaces, Vererbung und Klassen-Member-Funktionen
  • Unterstützung großer Frameworks

Rose J (Java)

Mit Rational Rose J können Sie vorhandene Java-Elemente in ein Rose-Modell rückentwickeln. Hierzu gehören unter anderem:

  • Quellendateien (Dateien mit der Erweiterung .java)
  • Bytecode-Dateien (Dateien mit der Erweiterung .class)
  • Java-Archivdateien (Dateien mit der Erweiterung .zip, .cab, .jar oder .war)
  • Java Enterprise JavaBeans
  • Java-Servlets

Rational Rose J unterstützt außerdem die Integration mit IBM VisualAge for Java.

CORBA 

Mit Rational Rose CORBA können Sie jeden CORBA-kompatiblen IDL-Code in ein Rose-Modell rückentwickeln. Jede rückentwickelte Datei mit der Erweiterung .idl wird zu einer Komponente und wird in die Komponentensicht des Modells gestellt.

Wenn Sie IDL-Code rückentwickeln, der zuvor mit Forward Engineering erstellt wurde (d. h. Code, der aus CORBA-Modellelementen generiert wurde), bleiben Ihre ursprünglichen Modellelemente abgesehen davon, dass neue Informationen Änderungen, die Sie im IDL-Code vorgenommen haben, wieder in das Modell übertragen werden, unverändert. Ausgenommen von dieser Regel sind spezielle Rational-Rose-Konstrukte, die ausschließlich für einmaliges Forward Engineering verwendet werden.

 XML DTD

Mit Rational Rose XML DTD (eXtensible Markup Language Document Type Definition) kann eine XML-DTD (Datei mit der Erweiterung .dtd) rückentwickelt werden, um ein Rose-Klassendiagramm zu erstellen, das die Struktur, die Elemente und die Beziehungen in der DTD aufzeigt. Sie können XML-DTD-Elemente hinzufügen und entfernen und Beziehungen zwischen den Elementen in dem Klassendiagramm, das durch den Reverse-Engineering-Prozess erstellt wird, ändern. Nachdem Sie mit dem Syntaxprüfprogramm von Rose XML DTD die XML geprüft haben, können Sie aus dem Rose-Klassendiagramm eine neue DTD generieren.

Rational Rose XML DTD stellt stereotype Klassen zur Verfügung, die Sie für die Modellierung und Generierung einer XML-DTD verwenden können.

Web Modeler

Mit Rational Rose Web Modeler können Sie Active Server Pages (ASP), Java Server Pages (JSP) und HTML-Dateien in Ihrer Webanwendung syntaktisch analysieren und ein Webanwendungsmodell erstellen, das Clientseiten, Serverseiten und HTML-Formular darstellt. Sie können das Webanwendungsmodell ändern und in Web Modeler Dateien mit den Erweiterungen .asp, .jsp, .html und .htm generieren.

Data Modeler

Mit den Features von Rational Rose Data Modeler können der Datenbankdesigner und der Softwareentwickler, Anforderungen über dasselbe Tool kommunizieren. Als Datenbankdesigner oder -entwickler können Sie Rose Data Modeler verwenden, um eine Datenbank durch Rückentwickeln eines vorhandenen Datenbankschemas oder DDL-Scripts zu modellieren und zu entwerfen.

Mit dem Reverse-Engineering-Assistenten von Rational Rose Data Modeler können Sie ein DDL-Script oder ein Datenbankschema für eine ANSI-SQL-92-Standarddatenbank und die folgenden Datenbankmanagementsysteme erstellen:

  • DB2-Versionen MVS und UDB
  • Oracle
  • SQL Server
  • Sybase Adaptive Server

Der Reverse-Engineering-Assistent liest das Datenbankschema bzw. die DDL-Datei und erstellt ein Datenmodelldiagramm, das die Namen aller in Anführungszeichen gesetzten Bezeichnerentitäten enthält. Je nach DBMS modelliert der Reverse-Engineering-Assistent von Rose Data Modeler Tabellen, Beziehungen zwischen Tabellen, gespeicherte Prozeduren, Indizes und Trigger im Datenmodelldiagramm.

Im Datenmodelldiagramm können Sie Tabellen hinzufügen, Beziehungen, Indizes und Domänen definieren und die Elemente in die dritte Normalform überführen, anschließend das Datenmodell in ein Objektmodell umwandeln oder durch Forward Engineering aus dem Datenmodell ein DDL-Script oder ein Datenbankschema generieren.