本文內容包括:
一、Rational Rose逆向工程介紹
二、如何用Rational Rose進行C++代碼分析
三、如何用Rational Rose進行數據庫結構分析
四、如何得到逆向工程的模型圖
五、總結
注釋
Rational Rose是利用UML(統一建模語言)進行分析和設計面向對象軟件系統的強大的可視化工具,可以進行項目需求分析、結構規劃和生成框架代碼,還可以支持從現有系統逆向轉出工程代碼,生成Rose模型的功能。
2004年10月,IBM推出了支持最新的UML2.0的可視化建模工具Rational Software Architect(見注釋①)和IBM Rational Software Modeler(見注釋②)。雖然它們支持在建模功能上有了更好的改進、支持了更新的標準,但是RSA的精彩功能主要是集中在對Java應用的支持,而IBM Rational Software Modeler則是主要關注系統的模型設計,如果要從結構上分析C++編寫的系統的代碼,Rational Rose還是首選的工具。
接下來的文章將會對如何利用Rational Rose 的逆向轉出工程來進行系統分析進行更加詳細地闡述。
一、Rational Rose逆向工程介紹
逆向工程(Reverse Engineer)就是從現有系統的代碼來生成模型的功能。分析已有的代碼其主要的目的就是了解代碼結構和數據結構,這些對應到模型圖就是類圖、數據模型圖和組件圖(對UML各種模型圖的描述見注釋③),也就是通過Rational Rose的逆向工程所得到的結果。Rational Rose所支持的逆向工程功能很強大,包括的編程語言有C++, VB, VC, Java, CORBA,以及數據庫DDL腳本等等,并且可以直接連接DB2, SQLServer, Oracle和Sybase等數據庫導入Schema并生成數據模型。
很多大型的C++開發的產品都涉及到數據庫的使用,對這種大型系統的開發,尤其是做二次開發的情況下,主要的難點就是對源碼和數據庫結構的分析。而利用Rose的逆向工程這一功能,就可以完成代碼、類圖以及數據庫Schema->數據模型圖的轉換,解決這兩大難點,可以使開發和設計人員在對這種大型系統的升級、分析和開發中,更為方便、快捷、有條理地掌握系統結構,不用再為分析龐大的系統結構而頭疼。
二、如何用Rational Rose進行C++代碼分析
這一節主要介紹用戶如何使用Rose的逆向工程生成UML模型,并用來進行C++代碼的結構分析。
Rational Rose可以支持標準C++和Visual C++的模型到代碼的轉換以及逆向工程。下面將詳細地說明這兩種C++ project的逆向工程的步驟和具體操作。
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的逆向轉換就完成了。
共4頁: 1 [2] [3] [4] 下一頁 |