C++代码到UML图逆向解析

原文链接:http://hi.baidu.com/hcq11/blog/item/549858249a2d7420d40742ab.html



这一节主要介绍用户如何使用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++

C++代码到UML图逆向解析_第1张图片
(三)    
配置该ANSI C++ component,设置好该component中包含的C++代码文件,并进行C++语言的详细设置

a)          选中该component,点击右键,选择ANSI C++->Open ANSI C++ Specification

C++代码到UML图逆向解析_第2张图片
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


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

C++代码到UML图逆向解析_第3张图片
c)        
逆向转换完成后,将在Rose主界面的Logical View下显示逆向转化后的代码。

C++代码到UML图逆向解析_第4张图片
(五)    
得到逆向工程的模型图

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


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

C++代码到UML图逆向解析_第5张图片
c)          
Package下拉列表选择包含类的文件夹,点击OK。选择All >> 添加。

C++代码到UML图逆向解析_第6张图片


C++代码到UML图逆向解析_第7张图片

你可能感兴趣的:(C++代码到UML图逆向解析)