轉 http://www.umlstudy.com/uml-25-diagrams.htmlhtml
UML圖是設計、實現或已經存在的系統模型的部分圖形表示(視圖)。UML圖包含圖形元素(符號)——與邊緣鏈接的UML節點(也稱爲路徑或流)——它們表示設計系統的UML模型中的元素。該系統的UML模型可能還包含其餘文檔,例如做爲模板文本編寫的用例。node
UML規範並不排除混合不一樣類型的圖表,例如,將結構和行爲元素結合起來以顯示嵌套在用例中的狀態機。所以,各類圖表之間的界限並不嚴格執行。同時,一些UML工具會限制可用圖形元素的集合,這些圖形元素可用於處理特定類型的圖表。服務器
UML規範定義了兩種主要的UML圖: 結構圖和行爲圖。網絡
結構圖:顯示了系統及其各個部分在不一樣抽象層和實現層上的靜態結構以及它們如何相互關聯。結構圖中的元素表示系統的有意義的概念,可能包括抽象的,真實的世界和實現概念。架構
行爲圖:顯示了系統中對象的動態行爲,能夠將其描述爲隨着時間的推移對系統進行的一系列更改。app
UML 2.5圖能夠按照以下所示進行分層次分類。請注意,以藍色顯示的項目不是官方UML 2.5分類圖的一部分。負載均衡
UML 2.5圖表概述。
請注意,藍色的項目不是UML 2.5圖表的官方分類標準的一部分。ide
結構圖並無利用時間相關的概念,也沒有顯示動態行爲的細節。可是,它們可能會顯示與結構圖中展現的分類器行爲的關係。工具
圖 | 用途 | 關鍵概念 |
---|---|---|
類圖 | 類圖(Class diagram):將設計系統,子系統或組件的結構顯示爲相關類和接口,以及它們的特徵,約束和關係 – 關聯,泛化,依賴關係等。 | 類(Class),
接口(interface),ui 特性(feature), 約束(constraint), 關聯(association), 泛化(generalization), 依賴(dependency) |
對象圖 | 對象圖(Object diagram):實例級的類圖,它顯示了類和接口(對象)的實例、有屬性與值含義和關聯關係(關聯的實例)對象圖在如今已通過時的UML 1.4.2規範中定義爲「實例的圖形,包括對象和數據值。靜態對象圖是類圖的一個實例;它顯示了一個系統在某個時間點上的詳細狀態的快照。」它還聲明對象圖是「一個帶有對象和沒有類的類圖」
UML 2.5規範根本沒有提供對象圖的定義。 |
實例規範(instance specification),
對象(object), 屬性(property), 關聯關係(association)。 |
包圖 | 包圖(package-diagrams)顯示包,以及包之間的關係。 | 包(package),
可封裝的元素(packageable element), 依賴(dependency), 元素導入(element-import), 包導入(package-import), 包合併(package-merge)。 |
模型圖 | 模型圖(Model diagram):UML輔助結構圖,顯示系統的一些抽象或特定視圖,用於描述系統的架構,邏輯或行爲方面。例如,它能夠顯示多層(也稱爲多層)應用程序的體系結構 – 請參閱多層應用程序模型。
UML輔助結構圖,它顯示了系統的一些抽象或特定的視圖,用來描述系統的體系結構、邏輯或行爲方面。例如,它能夠顯示一個多層(又稱爲multi-tiered)應用程序的體系結構——參見多層應用程序模型。 |
模型(model),
包(package), 可封裝的元素(packageable element), 依賴(dependency)。 |
複合結構圖 | 複合結構圖(Composite structure diagram)能夠用來顯示:
|
|
內部結構圖 | 內部結構圖(Internal structure diagram):顯示分類器的內部結構 – 將分類器分解爲其屬性,部件和關係。 | 結構化類(structured class),
屬性類(part), 端口(port), 鏈接器(connector), 做用關係(usage)。 |
協做使用圖 | 協做使用圖(Collaboration use diagram)顯示系統中的對象彼此合做以產生系統的某些行爲。 | 協做(collaboration),
鏈接器(connector), 屬性類(part), 依賴(dependency)。 |
組件圖 | 組件圖(Component diagram)顯示組件和組件間的依賴關係。這種類型的圖表用於基於 組件的開發(CBD),描述具備面向服務的體系結構(SOA)的系統。 | 組件(component),
接口(interface), 提供的接口(Provided Interface), 所需的接口(Required Interface), class(類), 端口(port), 鏈接器(connector), 工件(artifact), 組件實現(component-realization), 做用關係(usage)。 |
表現圖 | 表現圖(Manifestation diagram):用於顯示工件的組件的顯化(實現)和工件的內部結構。能夠把它做爲組件圖和部署圖的補充,組件圖顯示組件和分類器之間的組件關係,部署圖表達把工件部署到部署環境。
因爲表現圖不是由UML 2.5規範定義的,所以可使用組件圖或部署圖來顯示經過構件顯示的組件。 |
表現形式(manifestation),
組件(component), 工件(artifact)。 |
部署圖 | 部署圖(Deployment diagram)將系統的體系結構顯示爲軟件工件的部署(分發)到部署目標。
請注意,UML 1.x部署圖中,組件能夠直接部署到的節點上。在UML 2.x中,工件被部署到節點,而且工件能夠顯示(實現)組件。組件經過工件間接部署到節點。 規範級的部署圖(Specification level deployment diagram)會顯示部署工件到部署目標的一些概述,而沒有引用特定的工件或節點實例 實例級部署圖(Instance level deployment diagram)顯示了工件實例的部署到部署目標的特定實例。它能夠用來顯示在開發、準生產、生產環境中與特定構建或部署服務器或設備的名稱/id之間的差別 |
部署(deployment),
工件(artifact), 部署目標(deployment-target), 節點(node), 設備(device), 執行環境(execution-environment), 通訊路徑(communication-path), 部署規範(deployment specification) |
網絡體系結構圖 | 網絡體系結構圖(Network architecture diagram):用來顯示系統的邏輯或物理網絡架構的部署圖 。在UML 2.5中沒有正式定義。 | 節點(node),
交換機(switch), 路由器(router), 負載均衡器(load-balancer), 防火牆(firewall), 通訊路徑(communication-path), 網段(network-segment), 主幹網(backbone)。 |
配置文件圖 | 配置文件圖(Profile diagram):做爲UML標準的輕量級擴展機制的輔助圖,它容許定義定製的原型、標記值和約束。概要文件容許對不一樣的UML元模型進行調整
配置圖首次在UML 2.0中引入。 |
配置(profile),
配置類(profile-metaclass), 模板(stereotype), 配置擴展(profile-extension), 配置參考(profile-reference), 配置應用程序(profile-application)。 |
行爲圖顯示了系統中對象的動態行爲,能夠將其描述爲隨着時間的推移對系統進行的一系列更改。
圖 | 用途 | 關鍵概念 |
---|---|---|
用例圖 | 用例圖(use case diagrams):描述了一些系統或主體(subject)應該或能夠與系統的一個或多個外部參與者(actor)合做執行的一組行動(用例),以向參與者或其餘利益相關者提供一些可觀察到的和有價值的結果。
注意,UML 2.4.1規範(參見「16.4圖表」)指出,用例圖是類圖的一個特例,所以所顯示的分類器僅限於Actor或Use Cases。 類圖是結構圖。 |
用例(use case),
參與者(actor), 主體(subject), 擴展(extend), 包含(include), 關聯(association)。 |
信息流程圖 | 信息流圖(information-flow-diagrams):顯示一些高度抽象的系統實體之間的信息交換。信息流在還沒有徹底明確或缺乏細節的狀況下,顯示系統信息的流轉過程。 | 信息流(information-flow),
信息項目(information-item), 參與者(actor), 類(class)。 |
活動圖 | 活動圖(activity diagrams):顯示協調低層次行爲的順序和條件,而不是哪些分類器擁有這些行爲。這些一般被稱爲控制流和對象流模型。 | 活動(activity),
分區(partition), 行動(action), 對象(object), 控制(control), 活動傳遞(activity edge)。 |
狀態機圖 | 狀態機圖(state machine diagrams):用於經過有限狀態轉換來建模離散行爲。除了表示系統一部分的行爲以外,狀態機還能夠用來表示系統的一部分的使用協議。這兩種狀態機被稱爲 行爲狀態機 和協議狀態機。 | |
行爲狀態機圖 | 行爲狀態機圖(behavioral-state-machine)經過有限狀態轉換顯示設計系統的一部分的離散行爲。 | 行爲狀態(behavioral state),
行爲轉換(behavioral transition), 僞狀態(pseudostate)。 |
協議狀態機圖 | 協議狀態機圖(protocol state machine diagrams):顯示使用協議或某個分類器的生命週期,例如能夠在分類器的每一個狀態下調用分類器的哪些操做,在哪些特定條件下以及在分類器轉換到目標狀態以後知足某些可選的後置條件。 | 協議狀態(protocol state),
協議轉換(protocol transition), 僞狀態(pseudostate)。 |
交互圖 | 交互圖(Interaction diagram)包括幾種不一樣類型的圖:
|
|
序列圖 | 序列圖(sequence diagrams)最多見的一種交互圖,着重於生命線(對象)之間的消息交換 。 | 生命線(lifeline),
執行申明(execution specification), 消息(message), 複合片斷(Combined Fragment), 交互使用(interaction use), 狀態不變式(state invariant), 銷燬(Destruction Occurrence)。 |
通訊圖 | 通訊圖(communication-diagrams)(在UML 1.x中稱爲協做圖)重點關注生命線之間的相互做用 ,內部結構的架構以及這與消息傳遞的對應關係。消息的順序是經過序列編號方案給出的。 | 生命線(lifeline),
消息(message)。 |
時序圖 | 時序圖(timing diagrams):當圖表的主要目的是推理時間時,顯示交互。時序圖關注的是沿線性時間軸上的生命線內和生命線之間變化的條件。 | 生命線(lifeline),
狀態或情況時間表(state or condition timeline), 銷燬事件(destruction event), 持續約束(duration constraint), 時間限制(duration constraint)。 |
交互概述圖 | 交互概覽圖(interaction overview diagrams)經過一種活動圖的變體定義交互,以促進控制流的概述。交互概述圖側重於交互或交互使用的控制流節點的概述 。生命線和消息不會出如今此概述中。 | 初始節點(initial node),
流最終節點(flow final node), 活動最終節點(activity final node), 決策節點(decision node), 合併節點(merge node), 分叉節點(fork node), 鏈接節點(join node), 交互(interaction), 交互使用(interaction use), 持續約束(duration constraint), 時間限制(duration constraint)。 |