Rational Rose 2003 逆向工程转换C++源代码成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.exelmgrd.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就没问题了。 

 

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第1张图片

 

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,创建一个新的组件

  

 

(二)    componentlanguage属性设定为ANSI C++

a)          选中创建的component,点击右键,选中Open Specification

  

 

b)         在这个对话框中将该componentlanguage设定为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 EngineeredReverse engineer directories as packages 选项将以文件夹的形式在Rose Logical View中生成与源文件相同的文档结构。点击Add Files将需要转换的文件添加到Project Files中,视你的需要来做其它的设定,比如:头文件扩展名等等。

 

(四)    将设置好的component转换成模型图

a)          选中设置好的component,点击右键,选中ANSI C++->Reverse Engineer

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第2张图片

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

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第3张图片

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

 

(五)    得到逆向工程的模型图

          a)  新建一个Class Diagram,并命名。

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第4张图片

         b)         双击此Diagram打开,选择Query->Add Classes

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第5张图片

c)          Package下拉列表选择包含类的文件夹,点击OK。选择All >> 添加。

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第6张图片

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第7张图片

 

d)        重复同样的操作直到所有需转换成UML模型的类都已经添加完毕。最后在Class Diagram视图中显示所有生成的UML模型图及其它们之间的联系。

 

(六)    排列视图

一般来说,一个系统中所涉及的数据元素非常多,导致视图很拥挤,排版也非常困难。Rational Rose提供的自动排版功能可以很方便地帮助用户解决这个问题。

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

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第8张图片



2.2 Visual C++逆向工程(Reverse Engineer

Visual C++ 在使用这个功能的时候,要求用户的机器上同时安装Visual StudioVisual C++的逆向工程也需要首先创建一个component,并将该componentlanguage属性设置为VC++Rational RoseVC++模型的转换是通过读取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关联上了。

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第9张图片

(二)    将设置好的component转换成模型图

选中设置好的component,点击右键,Update Model…,将会弹出确认对话框,选中需要转换的class,点击finish就可以了。

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第10张图片

Rational Rose 2003 逆向工程转换C++源代码成UML类图 (使用篇)_第11张图片

 

注释

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):描述关系数据结构。

你可能感兴趣的:(2003,rose,rational)