de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

理解通訊圖:建模 MVC 模式

介紹

通訊圖(在 UML 1.x 中也稱為協作圖)是一種互動圖,強調物件之間的關係及其交換的訊息。與序列圖相比,這些圖提供了更靈活的互動視圖,特別有利於理解系統中不同互動之間的控制流程。本文將深入探討通訊圖的核心概念,重點說明其如何建模模型-視圖-控制器(MVC)模式,並提供一個通訊圖範例的詳細解讀。

通訊圖的關鍵概念

物件與連結

  • 物件:以矩形表示,通訊圖中的物件是類別或介面的實例。它們是參與互動的主要實體。
  • 連結:連接物件的線,代表它們之間的關聯或其他關係。連結可以是簡單關聯、聚合或組合。

訊息

  • 訊息:物件之間的箭頭,代表它們之間的通訊。訊息可以是同步的(實線箭頭)或非同步的(虛線箭頭)。
  • 訊息類型:
    • 同步訊息:代表呼叫方等待被呼叫方完成操作的方法呼叫。
    • 非同步訊息:代表信號或事件,呼叫方不會等待被呼叫方完成操作。

順序編號

  • 順序編號:訊息旁邊的數字,表示訊息發送的順序。這些數字有助於理解互動的順序。

建模 MVC 模式

模型-視圖-控制器(MVC)模式是一種用於開發使用者介面的設計模式,將相關的程式邏輯分為三個相互關聯的元件。這種分離有助於透過分配責任來管理複雜的應用程式:

  • 模型:管理應用程式的資料、邏輯與規則。
  • 視圖:代表使用者介面元素,例如文字方塊、下拉式清單等。
  • 控制器:作為模型與視圖之間的中介,處理所有業務邏輯與進來的請求,使用模型來操作資料,並與視圖互動以顯示輸出。

解讀通訊圖

Communication diagram

讓我們分析所提供的通訊圖,該圖模擬了用於安排檢驗的 MVC 模式:

參與者與物件

  • 檢驗員:啟動檢驗排程流程的使用者。
  • 檢驗員助理:另一位審核檢驗細節的使用者。
  • 檢驗表單:允許使用者輸入檢驗細節的使用者介面元件。
  • 檢驗清單:顯示檢驗清單的使用者介面元件。
  • 安全檢驗控制器:管理檢驗流程的控制器。
  • 安全檢驗:代表檢驗資料的模型。

連結與訊息

  1. 檢驗員選擇一項檢驗(訊息 1):
    • 檢驗員從 檢驗清單.
    • 此動作會觸發訊息以彈出 檢驗表單 (訊息 2)。
  2. 檢驗表單載入檢驗內容(訊息 3 和 8):
    •  檢驗表單 向 安全檢驗控制器 以載入所選的檢驗內容(訊息 3)。
    • 該 安全檢查控制器 從 安全檢查 模型(訊息 4)。
    • 該 安全檢查控制器 隨後將檢查細節回傳至 檢查表單 (訊息 8)。
  3. 檢查員指定檢查日期(訊息 5、6 和 7):
    • 若檢查未過期,檢查員指定檢查日期(訊息 5)。
    • 若檢查已過期,檢查員指定過期的檢查日期(訊息 6)。
    • 檢查員點擊 檢查表單 (訊息 7)。
  4. 檢查表單儲存檢查內容(訊息 9 至 14):
    • 該 檢查表單 向 安全檢查控制器 以儲存檢查細節(訊息 9)。
    • 該 安全檢查控制器 更新 安全檢查 模型的最新細節(訊息 10 至 14)。
  5. 檢查員助理審核檢查細節(訊息 15 至 18):
    • 該 檢驗助理 檢視檢驗細節(訊息 15)。
    • 該 檢驗助理 從 檢驗清單 (訊息 16)。
    • 該 檢驗助理 點選 檢驗表單 (訊息 17)。
    • 該 檢驗表單 傳送訊息給 安全檢驗控制器 以儲存檢驗細節(訊息 18)。
    • 該 安全檢驗控制器 從 安全檢驗 模型(訊息 19)。
    • 該 安全檢驗控制器 將檢驗細節回傳給 檢驗表單 (訊息 20)。
    • 該 檢察官助理檢閱更新後的檢驗細節(訊息 21)。

序列編號

  • 序列編號:訊息旁的數字表示訊息發送的順序。例如,訊息 1 是第一則發送的訊息,而訊息 21 是最後一則發送的訊息。

溝通圖的重要性

溝通圖在軟體開發過程中具有重要意義,原因如下:

  1. 系統設計:它們透過顯示物件之間互動的順序,幫助呈現系統的動態行為。
  2. 溝通:它們作為視覺輔助工具,讓利害關係人能夠理解系統行為,而無需深入技術細節。
  3. 需求分析:它們透過展示物件之間的互動,協助識別並記錄系統的需求。
  4. 測試:它們為建立測試案例提供基礎,以驗證系統是否符合指定需求。

結論

溝通圖是軟體工程中用於呈現系統動態行為的強大工具。透過展示物件之間互動的順序,這些圖表促進了更好的溝通、需求分析與系統設計。MVC 模式範例展示了溝通圖如何有效捕捉系統內的關鍵互動,確保對其行為有全面的理解。無論您是初學者還是資深開發人員,溝通圖都能提供設計與文件化複雜系統所需的工具與洞見。

參考資料

Visual Paradigm

  1. 什麼是溝通圖?
  2. 如何繪製溝通圖?
  3. 溝通圖 – UML 2 圖表

Cybermedian

  1. 通訊圖 – UML 2 教學
  2. UML 圖表:全面指南
  3. 通訊圖 – 統一模型語言(UML)

ArchiMetric

  1. 什麼是序列圖 – ArchiMetric
  2. Visual Paradigm 中的 UML 圖表入門
  3. 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性

這些參考資料提供了對通訊圖和 UML 的全面理解,以及使用 Visual Paradigm 創建這些圖表的實用指南。

Leave a Reply