Visão Geral
Esse mentor de ferramenta descreve a habilidade do Rational Rose para reverter a engenharia de vários tipos de
elementos em um modelo de Rose, incluindo elementos como origem de linguagem e código binário, Bibliotecas de Tipo,
Elementos baseados na Web, DTDs XML e esquemas de bancos de dados.
A engenharia reversa é um processo de análise de um recurso existente, recuperando informações sobre seu design e
utilizando essas informações para gerar ou atualizar um modelo que represente a estrutura lógica do projeto. Ele
permite reutilizar elementos comuns para mais de um modelo ou sistema. Ele também permite desenvolver de forma
interativa (ida e volta) um sistema por meio de análise e design no Rational Rose, gerando código fonte do modelo,
desenvolvendo a fonte e revertendo a engenharia da fonte para o modelo Rose.
Os seguintes suplementos do Rational Rose fornecem recursos de engenharia reversa:
O Rational Rose Visual C++ permite reverter a engenharia do código fonte de Visual C++. Esse recurso inclui:
-
Engenharia reversa completa de constructos de linguagem Visual C++ comuns, como relacionamentos, typedefs, enums,
mapas message/object/COM, construtores e destrutores
-
Suporte com base em diálogo para reverter código de engenharia para elementos do Visual C++
-
Modo de Autosincronização para atualizar automaticamente o código ou o modelo quando é alterado
-
Integração com o Microsoft Visual Studio, incluindo arquivos IDL
-
Suporte para classes de gabarito Visual C++ e padrão de código especificados pelo usuário
Estando bem integrado ao ambiente Microsoft Visual Basic 6.0, o Suplemento de Suporte à Linguagem Visual Basic do
Rational Rose permite atualizar e lançar em seqüência um modelo Rose de alterações no código de origem Visual Basic. As
ferramentas extensíveis, personalizáveis e com base em diálogo guiam você pelo processo de atualização do modelo quando
o código de origem é alterado.
Os recursos incluem:
-
Atualização dos elementos de modelo a partir de alterações nos projetos de código fonte correspondentes
-
Modo de sincronização para atualização de elementos de modelo quando o código fonte é excluído
-
Importação de bibliotecas de tipo no modelo
-
Habilidade para automatizar e estender a engenharia utilizando a Extensibilidade do Rose Visual Studio RTE
O Importador de Biblioteca de Tipo no Rational Rose permite importar uma biblioteca de tipo de um componente COM
(arquivos .dll, .exe, .ocx, .old e .tlb) em um modelo Rose. A biblioteca de tipo é representada como um componente e
como um pacote lógico no modelo. O pacote lógico contém os itens de biblioteca de tipo que são definidos por
informações de tipo do componente COM importado, como coclasses, interfaces etc. Cada item é representado por uma
classe.
Importando as bibliotecas de tipo em um modelo, você pode mostrar como as classes no modelo utilizam, implementam ou
dependem de classes e interfaces em outros componentes COM, independentemente da linguagem de implementação. Recursos
do Importador de Biblioteca de Tipo incluem:
-
Suporte com base em diálogo para controlar o Importador de Biblioteca de Tipo
-
Modo de Importação Rápida para importar espaços reservados de classes e modo de importação Completo para importar
classes com todas as operações e propriedades
-
Apresentação das bibliotecas de tipo no Navegador de Objeto ou no Visualizador de OLE/COM no Visual Studio
-
Habilidade de estender e personalizar a importação de biblioteca de tipo, executando o Importador de Biblioteca de
Tipo de um script ou um programa utilizando a Extensibilidade do Rose Visual Studio RTE
O modo como você utiliza uma biblioteca de tipo 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 para o suplemento de linguagem que está
utilizando.
O suplemento ANSI C++ do Rational Rose permite reverter o código fonte de engenharia para um modelo Rose. O ANSI C++
suporta a engenharia reversa em um modelo vazio, em que novos elementos de modelo são criado, e engenharia reversa em
modelo existente, em que os elementos de modelo são alterados para corresponder ao código. Ele fornece:
-
Suporte para evolução do Modelo de análise para design
-
Suporte para linguagem C++ sem ser restritivo com o compilador de C++ de um único fornecedor
-
Engenharia de ida e volta que sincroniza modelos e gera código C++ em várias iterações
-
Alterações feitas no código são retornadas ao modelo durante a engenharia reversa
-
Design, modelo e visualização de todos os constructos de C++, incluindo classes, gabaritos, espaço de nomes,
herança as funções de membros de classe
-
Suporte para estruturas grandes
O Rational Rose J permite a engenharia reversa de elementos Java existentes em um modelo Rose. Esses elementos incluem:
-
Arquivos de origem (arquivos .java)
-
Arquivos de bytecode (arquivos .class)
-
Arquivos de archive Java (arquivos .zip, .cab, .jar e .war)
-
Java Enterprise JavaBeans
-
Java Servlets
O Rational Rose J também suporta integração com o IBM VisualAge para Java.
O Rational Rose CORBA permite reverter a engenharia de qualquer código IDL compatível com CORBA em um modelo Rose. Cada
arquivo .idl com engenharia reversa torna-se um componente e é colocado na visualização de componente do modelo.
Quando você reverte a engenharia do código IDL com engenharia encaminhado anteriormente (isto é, o código que foi
gerado de elementos do modelo CORBA), os elementos do modelo original permanecem inalterados, exceto pelas novas
informações ou alterações inseridas no código IDL serem retornadas ao modelo. As exceções a essa regra são casos
especiais de constructos do Rational Rose que são utilizados para a engenharia de único encaminhamento apenas.
O DTD XML do Rational Rose reverte a engenharia de um DTD XML (arquivo .dtd) para criar um diagrama de classe do Rose
que mostre a estrutura, os elementos e os relacionamentos no DTD. Você pode incluir e remover elementos do DTD SML e
alterar os relacionamentos entre os elementos no diagrama de classe criado pelo processo de engenharia reversa. Depois
de utilizar o verificador de sintaxe do DTD XML do Rose para validar o XML, você pode gerar um novo DTD de um diagrama
de classe do Rose.
O DTD XML do Rational Rose fornece classes estereotipadas que você pode utilizar para o modelo e gerar DTD XML.
O Modelador da Web do Rational Rose analisa arquivos ASP (Active Server Page), JSP (Java Server Page) e HTML no seu
aplicativo da Web criando um modelo de aplicativo da Web que utiliza classes de estereótipos que representam páginas de
clientes, páginas de servidor e formulários HTML. Você pode modificar o modelo do aplicativo da Web e gerar arquivos
.asp, .jsp, .html e .htm do Modelador da Web.
Os recursos de Modelador de Dados do Rational Rose permite que o designer de banco de dados e o desenvolvedor de
software comuniquem os requisitos utilizando a mesma ferramenta. Como designer ou desenvolvedor de banco de dados, você
pode utilizar o Modelador de Dados do Rose para modelar e projetar um banco de dados por engenharia reversa de um
esquema de banco de dados existente ou script DDL.
Utilizando o Assistente de Engenharia Reversa do Modelador de Dados do Rational Rose, você pode aplicar a engenharia em
um script DDL ou esquema de banco de dados para o banco de dados padrão ANSI SQL 92 ou os seguintes DBMSes:
-
DB2 DBMS versões MVS e UDB
-
Oracle DBMS
-
SQL Server DBMS
-
Sybase Adaptive Server
O Assistente de Engenharia Reversa lê o esquema de banco de dados ou o arquivo DDL e cria um diagrama de modelo de
dados que inclui nomes de todas as entidades identificadoras citadas. Dependendo do DBMS, o Assistente de Engenharia
Reversa do Modelador de Dados do Rose modela tabelas, relacionamentos entre tabelas, procedimentos armazenados,
índices e acionadores no diagrama de modelo de dados.
No diagrama de modelo de dados, você pode incluir tabelas, definir relacionados, índices e domínios e aplicar um
formato comum de terceiros aos elementos e, em seguida, transformar o modelo de dados em um modelo de objeto ou
encaminhar a engenharia do modelo de dados para gerar um script DDL ou um esquema de banco de dados.
|