本文轉自UML 的九種模型圖,僅供學習交流!
一、作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。
- UML語義:描述基於UML的精確元模型定義。
- UML表示法:定義UML符號的表示法,為開發者或開發工具使用這些圖形符號和文本語法為系統建模提供了標准。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例。
二、標准建模語言UML可以由下列5類圖來定義。
- 用例圖:從用戶角度描述系統功能,並指出各功能的操作者。
- 靜態圖:包括類圖和對象圖。類圖描述系統中類的靜態結構,不僅定義系統中的類,表示類之間的聯系,如關聯、依賴、聚合等,也包括類的屬性和操作,類圖描述的是一種靜態關系,在系統的整個生命周期都是有效的。對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。一個對象圖是類圖的一個實例。由於對象存在生命周期,因此對象圖只能在系統某一時間段存在。
- 行為圖:描述系統的動態模型和組成對象間的交互關系,包括狀態圖和活動圖。狀態圖描述類的對象所有可能的狀態以及事件發生時狀態的轉移條件,狀態圖是對類圖的補充,活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,有利於識別並進行活動。
- 交互圖:描述對象間的交互關系,包括時序圖和協作圖。時序圖顯示對象之間的動態合作關系,它強調對象之間消息發送的順序,同時顯示對象之間的交互;協作圖描述對象間的協作關系,協作圖跟時序圖相似,顯示對象間的動態合作關系。除顯示信息交換外,協作圖還顯示對象以及它們之間的關系。如果強調時間和順序,則使用時序圖;如果強調上下級關系,則選擇協作圖。
- 實現圖:包括組件圖和部署圖。組件圖描述代碼部件的物理結構及各部件之間的依賴關系,組件圖有助於分析和理解部件之間的相互影響程度;部署圖定義系統中軟硬件的物理體系結構。
采用UML來設計系統時,第一步是描述需求;第二步根據需求建立系統的靜態模型,以構造系統的結構;第三步是描述系統的行為。其中在第一步與第二步中所建立的模型都是靜態的,包括用例圖、類圖、對象圖、組件圖和部署圖等5種圖形,是標准建模語言UML的靜態建模機制。其中第三步中所建立的模型或者可以執行,或者表示執行時的時序狀態或交互關系。它包括狀態圖、活動圖、時序圖和協作圖等4種圖形,是標准建模語言UML的動態建模機制。
首先對UML中的各個圖的功用做一個簡單介紹:
和序列圖相似,顯示對象間的動態合作關系。可以看成是類圖和順序圖的交集,協作圖建模對象或者角色,以及它們彼此之間是如何通信的。如果強調時間和順序,則使用序列圖;如果強調上下級關系,則選擇協作圖;這兩種圖合稱為交互圖。
一:這九種模型圖各有側重,
1:用例圖側重描述用戶需求,
2:類圖側重描述系統具體實現;
二:描述的方面都不相同,
1:類圖描述的是系統的結構,
2:序列圖描述的是系統的行為;
三:抽象的層次也不同,
1:構件圖描述系統的模塊結構,抽象層次較高,
2:類圖是描述具體模塊的結構,抽象層次一般,
3:對象圖描述了具體的模塊實現,抽象層次較低。
在有的文獻書籍中,將這九種模型圖分為三大類:
結構分類、動態行為和模型管理:
1:結構分類包括用例圖、類圖、對象圖、構件圖和部署圖,
2:動態行為包括狀態圖、活動圖、順序圖和協作圖,
3:模型管理則包含類圖。
畫圖說明
UML中有3種構造塊:事物、關系和圖,事物是對模型中最具有代表性的成分的抽象;關系是把事物結合在一起;圖聚集了相關的的事物。具體關系圖標如下:

說明:
構件事物是名詞,是模型的靜態部分。
行為事物是動態部分,表示行為。
分組事物是組織部分。
注釋事物是解釋部分。
聚集:特殊的關聯,描述整體與部分的組合關系。
泛化:是一種特殊與一般的關系,如子元素(特殊)與父元素(一般),箭頭指向父元素。
實現:類元之間的關系,其中一個類元指定了由另一個類元保證執行的契約。一般用在接口和實現他們的類之間或用例和實現它們的協作之間。
在UML系統開發中有三個主要的模型:
對象模型: 采用對象,屬性,操作,關聯等概念展示系統的結構和基礎,包括類圖。
動態模型: 展現系統的內部行為。 包括序列圖,活動圖,狀態圖。
下面具體說明:
1.類圖:描述一組對象、接口、協作等事物之間的關系。如下圖(摘自網絡):




3.用例圖:描述一組用例、參與者以及它們之間的關系,其展示的是該系統在它的外面環境中所提供的外部可見服務。如下圖(摘自網絡):

4.交互圖:包括序列圖(順序圖)和協作圖,兩者對應,順序圖是強調消息時間順序,有對象生命線和控制焦點。協作圖是強調接收和發送消息的對象的結構組織,有路徑和順序號。如下圖(摘自網絡):




6.狀態圖:展示了一個狀態機,由狀態、轉換、事件和活動組成。強調事件行為的順序。如下圖(摘自網絡):


