2010-10-27 51 views
2

我們有一個非常大的應用程序,這個應用程序專門由單個開發人員設計,他們不太願意將太多的信息放在一起。適用於大型應用程序的UML建模工具

我們想用UML工具,教育目的,以便其他人可以開始學習,並採取代碼的所有權,但與大的代碼庫,它可能很難找出它是如何工作。

我的問題是:

  1. 你會如何在一個複雜的框架教育別人?
  2. UML會受益嗎?
  3. .NET應用程序有哪些UML工具?
  4. UML工具能夠自動生成序列圖嗎?至少這會給出關於對象如何交互的更多信息?

提供的任何信息,將不勝感激。

JD

+0

我可以看到一個應用程序如何可以**大**,並且主要由**單**開發人員創建。 – 2010-10-27 12:32:41

回答

3
  1. 沒有一個單一的答案。圖表可以幫助整體結構。編寫單元測試對於理解它的工作原理非常具有啓發性,併爲後續進化提供了額外的獎勵。最後,只需閱讀代碼。
  2. 它可以做。類圖對理解靜態結構非常有用。具體形象化類之間的關係 - 對我來說,他們是「祕密醬油」。序列圖和活動圖對理解行爲很有用。
  3. Visual Studio中內置了(終極版?),它可以自動生成類和序列圖UML工具。
  4. 見上文。

總體來說沒有靈丹妙藥。讓你的頭腦圍繞你不熟悉的大量代碼需要時間。我會考慮開發人員知道它的「消除不情願」的選項。讓他(她)運行一系列的輔導課,然後再通過框架的每個元素,這將會非常有益。最重要的是,他(她)就可以解釋爲什麼一定事情,因爲它們是 - 它可以是非常有價值的。沒有工具會給你。

心連心。

+0

謝謝大家。我現在正在和Altova UModel一起工作,但所有要點都是在UML,單元測試(我一直堅持的),內聯編碼和希望的一些輔導課程將有助於分享知識。 – 2010-10-28 11:51:40

2
  1. 文檔。通過使用和示例創建內聯文檔和整體文檔。這可能是其他人深入瞭解框架的最佳方式;
  2. 也許;取決於你如何使用該工具。文檔可能會幫助更多;
  3. 我們正在使用Enterprise Architect,相對成功;
  4. 其中一些可以,是的。這真的取決於您期望生成的內容。
1
  1. 你會怎麼去教育他人在一個複雜的框架?

一個包或一次層或模塊。如果分解有助於創建應用程序,那麼它可以幫助學習。

  1. 將UML中受益?

也許吧。複雜的圖表可能沒有多大好處。通過圖形演示爲您提供想法,找到最佳點。

  1. 什麼是.net應用程序的UML工具?

他們。 UML是框架不可知的。大多數支持Java EE和.NET。

  1. UML工具是否可以自動生成序列圖,至少可以給出關於對象如何交互的更多信息?

Sparx Enterprise Architect可以。

+0

Hi Duffymo,我已經下載了Sparx Enterprise Architect試用版,但除了導入生成類圖的模塊之外,如何查看生成的序列圖(這是針對.net C#二進制文件的)? – 2010-10-28 09:26:26

+0

他們不自動來。您必須實際瀏覽CLR中運行的代碼。我沒有在我面前,所以我不能通過它。看看他們的幫助 - 這並不壞。 – duffymo 2010-10-28 10:12:47

1

1 )你將如何去教育他人在一個複雜的 框架?

答案:我不會過分關注UML細節,因爲您的觀衆可能會迷路。我建議看看UML Distilled, Third Edition,因爲它會觸及你可以使用的最重要的圖表,以及如何使用它們。正如其他人所說,單元測試(或代碼不支持的集成測試)和內聯文檔也可能非常有用。

2) UML會受益嗎?

答案:這取決於觀衆。他們是否已經知道UML?如果是這樣可能會有所幫助。否則,除了類圖和用例外,任何東西都可能需要你執行雙重任務(教程序和UML)。

3)是什麼UML工具有.net的應用程序嗎?

答:我不能比UMLet其他任何講話。是的,這是一個Java工具,但它有一個獨立的版本。這使得創建圖表相當容易。我用它代替白板來進行設計實驗。但是,這個工具需要你手動創建一切,這不是我認爲你想要的。我做了一些搜索,碰到了StartUML,這是開源的。它似乎能夠從C#代碼生成UML。

4)可以UML工具自動生成序列圖和至少這個 會給如何 對象交互的更多信息?

答:其他人所說的在VS2010旗艦關於序列圖的工具和其他程序。但是,如果您沒有該版本的IDE(或者希望提及其他程序),VS2008 PRO至少可以爲您生成類圖,並顯示它們之間的關係。如果你確實有VS2010的終極版,那麼here就是一篇關於它的文章。

1

如果代碼是由單個開發人員開發的,則這是嚴重的問題。 你可以嘗試扭轉整個項目,然後讓他在每個包裝中解釋戰略類別和方法。 您也有javadoc,但它不如UML完整。

相關問題