1. 程式人生 > >[建模]使用Visio 2000逆向工程將程式碼轉換為UML圖表

[建模]使用Visio 2000逆向工程將程式碼轉換為UML圖表

摘要:Microsoft Visio 2000 Professional Edition 和 Enterprise Edition 包含通過逆向工程將 Microsoft Visual C++、Microsoft Visual Basic 和 Microsoft Visual J++ 程式碼轉換為統一建模語言 (UML) 類圖表模型的技術。本文將討論從每種語言實施逆向工程的步驟。
目錄
簡介
概述
步驟 1:自定義開發環境
步驟 2:開啟程式碼專案以實施逆向工程
步驟 3:選擇“逆向工程”(Reverse Engineer) 按鈕
步驟 4:在 Visio UML 模型圖表解決方案中建立您的 UML 圖表
簡介
Microsoft Visio 2000 Enterprise Edition 和 Professional Edition 都包含通過逆向工程將程式碼轉換為 UML 靜態結構圖表的解決方案。該解決方案支援三種語言:Microsoft Visual C++ 6.0、Microsoft Visual Basic 6.0 和 Microsoft Visual J++ 6.0。Visio UML 模型圖表解決方案所採用的 UML 標準為 1.2 版。
每種語言使用的逆向工程技術各不相同。對於 J++ 和 Visual Basic,該解決方案使用開發環境的物件模型來收集靜態結構資訊。對於 C++,該解決方案將瀏覽資訊檔案 (.BSC) 用作結構資訊的來源。雖然 Visual Basic 和 J++ 逆向工程都使用開發環境的物件模型,但 J++ 物件模型提供了更完整的資訊,因此可得到更完整的逆向工程 UML 模型。C++ 中的瀏覽資訊檔案包含最少的資訊;因此,它所生成的 UML 模型不如 J++ 和 Visual Basic 逆向工程得到的 UML 模型那麼完整。
本文將介紹通過逆向工程轉換到 Visio UML 模型圖表解決方案所需的步驟。
注意:Visio UML 模型圖表解決方案只支援 Microsoft Visual C++ 6.0、Microsoft Visual J++ 6.0 和 Microsoft Visual Basic 6.0 的逆向工程。要使用 Visio UML 外接程式,必須安裝 Service Pack 3.0 for Microsoft? Visual Studio?。
概述
要通過逆向工程將您的程式碼轉換到 Visio UML 模型圖表解決方案,應執行以下主要步驟:
自定義 Visual Studio 開發環境

在 Visual Studio 中開啟專案以實施逆向工程

從“Visio UML 外接程式”(Visio UML Add-In) 工具欄中選擇“逆向工程”(Reverse Engineer) 按鈕

在 Visio UML 模型圖表解決方案中建立 UML 類圖表
本文的其餘部分提供了每個步驟的詳細指導,幷包括特定於程式語言的資訊。例如,在自定義開發環境部分,Visual C++、Visual Basic 和 Visual J++ 都有其相應的章節。
步驟 1:自定義開發環境
為了實施逆向工程,第一步應通過新增“Visio UML 外接程式”(Visio UML Add-In) 工具欄來自定義開發環境。以下指導顯示瞭如何將該工具欄新增到 Visual C++、Visual Basic 和 Visual J++ 的不同環境中。
自定義 Microsoft Visual C++ 6.0
在 Visual C++ 中,選擇 Tools 選單上的 Customize。

