1. 程式人生 > >類圖&時序圖

類圖&時序圖

簡介

  • 簡介
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啟動流程