Panoramica
Questa guida al tool descrive il modo in cui Rational Rose esegue il reverse engineering su vari tipi di elementi in un
modello Rose, compresi elementi vari come il sorgente del linguaggio e il codice binario, le librerie dei tipi, gli
elementi basati su web, XML DTD, gli schema di database, etc...
Il reverse engineering è il processo di esame di una risorsa esistente, di recupero di informazioni sulla sua
progettazione e quindi il processo di utilizzo di tali informazioni per generare o aggiornare un modello che
rappresenta la struttura logica del progetto. Consente di riutilizzare elementi comuni a più modelli o sistemi.
Inoltre, consente di sviluppare in modo iterativo (roundtrip) un sistema attraverso l'analisi e la progettazione in
Rational Rose, generando codice sorgente dal modello, sviluppando il sorgente e quindi effettuando il reverse
engineering del sorgente in un modello Rose.
I seguenti componenti aggiuntivi di Rational Rose forniscono funzioni di reverse engineering:
Rational Rose Visual C++ consente il reverse engineering del codice sorgente Visual C++. Le sue funzioni
comprendono:
-
Reverse engineering completo di strutture di linguaggio Visual C++ comuni quali, ad esempio, relazioni, typedef,
enum, mappe message/object/COM, costruttori e distruttori
-
Supporto basato su dialoghi per il codice di reverse engineering per elementi Visual C++
-
Autosincronizzazione per l'aggiornamento automatico del codice o del modello quando viene modificato
-
Integrazione con Visual Studio di Microsoft, compresi i file IDL
-
Supporto per le classi delle maschere Visual C++ e i pattern di codice specificato dall'utente
Poiché è strettamente integrato con l'ambiente Microsoft Visual Basic 6.0, il componente aggiuntivo del supporto al
linguaggio di Rational Rose Visual Basic consente di aggiornare e di conseguenza evolvere un modello Rose dalle
modifiche nel codice sorgente Visual Basic. I tool estensibili e personalizzabili basati su dialoghi guidano l'utente
nel processo di aggiornamento del modello, quando viene modificato il codice sorgente.
Le funzioni comprendono:
-
L'aggiornamento degli elementi del modello dalle modifiche nei progetti del codice sorgente corrispondente
-
Il modo di sincronizzazione per l'aggiornamento degli elementi del modello quando viene eliminato il codice
sorgente
-
L'importazione delle librerie dei tipi nel modello
-
La possibilità di automatizzare ed estendere il roundtrip engineering utilizzando Rose Visual Studio RTE
Extensibility
Type Library Importer in Rational Rose consente di importare una libreria dei tipi di un componente COM (file .dll,
.exe, .ocx, .olb e .tlb) in un modello Rose. La libreria del tipo viene rappresentata come un componente e come un
pacchetto logico nel modello. Il pacchetto logico contiene gli elementi delle librerie dei tipi, definiti dalle
informazioni dei tipi del componente COM importato, quali co-classi, interfacce, etc... Ciascun elemento viene
rappresentato da una classe.
Importando le librerie dei tipi in un modello, è possibile mostrare come le classi, nell'utilizzo del modello,
implementano o dipendono da classi e interfacce di altri componenti COM, indipendentemente dal loro linguaggio di
implementazione. Tra le funzioni di Type Library Importer sono comprese:
-
Supporto basato sui dialoghi per controllare Type Library Importer
-
Modo di importazione veloce per importare i segnaposto delle classi e il modo di importazione completo per
importazione delle classi con tutte le operazioni e proprietà
-
Presentazione delle librerie dei tipi in Object Browser oppure OLE/COM Viewer in Visual Studio
-
Capacità di estendere e personalizzare l'importazione delle librerie dei tipi eseguendo Type Library Importer da
uno script o un programma con Rose Visual Studio RTE Extensibility
In modo
in cui si utilizza una libreria dei tipi varia da un linguaggio di programmazione ad un altro. Per ulteriori
informazioni, consultare la guida in linea per Rational Rose e la documentazione per il componente aggiuntivo del
linguaggio che si sta utilizzando.
Il componente aggiuntivo ANSI C++ di Rational Rose consente di eseguire il reverse engineering del codice sorgente in
un modello Rose. ANSI C++ supporta sia il reverse engineering in un modello vuoto, dove vengono creati nuovi elementi
dei modelli e sia il reverse engineering in un modello esistente, dove gli elementi dei modelli vengono modificati in
modo da corrispondere al codice. Questo componente aggiuntivo fornisce:
-
Supporto per l'evoluzione del modello dall'analisi alla progettazione
-
Supporto per il linguaggio C++ senza limitazioni al compilatore C++ di un singolo fornitore
-
Roundtrip engineering che sincronizza modelli e genera codice C++ tra più iterazioni
-
Modifiche, apportate al codice, che vengono riportate al modello durante il reverse engineering
-
Progettazione, modellazione e visualizzazione di tutte le strutture C++ comprese classi, maschere, spazi nomi,
ereditarietà e funzioni di membri di classe
-
Supporto per ampi framework
Rational Rose J consente di eseguire reverse engineering di elementi Java esistenti in un modello Rose. Tra questi
elementi vi sono:
-
File di origine (file .java)
-
File bytecode (file .class)
-
File di archivio Java (file .zip, .cab, .jar e .war)
-
JavaBean Enterprise di Java
-
Servlet Java
Rational Rose J supporta anche l'integrazione con VisualAge di IBM per Java.
Rational Rose CORBA consente di eseguire il reverse engineering di tutti i codici IDL conformi a CORBA in un modello
Rose. Ciascun file .idl di cui si è eseguito il reverse engineering diviene un componente e viene posto nella vista del
componente del modello.
Quando di effettua il reverse engineering di codice, di cui si è precedentemente eseguito il forward engineering (cioè,
il codice che è stato generato da elementi del modello CORBA), gli elementi del modello originale restano invariati, ad
eccezione delle nuove informazioni o modifiche immesse nel codice IDL, che vengono riportate nel modello. Le eccezioni
a questa regola sono i casi speciali delle strutture di Rational Rose utilizzate solo per un unico forward engineering.
Rational Rose XML DTD (eXtensible Markup Language Document Type Definition) esegue il reverse engineering di un XML DTD
(file .dtd) per creare un diagramma di classe Rose mostrando la struttura, gli elementi e le relazioni nel DTD. È
possibile aggiungere ed eliminare elementi XML DTD e modificare le relazioni tra gli elementi nel diagramma di classe
creato dal processo di reverse engineering. Dopo aver utilizzato il programma di controllo della sintassi di Rose XML
DTD per convalidare XML, è possibile generare un nuovo DTD dal diagramma di classe Rose.
Rational Rose XML DTD fornisce classi stereotipate da utilizzare per creare modelli e generare un XML DTD.
Rational Rose Web Modeler analizza file ASP (Active Server Page), JSP (Java Server Page) e HTML nell'applicazione Web
creando un modello di applicazione web utilizzando classi di stereotipi che rappresentano pagine client, pagine server
e moduli HTML. È possibile modificare il modello di applicazione Web e generare file .asp, .jsp, .html e .htm da Web
Modeler.
Le funzioni di Rational Rose Data Modeler consentono al progettista di database e allo sviluppatore di software di
comunicare requisiti utilizzando lo stesso tool. In qualità di progettista database oppure di sviluppatore, è possibile
utilizzare Rational Rose Data Modeler per creare modelli di database e progettarli, eseguendo il reverse engineering di
uno schema di database o uno script DDL esistente.
Utilizzando la procedura guidata di reverse engineering di Rational Rose Data Modeler, è possibile elaborare uno script
DDL o uno schema di database per un database standard ANSI SQL 92 oppure per i seguenti DBMS:
-
DB2 DBMS versioni MVS e UDB
-
Oracle DBMS
-
SQL Server DBMS
-
Sybase Adaptive Server
La procedura guidata per reverse engineering legge lo schema di database oppure il file DDL e crea un diagramma del
modello dati che comprende tutte le entità degli identificatori citati. In base al DBMS, la procedura guidata per il
reverse engineering di Rose Data Modeler modella tabelle, relazioni tra tabelle, procedure memorizzate, indici e
trigger nel diagramma del modello dati.
Nel diagramma del modello di dati è possibile aggiungere tabelle, definire relazioni, indici e domini ed applicare
moduli normali di terze parti agli elementi, è possibile quindi trasformare il modello di dati in un modello di oggetti
oppure eseguire il forward engineering del modello di dati per generare uno script DDL o uno schema di database.
|