利用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,系統會將圖中的所有元素用最優方式重新排列,給用戶一個清晰的視圖。如果一個類中的成員數據和函數太多,可以右鍵單擊該類,選擇隱藏屬性或方法,如圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章