Instrucciones de la herramienta: Ingeniería inversa de código utilizando Rational Rose
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.
Herramienta: Rational Rose
Relaciones
Descripción principal

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++

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

 Visual Basic

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

Importador de biblioteca de tipos

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

icono de publicación de ayudaEl 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.

 ANSI C++

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

J de Rose (Java)

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 

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

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.

Modelador web

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.

Data Modeler

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.