rational rose进行c++代码的逆向工程资料精.pdfVIP

  • 0
  • 0
  • 约4.65千字
  • 约 17页
  • 2019-06-14 发布于湖北
  • 举报

rational rose进行c++代码的逆向工程资料精.pdf

rationalrose进行c代码的逆向工程资料精

利用利用Rational Rose 进行进行C++代码的逆向工程介绍代码的逆向工程介绍 利用利用 进行进行 代码的逆向工程介绍代码的逆向工程介绍 Rational Rose 是利用UML (统一建模语言)进行分析和设计面向对象软件系统的强大的可 视化工具,可以进行项目需求分析、结构规划和生成框架代码,还可以支持从现有系统逆向 转出工程代码,生成Rose 模型的功能。 2004 年10 月,IBM 推出了支持最新的UML2.0 的可视化建模工具 Rational Software Architect (见注释①) 和IBM Rational Software Modeler (见注释②)。虽然它们支持在 建模功能上有了更好的改进、支持了更新的标准,但是RSA 的精彩功能主要是集中在对Java 应用的支持,而IBM Rational Software Modeler 则是主要关注系统的模型设计,如果要从 结构上分析C++编写的系统的代码,Rational Rose 还是首选的工具。 接下来的文章将会对如何利用Rational Rose 的逆向转出工程来进行系统分析进行更加详 细地阐述。 一.Rational Rose 逆向工程介绍 逆向工程 (ReverseEngineer)就是从现有系统的代码来生成模型的功能。分析已有的代码 其主要的目的就是了解代码结构和数据结构,这些对应到模型图就是类图、数据模型图和组 件图 (对UML 各种模型图的描述见注释③),也就是通过Rational Rose 的逆向工程所得 到的结果。RationalRose 所支持的逆向工程功能很强大,包括的编程语言有C++, VB, VC, Java,CORBA,以及数据库DDL 脚本等等,并且可以直接连接DB2, SQLServer,Oracle 和 Sybase 等数据库导入Schema 并生成数据模型。 很多大型的C++开发的产品都涉及到数据库的使用,对这种大型系统的开发,尤其是做二 次开发的情况下,主要的难点就是对源码和数据库结构的分析。而利用Rose 的逆向工程这 一功能,就可以完成代码类图以及数据库Schema-数据模型图的转换,解决这两大难点, 可以使开发和设计人员在对这种大型系统的升级、分析和开发中,更为方便、快捷、有条理 地掌握系统结构,不用再为分析庞大的系统结构而头疼。 回页首回页首 回页首回页首 二.如何用Rational Rose 进行C++代码分析 这一节主要介绍用户如何使用Rose 的逆向工程生成UML 模型,并用来进行C++代码的结 构分析。 Rational Rose 可以支持标准C++和Visual C++ 的模型到代码的转换以及逆向工程。下面将 详细地说明这两种C++ project 的逆向工程的步骤和具体操作。 1.ANSI C++ (标准C++)逆向工程 (Reverse Engineer)使用标准C++逆向工程,需要 在组件图 (componentview )中创建一个组件 (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 root directory 设定为你的C++源码文件所在的路径,并且将需要转换的文 件添加到Project Files 中,视你的需要来做其它的设定,比如:头文件扩展名等等。 d) 将设置好的component 转换成模型图 ①选中设置好的component,点击右键,选中ANSI C++-Reverse Engineer ②选中需要转换的class,点击ok,一个component 的逆向转换就完成了。 2 .Visual C++ 在使用这个

文档评论(0)

1亿VIP精品文档

相关文档