摘要:Microsoft Visio 2000 Professional Edition 和 Enterprise Edition 包含通過逆向工程將 Microsoft Visual C++、Microsoft Visual Basic 和 Microsoft Visual J++ 代碼轉(zhuǎn)換為統(tǒng)一建模語言 (UML) 類圖表模型的技術(shù)。本文將討論從每種語言實(shí)施逆向工程的步驟。
目錄
簡介
概述
步驟 1:自定義開發(fā)環(huán)境
步驟 2:打開代碼項(xiàng)目以實(shí)施逆向工程
步驟 3:選擇“逆向工程”(Reverse Engineer) 按鈕
步驟 4:在 Visio UML 模型圖表解決方案中創(chuàng)建您的 UML 圖表
簡介
Microsoft Visio 2000 Enterprise Edition 和 Professional Edition 都包含通過逆向工程將代碼轉(zhuǎn)換為 UML 靜態(tài)結(jié)構(gòu)圖表的解決方案。該解決方案支持三種語言:Microsoft Visual C++ 6.0、Microsoft Visual Basic 6.0 和 Microsoft Visual J++ 6.0。Visio UML 模型圖表解決方案所采用的 UML 標(biāo)準(zhǔn)為 1.2 版。
每種語言使用的逆向工程技術(shù)各不相同。對于 J++ 和 Visual Basic,該解決方案使用開發(fā)環(huán)境的對象模型來收集靜態(tài)結(jié)構(gòu)信息。對于 C++,該解決方案將瀏覽信息文件 (.BSC) 用作結(jié)構(gòu)信息的來源。雖然 Visual Basic 和 J++ 逆向工程都使用開發(fā)環(huán)境的對象模型,但 J++ 對象模型提供了更完整的信息,因此可得到更完整的逆向工程 UML 模型。C++ 中的瀏覽信息文件包含最少的信息;因此,它所生成的 UML 模型不如 J++ 和 Visual Basic 逆向工程得到的 UML 模型那么完整。
本文將介紹通過逆向工程轉(zhuǎn)換到 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?。
概述
要通過逆向工程將您的代碼轉(zhuǎn)換到 Visio UML 模型圖表解決方案,應(yīng)執(zhí)行以下主要步驟:
自定義 Visual Studio 開發(fā)環(huán)境
在 Visual Studio 中打開項(xiàng)目以實(shí)施逆向工程
從“Visio UML 外接程序”(Visio UML Add-In) 工具欄中選擇“逆向工程”(Reverse Engineer) 按鈕
在 Visio UML 模型圖表解決方案中創(chuàng)建 UML 類圖表
本文的其余部分提供了每個步驟的詳細(xì)指導(dǎo),并包括特定于編程語言的信息。例如,在自定義開發(fā)環(huán)境部分,Visual C++、Visual Basic 和 Visual J++ 都有其相應(yīng)的章節(jié)。
步驟 1:自定義開發(fā)環(huán)境
為了實(shí)施逆向工程,第一步應(yīng)通過添加“Visio UML 外接程序”(Visio UML Add-In) 工具欄來自定義開發(fā)環(huán)境。以下指導(dǎo)顯示了如何將該工具欄添加到 Visual C++、Visual Basic 和 Visual J++ 的不同環(huán)境中。
自定義 Microsoft Visual C++ 6.0
在 Visual C++ 中,選擇 Tools 菜單上的 Customize。
在 Customize 對話框中,選擇 Add-ins and Macro Files 選項(xiàng)卡。
在 Add-ins and Macro Files 列表中,選擇外接程序和宏文件列表中的 Visio UML Add-in。確保旁邊的復(fù)選框被選中,然后單擊 Close。
出現(xiàn)浮動的 Visio UML Add-in 工具欄,其中包含五個按鈕。
提示:如果希望該工具欄在每次打開 Microsoft Visual Studio 時都可用,可通過拖動將該工具欄靠接到工具欄區(qū)。
自定義 Microsoft Visual Basic 6.0
在 Visual Basic 中,從“外接程序”菜單中選擇“外接程序管理器”。
在“外接程序管理器”對話框中,選擇“可用的外接程序”列表中的“Visio UML Add-in”。對于“加載行為”,選擇“加載/卸載”和“在啟動中加載”,然后單擊“確定”。
出現(xiàn)帶有四個按鈕的“Visio UML 外接程序”工具欄。
提示:Visio UML 外接程序在創(chuàng)建工具欄時,還會向“工具”菜單中添加命令。您可以通過從“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。
出現(xiàn)帶有四個按鈕的 Visio UML Add-in 工具欄。
提示:Visio UML Add-in 在創(chuàng)建工具欄時,還會向 Tools 菜單中添加命令。您可以通過從 Tools 菜單選擇 Visio UML Solution 來找到這些命令。
步驟 2:打開代碼項(xiàng)目以實(shí)施逆向工程
逆向工程過程從所有這三種語言的開發(fā)環(huán)境中開始。當(dāng)通過添加“Visio UML 外接程序”(Visio UML Add-in) 自定義環(huán)境后,下一步是打開要實(shí)施逆向工程的項(xiàng)目。
Visual C++ 6.0 的附加步驟
對于 Visual C++,在開始逆向工程之前,還必須執(zhí)行幾個附加步驟。第一步是生成項(xiàng)目的瀏覽信息文件 (.BSC)。以下提供了生成瀏覽文件的指導(dǎo)。第二步是確定逆向工程中要包含的代碼庫。設(shè)置這些選項(xiàng)的指導(dǎo)將在瀏覽文件指導(dǎo)之后提供。最后,應(yīng)在實(shí)施逆向工程之前構(gòu)建項(xiàng)目。
生成 Visual C++ 6.0 的瀏覽信息文件
在 Visual C++ 中,選擇 Project 菜單上的 Settings。
在 Project Settings 對話框中選擇所需構(gòu)建配置的類型,單擊 C/C++ 選項(xiàng)卡,然后選中 Generate browse info。
單擊 Browse Info 選項(xiàng)卡,指定瀏覽信息文件的名稱和位置,選中 Build browse info file,然后單擊 OK。
選擇 Visual C++ 6.0 逆向工程所包含的庫
單擊 UML Add-in 工具欄上的 Visio UML Options 按鈕,設(shè)置 Visual C++ 逆向工程所包含的庫。
此時顯示 Visio UML Options 屏幕。如果希望在逆向工程中包含 MFC Classes、ATL Classes 或 Standard Include Files 的信息,只需選中所需選項(xiàng)旁邊的復(fù)選框,然后單擊 OK。
步驟 3:從“Visio UML 外接程序”(Visio UML Add-In) 工具欄選擇“逆向工程”(Reverse Engineer) 按鈕
逆向工程的下一步是從“UML 外接程序”(Visio UML Add-In) 工具欄選擇“逆向工程”(Reverse Engineer) 按鈕。
對于 Visual Basic 和 Visual J++,此操作將在 Visio 2000 中打開 UML 模型圖表解決方案,其中會顯示通過逆向工程轉(zhuǎn)換為模型的信息。此時 UML 模型圖表解決方案打開,并在“UML 導(dǎo)航器”中顯示一個空白的靜態(tài)結(jié)構(gòu)圖表和一個樹視圖,其中包含從項(xiàng)目中收集的模型信息。
對于 Visual C++,在 Visio 2000 打開并顯示通過逆向工程轉(zhuǎn)換到 UML 模型圖表解決方案的項(xiàng)目信息之前,可能會顯示另外兩個屏幕。如果 Visual C++ 工作區(qū)中存在多個項(xiàng)目,可在 Select Project 對話框中選擇要實(shí)施逆向工程的項(xiàng)目,然后單擊 OK。
如果項(xiàng)目層次結(jié)構(gòu)中顯示了多個瀏覽文件,可在“選擇瀏覽文件”(Select Browse File) 對話框中選擇一個瀏覽文件,然后單擊“確定”(OK)。
步驟 4:在 Visio UML 模型圖表解決方案中創(chuàng)建您的 UML 圖表
現(xiàn)在,Visio 2000 應(yīng)該顯示您的項(xiàng)目信息。要創(chuàng)建 UML 類圖表,請將模型元素從“UML 導(dǎo)航器”(UML Navigator) 拖放到“靜態(tài)結(jié)構(gòu)”(Static Structure) 圖表上。類關(guān)系(泛化、實(shí)現(xiàn)、綁定)將會自動顯示。利用 Visio UML 模型圖表解決方案,您可以生成其他 UML 工件,以指定、構(gòu)造軟件項(xiàng)目并使軟件項(xiàng)目形象化和文檔化。
