2010-09-21 96 views
4

我曾見過UML在過去幾年中提到過幾個地方,但從未有過令人信服的理由在目前的工作中使用它。花時間和精力去學習它有什麼價值嗎? (我是Ruby on Rails開發人員。)學習UML有什麼價值嗎?

編輯:我還在尋找關於UML如何在您的項目中發揮作用的故事,以便讓我瞭解如何使用它。

+0

不可能有一個正確回答這個問題,建議將其刪除或編輯它,並勾選「社區維基「。 Re *「我還在尋找關於UML如何改變項目的故事,以便讓我瞭解如何使用它。」* StackOverflow [不是討論站點](http:// stackoverflow。 COM /常見問題),你可能會更好張貼到一個。 – 2010-09-21 08:13:09

+0

好的。我把它變成了一個社區wiki。 – picardo 2010-09-21 08:20:20

回答

7

是的。這是系統分析和設計的國際標準方法。從最初的分析階段到項目生命週期,UML提供了一個關於去哪裏以及如何到達的良好路線圖。一些好處:

  • 它以客戶/客戶/管理層可以理解的方式顯示需求。
  • 可以遍歷模型並沒有失去跟蹤的模型是
  • 之前在那裏正好說明了如何從A點得到了B點
  • 這是一個標準,所以誰知道UML就能解釋你圖
  • 的「最快」的方式,而無需經過整個代碼庫
+0

您是否認爲如果不瞭解UML,可以成爲一名優秀的開發人員?我已經編寫了幾年,並試圖成長爲程序員,並試圖弄清程序員如何思考。我從來沒有讀過任何程序員說他們使用UML,但我在項目管理上下文中讀了很多。 – picardo 2010-09-21 08:17:55

+1

UML將擴大您在架構層面的理解。如果您在開始編碼之前確定關鍵組件及其關係,您將能夠設計出高效的代碼。 – 2010-09-21 08:25:23

+0

@picardo - 是的,你可以成爲一名優秀的開發人員。瞭解UML並能夠將代碼映射到它(反之亦然)使您能夠向架構學習。我並不是說UML讓你成爲架構師,但它讓你開始思考。 – 2010-09-21 08:26:34

3

沒有,節省您的時間,交流思想,不學習它。如果你是一個編碼人員並且獨自工作,並且是一個非常小心的人,你可以完全忽略UML。

但是,如果您與其他人一起工作並且想要分享您工作的結果,UML是一種統一語言,即使非技術客戶也理解(在某個級別上)的通用語言。

+3

即使是獨立的編碼員也應該學習UML,除非你獨自一人坐在與外界無關的房間裏:-) – 2010-09-21 08:16:58

1

我認爲這是一個兩維度的尺度問題:問題的大小和團隊的規模。

當設計達到一定的尺寸時,圖表變得有兩種用處:首先,它們可以幫助您推理設計問題。其次他們幫助您將設計傳達給其他詩人。

因此,如果團隊說20或30,它確實有助於有一些清晰的整體設計文件。我個人使用的UML大概是每年四到五次,但是當我需要它的時候,我真的需要它。確定你自己的標準圖表技術確實更好。有了很好的工具,它非常輕鬆。

我會說我只使用UML,類圖和偶爾的協作圖的一小部分。

2

是和否。

,學習基礎知識。快速瀏覽different diagram types等,並有一個大概的想法。當有人吹噓UML時,這將有助於消除你的猶豫。

,如果您的工作不需要使用UML,則不一定需要知道UML才能編寫出好的應用程序。如果你需要在白板上討論一些東西,只需畫幾圈。那會做。

它只幫助我製作文件給管理層,讓他們留下一點印象。除此之外,我只找到deployment diagrams有點用處,就這些。

2

如果您將UML看作是一種純粹的圖形化語言,那麼您只需考慮它的一小部分。您應該將UML看作模型驅動架構框架的主要語言,該架構在Eclipse中很好地實現。 在Eclipse中,UML(正確)被認爲是平臺獨立語言,具有由MOF(ECORE在Eclipse中)定義的實體語法和由UML規範(http://www.omg.org/spec/UML)定義的語義。 在Eclipse中,OMG爲Model To Text和Model to Model轉換規範定義了兩種主要語言,分別是MOFM2T(Eclipse中的ACCELEO)和QVT。 另外Eclipse提供了一個對象約束語言(OCL)的實現,它被QVT和MOFM2T用來評估模型上的查詢。所有這一切意味着您可以使用Eclipse插件的形式輕鬆定義您自己的模型到文本和模型到模型的轉換,從而將您的UML模型轉換爲您需要的任何模型。 現在我用它自動生成數以千計的LOC,文檔和測試,並獲得令人印象深刻的投資回報。 但是我知道大多數人甚至不知道UML是一種語言,但認爲它只是一些小圖片。

看這一段簡單的例子鏈接

http://lowcoupling.com/post/46522537374/the-model-driven-architecture

http://lowcoupling.com/post/47800863669/qvt-in-place-transformations

http://lowcoupling.com/post/47347056110/models-to-text-transformations-with-mofm2t-and-acceleo