UML建模之 - 類圖&時序圖

簡介

  • 簡介
UML是面向對象開發中一種通用的圖形化建模語言

UML建模技術就是用模型元素來組建整個系統的模型,模型元素包括系統中的類、類和類之間的關聯、類的實例相互配合實現系統的動態行爲等
  • UML建模工具
Rational Rose : 是直接從UML發展而誕生的設計工具,常用建模工具

Power Designer : 是對數據庫建模而發展起來的一種數據庫建模工具

Microsoft Visio :是一種畫圖工具,Visio 2010纔開始引入UML建模,不是很專業

Star UML : 開源輕量級建模工具,v6.0後支持linux

UMLet : 是一個開放源代碼輕量級UML建模工具(免費)

類圖

類圖用於描述系統中所包含的類以及它們之間的相互關係,幫助人們簡化對系統的理解,它是系統分析和設計階段的重要產物,也是系統編碼和測試的重要模型依據

類圖顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關係等,是最常用的UML圖
  • 類的UML圖示
在UML中,類使用包含類名、屬性和操作且帶有分隔線的長方形來表示


類與類之間的關係

1.關聯關係

2.依賴關係

3.泛化關係

4.實現關係

關聯關係

  • 關聯關係
用於表示一類對象與另一類對象之間有聯繫

在UML類圖中,用實線連接有關聯關係的對象所對應的類

實現關聯關係時,通常將一個類的對象作爲另一個類的成員變量
  • 關聯關係分類
  • 關聯關係– 雙向關聯

  • 關聯關係– 單向關聯
類的關聯關係是單向的

一般以成員變量來實現

單向關聯用帶箭頭的實線表示

  • 關聯關係– 自關聯
在系統中可能會存在一些類的屬性對象類型爲該類本身
  • 關聯關係– 多重性關聯
多重性關聯關係又稱爲重數性關聯關係,表示兩個關聯對象在數量上的對應關係

  • 關聯關係– 聚合關係(孫悟空和金箍棒)
聚合(Aggregation)關係表示整體與部分的關係

在聚合關係中,成員對象是整體對象的一部分,但是可以脫離整體對象獨立存在

是一種強關聯關係

實現聚合關係時,成員對象通常作爲構造方法、Setter等方法參數注入到整體對象中

  • 關聯關係– 組合關係(人和身體)
組合(Composition)關係也表示類之間整體和部分的關係

組合關係中整體對象可以控制成員對象的生命週期,一旦整體對象不存在,成員對象也將不存在,成員對象與整體對象之間具有同生共死的關係

是一種比聚合強的關聯關係

實現組合關係時,通常在整體類的構造方法中直接實例化成員類


依賴關係

  • 依賴關係
依賴(Dependency)關係是一種使用關係

比關聯關係更弱

大多數情況下,依賴關係體現在某個類的方法使用另一個類的對象作爲參數

依賴關係用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方 


泛化關係 - 繼承

  • 泛化關係-繼承
泛化(Generalization)關係也就是繼承關係

用於描述父類與子類之間的關係

泛化關係用帶空心三角形的直線來表示


實現關係

  • 實現關係
接口和類之間的(Realization)關係

類與接口之間的實現關係用帶空心三角形的虛線來表示


時序圖

時序圖(Sequence Diagram)是顯示對象之間交互的圖,這些對象是按時間順序排列的,圖中顯示的是參與交互的對象及其對象之間消息交互的順序
  • 簡介
時序圖是顯示對象之間交互的圖,這些對象是按時間順序排列的

圖中顯示的是參與交互的對象及其對象之間消息交互的順序
  • 元素
時序圖中包括的建模元素主要有:對象(Actor)、生命線(Lifeline)、控制焦點(Focus of control)、消息(Message)等
  • 元素—對象
對象包括三種命名方式:

第一種方式包括對象名和類名
第二中方式只顯示類名不顯示對象名,即表示他是一個匿名對象
第三種方式只顯示對象名不顯示類名

  • 元素—生命線
生命線在順序圖中表示爲從對象圖標向下延伸的一條虛線,表示對象存在的時間

  • 元素—控制焦點
控制焦點是順序圖中表示時間段的符號,在這個時間段內對象將執行相應的操作
用小矩形表示

  • 元素—消息
同步消息:消息的發送者把控制傳遞給消息的接收者,然後停止活動,等待消息的接收者放棄或者返回控制

異步消息:消息發送者通過消息把信號傳遞給消息的接收者,然後繼續自己的活動,不等待接受者返回消息或者控制

返回消息:返回消息表示從過程調用返回

自關聯消息:表示方法的自身調用以及一個對象內的一個方法調用另外一個方法


實例

  • Android - Settings簡單類圖

  • Android - Settings啓動流程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章