vs2010建模(uml關系圖)


使用VS2010建模

 

因為在平時工作中一直用Rational Rose或者EA等UML建模工具來實現UML圖的設計繪制,當然它們也支持正向及逆向工程。但一直感覺使用起來不能和Visual Studio很好的結合起來。直到今天我在微軟官網發現了一個拓展即:Visual Studio 2010的可視化和建模工具包

自己小試了一下發現這是個非常強大,使用也很便捷的拓展,下面具體說明一下本人是怎么使用該拓展的。

首先,需要安裝VS2010 Ultimate

然后,下載Visual Studio 2010的可視化和建模工具包(在vs的“工具”——“擴展管理器”——“聯機庫”中輸入檢索條件,即可檢索到)

Visual Studio 2010的可視化和建模工具包下載完成后是2個.vsix拓展文件,一個是建模工具包,一個是運行時,如下圖:

logo

雙擊直接安裝即可,安裝后開啟VS2010,在新建項目對話框中會多了一項“建模項目”如下圖:

2011-10-13 22-59-15

其中包括:

Layer Designer Command Extension——即向層關系圖添加命令和特定動作,具體請參見:向層關系圖添加命令和特點動作

Layer Designer Gesture Extension——即在圖層圖表中加入命令和軌跡,具體請參見:在圖層圖表中加入命令和軌跡

Layer Designer Validation Extension——即向層關系圖添加自定義體系結構驗證,具體請參見:向層關系圖添加自定義體系結構驗證

建模項目——今天我們主要討論該模板。

選中“建模項目”模板,設置名稱為“TestModelingProject”及設置存儲路徑,點擊【確定】按鈕。

這樣我們就創建了一個建模項目,在VS2010中的解決方案資源管理器中會看到如下圖:

2011-10-13 23-12-45

選中TestModelingProject建模項目,然后點擊IDE菜單欄中的【體系結構】菜單項然后選擇【新建關系圖】

2011-10-13 23-16-54

彈出關系圖選擇頁面

2011-10-13 23-18-13

目前共有如下幾種關系圖類別,我們以UML類圖為例,來建立我們自己的程序UML。

設置名稱及添加到建模項目后點擊【確定】按鈕。會自動在IDE中生成類關系圖。

2011-10-13 23-21-37

點擊IDE左側的“工具箱”DockPanel,在工具箱中會出現類圖中常用的圖形,如

2011-10-13 23-23-21

我們先建立一個Demo,即向畫布中拖拽一個接口及兩個類,分別命名為:IDemo,Demo1,Demo2,在接口中有一個方法約定即:int GetMaxValue(List<Int> list),兩個類分別實現該接口,如

2011-10-13 23-31-31

這里介紹一下接口或類型圖中該如何添加“特性”及“操作”,如添加一個操作即一個方法,首先選中“操作”行右鍵點擊【添加】-》【操作】

2011-10-13 23-28-29

然后再屬性DockPanel中設置相關參數及返回值類型等

2011-10-13 23-30-29

設置參數點擊“Parameters”屬性中右邊的瀏覽按鈕“2011-10-13 23-36-14”,彈出操作參數集合編輯器窗口,對參數進行設置

2011-10-13 23-30-09

這樣我們的方法就建立成功了,“特性”的創建和方法類圖,這里就不再一一介紹,這樣我們接口和類就創建成功了。

下面我們來將建好的UML類圖導出來,如何操作呢?如下:

Ctrl+A選中接口和類圖,右鍵點擊【GenerateCode】

2011-10-13 23-39-48

這時會提示選擇類模板對話框

2011-10-13 23-40-58

點擊【確定】按鈕,開始創建工程

2011-10-13 23-41-24

最終我們的UML類圖被正向工程導出為如下圖的類庫

2011-10-13 23-43-00

最終會輸出一些日志信息提供查看

2011-10-13 23-44-32

這樣我們的一個正向工程就完成了,在下章中我們會討論逆向工程的相關細節。

----------------------------------------------------------------------------------------------------------------
逆向工程

