關鍵字:Rational Rose進行C++代碼
一.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,創建一個新的組件
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/