设为首页 加入收藏

TOP

利用Rational Rose进行C++代码和数据库结构分析(1)
2013-10-06 23:51:56 来源: 作者: 【 】 浏览:58
Tags:利用 Rational Rose 进行 代码 数据库 结构 分析

本文内容包括:
一、Rational Rose逆向工程介绍
二、如何用Rational Rose进行C++(www.cppentry.com)代码分析
三、如何用Rational Rose进行数据库结构分析
四、如何得到逆向工程的模型图
五、总结
注释

Rational Rose是利用UML(统一建模语言)进行分析和设计面向对象软件系统的强大的可视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向转出工程代码,生成Rose模型的功能。

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

接下来的文章将会对如何利用Rational Rose 的逆向转出工程来进行系统分析进行更加详细地阐述。

一、Rational Rose逆向工程介绍

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

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

二、如何用Rational Rose进行C++(www.cppentry.com)代码分析

这一节主要介绍用户如何使用Rose的逆向工程生成UML模型,并用来进行C++(www.cppentry.com)代码的结构分析。

Rational Rose可以支持标准C++(www.cppentry.com)和Visual C++(www.cppentry.com)的模型到代码的转换以及逆向工程。下面将详细地说明这两种C++(www.cppentry.com) project的逆向工程的步骤和具体操作。

1、ANSI C++(www.cppentry.com)(标准C++(www.cppentry.com))逆向工程(Reverse Engineer)使用标准C++(www.cppentry.com)逆向工程,需要在组件图(component view)中创建一个组件(component),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后Reverse Engineer就可以根据给定的信息将代码转换成类图了。
a) 右键点击组件视图(Component View),选择New->Component,创建一个新的组件

 

b) 将component的language属性设定为ANSI C++(www.cppentry.com)
①选中创建的component,点击右键,选中Open Specification

 

②在这个对话框中将该component的language设定为ANSI C++(www.cppentry.com)

 

c) 配置该ANSI C++(www.cppentry.com) component,设置好该component中包含的C++(www.cppentry.com)代码文件,并进行C++(www.cppentry.com)语言的详细设置
①选中该component,点击右键,选择ANSI C++(www.cppentry.com)->Open ANSI C++(www.cppentry.com) Specification

 

②把Source file root directory设定为你的C++(www.cppentry.com)源码文件所在的路径,并且将需要转换的文件添加到Project Files中,视你的需要来做其它的设定,比如:头文件扩展名等等。

 

d) 将设置好的component转换成模型图
①选中设置好的component,点击右键,选中ANSI C++(www.cppentry.com)->Reverse Engineer

 

②选中需要转换的class,点击ok,一个component的逆向转换就完成了。

 

内容导航

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇基于灰度颜色个数的视频截图选取(.. 下一篇JAVA系统中内存泄漏测试方法的研..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: