一直想好好的看看UML,去年暑假曾系統了看了一本書並且在項目中也親身體驗了一把,感覺UML作為系統分析與設計的協助工具輔助還是相當好使的,不過俺當時還是在用Visio畫UML圖,:(。下面的文字將記錄自己在UML學習過程中的一些理解和感悟,有偏頗之處還望指正。
1.什麼是UML?它是做什麼用的?
UML,Unified Modeling Language,整合模組化語言,顧名思義,它是用來建模的了。那麼我們為什麼要建模呢?眾所周知,在真實世界裡,事務、對象之間的聯絡都是千絲萬縷的,在實際的項目開發中,往往都要涉及很多的角色、功能以及商務程序,如果把這些都用文字呈現出來將非常冗長,而且自然語言容易讓人產生歧義,因此在實際操作中,我們往往選擇用模型來表示複雜的系統功能和商務程序,在必要的時候再加上適當的文字說明。模型,是真實事務的抽象,是真實系統的簡化,而UML剛好可以滿足我們建模的要求。
2.為什麼要用UML?
建模有很多方法,那麼為什麼要用UML呢?比方說,我現在馬上可以在Visio中根據我自己的設計習慣建立一個模型:在這個模型中我用橢圓代表類,細箭頭代表繼承,直線代表實現等等。問題來了,別人能看懂我的圖麼,也許別人一直都是用矩形代表類呢?而採用UML就不會出現這樣的問題,因為UML已經成為了軟體和系統開發的標準建模語言,既然它是標準,當然就用它了,如果使用標準的標記法,這就意味著可以在每次換工作時不必重新學習建模技術,這樣俺就不怕跳槽後不適應新的工作了,^_^。
3.一些基本概念
建模語言:包含標記法,以及有關該標記法含義的描述的任何語言;
標記法(notation):表示模型的一種方法,它是組成建模語言的元素;
元模型(語義):對錶示法中各個元素含義的描述,比如矩形代表什麼含義,箭頭表示什麼含義等等;
描述性文檔(profile):對特定領域(如銀行業務)的自訂描述;
4.UML的模型視圖
我們可以把UML模型的圖分解為捕捉系統特定方面的透視圖或者視圖,也就是對UML
中所包括的圖進行一下分類,大致可以分為如下5類(4+1視圖模型):
邏輯視圖:用來對系統由什麼組成和各組成組件之間如何結合進行建模,如類圖、對象圖、互動圖等等;
流程視圖:描述系統內的流程,如活動圖表;
開發視圖:描述系統組件如何組成模組和組件,如包圖和元件圖表;
實體視圖:描述前三種視圖描述的系統設計如何落實到真實世界的實體中,如部署圖;
用例視圖:描述系統的功能需求,所有其他視圖都依靠用例視圖來引導,如使用案例圖;