您的位置:首页 > 编程语言 > C语言/C++

Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图

2011-04-06 10:04 495 查看

引用 Rational Rose 2003 逆向工程转换C++ / VC++ 6.0源代码成UML类图

1.

安装
&

破解
Rational Rose 2003

1.1

安装
Rose 2003


1

)在网上下载
Rational Rose Enterprise Edition 2003


2

)网上下载
Rose 2003

的破解包
rose2003crack


3

)安装
Rational Rose Enterprise Edition 2003

点击
exe

安装包,按照向导一步一步走。

Product Selection

:选择
Rational Rose Enterprise Edition

Deployment Method:

选择
Desktop installation from CD image

安装过程中,若系统跳出警告框
“SmartHeap Library”—MEM_BAD_POINTER,

点击


确定


跳过。

安装完成后,跳出
”License Key Administrator Wizard ”

对话框,选择右下方的
” Don’t show this wizard on startup again, I’ll use the toolbar to activate it.”



1.2

破解
Rose 2003

1.

安装
Rose


,

默认是需要许可证书的。去下载个破解的。本例中下载的是
rose2003crack.rar



2.

先用破解压缩包里的
rational.exe


lmgrd.exe

覆盖到你的
Rose 2003

安装目录的
Rational/Common/

3.

然后记事本打开破解压缩包里的
license.dat,

修改里面的
SERVER yourPC ANY DAEMON rational "C:/Program Files/Rational/Common/rational.exe"

改成
SERVER

你的机器名
ANY DAEMON rational "

你的安装目录
/rational.exe" ,

拷贝到
Common

目录下
..

4.

为终止
警告框
“SmartHeap Library”—MEM_BAD_POINTER

跳出,


破解压缩包里的
SHW32.DLL

(一般会于
mem_bad_pointer_emend.rar

中)拷贝到你的
Rose 2003

安装目录的
/Rational/Rose

下覆盖即可。

5.


Flexlm.cpl

拷贝到
C:/WINDOWS/system32

下,在控制面板里
,

切换到经典视图,运行
FLEXlm License Manager



之后配置
FLEXlm License Manager

如下:


Setup

面板配置文件路径,
lmgrd.exe ->

你的安装目录
/Common/lmgrd.exe,


License File

为你改过的
/Common/license.dat



6.


Control

面板点击
Start

,如果成功的话点击
Status

按钮将显示

你的机器名:
license server UP (MASTER)



说明成功了


失败的话重启一下
FlexLm License Manager

就没问题了。



7.

如果弹出对话框
License Key Administrator Wizard


,

选定
Point to a Rational License Server to get my licenses

,单击下一步,
Server Name

文本框中填写你的机器号
(

可能已经填好
)

,单击完成。
(

成功的话会出现两屏的
licenses)

8.

从开始菜单启动
Rational Rose Enterprise Edition

,若跳出对话框
”Rational License Key Error” ,

点击
”Launch License Key Administrator”,

进入对话框,选择工具条最左边的小帽子按钮
”Start Wizard”,

跳出对话框

License Key Administrator Wizard
”,

选定
Point to a Rational License Server to get my licenses

,单击下一步,
Server Name

文本框中填写你的机器号
(

可能已经填好,应与
license.dat

中的机器名同
)

,单击完成。
(

成功的话会出现两屏的
licenses)

9.

若重启电脑后,无法
从开始菜单启动
Rational Rose Enterprise Edition

,请重启控制面板里的
FlexLm License Manager



2. Rational Rose 2003

逆向工程生成
UML

模型图

这一节主要介绍用户如何使用
Rose

的逆向工程生成
UML

模型,并用来进行
C++

代码的结构分析。

Rational Rose

可以支持标准
C++


Visual C++

的模型到代码的转换以及逆向工程。下面将详细地说明这两种
C++ project

的逆向工程的步骤和具体操作。

2.1 ANSI C++

(标准

C++

)逆向工程(

Reverse Engineer



使用标准
C++

逆向工程,需要在组件图(
component view

)中创建一个组件(
component

),设置好需要进行转换的组件的信息,也就是该组件的语言、所包含的文件、文件所在的路径、文件后缀等等信息,然后
Reverse Engineer

就可以根据给定的信息将代码转换成类图了。

(一)

右键点击组件视图(

Component View


),选择

New->Component


,创建一个新的组件


 



 

(二)




component




language


属性设定为

ANSI C++



a)

选中创建的
component

,点击右键,选中
Open Specification

 



b)

在这个对话框中将该
component


language

