Visual Paradigm Desktop | Visual Paradigm Online
Read this post in: de_DEen_USes_ESfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CN

UML序列圖的完整指南

UML7 months ago

UML序列圖的完整指南

UML序列圖是關鍵的互動圖表,詳細描述系統內操作的執行方式。透過捕捉物件在協作背景下的互動,這些圖表提供了訊息隨時間交換順序的視覺化呈現。與其他UML圖表不同,這裡的主要重點在於互動行為的時間順序,使其成為建模複雜邏輯與並行處理不可或缺的工具。

Visual Paradigm AI:自動化互動建模

在現代開發環境中,速度與準確性至關重要。Visual Paradigm AI透過智慧自動化,大幅增強序列圖的建立與管理效能。

  • 文字轉圖表生成:無需手動拖曳生命線與訊息,使用者可使用自然語言描述情境(例如:「一位顧客下訂單,系統檢查庫存,並回傳確認訊息」)。VP AI會解析此段文字,並自動產生格式完整的UML序列圖。
  • 程式碼工程:VP AI可分析現有的程式碼庫,反向工程產生序列圖,協助開發人員理解遺留系統,或在不需手動追蹤的情況下記錄複雜的方法呼叫。
  • 情境擴展: AI可建議替代流程或例外處理(例如「庫存不足」情境),以確保您的圖表涵蓋邊界情況,並以合併片段的形式呈現。

關鍵概念

在深入複雜情境之前,理解構成序列圖的基本元素至關重要。

  • 生命線: 從物件圖示向下延伸的虛線。代表物件在一段時間內的存在。
  • 控制焦點(激活): 以生命線上的一個細長矩形表示(通常類似C語言語義的括號「」),代表元件正在積極執行操作的期間。{ } 以生命線上的一個細長矩形表示(通常類似C語言語義的括號「」),代表元件正在積極執行操作的期間。
  • 訊息: 生命線之間的通訊。這些定義了互動,並在物件之間傳遞控制權或資料。
  • 合併片段: 包含互動部分的矩形框架,用以定義控制流程邏輯,例如迴圈、選擇或平行處理。

序列圖的元件

1. 行為者與物件

行為者 代表系統使用者、機器或外部子系統。物件 是系統內互動的實體。在 UML 中,物件以矩形表示,並可透過三種特定方式命名:

  1. 物件:類別(例如,學生:人員)-包含特定物件名稱及其類別。
  2. :類別(例如,:課程)-匿名物件,僅顯示類別名稱。
  3. 物件(例如,講師)-僅顯示物件名稱。

為保持圖表清晰,應將經常互動的物件彼此靠近放置,並把發起互動的物件放在最左側。

2. 消息

消息是互動圖的核心。它們通常被分為三種類型:

  • 同步消息: 發送者將控制權交給接收者,並在繼續前等待回應。這表示同步。
  • 非同步消息: 發送者傳遞訊號後,便繼續其活動,無需等待接收者。這允許並行工作。
  • 回傳消息: 表示從程序呼叫中回傳,將資訊傳回呼叫者。

非即時消息: 雖然消息通常被視為即時(水平箭頭),但使用 斜向箭頭 可用來表示消息需經過可測量的時間才能到達接收者。

3. 創建與銷毀

圖表中的參與者不一定會持續整個互動期間:

  • 建構訊息: 建立接收者。在互動期間創建的物件會在創建點處於圖表的更下方位置。
  • 解構訊息: 刪除接收者。如果物件的銷毀設定為「解構後」,此訊息會明確結束生命線。

進階建模:合併片段

合併片段可讓您將相關訊息分組,以顯示條件結構、迴圈和並行處理。這些片段會以框架包覆,且左上角標示互動運算子。

常見的互動運算子

  • alt(選擇): 模擬互斥選擇(類似於if..else)。僅條件為真的片段會執行。
  • opt(選擇性): 該片段僅在提供條件為真時執行。這等同於僅有一條路徑的alt片段。
  • loop(迴圈): 該片段會重複執行,直到保護條件變為假。
  • break(跳出): 當保護條件為真時,允許跳出封閉的迴圈。這通常用於例外處理。
  • par(平行): 片段並行執行,模擬並發互動。
  • critical: 僅允許一個執行緒同時執行的區域。
  • ref(參考): 指向另一張圖表中定義的互動,以支援模組化圖表設計。

範例:下訂單情境

為說明這些概念,請考慮一個情境:船員在線上下訂單。系統必須驗證庫存並處理不同的會員狀態(VIP 與一般會員)。

情境分析

此順序圖涉及三個參與物件:顧客, 訂單,以及庫存。互動以垂直方向流動,代表時間:

  1. 步驟 1-2: 客戶發送訊息以建立一個訂單物件。
  2. 步驟 3: 客戶將項目加入訂單中。
  3. 步驟 4-5: 系統觸發自我呼叫或內部程序,以檢查每個項目在庫存庫存中的可用性。
  4. 步驟 6-8: (使用「opt」或「alt」的條件邏輯) 如果產品有庫存,就會加入訂單中。
  5. 步驟 9: 回傳訊息確認狀態。
  6. 步驟 10-11: 訂單被儲存,交易物件被銷毀。

處理訊號與接收

在複雜系統中,互動不總是直接的方法呼叫。考慮一個自動拍賣:

拍賣人將價格提案廣播給一群競標者。這是以訊號接收來模擬。拍賣人發送非同步訊號(廣播),而競標者具有指定的接收(在收到訊號時自動呼叫的方法),以決定是否接受價格。

序列圖符號總結

以下是標準 UML 序列圖中使用的視覺符號的快速參考:

  • 參與者: 一個代表使用者或外部系統所扮演角色的簡單人形圖示。
  • 生命線: 一條垂直的虛線,代表參與者。
  • 活動欄: 生命線上的一個細長矩形,表示物件處於活躍/處理狀態。
  • 呼叫訊息: 一條實線,搭配實心箭頭(同步)或空心箭頭(非同步)。
  • 回傳訊息: 一條虛線,搭配空心箭頭,指向呼叫者。
  • 自我訊息: 一個指向同一生命線的箭頭,代表內部方法呼叫。
  • 註解: 一個有捲角的矩形,用於附加無語意意義但提供有用背景資訊的註解。
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...