1.安裝&破解Rational Rose 2003
1.1 安裝Rose 2003數據結構
(1)在網上下載Rational Rose Enterprise Edition 2003工具
(2)網上下載Rose 2003的破解包rose2003crack開發工具
(3)安裝Rational Rose Enterprise Edition 2003this
點擊exe安裝包,按照嚮導一步一步走。設計
Product Selection:選擇Rational Rose Enterprise Edition3d
Deployment Method: 選擇Desktop installation from CD imagecomponent
安裝過程當中,若系統跳出警告框 「SmartHeap Library」—MEM_BAD_POINTER, 點擊 」肯定」跳過。orm
安裝完成後,跳出 」License Key Administrator Wizard 」 對話框,選擇右下方的 」 Don’t show this wizard on startup again, I’ll use the toolbar to activate it.」 。server
1.2 破解Rose 2003對象
1. 安裝Rose後,默認是須要許可證書的。去下載個破解的。本例中下載的是rose2003crack.rar。
2. 先用破解壓縮包裏的 rational.exe,lmgrd.exe 覆蓋到你的Rose 2003安裝目錄的Rational\Common\
3. 而後記事本打開破解壓縮包裏的license.dat, 修改裏面的 SERVER yourPC ANY DAEMON rational "C:\Program Files\Rational\Common\rational.exe" 改爲 SERVER 你的機器名 ANY DAEMON rational "你的安裝目錄\rational.exe" ,拷貝到Common目錄下..
4. 爲終止警告框 「SmartHeap Library」—MEM_BAD_POINTER跳出, 將破解壓縮包裏的SHW32.DLL(通常會於mem_bad_pointer_emend.rar中)拷貝到你的Rose 2003安裝目錄的\Rational\Rose下覆蓋便可。
5. 將Flexlm.cpl拷貝到C:\WINDOWS\system32下,在控制面板裏,切換到經典視圖,運行 FLEXlm License Manager。 以後配置FLEXlm License Manager以下:
在 Setup 面板配置文件路徑,lmgrd.exe -> 你的安裝目錄 \Common\lmgrd.exe, 而 License File 爲你改過的 \Common\license.dat
6. 在Control面板點擊Start,若是成功的話點擊Status按鈕將顯示 你的機器名:license server UP (MASTER), 說明成功了。 失敗的話重啓一下FlexLm License Manager就沒問題了。
7. 若是彈出對話框License Key Administrator Wizard後, 選定Point to a Rational License Server to get my licenses,單擊下一步, Server Name文本框中填寫你的機器號(可能已經填好),單擊完成。 (成功的話會出現兩屏的licenses)
8. 從開始菜單啓動Rational Rose Enterprise Edition,若跳出對話框」Rational License Key Error」 , 點擊」Launch License Key Administrator」, 進入對話框,選擇工具條最左邊的小帽子按鈕」Start Wizard」, 跳出對話框」 License Key Administrator Wizard」,選定Point to a Rational License Server to get my licenses,單擊下一步,Server Name文本框中填寫你的機器號(可能已經填好,應與license.dat中的機器名同),單擊完成。 (成功的話會出現兩屏的licenses)
9. 若重啓電腦後,沒法從開始菜單啓動Rational Rose Enterprise Edition,請重啓控制面板裏的FlexLm License Manager。
2. Rational Rose 2003 逆向工程生成UML模型圖
這一節主要介紹用戶如何使用Rose的逆向工程生成UML模型,並用來進行C++代碼的結構分析。
Rational Rose能夠支持標準C++和Visual C++的模型到代碼的轉換以及逆向工程。下面將詳細地說明這兩種C++ project的逆向工程的步驟和具體操做。
2.1 ANSI C++(標準C++)逆向工程(Reverse Engineer)
使用標準C++逆向工程,須要在組件圖(component view)中建立一個組件(component),設置好須要進行轉換的組件的信息,也就是該組件的語言、所包含的文件、文件所在的路徑、文件後綴等等信息,而後Reverse Engineer就能夠根據給定的信息將代碼轉換成類圖了。
(一) 右鍵點擊組件視圖(Component View),選擇New->Component,建立一個新的組件
(二) 將component的language屬性設定爲ANSI C++
a) 選中建立的component,點擊右鍵,選中Open Specification
b) 在這個對話框中將該component的language設定爲ANSI C++
(三) 配置該ANSI C++ component,設置好該component中包含的C++代碼文件,並進行C++語言的詳細設置
a) 選中該component,點擊右鍵,選擇ANSI C++->Open ANSI C++ Specification
b) 把Source file root directory設定爲你的C++源碼文件所在的路徑,Reverse engineering root package 中輸入轉換後的工程的名稱,默認爲C++ Reverse Engineered,Reverse engineer directories as packages 選項將以文件夾的形式在Rose 的Logical View中生成與源文件相同的文檔結構。點擊Add Files將須要轉換的文件添加到Project Files中,視你的須要來作其它的設定,好比:頭文件擴展名等等。
(四) 將設置好的component轉換成模型圖
a) 選中設置好的component,點擊右鍵,選中ANSI C++->Reverse Engineer
b) 選中須要轉換的class,點擊ok,一個component的逆向轉換就完成了。
c) 逆向轉換完成後,將在Rose主界面的Logical View下顯示逆向轉化後的代碼。
(五) 獲得逆向工程的模型圖
a) 新建一個Class Diagram,並命名。
b) 雙擊此Diagram打開,選擇Query->Add Classes。
c) 在Package下拉列表選擇包含類的文件夾,點擊OK。選擇All >> 添加。
d) 重複一樣的操做直到全部需轉換成UML模型的類都已經添加完畢。最後在Class Diagram視圖中顯示全部生成的UML模型圖及其它們之間的聯繫。
(六) 排列視圖
通常來講,一個系統中所涉及的數據元素很是多,致使視圖很擁擠,排版也很是困難。Rational Rose提供的自動排版功能能夠很方便地幫助用戶解決這個問題。
選擇Format->Layout Diagram,系統會將圖中的全部元素用最優方式從新排列,給用戶一個清晰的視圖。
2.2 Visual C++逆向工程(Reverse Engineer)
Visual C++ 在使用這個功能的時候,要求用戶的機器上同時安裝Visual Studio。Visual C++的逆向工程也須要首先建立一個component,並將該component的language屬性設置爲VC++。Rational Rose對VC++模型的轉換是經過讀取VC++ Project File的信息來實現的,用戶只須要將對應的project file信息指定給component就能夠了。其他操做與「ANSI C++(標準C++)逆向工程」基本雷同。
(一) 將VC++ Project的信息賦給剛剛建立好的component。
a) 選擇該component,點擊右鍵,選擇Assign To Project
b) 在對話框中找到剛剛建立的component,右鍵點擊並選擇Properties。
c) 在下面對話框中選中須要進行轉換的Project,點擊ok,該component就與須要轉換的project關聯上了。
(二) 將設置好的component轉換成模型圖
選中設置好的component,點擊右鍵,Update Model…,將會彈出確認對話框,選中須要轉換的class,點擊finish就能夠了。
註釋
①IBM Rational Software Architect是一個集成式設計和開發工具,使用戶能夠用UML模型驅動的開發方式開發出結構清晰的應用程序和服務。
②IBM Rational Software Modeler是基於UML2.0的可定製的可視化建模和設計工具,遵循它所提供的工做流程,可使得系統設計師,系統分析師,設計人員等寫出更爲清晰的文檔,更爲有效地進行溝通和設計工做。
③UML提供的各類類型的模型描述圖
用例圖(Use Case Diagram):描述系統提供的一個功能單元,主要目的是幫助開發團隊以一種可視化的方式理解系統的功能需求,包括基於基本流程的"角色"(actors,也就是與系統交互的其餘實體)關係,以及系統內用例之間的關係。
序列圖(Sequence Diagram):顯示具體用例(或者是用例的一部分)的詳細流程。
狀態圖(Statechart Diagram):表示某個類所處的不一樣狀態和該類的狀態轉換信息。
活動圖(Activity Diagram):表示在處理某個活動時,兩個或者更多類對象之間的過程控制流。
類圖(Class Diagram):表示不一樣的實體(人、事物和數據)如何彼此相關;換句話說,它顯示了系統的靜態結構。
組件圖(Component Diagram):提供系統的物理視圖。組件(Component)表示模型代碼庫、執行庫和其它組件的信息。組件是代碼的實際模塊,組件圖主要用戶是負責控制代碼和編譯部署應用程序的人。有些組件是代碼庫,有些組件是運行組件,如執行文件或動態連接庫(DLL)文件。)
部署圖(Deployment View):表示該軟件系統如何部署到硬件環境中。
數據模型圖(Data Model Diagram):描述關係數據結構。