收藏 分享(赏)

Rational Rose逆向工程介绍.doc

上传人:gnk289057 文档编号:4558182 上传时间:2019-01-02 格式:DOC 页数:9 大小:1.83MB
下载 相关 举报
Rational Rose逆向工程介绍.doc_第1页
第1页 / 共9页
Rational Rose逆向工程介绍.doc_第2页
第2页 / 共9页
Rational Rose逆向工程介绍.doc_第3页
第3页 / 共9页
Rational Rose逆向工程介绍.doc_第4页
第4页 / 共9页
Rational Rose逆向工程介绍.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、2004 年 10 月,IBM 推出了支持最新的 UML2.0 的可视化建模工具 Rational Software Architect(见注释) 和 IBM Rational Software Modeler(见注释)。虽然它们支持在建模功能上有了更好的改进、支持了更新的标准,但是 RSA 的精彩功能主要是集中在对 Java 应用的支持,而 IBM Rational Software Modeler 则是主要关注系统的模型设计,如果要从结构上分析 C+编写的系统的代码, Rational Rose 还是首选的工具。接下来的文章将会对如何利用 Rational Rose 的逆向转出工程来进行系

2、统分析进行更加详细地阐述。一Rational Rose 逆向工程介绍逆向工程(Reverse Engineer)就是从现有系统的代码来生成模型的功能。分析已有的代码其主要的目的就是了解代码结构和数据结构,这些对应到模型图就是类图、数据模型图和组件图(对 UML 各种模型图的描述见注释),也就是通过 Rational Rose 的逆向工程所得到的结果。Rational Rose 所支持的逆向工程功能很强大,包括的编程语言有 C+, VB, VC, Java, CORBA,以及数据库 DDL 脚本等等,并且可以直接连接 DB2, SQLServer, Oracle 和 Sybase 等数据库导入

3、Schema 并生成数据模型。很多大型的 C+开发的产品都涉及到数据库的使用,对这种大型系统的开发,尤其是做二次开发的情况下,主要的难点就是对源码和数据库结构的分析。而利用 Rose 的逆向工程这一功能,就可以完成代码类图以及数据库 Schema-数据模型图的转换,解决这两大难点,可以使开发和设计人员在对这种大型系统的升级、分析和开发中,更为方便、快捷、有条理地掌握系统结构,不用再为分析庞大的系统结构而头疼。二如何用 Rational Rose 进行 C+代码分析这一节主要介绍用户如何使用 Rose 的逆向工程生成 UML 模型,并用来进行 C+代码的结构分析。Rational Rose 可以

4、支持标准 C+和 Visual C+的模型到代码的转换以及逆向工程。下面将详细地说明这两种 C+ project 的逆向工程的步骤和具体操作。1 ANSI C+(标准 C+)逆向工程(Reverse Engineer) 使用标准 C+逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后 Reverse Engineer 就可以根据给定的信息将代码转换成类图了。a) 右键点击组件视图(Component View),选择 New-Component,创建

5、一个新的组件b) 将 component 的 language 属性设定为 ANSI C+选中创建的 component,点击右键,选中 Open Specification在这个对话框中将该 component 的 language 设定为 ANSI C+c) 配置该 ANSI C+ component,设置好该 component 中包含的 C+代码文件,并进行 C+语言的详细设置选中该 component,点击右键,选择 ANSI C+-Open ANSI C+ Specification把 Source file root directory 设定为你的 C+源码文件所在的路径,并且将

6、需要转换的文件添加到 Project Files 中,视你的需要来做其它的设定,比如:头文件扩展名等等。d) 将设置好的 component 转换成模型图选中设置好的 component,点击右键,选中 ANSI C+-Reverse Engineer选中需要转换的 class,点击 ok,一个 component 的逆向转换就完成了。2 Visual C+ 在使用这个功能的时候,要求用户的机器上同时安装 Visual Studio。Visual C+的逆向工程也需要首先创建一个 component,并将该 component 的 language 属性设置为 VC+。Rational Ros

7、e 对 VC+模型的转换是通过读取 VC+ Project File 的信息来实现的,用户只需要将对应的 project file 信息指定给 component 就可以了。a) 将 VC+ Project 的信息赋给刚刚创建好的 component。选择该 component,点击右键,选择 Assign To Project在对话框中找到刚刚创建的 component,右键点击并选择 Properties。在下面对话框中选中需要进行转换的 Project,点击 ok,该 component 就与需要转换的 project 关联上了。b) 将设置好的 component 转换成模型图选中设置

