Rational Rose C++逆向工程
2016-08-02 11:55
399 查看
一.Rational Rose逆向工程介绍
逆向工程(Reverse Engineer)就是从现有系统的代码来生成模型的功能。分析已有的代码其主要的目的就是了解代码结构和数据结构,这些对应到模型图就是类图、数据模型图和组件图,也就是通过Rational Rose的逆向工程所得到的结果。Rational Rose所支持的逆向工程功能很强大,包括的编程语言有C++, VB, VC, Java, CORBA,以及数据库DDL脚本等等,并且可以直接连接DB2, SQLServer,Oracle和Sybase等数据库导入Schema并生成数据模型。
二.如何用Rational Rose进行C++代码分析
ANSI C++(标准C++)逆向工程(Reverse Engineer)使用标准C++逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后Reverse
Engineer就可以根据给定的信息将代码转换成类图了。
a) 右键点击组件视图(Component View),选择New->Component,创建一个新的组件
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 rootdirectory设定为你的C++源码文件所在的路径,并且将需要转换的文件添加到Project Files中,视你的需要来做其它的设定,比如:头文件扩展名等等。
d) 将设置好的component转换成模型图
①选中设置好的component,点击右键,选中ANSI C++->Reverse Engineer
②选中需要转换的class,点击ok,一个component的逆向转换就完成了。
四.如何得到逆向工程的模型图
在Rational Rose中,有些模型图是不会自动生成的,很多时候这个工作需要用户手工来完成。也就是说,RationalRose只负责生成模型,包括模型中的元素、元素的属性以及各个元素之间的关系,但是需要用户做一些额外的工作来得到视图。
首先,通过逆向工程,用户已经得到了UML模型或者数据模型的各个组件以及它们之间的关系。 下一步需要在该模型上创建一个视图,它们可以是类图(class diagram,描述系统的静态结构)或者数据模型图(Data
modeldigram,描述关系数据结构)。然后,手动从左边的explorer中将各个元素拖进视图中,在这个过程中,各个元素之间的关联关系会自动在图中表示出来,而不需要用户再做其他工作。
例如:生成一个数据模型的数据模型图的过程
从左边将数据模型中的数据元素拖到右边的数据模型图中,表CustomerCustomerDemo和表CustomerDemographics之间的依赖关系的菱形箭头是自动生成的,无需手工操作。
一般来说,一个系统中所涉及的数据元素非常多,导致视图很拥挤,排版也非常困难。Rational Rose提供的自动排版功能可以很方便地帮助用户解决这个问题。
选择Format->LayoutDiagram,系统会将图中的所有元素用最优方式重新排列,给用户一个清晰的视图。
相关文章推荐
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)
- 利用Rational Rose进行C++代码和数据库逆向工程 结构分析
- Rational Rose进行C++代码 逆向工程
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- 利用Rational Rose进行C++代码的逆向工程介绍
- 利用Rational Rose进行C++代码的逆向工程介绍
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- 利用Rational Rose进行C++代码的逆向工程介绍
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- 利用rational rose做c++的逆向工程之备忘
- Rational Rose正逆向工程(类图转Java代码,Java代码转类图)
- Rational Rose正逆向工程(类图转Java代码,Java代码转类图)
- rational rose 逆向工程
- Rational Rose 2003 逆向工程转换C++源代码成UML类图
- Rational Rose 把C++代码逆向转换成UML(安装篇)
- Rational Rose 逆向工程(java) 常见问题二则
- Linux C++ 调试神技--如何将Linux C++ 可执行文件逆向工程到Intel格式汇编