设定为
ANSI C++



(三)


配置该

ANSI C++ component


,设置好该

component


中包含的

C++


代码文件,并进行

C++


语言的详细设置


a)

选中该
component

,点击右键,选择
ANSI C++->Open ANSI C++ Specification



b)


Source file root directory

设定为你的
C++

源码文件所在的路径,
Reverse engineering root package

中输入转换后的工程的名称,默认为
C++ Reverse Engineered


Reverse engineer directories as packages

选项将以文件夹的形式在
Rose


Logical View

中生成与源文件相同的文档结构。点击
Add Files

将需要转换的文件添加到
Project Files

中,视你的需要来做其它的设定,比如:头文件扩展名等等。

(四)


将设置好的

component


转换成模型图


a)

选中设置好的
component

,点击右键,选中
ANSI C++->Reverse Engineer



b)

选中需要转换的
class

,点击
ok

,一个
component

的逆向转换就完成了。



c)

逆向转换完成后,将在Rose
主界面的Logical View
下显示逆向转化后的代码。



(五)


得到逆向工程的模型图


a)

新建一个
Class Diagram

,并命名。



b)

双击此
Diagram

打开,选择
Query->Add Classes





c)


Package

下拉列表选择包含类的文件夹,点击
OK

。选择
All >>

添加。







d)

重复同样的操作直到所有需转换成
UML

模型的类都已经添加完毕。最后在
Class Diagram

视图中显示所有生成的
UML

模型图及其它们之间的联系。



(六)


排列视图


一般来说,一个系统中所涉及的数据元素非常多,导致视图很拥挤,排版也非常困难。
Rational Rose

提供的自动排版功能可以很方便地帮助用户解决这个问题。

选择
Format->Layout Diagram

,系统会将图中的所有元素用最优方式重新排列,给用户一个清晰的视图。





2.2 Visual C++

逆向工程(

Reverse Engineer





Visual C++

在使用这个功能的时候,要求用户的机器上同时安装
Visual Studio


Visual C++

的逆向工程也需要首先创建一个
component

,并将该
component


language

属性设置为
VC++


Rational Rose


VC++

模型的转换是通过读取
VC++ Project File

的信息来实现的,用户只需要将对应的
project file

信息指定给
component

就可以了。其余操作与“
ANSI C++


(标准

C++


)逆向工程

”基本雷同。

(一)




VC++ Project


的信息赋给刚刚创建好的

component





a)

选择该
component

,点击右键,选择
Assign To Project



b)

在对话框中找到刚刚创建的
component

,右键点击并选择
Properties





c)

在下面对话框中选中需要进行转换的
Project

,点击
ok

,该
component

就与需要转换的
project

关联上了。



(二)


将设置好的

component


转换成模型图


选中设置好的
component

,点击右键,
Update Model…

,将会弹出确认对话框,选中需要转换的
class

,点击
finish

就可以了。





注释



IBM Rational Software Architect

是一个集成式设计和开发工具,使用户可以用
UML

模型驱动的开发方式开发出结构清晰的应用程序和服务。


IBM Rational Software Modeler

是基于
UML2.0

的可定制的可视化建模和设计工具,遵循它所提供的工作流程,可以使得系统设计师,系统分析师,设计人员等写出更为清晰的文档,更为有效地进行沟通和设计工作。


UML

提供的各种类型的模型描述图

用例图
(Use Case Diagram)

:描述系统提供的一个功能单元,主要目的是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的
"

角色
"


actors

,也就是与系统交互的其他实体)关系,以及系统内用例之间的关系。

序列图
(Sequence Diagram)

:显示具体用例(或者是用例的一部分)的详细流程。

状态图
(Statechart Diagram)

:表示某个类所处的不同状态和该类的状态转换信息。

活动图
(Activity Diagram)

:表示在处理某个活动时,两个或者更多类对象之间的过程控制流。

类图
(Class Diagram)

:表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。

组件图
(Component Diagram)

:提供系统的物理视图。组件(
Component

)表示模型代码库、执行库和其它组件的信息。组件是代码的实际模块,组件图主要用户是负责控制代码和编译部署应用程序的人。有些组件是代码库,有些组件是运行组件,如执行文件或动态链接库(
DLL

)文件。)

部署图
(Deployment View)

:表示该软件系统如何部署到硬件环境中。

数据模型图
(Data Model Diagram)

:描述关系数据结构。

参考文献:



震杰
, IBM

中国软件开发中心软件工程师


利用
Rational Rose

进行
C++

代码和数据库结构分析》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: