介紹
通訊圖(在 UML 1.x 中也稱為協作圖)是一種互動圖,強調物件之間的關係及其交換的訊息。與序列圖相比,這些圖提供了更靈活的互動視圖,特別有利於理解系統中不同互動之間的控制流程。本文將深入探討通訊圖的核心概念,重點說明其如何建模模型-視圖-控制器(MVC)模式,並提供一個通訊圖範例的詳細解讀。
通訊圖的關鍵概念
物件與連結
- 物件:以矩形表示,通訊圖中的物件是類別或介面的實例。它們是參與互動的主要實體。
- 連結:連接物件的線,代表它們之間的關聯或其他關係。連結可以是簡單關聯、聚合或組合。
訊息
- 訊息:物件之間的箭頭,代表它們之間的通訊。訊息可以是同步的(實線箭頭)或非同步的(虛線箭頭)。
- 訊息類型:
- 同步訊息:代表呼叫方等待被呼叫方完成操作的方法呼叫。
- 非同步訊息:代表信號或事件,呼叫方不會等待被呼叫方完成操作。
順序編號
- 順序編號:訊息旁邊的數字,表示訊息發送的順序。這些數字有助於理解互動的順序。
建模 MVC 模式
模型-視圖-控制器(MVC)模式是一種用於開發使用者介面的設計模式,將相關的程式邏輯分為三個相互關聯的元件。這種分離有助於透過分配責任來管理複雜的應用程式:
- 模型:管理應用程式的資料、邏輯與規則。
- 視圖:代表使用者介面元素,例如文字方塊、下拉式清單等。
- 控制器:作為模型與視圖之間的中介,處理所有業務邏輯與進來的請求,使用模型來操作資料,並與視圖互動以顯示輸出。
解讀通訊圖

讓我們分析所提供的通訊圖,該圖模擬了用於安排檢驗的 MVC 模式:
參與者與物件
- 檢驗員:啟動檢驗排程流程的使用者。
- 檢驗員助理:另一位審核檢驗細節的使用者。
- 檢驗表單:允許使用者輸入檢驗細節的使用者介面元件。
- 檢驗清單:顯示檢驗清單的使用者介面元件。
- 安全檢驗控制器:管理檢驗流程的控制器。
- 安全檢驗:代表檢驗資料的模型。
連結與訊息
- 檢驗員選擇一項檢驗(訊息 1):
- 檢驗員從
檢驗清單. - 此動作會觸發訊息以彈出
檢驗表單(訊息 2)。
- 檢驗員從
- 檢驗表單載入檢驗內容(訊息 3 和 8):
-
檢驗表單向安全檢驗控制器以載入所選的檢驗內容(訊息 3)。 - 該
安全檢查控制器從安全檢查模型(訊息 4)。 - 該
安全檢查控制器隨後將檢查細節回傳至檢查表單(訊息 8)。
-
- 檢查員指定檢查日期(訊息 5、6 和 7):
- 若檢查未過期,檢查員指定檢查日期(訊息 5)。
- 若檢查已過期,檢查員指定過期的檢查日期(訊息 6)。
- 檢查員點擊
檢查表單(訊息 7)。
- 檢查表單儲存檢查內容(訊息 9 至 14):
- 該
檢查表單向安全檢查控制器以儲存檢查細節(訊息 9)。 - 該
安全檢查控制器更新安全檢查模型的最新細節(訊息 10 至 14)。
- 該
- 檢查員助理審核檢查細節(訊息 15 至 18):
- 該
檢驗助理檢視檢驗細節(訊息 15)。 - 該
檢驗助理從檢驗清單(訊息 16)。 - 該
檢驗助理點選檢驗表單(訊息 17)。 - 該
檢驗表單傳送訊息給安全檢驗控制器以儲存檢驗細節(訊息 18)。 - 該
安全檢驗控制器從安全檢驗模型(訊息 19)。 - 該
安全檢驗控制器將檢驗細節回傳給檢驗表單(訊息 20)。 - 該
檢察官助理檢閱更新後的檢驗細節(訊息 21)。
- 該
序列編號
- 序列編號:訊息旁的數字表示訊息發送的順序。例如,訊息 1 是第一則發送的訊息,而訊息 21 是最後一則發送的訊息。
溝通圖的重要性
溝通圖在軟體開發過程中具有重要意義,原因如下:
- 系統設計:它們透過顯示物件之間互動的順序,幫助呈現系統的動態行為。
- 溝通:它們作為視覺輔助工具,讓利害關係人能夠理解系統行為,而無需深入技術細節。
- 需求分析:它們透過展示物件之間的互動,協助識別並記錄系統的需求。
- 測試:它們為建立測試案例提供基礎,以驗證系統是否符合指定需求。
結論
溝通圖是軟體工程中用於呈現系統動態行為的強大工具。透過展示物件之間互動的順序,這些圖表促進了更好的溝通、需求分析與系統設計。MVC 模式範例展示了溝通圖如何有效捕捉系統內的關鍵互動,確保對其行為有全面的理解。無論您是初學者還是資深開發人員,溝通圖都能提供設計與文件化複雜系統所需的工具與洞見。
參考資料
Visual Paradigm
- 什麼是溝通圖?
- 什麼是溝通圖? – Visual Paradigm 22
- 本文解釋了 UML 中溝通圖的基本概念,包括其結構與組成元件。同時也提供了使用 Visual Paradigm 建立這些圖表的洞察。
- 如何繪製溝通圖?
- 如何繪製溝通圖? – Visual Paradigm 23
- 一份逐步指南,說明如何使用 Visual Paradigm 繪製溝通圖,並包含使用合併片段與自我訊息的技巧。
- 溝通圖 – UML 2 圖表
- 溝通圖 – UML 2 圖表 – Visual Paradigm 24
- 本文解釋了如何使用通訊圖來模擬用例的動態行為,重點在於物件之間的協作,而非時間順序。
Cybermedian
- 通訊圖 – UML 2 教學
- 通訊圖 – UML 2 教學 – Sparx Systems 25
- 本教學提供通訊圖的概覽,包括其組成部分,以及如何用來模擬系統的動態行為。
- UML 圖表:全面指南
- UML 圖表:全面指南 – Cybermedian 26
- 一份關於各種 UML 圖表的全面指南,包括通訊圖,以及它們在軟體工程中的重要性。
- 通訊圖 – 統一模型語言(UML)
- 通訊圖 – 統一模型語言(UML) – GeeksforGeeks 27
- 本文詳細介紹了 UML 通訊圖、其核心概念,以及如何用來視覺化系統中物件或組件之間的互動。
ArchiMetric
- 什麼是序列圖 – ArchiMetric
- 什麼是序列圖 – ArchiMetric 28
- 本文解釋了序列圖是什麼,以及如何使用 Visual Paradigm 來模擬系統的動態行為。
- Visual Paradigm 中的 UML 圖表入門
- Visual Paradigm 中的 UML 圖表入門 – ArchiMetric 29
- 介紹 Visual Paradigm 所支援的各種 UML 圖表,包括通訊圖及其在模擬系統互動中的角色。
- 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性
- 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性 – ArchiMetric 30
- 本概覽討論了各種 UML 圖表,包括通訊圖,以及它們在敏捷軟體開發環境中的相關性。
這些參考資料提供了對通訊圖和 UML 的全面理解,以及使用 Visual Paradigm 創建這些圖表的實用指南。












