利用rational rose做c++的逆向工程之備忘

1. ANSI C++(標準C++)逆向工程(Reverse Engineer)使用標準C++逆向工程,需要在組件圖(component view)中創建一個組件(component),設置好需要進行轉換的組件的信息,也就是該組件的語言、所包含的文件、文件所在的路徑、文件後綴等等信息,然後Reverse Engineer就可以根據給定的信息將代碼轉換成類圖了。

a) 右鍵點擊組件視圖(Component View),選擇New->Component,創建一個新的組件

b) 將component的language屬性設定爲ANSI C++

①選中創建的component,點擊右鍵,選中Open Specification

②在這個對話框中將該component的language設定爲ANSI C++

c) 配置該ANSI C++ component,設置好該component中包含的C++代碼文件,並進行C++語言的詳細設置

①選中該component,點擊右鍵,選擇ANSI C++->Open ANSI C++ Specification

②把Source file root directory設定爲你的C++源碼文件所在的路徑,並且將需要轉換的文件添加到Project Files中,視你的需要來做其它的設定,比如:頭文件擴展名等等。

d) 將設置好的component轉換成模型圖

①選中設置好的component,點擊右鍵,選中ANSI C++->Reverse Engineer

②選中需要轉換的class,點擊ok,一個component的逆向轉換就完成了。

 

在Rational Rose中,有些模型圖是不會自動生成的,很多時候這個工作需要用戶手工來完成。也就是說,Rational Rose只負責生成模型,包括模型中的元素、元素的屬性以及各個元素之間的關係,但是需要用戶做一些額外的工作來得到視圖。

首先,通過逆向工程,用戶已經得到了UML模型或者數據模型的各個組件以及它們之間的關係。 下一步需要在該模型上創建一個視圖,它們可以是類圖(class diagram,描述系統的靜態結構)或者數據模型圖(Data model digram,描述關係數據結構)。然後,手動從左邊的explorer中將各個元素拖進視圖中,在這個過程中,各個元素之間的關聯關係會自動在圖中表示出來,而不需要用戶再做其他工作。

例如:生成一個數據模型的數據模型圖的過程

從左邊將數據模型中的數據元素拖到右邊的數據模型圖中,表CustomerCustomerDemo和表CustomerDemographics之間的依賴關係的菱形箭頭是自動生成的,無需手工操作。

一般來說,一個系統中所涉及的數據元素非常多,導致視圖很擁擠,排版也非常困難。Rational Rose提供的自動排版功能可以很方便地幫助用戶解決這個問題。

選擇Format->Layout Diagram,系統會將圖中的所有元素用最優方式重新排列,給用戶一個清晰的視圖。



 

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