在 Customize 對話方塊中,選擇 Add-ins and Macro Files 選項卡。
在 Add-ins and Macro Files 列表中,選擇外接程式和巨集檔案列表中的 Visio UML Add-in。確保旁邊的複選框被選中,然後單擊 Close。


 
出現浮動的 Visio UML Add-in 工具欄,其中包含五個按鈕。


 
提示:如果希望該工具欄在每次開啟 Microsoft Visual Studio 時都可用,可通過拖動將該工具欄靠接到工具欄區。
自定義 Microsoft Visual Basic 6.0
在 Visual Basic 中,從“外接程式”選單中選擇“外接程式管理器”。


 
在“外接程式管理器”對話方塊中,選擇“可用的外接程式”列表中的“Visio UML Add-in”。對於“載入行為”,選擇“載入/解除安裝”和“在啟動中載入”,然後單擊“確定”。


 
出現帶有四個按鈕的“Visio UML 外接程式”工具欄。


 
提示:Visio UML 外接程式在建立工具欄時,還會向“工具”選單中新增命令。您可以通過從“Visio UML 解決方案”中選擇“工具”來找到這些命令。
自定義 Microsoft Visual J++ 6.0
在 Visual J++ 中,選擇 Tools 選單上的 Add-In Manager。


 
在 Add-In Manager 對話方塊中,選擇 Available Add-Ins 列表中的 Visio UML Solution。對於 Load Behavior,選中 Loaded/Unloaded 和 Load On Startup,然後單擊 OK。


 
出現帶有四個按鈕的 Visio UML Add-in 工具欄。


 
提示:Visio UML Add-in 在建立工具欄時,還會向 Tools 選單中新增命令。您可以通過從 Tools 選單選擇 Visio UML Solution 來找到這些命令。
步驟 2:開啟程式碼專案以實施逆向工程
逆向工程過程從所有這三種語言的開發環境中開始。當通過新增“Visio UML 外接程式”(Visio UML Add-in) 自定義環境後,下一步是開啟要實施逆向工程的專案。
Visual C++ 6.0 的附加步驟
對於 Visual C++,在開始逆向工程之前,還必須執行幾個附加步驟。第一步是生成專案的瀏覽資訊檔案 (.BSC)。以下提供了生成瀏覽檔案的指導。第二步是確定逆向工程中要包含的程式碼庫。設定這些選項的指導將在瀏覽檔案指導之後提供。最後,應在實施逆向工程之前構建專案。
生成 Visual C++ 6.0 的瀏覽資訊檔案
在 Visual C++ 中,選擇 Project 選單上的 Settings。

在 Project Settings 對話方塊中選擇所需構建配置的型別,單擊 C/C++ 選項卡,然後選中 Generate browse info。


 
單擊 Browse Info 選項卡,指定瀏覽資訊檔案的名稱和位置,選中 Build browse info file,然後單擊 OK。


 
選擇 Visual C++ 6.0 逆向工程所包含的庫
單擊 UML Add-in 工具欄上的 Visio UML Options 按鈕,設定 Visual C++ 逆向工程所包含的庫。


 
此時顯示 Visio UML Options 螢幕。如果希望在逆向工程中包含 MFC Classes、ATL Classes 或 Standard Include Files 的資訊,只需選中所需選項旁邊的複選框,然後單擊 OK。


 
步驟 3:從“Visio UML 外接程式”(Visio UML Add-In) 工具欄選擇“逆向工程”(Reverse Engineer) 按鈕


 
逆向工程的下一步是從“UML 外接程式”(Visio UML Add-In) 工具欄選擇“逆向工程”(Reverse Engineer) 按鈕。
對於 Visual Basic 和 Visual J++,此操作將在 Visio 2000 中開啟 UML 模型圖表解決方案,其中會顯示通過逆向工程轉換為模型的資訊。此時 UML 模型圖表解決方案開啟,並在“UML 導航器”中顯示一個空白的靜態結構圖表和一個樹檢視,其中包含從專案中收集的模型資訊。
對於 Visual C++,在 Visio 2000 開啟並顯示通過逆向工程轉換到 UML 模型圖表解決方案的專案資訊之前,可能會顯示另外兩個螢幕。如果 Visual C++ 工作區中存在多個專案,可在 Select Project 對話方塊中選擇要實施逆向工程的專案,然後單擊 OK。
如果專案層次結構中顯示了多個瀏覽檔案,可在“選擇瀏覽檔案”(Select Browse File) 對話方塊中選擇一個瀏覽檔案,然後單擊“確定”(OK)。
步驟 4:在 Visio UML 模型圖表解決方案中建立您的 UML 圖表
現在,Visio 2000 應該顯示您的專案資訊。要建立 UML 類圖表,請將模型元素從“UML 導航器”(UML Navigator) 拖放到“靜態結構”(Static Structure) 圖表上。類關係(泛化、實現、繫結)將會自動顯示。利用 Visio UML 模型圖表解決方案,您可以生成其他 UML 工件,以指定、構造軟體專案並使軟體專案形象化和文件化。