利用Rational Rose进行C++代码分析和生成类图

参考了以下博文:
https://blog.csdn.net/zyyoung/article/details/1670803
https://www.cnblogs.com/ssjie/p/4954034.html
本文主要是记录一下使用Rational Rose的逆向工程功能,从现有的C++代码生成UML类图的步骤。方便自己看代码时迅速理清各个类之间的关系。
**

  • 逆向工程:

**

1)在构件视图(Component View)中创建并命名新的构件(Component),如:NewCplusplusComponent,如下图;
新建构建视图
2).双击新的构件(NewCplusplusComponent)打开Component Specification窗口,将构件的实现语言改为ANSI C++,如图:
在这里插入图片描述

3).右单击新构件(NewCplusplusComponent),选择快捷菜单中的ANSI; C++>Open ANSI C++ Specification…,打开构件ANSI C++ Specification窗口,在构件规范窗口的Files标签中添加源文件,如图:
在这里插入图片描述
4).右单击构件NewCplusplusComponent,选择Tools>ANSI C++>Reverse engineer…,打开“选择要添加到模型中的类 ”的窗口,选择要添加到模型中的类,单击Ok按钮,开始逆向工程,如图:
在这里插入图片描述
**

  • 构建视图----->模型图

**
逆向转换完成后,将在Rose主界面的Logical View下显示逆向转化后的代码,如图:
在这里插入图片描述
新建一个Class Diagram,并命名CplusplusClassDiagram。
在这里插入图片描述
双击此 双击此Diagram打开,选择Query->Add Classes。打开,选择Query->Add Classes,如图:
在这里插入图片描述
添加所需要的那类,点击OK,如图是可选择的类:可选择添加的类在这里插入图片描述
可添加的类如下:在这里插入图片描述
最终生成的类图如下:
在这里插入图片描述
如果一个系统中所涉及的数据元素非常多,导致视图很拥挤,排版也非常困难。Rational Rose提供的自动排版功能可以很方便地帮助用户解决这个问题。

选择Format->Layout Diagram,系统会将图中的所有元素用最优方式重新排列,给用户一个清晰的视图。如果一个类中的成员数据和函数太多,可以右键单击该类,选择隐藏属性或方法,如图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/dawudayudaxue/article/details/103769903