8、好的 component,点击右键,Update Model,将会弹出确认对话框,选中需要转换的 class,点击 finish 就可以了。三如何用 Rational Rose 进行数据库结构分析利用 Rational Rose 可以进行关系数据库的数据模型设计并导出 DDL 语言脚本,相反还可以导入已有的 DDL 脚本生成数据模型以及连接 SQLServer, DB2, Oracle 等数据库并导入数据库的 schema 生成数据模型。下面以 SQL Server 为例说明一下逆向转换工程的步骤。a) 首先,选择 Tools-Data Modeler- Reverse Engineerb)

9、在进行逆向工程转换的过程中可以选择是从数据库还是 DDL 脚本进行转换,如果是 DDL 脚本转换,就直接给定 DDL 脚本文件位置就可以了。本例子给出的是连接 SQLServer 数据库将 schema 导入生成数据模型的过程,所以选中 Database,进入下一步。c) 填写数据库相关信息d) 选中所有需要转换的 schemae) 选择需要将哪些数据库中的元素导入到数据模型中转换操作会自动在组件图(Component View)中添加数据库组件,并在逻辑图(Logical View)中生成以Schema 作为命名开头的数据模型。打开数据模型,可以看到从数据库中转换过来的各个表和视图。从数据模

10、型图中可以看到表的结构以及各个表和视图之间的逻辑关系。四如何得到逆向工程的模型图在 Rational Rose 中,有些模型图是不会自动生成的,很多时候这个工作需要用户手工来完成。也就是说,Rational Rose 只负责生成模型,包括模型中的元素、元素的属性以及各个元素之间的关系,但是需要用户做一些额外的工作来得到视图。首先,通过逆向工程,用户已经得到了 UML 模型或者数据模型的各个组件以及它们之间的关系。 下一步需要在该模型上创建一个视图,它们可以是类图(class diagram,描述系统的静态结构)或者数据模型图(Data model digram,描述关系数据结构)。然后,手动从

11、左边的 explorer 中将各个元素拖进视图中,在这个过程中,各个元素之间的关联关系会自动在图中表示出来,而不需要用户再做其他工作。例如:生成一个数据模型的数据模型图的过程从左边将数据模型中的数据元素拖到右边的数据模型图中,表 CustomerCustomerDemo 和表 CustomerDemographics 之间的依赖关系的菱形箭头是自动生成的,无需手工操作。一般来说,一个系统中所涉及的数据元素非常多,导致视图很拥挤,排版也非常困难。Rational Rose 提供的自动排版功能可以很方便地帮助用户解决这个问题。选择 Format-Layout Diagram,系统会将图中的所有元素

12、用最优方式重新排列,给用户一个清晰的视图。五总结了解了 Rational Rose 的逆向工程功能,用户就可以方便地利用这一工具进行大型数据库相关的 C+系统的分析和研究了。注释IBM Rational Software Architect 是一个集成式设计和开发工具,使用户可以用 UML 模型驱动的开发方式开发出结构清晰的应用程序和服务。IBM Rational Software Modeler 是基于 UML2.0 的可定制的可视化建模和设计工具,遵循它所提供的工作流程,可以使得系统设计师,系统分析师,设计人员等写出更为清晰的文档,更为有效地进行沟通和设计工作。UML 提供的各种类型的模型

13、描述图用例图(Use Case Diagram):描述系统提供的一个功能单元,主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色“ (actors,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。序列图(Sequence Diagram):显示具体用例(或者是用例的一部分)的详细流程。状态图(Statechart Diagram):表示某个类所处的不同状态和该类的状态转换信息。活动图(Activity Diagram):表示在处理某个活动时,两个或者更多类对象之间的过程控制流。类图(Class Diagram):表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。组件图(Component Diagram):提供系统的物理视图。组件(Component)表示模型代码库、执行库和其它组件的信息。组件是代码的实际模块,组件图主要用户是负责控制代码和编译部署应用程序的人。有些组件是代码库,有些组件是运行组件,如执行文件或动态链接库(DLL)文件。)部署图(Deployment View):表示该软件系统如何部署到硬件环境中。数据模型图(Data Model Diagram):描述关系数据结构。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑环境 > 修缮加固与改造

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报