三種結構塊
事物——基本圖示符号
關系——基本圖示符号的關系
圖——九種圖,特定的視角對系統所作的抽象描述
三者之間的關系:事物是對模型中最具有代表性的成分的抽象;關系把事物結合在一起。圖聚集了相關的事物。
(1)事物
結構事物:class類,interface接口,collaboration協作,UseCase用例,active class主動類,components構件,nodes節點。
行為事物:interaction互動,state mechanism狀态機
分組事物:package包
注記事物:notes注解
class類:是對一組具有相同屬性,方法,關系和語義的對象的描述。一個類實作一個或多個接口。
interface接口:描述了一個類或構件的一個服務的操作集。接口僅僅是定義了一組操作的規範,它并沒有給出這組操作的具體實作。
collaboration協作:定義了一個互動,他是有一組共同工作以提供某協作的角色和其他元素構成的群體,這些協作行為大于所有元素的各自行為的總和。是以,協作有結構、行為和次元。一個給定的類可以參與幾個協作。
UseCase用例:是對一組動作序列的描述,系統執行這些動作将産生一個對特定的參與者(actor)有價值且可觀察的結構。
active class主動類:這樣的類其對象至少擁有一個程序或線程,因為他能夠啟動控制活動。
components構件:是系統中實體的,可替代的部件,它遵循且提供一組接口的實作。
nodes節點:是在運作時存在的實體元素。他表示了一種可計算的資源,他通常至少有一些記憶能力,處理能力。一個構件集可以駐留在一個節點内,亦可以從一個節點遷移到另一個節點。
interaction互動:互動這一種行為,它由在特定語境中共同完成一定特定任務的一組對象間互動的消息組成。一個對象群體的行為或單個操作的行為可用一個互動來描述。interaction互動涉及一些其他的元素,包括消息,動作序列links。
state mechanism狀态機:statemechanism狀态機是這樣一種行為,描述了一個對象或一個互動在生命周期内響應事件所經曆的狀态序列。單個類或一組類之間協作的行為可以用狀态機來描述。一個狀态機涉及到一些其他元素,包括了狀态轉換時間和活動。
package包:把元素組織成組的機制
notes注解:UML解釋部分。這些解釋事物用來描述、說明和标記模型中的任何元素。他是一個依附于一個元素或一組元素之上,對他進行限制或解釋的簡單符号。
(2)關系
關聯association,依賴dependency,泛化generalization,實作realization
關聯association:類之間的結構化關系
依賴dependency:元素之間的繼承關系
泛化generalization:類之間的使用關系
實作realization:類之間的語義關系
(3),UML九種圖的概述
定義 | 顯示 | 運用于 | |
用例圖 | 描述角色以及角色與用例之間的連接配接關系 | 系統的外部可視行為; | 描述系統的功能需求 |
類圖 | 描述類、接口和它們之間的協作關系 描述系統中的類,以及各個類之間的關系的靜态視圖 | 類定義和關系 | 定義内部的、面向對象的代碼結構 |
元件圖 (構件圖) | 描述代碼構件的實體結構以及各種建構之間的依賴關系 | 系統的體系結構 | 研究系統的體系結構 |
部署圖 | 表示一組實體結點的集合及結點間的互相關系。實體部署 | 系統的實體體系結構 | 可用于系統映射,也可用作研究系統負載 |
狀态圖 | 描述類的對象所有可能的狀态,以及事件發生時狀态的轉移條件。 | 響應事件的狀态改變 | 確定每個事件都被适當地處理,不管系統目前可能處于什麼狀态。 |
活動圖 | 描述用例要求所要進行的活動,以及活動間的限制關系,有利于識别并行活動 | 系統行為的較長的描述 | 確定徹底了解給定的功能。 |
順序圖 (時序圖) | 描述了某個功能需求的路徑或場景内相對時間的詳細行為 強調消息是如何在對象之間被發送和接收的。 強調時間和順序 | 對象随着時間的互動 | 了解系統元素之間的消息流程 |
協作圖 (合作圖) | 和序列圖相似,描述對象間的動态合作關系 強調上下級關系 | 了對象的互動,其中強調了對象之間的關系 | 協作圖不如順序圖用的多 |
包圖 | 描述了設計的相關元素如何按組結合在一起,以及這些組如何互相依賴。 | 設計的層次結構 | 将複雜的設計劃分為多個更易于管理的較小設計 |