程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> UML 中各種圖形的重要性排行

UML 中各種圖形的重要性排行

編輯:.NET實例教程

UML 中包括有很多種圖形。我最初學習 UML 是通過三友的《UML 用戶指南》,這本書是一本很詳盡的著作(另外一本更詳盡的著作是三友的《UML 參考手冊》),是 UML 領域最重要的著作之一,然而卻不利於初學者掌握重點。因為時間有限,我沒有能夠讀完用戶指南的全書。對於一個形式主義者,很容易陷入大量 UML 的細節之中,使用昂貴的建模工具(ROSE、Together、PowerDesigner、Visio、etc.)不厭其煩地繪制出各種漂亮的圖形,陷入一種分析癱瘓的狀態,花費大量時間力圖得到完美的模型,卻沒有生產出多少可以運行的代碼。
用戶指南中存在的問題正是《UML 精粹》(UML Distilled)這本書存在的價值。我讀這本書時感覺非常順暢(雖然翻譯的低劣降低了我的閱讀速度,但是好在這本書本身寫得非常深入淺出,所以對於我的影響並不是很大),任何一個對於 UML 略有掌握的人讀完這本書都不會超過一周時間。搞敏捷開發方法的人(Kent Beck、Martin Fowler、etc.)寫的方法論一類的著作都言簡意赅,Martin Fowler 這本僅有 100 多頁的 UML 入門書籍也不例外。然而不要把這本書僅僅當作一本入門書籍,實際上這本書的內涵要遠遠超出一本入門書籍。最重要的是這本書將 UML 中各種圖形的重要性做了劃分,使得我們不必花費數月時間去熟悉 UML 的所有細節,而是只需要看過其中兩三章的內容就足以從 UML 中獲得巨大的價值。我一向認為那種企圖讓我一夜暴富趕超 Bill Gates 的書籍是最沒有用的書,同樣那種企圖無所不包卻沒有重點的方法論書籍也是最沒有用的書。

UML 中各種圖形重要性的排行為:
用例圖(Use Case)
類圖(Class)
順序圖(Sequence)
協作圖(Collaboration)
包圖(Package)
狀態圖(State)
活動圖(Activity)
物理圖(Physical)

其中必需的只有用例圖和類圖。用例圖重要是因為它是面向對象分析設計的基礎,用例驅動是 RUP、XP 等各種現代開發方法的主要特征(我區分現代和古代的主要依據是看它是否以迭代模型作為其基礎,而不是基於瀑布模型,是擁抱變化而不是拒絕變化)。類圖重要是因為它是我們用來做分析和設計最主要的工具。

UML 各種圖形中內涵最豐富的是類圖,然而豐富的內涵也使得對於類圖的正確使用遇到了一些困難。Martin 特意將類圖的概念分成了兩部分:基礎部分和高級部分。基礎部分是非常簡單的,很多時候基礎部分已經夠用了,僅僅在必需的時候才需要用到高級部分。
這本 UML 的著作大約在 Martin 寫完《分析模式》和《重構》之後完成(2000 年第二版),體現了 Martin 在面向對象建模領域的深厚功力。

UML 的價值在於實現開發團隊中無歧義的溝通(自然語言本身無法達到無歧義,因此需要 UML 這樣的形式化語言的幫助),而不是得到一個完美的圖形。這個目的(更好的溝通)是我們永遠要記住的,UML 可以很好地服務於這個目的。一旦我們發現已經達到了這種溝通效果,我們就要毫不遲疑地轉向代碼實現。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved