UML 圖表,也稱為統一塑模語言圖表,是一組用於視覺化呈現軟體系統的設計、架構和執行的圖表集合。簡單來說,這些圖表就像系統的藍圖,記錄系統在靜態形式和執行期間的樣貌。
通常,一個精心製作的 UML 圖表會顯示準確的類別結構、清晰的關聯性以及參與者的行為。此外,它使用標準的塑模語言,對所有程式語言都是相同的。因此,它們對軟體開發人員和工程師理解系統的運作機制非常有幫助。
如今,這些圖表被廣泛應用於資訊科技、教育和商業產業。但等等,還有轉折!UML 圖表根據其用途分為不同類型。想了解更多關於 UML 圖表的類型嗎?請繼續閱讀。
類別圖

A 類別圖是任何物件導向解決方案的基礎。它顯示系統的類別,以及每個類別的屬性、操作和與其他類別的關聯性。
類別圖中的關鍵元素
以下列表包含類別圖的主要組成部分。這些組成部分共同形成一個有效的類別圖。這些組成部分包括:
- 類別
- 屬性
- 方法
- 可見性標記
- 關聯
- 聚合與組合
- 繼承
- 相依性
- 關聯類別
- 多重性與角色名稱
類別圖符號
可見性符號用於評估類別中資訊的可存取程度。請記住「+」表示公開活動,而「-」表示私有活動。此外,受保護的操作使用前綴「#」。如前所述,類別圖可以顯示類別之間的連結。
類別圖的使用案例
類別圖有多種用途。以下是它們如何協助企業和開發人員的幾個範例:
- 類別圖可以用來建立軟體開發策略
- 協助程式碼建立
類別圖也可以透過概述應用程式將支援的業務流程,用於需求分析。
使用案例圖

A 使用案例圖提供方法的參與者、這些參與者所需的各種功能,以及這些功能如何互動的視覺化分解。
參與者及其關聯性
使用案例圖描繪軟體系統與外部實體之間的互動。這些外部實體被稱為參與者。參與者扮演的角色可能是外部硬體、其他系統或人類使用者。
使用案例以標有標籤的橢圓形顯示。火柴人代表流程中的參與者,連接參與者和使用案例的線條表示他們在系統中的參與。您可以在使用案例周圍繪製一個方框來表示系統邊界。
使用案例圖的應用
軟體或平台流程中的每個階段通常都有多個使用案例,並附有索引。例如,
- 將商品加入購物車的不同報告
- 選擇付款方式
- 選擇運送和配送選項
這些都可能包含在線上電子商務購買的使用案例中。
循序圖

循序圖顯示物件之間的通訊和控制結構流程。例如,在循序圖的銀行情境中,生命線可能代表客戶、櫃員或銀行經理。
循序圖中的生命線、訊息和啟動方塊
啟動方塊顯示循序圖中物件或參與者執行動作的持續時間。啟動矩形放置在物件生命線的上方。完成時間放在矩形底部,開始時間放在頂部。
訊息表示物件之間或物件與其環境之間的互動。事件、觸發的活動或基本操作都可以是訊息。訊息在元模型中描述特定形式的通訊。
循序圖的使用案例
循序圖可以向利害關係人(包括使用者、開發人員和管理者)解釋系統的行為,確保每個人都充分了解其運作。
活動圖

An 活動圖描繪系統或流程中一個活動的進展。它被稱為「行為圖」,因為它概述了模型系統中應該發生的事情。它用於描繪系統的各種動態特性。
它顯示演算法的實際邏輯。此外,它概述在 UML 使用案例中採取的動作。例如:
- 繪製使用者與系統之間的工作流程或業務流程。
- 釐清複雜的使用案例,以簡化和改善任何工作流程。
活動圖中的節點、邊和控制流程
為了模擬活動流程,您可以使用兩種不同類型的活動邊:
- 控制流程邊對從一個節點到另一個節點的控制轉移進行建模。
- 物件流程邊對項目或資料從一個節點到另一個節點的移動進行建模。
活動圖的使用案例
活動的流程圖可用於表示設定部落格帳戶的流程。
- 活動圖在建模業務流程方面特別有效。
- 有組織的任務序列,例如傳送客戶訂單,就是一個業務流程。
狀態機圖

狀態機圖指定物件在其生命週期中對事件做出反應所經歷的一系列事件。它描述單一物件的行為。以下狀態機圖為例,描繪門在其生命週期中所經歷的狀態。
門有三種可能的狀態:「開啟」、「關閉」或「鎖定」。開啟、關閉、鎖定和解鎖事件可以觸發它們的回應。
狀態機圖通常用於描述物件的狀態相依行為。根據其狀態,物件會以各種方式對給定事件做出反應。
狀態機圖的使用案例
狀態圖與其他 UML 圖表一樣,服務於多種使用案例。以下是主要應用:
- 說明具有事件驅動元件的反應式系統
- 在專業環境中呈現使用案例範例。
- 描述物件在其生命週期中所經歷的不同狀態。
- 顯示狀態機的整體行為或一組類似狀態機的行為
元件圖

元件圖基本上是專注於系統元件的類別圖。它們經常用於描繪系統內部的靜態實作,並且是類別圖的子集。元件圖的目的是表示不同系統元件之間的相互關聯性。
UML 中的元件圖顯示軟體系統的架構,描述每個軟體元件的介面和關聯性。元件圖可用於在高階層表示軟體系統,或在更詳細的套件層級顯示元件。
這提供了組成系統的各個部分的廣泛概觀。硬體元件,例如
- 電路
- 微晶片
- 小裝置
上述所有項目都可能是元件。
部署圖

A 部署圖顯示部署系統內元件和人工製品的位置。它概述系統部分和人工製品的配置。
部署圖的目的是視覺化系統的硬體元件。將在該硬體上執行的軟體檔案的通訊路徑和位置。
部署圖中的節點、構件與連接
在這類 UML 圖中,節點代表實體或虛擬資源。另一方面,連接顯示物件在節點上的部署,而構件則顯示軟體元素。節點有兩種類型:
- 執行時期環境節點
- 機器節點
部署圖的使用案例
系統部署設定使用部署圖來表示。範例包括:
- 呈現雲端系統中微服務的部署
- 對應網路中 IoT 裝置的分佈
- 顯示網路應用程式的元件如何分佈在伺服器之間
這些圖表支援資源配置、系統監控和系統設計。
套件圖

在統一塑模語言(UML)中,套件圖作為一種結構表示,提供模型元素如何在套件內組織和排列的概要。套件作為分組機制,協助組織模型元素並作為封閉元素的命名空間。這種安排有助於處理系統的複雜性。
套件圖的效用在於它們能夠提供系統結構的廣泛視角。它們在大規模和複雜的系統中特別有利,將元素分類到套件中有助於管理和理解系統的架構。值得注意的是,這些圖表不深入探討元素的內部細節,而是專注於套件之間的組織和相互關係。
套件圖中的關鍵元素
套件圖具有以下元素來描述套件資訊:
- 套件
- 套件名稱
- 套件內容
- 相依性
- 刻板印象
- 可見性
- 套件合併
在套件圖中,套件以帶有標籤的矩形顯示。任何套件也可以相依於其他套件。因此這種相依性以虛線箭頭顯示。套件可以是公開或私有的。這種可見性以「+」和「-」顯示。
套件圖的使用案例
以下是套件圖可以協助任何專業人士的一些使用案例:
- 整體系統組織: 建立視覺化表示,透過將相互連接的元件組織成連貫的模組來說明複雜系統的結構。透過將大型專案細分為易於理解的片段來簡化理解。提供對系統各個方面之間相互相依性的廣泛理解。
- 評估複雜性: 套件圖透過階層式組織元件並突顯相依性來簡化系統複雜性。它們提供簡潔的視覺化概觀,協助利害關係人之間的理解和溝通。整體而言,這些圖表是評估和管理系統複雜性的有效工具。
- 相依性管理: 套件圖以視覺化方式表示系統模組之間的相依性,協助快速理解和明智的決策制定。它們提供了一個簡潔的工具,用於專案開發中的有效相依性管理。
- 促進文件化與溝通: 套件圖透過視覺化摘要系統結構來協助文件化,以簡潔易懂的方式促進複雜資訊的清晰溝通。
複合結構圖

複合結構圖是一種用於說明類別、元件或協作的內部結構的圖表類型。它專注於這些結構如何由較小的元素組成以及它們如何在執行時期互動。
簡而言之,複合結構圖提供元件或類別如何在內部結構化以及它們如何協作以實現系統功能的詳細視圖。
複合結構圖中的關鍵元素
- 分類器: 以矩形表示,這些是結構實體,如類別、元件和協作。
- 埠: 埠以分類器邊緣上的小方塊表示,代表與外部環境互動的點。
- 連接器: 連接圖表各個部分的線條,用於說明不同元素之間的關係和互動。連接器可能具有角色,例如為資訊流提供明確的方向。
- 部分: 以嵌套在分類器內的矩形表示,部分說明分類器如何由其他分類器或部分組成。
- 協作使用: 顯示多個分類器如何共同合作以達成共同目標。它允許描述系統不同部分之間的互動。
複合結構圖的使用案例
- 類別內部結構: 範例:說明複雜類別的內部結構。
- 基於元件的系統: 範例:顯示軟體元件的內部結構和互動。
- 巢狀元件: 範例:描述巢狀元件內的階層和關係。
- 硬體系統: 範例:建模硬體裝置的內部結構。
- 協作與互動: 範例:視覺化類別或元件之間的協作。
- 建模實體系統: 範例:表示嵌入式系統中的實體和邏輯結構。
- 網路系統: 範例:顯示分散式系統中的內部結構和通訊通道。
- 系統架構文件化: 使用案例:記錄並向利害關係人傳達系統結構。
- 設計複雜類別: 使用案例:協助設計具有複雜內部結構的類別。
- 軟體元件整合: 使用案例:協助理解軟體元件的整合。
時序圖

時序圖是統一塑模語言(UML)中的一種圖表類型,用於說明系統內物件在特定時間段內的行為。它主要關注不同元件或物件之間互動的時序和順序。
時序圖對於視覺化系統中互動的時序方面特別有用,尤其是在即時和嵌入式系統中,精確的時序至關重要。它們有助於理解事件的時間順序、系統不同元素之間的同步和協調。
時序圖的主要特性
- 生命線: 以垂直線表示,每條生命線對應系統中的一個物件或元件。生命線在圖表上的位置表示時間的流逝。
- 訊息: 生命線之間的水平箭頭代表物件之間的訊息或互動。箭頭顯示通訊方向和互動持續時間。
- 持續時間限制: 時序圖通常包含持續時間限制,以指定操作或訊息發生所需的時間。
- 發生規格: 這些是生命線上的點,指示特定事件的發生,例如操作的開始或結束。
- 時間軸: 水平軸代表時間,允許清楚地視覺化不同事件之間的時間關係。
時序圖的使用案例
如果您的應用程式具有以下一個或多個使用案例,請考慮為您的應用程式建立時序圖:
- 即時系統: 時序圖對於建模和分析即時系統特別有用,其中事件和互動的精確時序至關重要。
- 並行性: 它們有助於視覺化和理解系統活動的並行性和平行性,展示不同元素如何同時運作。
- 通訊: 時序圖用於表示物件之間訊息和互動的時序和持續時間,提供事件順序的洞察。
- 效能分析: 時序圖透過說明不同程序或元件執行所需的時間來協助效能分析。
- 關鍵系統: 在時序準確性至關重要的系統中,例如航空或醫療裝置,時序圖有助於確保系統行為可預測且可靠。
通訊圖

統一塑模語言(UML)中的溝通圖是一種行為圖,描述物件或實例在一段時間內的互動。它也稱為協作圖。溝通圖強調參與互動的物件的結構組織以及它們之間交換的訊息。
溝通圖在軟體開發的設計和分析階段特別有用,用於建模和理解系統的動態行為。
溝通圖中的關鍵元素
如果您計劃設計溝通圖,請確保您了解溝通圖中的以下元素:
- 物件: 代表參與互動的類別或元件的實例。
- 生命線: 顯示物件隨時間的存在,以垂直虛線表示。
- 訊息: 指示物件之間的互動,以帶有標籤的箭頭表示,顯示通訊的順序和內容。
- 連結: 描述物件之間的關係或關聯,以連接生命線的線條表示。
- 序號: 指示訊息的順序,顯示隨時間推移的互動流程。
通訊圖的使用案例
如果應用程式符合以下一個或多個使用案例,專業人員應考慮使用通訊圖:
- 動態行為建模: 用於建模和理解系統的動態行為,透過訊息交換顯示物件如何隨時間互動。
- 系統分析: 在軟體開發的分析階段很有用,可視覺化和分析不同元件或物件之間的互動和相依性。
- 設計階段: 在設計階段使用,以精煉和指定物件或元件之間的互動,有助於確保系統符合其需求。
- 訊息流程視覺化: 有效地視覺化系統中的訊息流程和互動,提供清晰的通訊順序和結構理解。
- 協作與互動: 有助於描述物件之間的協作和互動,說明它們如何共同運作以達成特定目標或功能。
- 軟體架構文件: 協助記錄和溝通系統的架構和設計,使其更容易理解和維護。
- 即時系統: 對於建模即時系統很有價值,其中互動的時序和順序對系統行為和效能至關重要。
物件圖

統一塑模語言(UML)中的物件圖是一種結構圖,提供系統在特定時間點的快照。它捕捉類別的實例及其關係,顯示物件在特定時刻如何協作和互動。物件圖是 UML 靜態結構圖的一部分,專注於系統的靜態結構。
物件圖中的關鍵元素
- 物件: 類別的實例或資料類型的實例,在圖表上以矩形表示。每個物件都有名稱,並指定其類別或資料類型。
- 連結/關聯: 連接物件的線條,表示它們之間的關係。關聯通常表示物件以某種方式相關,例如透過關聯或聚合。
- 多重性: 指示一個類別的多少個實例與另一個類別的一個實例相關聯。通常表示為範圍(例如,0..1、1..*等)。
- 屬性和值: 物件屬性及其對應的值可能包含在圖表中,以提供有關物件的額外資訊。
- 可見性: 指定物件的屬性和操作的可見性(例如,公開、私有)。
物件圖的使用案例
- 系統設計與分析: 在系統設計階段使用,以視覺化和記錄系統內物件之間的關係。同樣地,在軟體開發的分析階段,物件圖可用於建模和理解問題領域中物件之間的關係。
- 理解現有系統: 在處理現有系統時,有助於深入了解物件之間的當前結構和關係。
- 詳細設計與重構: 提供系統內各種物件如何互動和協作的詳細表示,協助軟體元件的詳細設計。在重構程式碼或對系統進行變更的過程中,物件圖幫助開發人員理解修改對整體系統的影響。
- 通訊: 作為利害關係人(包括開發人員、設計師和客戶)之間的溝通手段,提供系統結構的視覺化表示。
- 測試與文件: 在測試階段使用,以理解物件之間的關係,並確保系統在不同情境下按預期運作。物件圖有助於系統文件的建立,協助為軟體系統建立全面且易於理解的文件。
互動概觀圖

互動概觀圖是一種 UML(統一塑模語言)圖表,提供系統中不同互動或部分之間控制流程的概觀。它結合了活動圖和循序圖的元素,以高階視角呈現各種元件如何協作以達成特定功能或使用案例。
互動概觀圖中的關鍵元素
- 互動片段:
- 以矩形框表示,包含活動圖、循序圖或其他互動圖的元素。
- 這些片段可以包含各種類型的互動,例如訊息、方法呼叫或活動。
- 決策節點: 以菱形表示,類似於活動圖中的菱形。顯示決策點,其中控制流程可能根據條件採取不同的路徑。
- 合併節點: 指示不同的控制流程在採取不同路徑後匯聚的點。
- 初始節點: 以小實心圓表示。指示互動的起始點。
- 最終節點: 以內有圓點的圓圈表示。指示互動的結束或完成。
- 分岔與結合節點: 類似於活動圖中的節點,表示平行流程和同步點。
互動概觀圖的使用案例
互動概觀圖在高階說明系統中的控制流程時特別有用,無需深入探討個別訊息或活動的詳細順序。它們提供了不同元件或互動如何對系統整體行為做出貢獻的抽象視圖。
這些圖表通常在系統設計的早期階段使用,以溝通互動的整體結構,並幫助利害關係人理解系統中的關鍵元件及其關係。
設定檔圖

UML 中的設定檔圖用於定義自訂構造型、標記值和約束,擴展標準 UML 模型以適應特定領域或平台。這種自訂有助於調整 UML 模型,以更準確地表示特定系統的細微差別和需求,增強建模工作的精確性和清晰度。
設定檔圖的關鍵元件
設定檔圖包含幾個有助於模型自訂的重要元素。
構造型: 它們源自基本的 UML 元素,但具有擴展屬性或可能有一些約束。
標記值:它們是與構造型連結的特定屬性,用於提供有關元素的更多資訊。
約束: 它們是必須遵循的規則,以保持模型的邏輯性和結構連貫性。
元類別:它們是被構造型化的標準 UML 元素。
這些元件使得定義特定領域的建模元素成為可能,以補充 UML 圖表並提高其在特定領域的適用性。
設定檔圖的應用
在標準 UML 不足以捕捉某些特定領域需求的情況下,設定檔圖非常有用。在軟體工程中,它們允許定義特定領域的語言,從而將 UML 應用於電信或金融等領域。它們也應用於系統工程,協助開發協調良好的硬體和軟體模型。此外,設定檔圖有助於為各種方法(包括敏捷或 DevOps)擴展 UML,使建模語言遵循特定的工作流程,進而增強利害關係人之間對主題的溝通和理解。
結論
在本文中,我們討論了各種 UML 圖表的類型,每種都在軟體開發中發揮獨特的作用。從概述系統結構的基本類別圖,到顯示系統如何與使用者互動的高階圖表。
為每個建模需求選擇正確的 UML 圖表至關重要,促進合作、簡化溝通、提升文件品質並協助解決問題。運用這些工具可提升軟體開發的效率和複雜度。
儘管建立這些圖表可能需要一些時間,但使用諸如Edrawmax 之類的工具可能會簡化此程序。這些資源在技術領域鼓勵創意和團隊合作,使團隊能夠成功完成軟體開發任務。