1. 什麼是UML?
UML(Unified Modeling Langua,統一建模語言),是一種能夠描述問題、描述解決方案、起到溝通作用的語言。
它是一種用文本、圖形和符號的集合來描述現實生活中各類事物、活動及其之間關係的語言。
2. UML的組成
UML的組成主要有:事物、圖和關係。
2.1 UML組成 - 事物
UML包含4中事物: 構建事物、行爲事物、分組事物和註釋事物。
構建事物:UML模型的靜態部分、描述概念或物理元素。
-- 類,接口,協作,用例,構件(組件),節點。
行爲事物:UML模型的動態部分,描述跨越空間和時間的行爲。
-- 交互,狀態機。
分組事物:UML模型圖的組織部分,用於描述事物的組織結構。
-- 包。
註釋事物:UML模型的解釋部分,用於對模型中的元素進行說明、解釋。
2.2 UML組成 - 關係
UML中的種中關係:依賴、關聯、聚合、組合、泛化和實現。
依賴(Dependency)
概念:兩個模型元素間的語義關係,其中一個元素(獨立元素)發生變化會影響另一個元素(依賴元素)的語義。
代碼:局部變量、方法的參數或者對靜態方法的調用。
箭頭:帶箭頭的虛線,指向被使用者。
關聯(Association)
概念:指明一個對象與另一個對象間的關係。是一種擁有的關係, 它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子,關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。
代碼:成員變量
箭頭:帶普通箭頭的實心線,指向被擁有者
泛化(Generalization)
概念:是一種繼承關係, 表示一般與特殊的關係, 它指定了子類如何特化父類的所有特徵和行爲. 例如:老虎是動物的一種, 即有老虎的特性也有動物的共性。
代碼:類的繼承
箭頭:帶三角箭頭的實線,箭頭指向父類
實現(Realization)
概念:是一種類與接口的關係, 表示類是接口所有特徵和行爲的實現。
箭頭:帶三角箭頭的虛線,箭頭指向接口。
聚合(Aggregation)
概念:是整體與部分的關係, 且部分可以離開整體而單獨存在. 如車和輪胎是整體和部分的關係, 輪胎離開車仍然可以存在. 聚合關係是關聯關係的一種,是強的關聯關係;關聯和聚合在語法上無法區分,必須考察具體的邏輯關係。
代碼:成員變量
箭頭:帶空心菱形的實心線,菱形指向整體。
組合(Composition)
概念:是整體與部分的關係, 但部分不能離開整體而單獨存在. 如公司和部門是整體和部分的關係, 沒有公司就不存在部門。組合關係是關聯關係的一種,是比聚合關係還要強的關係,它要求普通的聚合關係中代表整體的對象負責代表部分的對象的生命週期。
代碼:成員變量
箭頭:帶實心菱形的實線,菱形指向整體。
泛化 = 實現 > 組合 > 聚合 > 關聯 > 依賴
2.3 UML組成 - 圖
UML中的圖是描述UML視圖內容的圖形。
UML中包括13種圖,可分爲5類:
靜態圖:類圖、對象圖、包圖、組織結構圖
行爲圖:狀態機圖、活動圖
用例圖:用例圖
交互圖:順序圖(時序圖)、通訊圖、定時圖、交互概念圖
實現圖:構件圖、部署圖
UML有兩套建模機制:靜態建模機制和動態建模機制。
靜態:類圖、對象圖、包圖、組織結構圖、用例圖、構件圖、部署圖
動態:狀態機圖、活動圖、順序圖(時序圖)、通訊圖、定時圖、交互概念圖
3. UML的視圖
用例圖:主要強調用系統的外部參與者的角度所看到的或需要的系統功能。(外部視圖、功能視圖、用戶視圖)
邏輯視圖:主要是用系統的靜態結構和動態行爲角度顯示如何實現系統的功能。(靜態視圖、結構模型視圖)
併發視圖:顯示了系統的併發性,並解決在併發系統中存在的通信問題和同步問題。(動態視圖、進程視圖)
組件視圖:用於顯示代碼組件的組織結構。(實現視圖、物理視圖)
配置視圖:主要描述了系統如何進行部署,部署指的是將系統配置到由計算機和設備組成的物理結構上。(配置視圖)