我畫的思維導圖列出了UML使用的14種圖,它們主要分為兩類:
1.靜態的結構圖
2.動態的行為圖
其中常用的有四種:類圖、用例圖、狀態機、序列圖(時序圖)
下面是UML官方的講解
什么是統一建模語言(UML)
什么是類圖?
類圖是一切面向對象方法的核心建模工具。該圖描述了系統中對象的類型以及它們之間存在的各種靜態關系。
關系
有三種主要的關系:
- 關聯 - 代表類型之間的關系(一個人為公司工作,一間公司有多個辦事處)。
- 繼承 - 專為將實例關系圖 (ERD) 應用於面向對象設計而設的一種關系。它在面向對象設計中的繼承概念互相呼應。
- 聚合 - 面向對象設計中的一種對象組合 的形式。
類圖示例
有關類圖的更多詳細信息,請閱讀文章什么是類圖?
什么是組件圖?
在統一建模語言中,組件圖描繪了組件如何連接在一起以形成更大的組件或軟件系統。它展示了軟件組件的體系結構以及它們之間的依賴關系。那些軟件組件包括運行時組件,可執行組件和源代碼組件。
組件圖示例
有關組件圖的更多詳細信息,請閱讀文章什么是組件圖?
什么是部署圖?
部署圖有助於模擬面向對象軟件系統的物理方面。它是一個結構性圖表,顯示了軟件產出於系統架構內如何被分發至指定目標。產出即現實生活中各種通過開發過程產生的產品。部署圖對運行時配置進行建模,並可視化應用程序中 產出的分布。在大多數情況下,它表達了硬件配置以及和軟件組件之間的關系。
部署圖示例
有關部署圖的更多詳細信息,請閱讀文章什么是部署圖?
什么是對象圖?
對象圖是實例 (Instance) 的表達,包括對象和數據值。靜態的對象圖是類圖的一個實例,它是系統在某個時間點的詳細狀態的快照,不同之處在於類圖表示了一個由類及其關系組成的抽象模型,而對象圖則表達了特定時刻的實例。對象圖的使用是相當有限的,它常被用作展示數據結構例子。
類圖與對象圖的例子
有些人難以區分 UML 類圖和 UML 對象圖,因為它們都包含一些“矩形塊” 和一些鏈接線,看起來很相似。有些人甚至認為它們是相同的,因為某些 UML 軟件會將類圖和對象圖的符號放在同一個圖表編輯器 - 類圖中。
事實上,類圖和對象圖表達著兩個不同的層次。在本文中,我們將向您提供關於這兩個 UML 圖表的一些想法,讓您了解它們是什么,它們的區別以及何時使用它們。
類圖與對象圖的關系
你會在編程時創建“類”。例如,在網上銀行系統中,您可以創建“用戶”,“賬戶”,“交易”等類。又例如,在課堂管理系統中,您會創建“教師”,“學生”,“任務”等。在每個類中都有屬性和操作來表示類的特征和行為,而類圖則是一讓你看到這些類和它們的屬性,操作和相互關系的圖表。
UML 對象圖顯示了系統中的對象實例如何在特定狀態下彼此交互。它也表示那個狀態下那些對象的數據值。換句話說,UML 對象圖可以被看作是如何在特定狀態下使用類(在 UML 類圖中繪制)的表達。
且看看下面的UML圖例子。我相信你會在幾秒內了解他們的差異。
類圖示例
以下類圖示例代表兩個類 - 用戶和附件。用戶可以上傳多個附件,因此這兩個類都以一個關聯連接,在附件方側以0 .. *作為多重性。
對象圖示例
下面的對象圖示例顯示了當Peter (即用戶)上載兩個附件時 User 和 Attachment 類的對象實例如何。因上傳兩個附件,所以有兩個附件對象。
有關對象圖的更多細節,請閱讀文章什么是對象圖?
什么是包圖?
包圖是 UML 一種用以顯示包和包之間的依賴關系的結構性圖表。模型圖能顯示系統的不同視圖,例如,多層應用程序。
包圖示例
有關包圖的更多詳細信息,請閱讀什么是包圖?
什么是組合結構圖?
組合結構圖是添加到 UML 2.0 中的新的圖表之一。復合結構圖與類圖相似,是一種用於微觀視角的系統建模組件圖,而不是整個類的組成部分。它是一種靜態結構圖,顯示了一個類的內部結構和這個結構所實現的協作。
組合結構圖可以包括內部零件,零件通過其互相交互或通過端口與外界交互。復合結構是一組相互關聯的元素,它們在運行時進行協作以達到某種目的。每個元素在協作中都有一些定義的角色。
復合結構圖示例
有關復合結構圖的更多詳細信息,請閱讀文章什么是復合結構圖?
什么是輪廓圖 ?
輪廓圖 使您能夠創建特定於域和平台的原型,並定義它們之間的關系。
輪廓圖示例
有關Profile Diagram的更多詳細信息,請閱讀文章什么是輪廓圖?
什么是用例圖?
用例模型從用例的角度描述系統的功能需求,它是系統預期功能(用例)及其環境(參與者)的模型。用例使您能夠將系統需要與系統如何滿足這些需求相關聯。
將用例模型想象成一個菜單,就像在餐館中找到的菜單一樣,通過查看菜單,你知道什么菜餚以及他們的價格,你也知道餐廳供應什么樣的菜餚:意大利,墨西哥,中國等等。通過查看菜單,您可以對該餐廳的用餐體驗有個全面的了解。
因為它是一個非常強大的計划工具,所以團隊成員通常在開發周期的所有階段都使用用例模型。
用例圖示例
有關用例圖的更多詳細信息,請閱讀文章什么是用例圖?
什么是活動圖?
活動圖用於展示工作流程,它支持選擇 (Choice),迭代 (Iteration)和並發 (Concurrency)。活動圖描述了目標系統的控制流程,比如探索復雜的業務規則和操作,描述用例和業務流程。在統一建模語言中,活動圖旨在模擬計算和組織過程(即工作流程)。
活動圖示例
有關活動圖的更多詳細信息,請閱讀文章什么是活動圖?
什么是狀態機圖?
狀態圖是 UML 中用來描述基於 David Harel 的狀態圖概念的系統行為的一種圖表。狀態圖描繪允許的狀態和轉換以及影響這些轉換的事件,它有助於可視化對象的整個生命周期,從而更好地理解以狀態主導 (State-based) 的系統。
狀態機圖示例
有關狀態機圖的更多細節,請閱讀什么是狀態機圖?
什么是序列圖?
序列圖根據時間序列展示對象如何進行協作。它展示了在用例的特定場景中,對象如何與其他對象交互。憑借先進的可視化建模功能,您只需點擊幾下即可創建復雜的順序圖。另外,Visual Paradigm 可以根據用例描述中定義的事件流生成序列圖。
序列圖示例
有關序列圖的更多詳細信息,請閱讀文章什么是序列圖?
什么是通訊圖?
與序列圖類似,通訊圖也用於模擬用例的動態行為。與序列圖相比,通訊圖更側重於顯示對象的協作而不是時間順序。它們實際上在語義上是等價的,因此一些建模工具(如 Visual Paradigm)允許您從一個模型生成一個到另一個。
通信圖示例
有關通信圖的更多詳細信息,請閱讀文章什么是通信圖?
什么是交互概覽圖?
交互概述圖側重於交互控制流程的概述,它是活動圖的變體,其中節點是交互 (Interactions) 或交互發生 (Interaction Occurrences)。交互概述圖描述了隱藏於消息 (Message) 和生命線 (Lifeline) 間的交互。
交互概述圖示例
有關交互概述圖的更多詳細信息,請閱讀什么是交互概覽圖?
什么是時序圖?
時序圖顯示了既定時間內對象的行為。時序圖是序列圖的一種特殊形式,它倆之間的差異是軸反轉,時間從左到右增加,生命線顯示在垂直排列的獨立隔間中。
時序圖示例
有關時序圖的更多詳細信息,請閱讀什么是時序圖?