首先,我們先來創建我們將要逆向工程的項目文件,項目很簡單為了演示全面,我們分別建立了3個工程項目(類庫),如圖:

2011-10-14 22-25-21

該項目主要實現數據的加減乘除4種簡單計算操作,主要為了演示怎樣逆向工程及如何導出依賴項。

下面分別介紹一下這3個類庫的功能:

ZY.TestModeling.InterfaceDefine——該類庫主要功能為接口聲明。

ZY.TestModeling.Implement——該類庫主要負責功能實現(這里使用了策略模式對算法進行封裝)。

ZY.TestModeling.UI——顧名思義該類庫為用戶接口UI界面主要負責UI程序與用戶交互。

這樣我們項目結構清晰了,下面來看如何使用VS2010拓展進行逆向工程。

首先、我們應該創建我們所需用的類圖文件,如何操作呢?即我們右鍵點擊解決方案,然后選擇【添加】-》【新建項目】

然后再新建項目對話框中選擇【建模項目】設置項目名稱及存儲位置后點擊【確定】

這樣在解決方案下將自動生成建模項目

2011-10-14 22-43-04

然后選中該項目點擊Visual Studio 2010中的菜單欄【體系結構】-》【新建關系圖】

2011-10-14 22-44-07

然后彈出新建關系圖對話框,選擇“UML類圖”設置名稱及添加到的建模項目后點擊【確定】

2011-10-14 22-44-42

將在建模項目下生成一個.classdiagram文件,該文件即類圖項目文件,雙擊打開生成的類圖文件。

2011-10-14 22-48-18

然后、在Visual studio 2010的菜單欄中選擇【體系結構】-》【窗口】-》【體系結構管理器】,如圖:

2011-10-14 22-31-28

這樣會出現”體系結構資源管理器窗口”

2011-10-14 22-33-58

這里主要有兩種視圖方式,分別為“解決方案視圖”及“類視圖”

解決方案視圖即按解決方案中的層次項目目錄進行體系結構展示

2011-10-14 22-35-53

類視圖即按類的層次項目目錄進行體系結構展示

2011-10-14 22-37-48

這里我們使用“解決方案視圖”方式進行體系結構展示,在子項目窗口中選中將要逆向工程的項目,這樣在右邊將出現“文件”浮動窗口,在該窗口中將展示出被選中的3個項目的所有文件,選中所有文件后將出現”類型”浮動窗口

2011-10-14 22-50-06

2011-10-14 22-53-44

2011-10-14 22-57-27

按住鼠標左鍵將選中類型拖動到類圖文件中松開鼠標左鍵,這樣我們的逆向工程類圖就生成了。怎么樣簡單吧!

2011-10-14 22-58-48

最終結果為

無標題

這里還有一個不得不提的地方就是,在生成的類圖中可以選中某個類右鍵點擊【View Code】,這樣就可以直接調轉到類圖的具體實現文件了,開可以雙擊類圖中的某個“特性”或者“操作“都可以直接定位到實現代碼,這種操作確實很實用也很便利!

2011-10-14 23-04-22

同時還可以生成依賴項關系圖,我覺得這個功能也很強大,它可以將項目中所依賴的DLL全部以圖形化方式展示出來,並將依賴關系展現出來,甚至可以定位到具體的依賴函數。

如何使用呢?

點擊Visual Studio 2010菜單欄中的【體系結構】-》【生成依賴項關系圖】

具體用5個子項可供選擇,

按程序集,

按命名空間,

按類,

By Include File,

自定義

自己可以根據自己需要進行依賴項關系圖的生成

2011-10-14 23-07-05

這里我們選用”按程序集“生成

2011-10-14 23-12-37

生成后

2011-10-14 23-13-32

點擊【2011-10-14 23-14-18】按鈕,即可以將內部細節展現出來,支持子項繼續展開,不能不說微軟確實很強大

2011-10-14 23-16-00

同樣雙擊圖中的方法可以直接定位到具體的代碼實現。

這樣我們的逆向工程就完成了。

源文件地址: http://www.cnblogs.com/zhangyue2011 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM