Visión general
En esta guía de la herramienta se describe la capacidad de efectuar la ingeniería inversa de varios tipos de elementos
con Rational Rose en un modelo de Rose, incluidos elementos tan diversos como, por ejemplo, código binario y fuente de
lenguaje, bibliotecas de tipos, elementos basados en web, DTD de XML y esquemas de base de datos.
La ingeniería inversa es el proceso en que se examina un recurso existente, se recupera información sobre su diseño y,
a continuación, se utiliza dicha información para generar o actualizar un modelo que represente la estructura lógica
del proyecto. Permite reutilizar elementos comunes para más de un modelo o sistema, así como desarrollar de modo
iterativo (ingeniería directa e inversa) un sistema a través del análisis y el diseño en Rational Rose, al generar
código fuente a partir del modelo, desarrollar el código fuente y, a continuación, revertir de nuevo la ingeniería del
código fuente en un modelo de Rose.
Los complementos de Rational Rose siguientes proporcionan características de ingeniería inversa:
Visual C++ de Rational Rose le permite revertir la ingeniería de código fuente Visual C++. Sus características
incluyen:
-
Ingeniería inversa completa de construcciones de lenguaje Visual C++ como, por ejemplo, relaciones, definiciones de
tipo, enumeraciones, correlaciones de mensajes/objetos/COM, constructores y destructores
-
Soporte basado en diálogo para ingeniería inversa de código para elementos Visual C++
-
Modalidad de sincronización automática para la actualización automática de código o modelo cuando se cambia uno u
otro
-
Integración con Visual Studio de Microsoft, incluidos archivos IDL
-
Soporte para clases de plantillas Visual C++ y patrones código especificados por el usuario
Estrechamente integrado con el entorno de Microsoft Visual Basic 6.0, el complemento del soporte de lenguaje Visual
Basic de Rational Rose le permite actualizar y, posteriormente, desarrollar un modelo de Rose a partir de los cambios
en el código fuente de Visual Basic. Las herramientas, ampliables y personalizables, basadas en diálogo, le guían de
forma paulatina a través del proceso de actualización del modelo cuando cambia el código fuente.
Las características incluyen:
-
Actualizar elementos de modelo a partir de los cambios en los proyectos de código fuente correspondientes
-
Modalidad de sincronización para actualizar elementos de modelo cuando se suprime código fuente
-
Importar bibliotecas de tipos al modelo
-
Posibilidad de automatizar y ampliar la ingeniería directa e inversa utilizando la capacidad de ampliación RTE de
Visual Studio de Rose
Gracias al Importador de biblioteca de tipos de Rational Rose, puede importar una biblioteca de tipos de un componente
COM (archivos .dll, .exe, .ocx, .olb y .tlb) a un modelo de Rose. La biblioteca de tipos se representa como un
componente y como un paquete lógico en el modelo. El paquete lógico contiene los elementos de la biblioteca de tipos
que define la información de tipos del componente COM importado, por ejemplo, coclases e interfaces, entre otros. Cada
elemento se representa por medio de una clase.
La importación de bibliotecas de tipos a un modelo ofrece la posibilidad de que se muestre cómo utilizan, implementan y
dependen las clases del modelo de las clases e interfaces de otros componentes COM, independientemente del lenguaje de
implementación. Las características del Importador de biblioteca de tipos incluyen:
-
Soporte basado en diálogo para el control del Importador de biblioteca de tipos
-
Modalidad de importación rápida para importar marcadores de posición de clase y Modalidad de importación completa
para importar clases con todas las operaciones y propiedades
-
Presentación de bibliotecas de tipos en el navegador de objetos o en el visor OLE/COM en Visual Studio
-
Posibilidad de ampliar y personalizar la importación de bibliotecas de tipos ejecutando el Importador de biblioteca
de tipos desde un script o programa utilizando la capacidad de ampliación RTE de Visual Studio de Rose
El modo de utilizar una biblioteca de tipos varía según el lenguaje de programación. Para obtener más
información, consulte la ayuda en línea de Rational Rose y la documentación del complemento de lenguaje que está
utilizando.
El complemento ANSI C++ de Rational Rose le permite revertir la ingeniería de código fuente en un modelo de Rose. ANSI
C++ ofrece soporte para ingeniería inversa en un modelo vacío, en el que se crean nuevos elementos de modelo, y para
ingeniería inversa en un modelo existente, en el que se cambian elementos de modelo de modo que se correspondan con el
código. Proporciona:
-
Soporte para la evolución del modelo del análisis al diseño
-
Soporte para lenguaje C++ sin estar restringido a un compilador de C++ de un único proveedor
-
Ingeniería directa e inversa que sincroniza modelos y código C++ generado a través de varias iteraciones
-
Se invierten los cambios realizados en el código para el modelo durante la ingeniería inversa
-
Diseño, modelado y visualización de todas las construcciones C++, incluidas clases, plantillas, espacios de
nombres, herencia y funciones de miembros de clase
-
Soporte para amplias infraestructuras
Gracias a J de Rational Rose, puede revertir la ingeniería de elementos Java existentes en un modelo de Rose. Los
elementos incluyen:
-
Archivos de origen (archivos .java)
-
Archivos de código de bytes (archivos .class)
-
Archivos archivadores Java (archivos .zip, .cab, .jar y .war)
-
Enterprise JavaBeans Java
-
Servlets Java
J de Rational Rose también admite la integración con VisualAge para Java de IBM.
CORBA de Rational Rose le permite revertir la ingeniería de cualquier código IDL compatible con CORBA en un modelo de
Rose. Cada archivo .idl al que se ha revertido la ingeniería se convierte en un componente, y se sitúa en la vista de
componentes del modelo.
Al revertir la ingeniería de código IDL al que, previamente, se ha aplicado la ingeniería (es decir, código que se ha
generado a partir de elementos de modelo de CORBA), los elementos de modelo originales se mantienen sin cambios,
excepto que la nueva información o los cambios que se han entrado en el código IDL se invierten en el modelo. Las
excepciones de esta regla son los casos especiales de construcciones de Rational Rose que se utilizan sólo para la
ingeniería directa de una vez.
DTD de XML (Definición de tipo de documento de Lenguaje de marcado ampliable) de Rational Rose invierte la ingeniería
de un DTD (archivo .dtd) de XML para crear un diagrama de clase de Rose en el que se muestra la estructura, los
elementos y las relaciones en el DTD. Puede añadir y eliminar elementos DTD de XML, y cambiar relaciones entre los
elementos del diagrama de clase que ha creado el proceso de ingeniería inversa. Después de utilizar el comprobador de
sintaxis DTD de XML de Rose para validar el XML, puede generar un nuevo DTD a partir del diagrama de clase de Rose.
DTD de XML de Rational Rose proporciona clases estereotipadas que se pueden utilizar para modelar y generar un DTD de
XML.
El modelador web de Rational Rose analiza ASP (páginas de servidor activo), JSP (páginas JavaServer) y archivos HTML en
la aplicación web creando un modelo de aplicación web por medio de clases de estereotipo que representan páginas de
cliente, páginas de servidor y formularios HTML. Puede modificar el modelo de aplicación web y generar archivos .asp,
.jsp, .html y .htm desde el modelador web.
Rational Rose Data Modeler permite que el diseñador de base de datos y el desarrollador de software comuniquen
requisitos utilizando la misma herramienta. Como desarrollador o diseñador de base de datos, puede utilizar Rose Data
Modeler para modelar y diseñar una base de datos al revertir la ingeniería de un script DDL o esquema de base de datos
existente.
Por medio del asistente para ingeniería inversa de Rational Rose Data Modeler, puede revertir la ingeniería de un
esquema de base de datos o script DDL para una base de datos estándar ANSI SQL 92 o los DBMS siguientes:
-
Versiones DB2 DBMS de MVS y UDB
-
DBMS de Oracle
-
DBMS de SQL Server
-
Sybase Adaptive Server
El asistente para ingeniería inversa lee el archivo DDL o esquema de base de datos y crea un diagrama de modelo de
datos que incluye los nombres de todas las entidades de identificador que están entre comillas. Dependiendo del DBMS,
el asistente para ingeniería inversa de Rose Data Modeler modela tablas, relaciones entre tablas, procedimientos
almacenados, índices y desencadenantes en el diagrama de modelo de datos.
En el diagrama de modelo de datos puede añadir tablas, definir relaciones, índices y dominios, así como aplicar
formularios normales de terceros a los elementos y, a continuación, transformar el modelo de datos en un modelo de
objeto, o bien, aplicar la ingeniería al modelo de datos para generar un esquema de base de datos o script DDL.
|