工具向导:使用 Rational Rose 反向设计代码
此工具向导描述 Rational Rose 将多种元素反向设计为 Rose 模型的功能。
工具:Rational Rose
关系
主要描述

概述

此工具向导描述 Rational Rose 将多种元素反向设计为 Rose 模型的功能,包括源语言和二进制代码、类型库、基于 Web 的元素、XML DTD 和数据库模式等各种元素。

反向设计过程检查现有资源,重新获得有关其设计的信息,然后使用该信息生成或更新表示项目逻辑结构的模型。它使您能够复用多个模型或系统公用的元素。通过在 Rational Rose 中分析和设计,从模型生成源代码,开发源代码,然后将该源代码反向设计回 Rose 模型,它还使您能够迭代开发(双向设计)系统。

以下 Rational Rose 外挂程序提供了反向设计功能:

Visual C++

通过使用 Rational Rose Visual C++,您能够反向设计 Visual C++ 源代码。其功能包括: 

  • 完全反向设计通用的 Visual C++ 语言构造(如:关系、类型定义、枚举、消息/对象/COM 映射、构造函数和析构函数) 
  • 基于对话支持反向设计 Visual C++ 元素代码
  • 代码或模型在更改时自动更新的自动同步方式
  • 与 Microsoft 的 Visual Studio 相集成,还包括 IDL 文件
  • 支持 Visual C++ 模板类和用户指定的代码模式

 Visual Basic

通过与 Microsoft Visual Basic 6.0 环境的紧密集成,Rational Rose Visual Basic 语言支持外挂程序使您能够通过更改 Visual Basic 源代码来更新并随后开发 Rose 模型。 在更改源代码时,可扩展和可定制的基于对话的工具指导您顺利完成更新模型的过程。

包括以下功能:

  • 根据相应源代码项目的更改更新模型元素
  • 在删除源代码时更新模型元素的同步方式
  • 在模型中导入类型库 
  • 通过使用 Rose Visual Studio RTE Extensibility 扩展双向设计并使其自动化的功能

Type Library Importer

Rational Rose Type Library Importer 使您能够将 COM 组件的类型库(.dll、.exe、.ocx、.olb、和 .tlb 文件)导入 Rose 模型中。 在模型中,类型库表示为组件和逻辑软件包。 逻辑软件包包含导入的 COM 组件(如,共用类、接口等)的类型信息定义的类型库项。 每一项都用一个类来表示。

通过将类型库导入到模型中,无论类用什么语言实施,您都可以显示模型中的类是如何使用、实施或者依赖于其他 COM 组件中的类和接口的。 Type Library Importer 的功能包括:

  • 基于对话支持 Type Library Importer 控件
  • 快速导入方式可导入类占位符,完整导入方式可导入带所有操作和属性的类
  • 在 Visual Studio 中的 Object Browser 或 OLE/COM Viewer 中表示类型库
  • 使用 Rose Visual Studio RTE Extensibility 通过运行 Type Library Importer 从脚本或程序扩展和定制类型库导入。

帮助手册图标 使用的编程语言不同,类型库的使用方法也会不同。 有关更多信息,请参阅 Rational Rose 的联机帮助和您使用的语言外挂程序的文档。

 ANSI C++

Rational Rose ANSI C++ 外挂程序使您能够将源代码反向设计成 Rose 模型。ANSI C++ 支持反向设计成空模型,该过程创建新的模型元素、反向设计到现有模型,并将模型元素更改为与该代码相对应。它提供:

  • 支持从分析到设计的模型演进
  • 支持 C++ 语言,同时并不限定于某家供应商提供的 C++ 编译器
  • 使模型同步并根据多个迭代生成 C++ 代码的往返工程
  • 对代码所作的更改将在反向设计过程中带回模型
  • 设计、建模和可视化所有 C++ 构造(包括类、模板、名称空间、继承和类成员函数)
  • 支持大的框架

Rose J(Java)

Rational Rose J 使您能够将现有的 Java 元素反向设计成 Rose 模型。这些元素包括:

  • 源文件(.java 文件)
  • 字节码文件(.class 文件)
  • Java 归档文件(.zip、.cab、.jar 和 .war 文件)
  • Java Enterprise JavaBeans
  • Java Servlets

Rational Rose J 还支持与 IBM VisualAge for Java 的集成。

CORBA 

Rational Rose CORBA 使您能够将任何 CORBA 兼容的 IDL 代码反向设计成 Rose 模型。每个反向设计的 .idl 文件都变成一个组件,并被置于模型的组件视图中。

当反向设计先前正向设计的 IDL 代码(即,从 CORBA 模型元素生成的代码)时,除非您在 IDL 代码中输入的新信息或更改被带回到该模型中,否则您原先的模型元素保持不变。这一规则也有例外,那就是 Rational Rose 构造只用于一次性正向设计的特例。

 XML DTD

Rational Rose XML DTD(可扩展标记语言文档类型定义)反向设计 XML DTD(.dtd 文件),以创建在 DTD 中显示结构、元素和关系的 Rose 类图。您可以添加和除去 XML DTD 元素,还可以更改类图中通过反向设计过程创建的元素之间的关系。在使用 Rose XML DTD 语法检查程序验证了 XML 后,您可以从该 Rose 类图生成一个新的 DTD。

Rational Rose XML DTD 提供了构造型类,可用来生成 XML DTD 并对其建模。

Web Modeler

Rational Rose Web Modeler 对 Web 应用程序中的 Active Server Page(ASP)、Java Server Page(JSP)和 HTML 文件进行语法分析,以使用表示客户端页面、服务器页面和 HTML 表单的构造型类创建 Web 应用程序模型。您可以修改 Web 应用程序模型,并从 Web Modeler 生成 .asp、.jsp、.html 和 .htm 文件。

Data Modeler

Rational Rose Data Modeler 的功能允许数据库设计员和软件开发人员使用相同工具交流需求。作为数据库设计员或开发人员,您可以使用 Rose Data Modeler 通过反向设计现有数据库模式或 DDL 脚本对数据库进行建模和设计。

通过使用 Rational Rose Data Modeler 反向设计向导,您可以为 ANSI SQL 92 标准数据库或以下 DBMS 设计 DDL 脚本或数据库模式:

  • DB2 DBMS 版本 MVS 和 UDB
  • Oracle DBMS 
  • SQL Server DBMS 
  • Sybase Adaptive Server 

反向设计向导读取数据库模式或 DDL 文件,并创建包含所有加引号标识实体的名称的数据模型图。根据 DBMS、Rose Data Modeler“反向设计向导”对数据模型图中的表、表之间的关系、存储过程、索引以及触发器建模。

在数据模型图中,您可以添加表,定义关系、索引和域,并对元素应用第三方普通格式,然后将该数据模型转换成对象模型,或者正向设计该数据模型以生成 DDL 脚本或数据库模式。