2010-09-15 187 views
2

我的教授要求我們爲下一個作業生成UML。我們正在使用Visual Studio 2010進行C++編程。我試圖去處理它,但我無法弄清楚,我去了Architecture-> Windows - > UML Model Explorer,但不明白下一步要去哪裏。 UML生成器是否會自動創建UML,或者只是給出一堆框來填充關於類和對象的所有信息(手動)?Visual Studio 2010中的UML圖生成器

+2

我想你只需要在Project Explorer中右鍵單擊你的項目,然後點擊View Class Diagram菜單選項。無論如何,這就是C#的工作原理。 – 2010-09-15 15:39:09

+0

所以類圖是UML? – Cool 2010-09-15 15:57:35

+2

很明顯,類圖與UML圖不一樣。 – Cool 2010-09-16 12:37:02

回答

4

您的問題讓我困惑,特別是當您提到使用Visual Basic 2010 for C++時。我假設你的意思是視覺工作室 2010.

至於做UML ......你使用的是Visual Studio Ultimate嗎?如果是這樣,您可以在Visual Studio中創建一些 UML圖,但不支持從現有代碼反向工程UML;您必須手動生成UML圖。

應該做什麼生成的UML 之前你的代碼,然後代碼針對你建立的模型。但是,這是你希望隨着時間學習的東西。

這就是說...... Visual Studio的所有版本都有一個稱爲「類圖」的特性,它與代碼緊密耦合並傳播數據 - 修改圖將修改代碼,反之亦然。應該強調一個VS類圖是而不是完全是UML,雖然看起來很相似。另外,C++的Class Diagram對我不起作用,但是,如果你使用C++/CLI而不是VB.NET,我不知道你會從中得到多少里程。如果您使用的是本機C++,那麼它將無法工作。

最終,你最好的選擇是手工完成UML。如果你有Visual Studio的UML工具,可以使用它們,但它們並不是市場上最好的UML工具。爲此,我推薦使用Visual Paradigm for UML,它有一個免費版本,它爲圖表添加了水印,並且還提供了一個Visual Studio插件。

+0

對不起,讓我感到困惑和感謝您的建議,我會考慮。 – Cool 2010-09-15 15:58:38

0

下載StarUML。這是在那裏更好的恕我直言之一。還有DIA,ArgoUML和Eclipse(帶有一些插件)。後兩者通常迫使你做到完全正確,幾乎沒有人真正知道該怎麼做(包括我自己)。前兩個讓你畫出該死的圖。

4

Visual Studio 2010中,無論哪個版本,可以NOT,我重複,可以NOT生成C++代碼UML類圖。任何人誰聲稱這一點,並沒有嘗試過:d 在這裏看到:http://social.msdn.microsoft.com/Forums/en-US/vsarch/thread/2c16410e-9986-49b2-a07c-882b1e5e2b3c

的Visual Studio 2010(也專業版及以後)可以產生「類圖」,但不UML類圖。相反,他們稱之爲「類圖」的格式對我而言仍然是未知的。它看起來類似於UML圖,但它確實不是。要獲得這些圖表,只需右鍵單擊一個項目,選擇「顯示類圖」並等待它出現(這對我來說也適用於C++項目,但我看到其他人報告說它不適用於他們... 不知道)。這些圖的大降,一邊是

  • ,你必須手動打開關聯到其他類進協會,箭頭(通過右鍵單擊成員變量,並在列表中選擇第一項)
  • 這轉換是不可能的,如果你有一個MSVS解決方案,包括若干個子項目,並已生成圖包含有關聯,應該是在一個不同子項目類的類

然而, C#你應該能夠在你的解決方案中生成一個新的建模項目,在其中創建一個空的UML類圖,然後將任何類的任何類從任何項目拖入該類圖(儘管如此還沒有測試過)。對此的要求至少要具有MSVS 2010 Ultimate版本,並且具有MSVS Feature Pack 2(根據我的理解,這包括Feature Pack(1)以及可視化和建模工具)。

對於C++,使用此功能包2時,可以創建依賴關係圖,顯示.cpp和.hpp文件之間的依賴關係箭頭,這也非常有用!請參閱http://msdn.microsoft.com/library/ff657798.aspx

0

有點遲,因爲我可以在搜索其他內容的同時回答問題。

正如您已經閱讀過的,Visual Studio不會創建UML圖,它會創建類圖,初看起來外觀類似,但它們不會建模依賴關係或任何其他關係,如聚合,合成,專業化或泛化。

如果您想創建實際的UML圖,請使用前面提到的StarUML(免費),Visual Paradigm(社區版,或支付給prof prof'),或者如果您是學生並且可以通過Dreamspark免費獲得或者現在他們稱之爲的任何東西),你可以嘗試Microsoft Visio,它是一個獨立的UML編輯器,它可以從任何MS Visual Studio支持的語言中生成代碼。

意見因人而異,所以最好的建議是自己調查一下,最好(如果你打算專業編程),熟悉它們。