Mentor de Ferramentas: Realização de Engenharia Reversa em Código Usando o Rational Rose
Finalidade
Este mentor de ferramentas descreve a capacidade do Rational Rose de realizar engenharia reversa em vários tipos de elementos para um modelo Rose, incluindo elementos tão diversos como linguagem fonte e código binário, Bibliotecas de Tipos, elementos baseados na Web XML DTDs e esquemas de banco de dados.
Informações relacionadas no Rational Unified Process:
Visão Geral
A engenharia reversa é o processo que examina um recurso existente, recupera informações sobre o seu design e usa essas informações para gerar ou atualizar um modelo representando a estrutura lógica do projeto. Permite que você reutilize elementos comuns a mais de um modelo ou sistema. Também permite desenvolver iterativamente (round-trip) um sistema, por meio da análise e do design no Rational Rose, gerando código-fonte a partir do modelo, desenvolvendo o fonte e realizando a engenharia reversa desse fonte, de volta para um modelo Rose.
Os seguintes suplementos do Rational Rose fornecem recursos de engenharia reversa:
O Visual C++ do Rational Rose permite realizar a engenharia reversa do código-fonte do Visual C++. Seus recursos incluem:
-
Engenharia reversa completa das construções comuns da linguagem Visual C++, como relacionamentos, typedefs, enums, mapas COM/de mensagens/de objetos, construtores e destrutores
-
Suporte baseado em caixa de diálogo para realizar engenharia reversa do código para elementos do Visual C++
- Modo de sincronização automática para atualizar automaticamente o código ou o modelo, quando um dos dois for alterado
- Integração com o Visual Studio da Microsoft, incluindo arquivos IDL
- Suporte para classes de template do Visual C++ e para padrões de código especificados pelo usuário
Estando fortemente integrado ao ambiente Visual Basic 6.0 da Microsoft, o Suplemento Visual Basic Language Support do Rational Rose permite que você atualize e, subseqüentemente, desenvolva um modelo Rose a partir de mudanças no código-fonte do Visual Basic. As ferramentas extensíveis e personalizáveis baseadas em caixa de diálogo o guiam, facilmente, pelo processo de atualização do modelo, quando o código-fonte for alterado.
Seus recursos incluem:
- Atualização dos elementos do modelo a partir das mudanças realizadas nos projetos de código-fonte correspondentes
- Modo de sincronização para atualização de elementos do modelo, quando o código-fonte for excluído.
- Importação das bibliotecas de tipos para o modelo
- Capacidade para automatizar e ampliar a engenharia round-trip usando o Rose Visual Studio RTE Extensibility
O Type Library Importer do Rational Rose permite importar uma biblioteca de tipos de um componente COM (arquivos .dll, .exe, .ocx, .olb e .tlb) para um modelo Rose. A biblioteca de tipos é representada como um componente e como um pacote lógico no modelo. O pacote lógico contém os itens da biblioteca de tipos que são definidos pelas informações de tipos do componente COM importado, como coclasses, interfaces, dispinterfaces e assim por diante. Cada item é representado por uma classe.
Importando bibliotecas de tipos para um modelo, é possível mostrar como as classes do modelo usam, implementam ou dependem de classes e interfaces em outros componentes COM, seja qual for a sua linguagem de implementação. Os recursos do Type Library Importer incluem:
- Suporte baseado em caixa de diálogo para controle do Type Library Importer
- O modo Quick Import para importar espaços reservados de classes e modo Full Import para importar classes com todas as operações e propriedades.
- Apresentação das bibliotecas de tipos no Object Browser ou no OLE/COM Viewer do Visual Studio
- Capacidade para ampliar e personalizar a importação da biblioteca de tipos, executando o Type Library Importer a partir de um script ou de um programa, usando o Rose Visual Studio RTE Extensibility
A maneira como você usa a biblioteca de tipos varia de uma linguagem de programação para outra. Para obter mais informações, consulte a ajuda on-line do Rational Rose e a documentação do suplemento de linguagem que está usando.
O suplemento ANSII C++ do Rational Rose permite realizar engenharia reversa do código-fonte para um modelo Rose. O ANSI C++ suporta a realização da engenharia reversa para um modelo vazio, no qual novos elementos de modelo serão criados, além da realização da engenharia reversa para um modelo existente, em que os elementos do modelo serão alterados para corresponderem ao código. Fornece:
- Suporte para evolução do Modelo desde a análise até o design
- Suporte para a linguagem C++, sem ficar restrito ao compilador C++ de um único fornecedor
- Engenharia round-trip que sincroniza os modelos e o código C++ gerado em várias iterações
- As mudanças feitas no código são levadas de volta para o modelo, durante a realização da engenharia reversa
- Design, modelagem e visualização de todas as construções do C++, incluindo classes, templates, namespaces, herança e funções-membro de classes
- Suporte para grandes frameworks
O Rational Rose J permite realizar a engenharia reversa de elementos Java existentes para um modelo Rose. Esses elementos incluem:
- Arquivos-fonte (arquivos .java)
- Arquivos de Bytecode (arquivos .class)
- Arquivos Java (arquivos .zip, .cab, .jar e .war)
- Java Enterprise JavaBeans
- Java Servlets
O Rational Rose J também suporta integração com o VisualAge for Java da IBM.
O CORBA do Rational Rose permite realizar a engenharia reversa de qualquer código IDL compatível com CORBA para um modelo Rose. Cada arquivo .idl em que foi realizada a engenharia reversa se torna um componente e é colocado na visão de componentes do modelo.
Quando você realiza engenharia reversa em código IDL no qual foi realizada engenharia construtiva anteriormente (ou seja, código que foi gerado a partir de elementos de modelo do CORBA), seus elementos de modelo originais permanecem inalterados, com exceção das novas informações ou mudanças inseridas no código, que são levadas de volta para o modelo. As exceções a essa regra são casos especiais de construções do Rational Rose usados somente para engenharia direta realizada uma única vez.
O XML DTD (eXtensible Markup Language Document Type Definition, Definição de Tipo de Documento de Linguagem de Marcação Extensível) realiza a engenharia reversa de um XML DTD (arquivo .dtd) para criar um diagrama de classes do Rose que mostra a estrutura, os elementos e os relacionamentos no DTD. É possível adicionar e remover elementos do XML DTD e alterar relacionamentos entre os elementos no diagrama de classes criado pelo processo de engenharia reversa. Após ter usado o verificador de sintaxe do XML DTD do Rose para validar o XML, é possível gerar um novo DTD a partir do diagrama de classes do Rose.
O XML DTD do Rational Rose fornece classes estereotipadas que você pode usar para modelar e gerar um XML DTD.
O Web Modeler do Rational Rose analisa os arquivos Active Server Page (ASP), Java Server Page (JSP) e HTML no seu aplicativo da Web, criando um modelo de aplicativo da Web usando classes de estereótipo que representam páginas de cliente, páginas de servidor e formulários HTML. É possível modificar o modelo do aplicativo da Web e gerar arquivos .asp, .jsp, .html e .htm no Web Modeler.
Os recursos do Data Modeler do Rational Rose permitem ao designer do banco de dados e ao desenvolvedor de software compartilhar requisitos usando a mesma ferramenta. Como um designer ou desenvolvedor de banco de dados, você pode usar o Data Modeler do Rose para modelar e projetar um banco de dados realizando a engenharia reversa do esquema de um banco de dados ou de um script DDL existentes.
Usando o Reverse Engineering Wizard do Data Modeler do Rose, é possível realizar a engenharia reversa de um script DDL ou de um esquema de banco de dados para um banco de dados padrão ANSI SQL 92 ou para os DBMSs a seguir:
- DB2 DBMS versões MVS e UDB
- Oracle DBMS
- SQL Server DBMS
- Sybase Adaptive Server
O Reverse Engineering Wizard lê o esquema do banco de dados ou o arquivo DDL e cria um diagrama de modelo de dados que inclui os nomes de todas as entidades identificadoras citadas. Dependendo do DBMS, o Reverse Engineering Wizard, do Rose Data Modeler, modela tabelas, relacionamentos entre tabelas, procedimentos armazenados, índices e triggers no diagrama de modelo de dados.
No diagrama de modelo de dados, é possível adicionar tabelas, definir relacionamentos, índices e domínios e aplicar a terceira forma normal aos elementos e, em seguida, transformar o modelo de dados em um modelo de objetos ou realizar engenharia direta do modelo de dados para gerar um script DDL ou um esquema de banco de dados.
Copyright
(c) 1987 - 2001 Rational Software Corporation
| |
|