介紹
序列圖是軟體工程中一個關鍵工具,用於在時間軸上視覺化系統中物件之間的互動。它有助於理解系統的動態行為、設計其架構,以及記錄複雜的流程。本指南將涵蓋關鍵概念、使用指南、實際案例以及一個案例研究,幫助您掌握序列圖。
關鍵概念
1. 生命線
生命線代表互動中的參與者,例如物件或參與者。它們以垂直的虛線表示,顯示物件在時間上的存在。
2. 消息
消息是生命線之間的箭頭,代表通訊。它們可以是:
- 同步:實線搭配實心箭頭,表示等待回應的方法呼叫。
- 非同步:實線搭配空心箭頭,表示不會等待回應的訊號。
3. 活動條
活動條是生命線上的矩形,用以顯示操作或方法執行的持續時間。它們表示物件處於活躍狀態並正在處理訊息的時刻。
4. 組合片段
組合片段用於處理複雜的互動,例如迴圈、選擇與平行處理。它們有助於組織與管理複雜的訊息傳遞流程。
建立序列圖的指南
1. 識別使用案例
首先識別系統中的關鍵使用案例。使用案例描述使用者與系統之間的特定互動。這有助於聚焦於需要建模的核心互動。
2. 定義參與者
確定情境中涉及的物件或參與者。參與者可以是使用者、系統,或與系統互動的外部實體。
3. 繪製生命線
針對每位參與者,繪製一條垂直的虛線來代表其生命線。這條線顯示參與者在時間上的存在。
4. 新增訊息
在生命線之間繪製箭頭,以代表參與者之間交換的訊息。將每個訊息標示其名稱與相關參數。這有助於理解通訊的流程。
5. 使用組合片段
針對複雜的互動,使用組合片段來顯示迴圈、選擇或平行處理。這有助於管理與組織複雜的訊息傳遞流程。
實際案例:行動銀行應用程式
使用案例:轉帳
- 使用者啟動資金轉帳。
- 行動應用程式向……發送請求銀行系統.
- 銀行系統驗證使用者憑證並檢查帳戶餘額。
- 銀行系統向……發送確認訊息回覆行動應用程式.
- 行動應用程式向……顯示確認訊息使用者.

案例研究:飯店預訂系統
使用案例:預訂
- 顧客啟動預訂請求。
- 預訂系統檢查房間可用性。
- 預訂系統向……發送確認訊息回覆顧客.

案例研究:順序圖 –線上書店訂單處理
參與者:
- 顧客:使用者瀏覽書店、選擇書籍並下訂單。
- 書店系統: 一個管理目錄、用戶帳戶和訂單處理的線上平台。
- 支付網關: 一個處理支付交易的外部服務。
- 庫存系統: 管理書籍的庫存水平。
情境: 一位顧客造訪線上書店,瀏覽目錄,選擇要購買的書籍,並進入結帳流程。系統會驗證所選書籍的庫存狀況,透過支付網關處理付款,並更新庫存。最後,顧客會收到訂單確認。
順序圖
下方的順序圖說明了在訂單處理情境中,顧客、書店系統、支付網關與庫存系統之間的互動。

說明
- 顧客 在 書店系統.
- 顧客 選擇書籍並進入結帳。
- 書店系統 與 庫存系統.
- 庫存系統 將庫存狀態回傳給 書店系統.
- 書店系統 與 支付網關.
- 支付網關處理付款並向 回傳確認訊息書店系統.
- 書店系統更新 中的庫存庫存系統.
- 庫存系統向 確認庫存更新書店系統.
- 書店系統向 發送訂單確認客戶.
此順序圖有助於視覺化在訂單處理情境中,在線書店系統各組件之間互動與訊息傳遞的流程。
建立有效順序圖的技巧與提示
- 從使用案例開始:
- 明確定義參與者:
- 明確定義情境中涉及的物件或參與者。參與者可以是使用者、系統或與系統互動的外部實體。3.
- 使用具描述性的訊息標籤:
- 管理複雜互動:
- 對於複雜的互動,使用合併片段來顯示迴圈、選擇或平行處理。這有助於組織和管理複雜的訊息流程2.
- 保持簡單:
- 避免使圖表過於複雜。專注於理解用例所必需的關鍵互動和訊息。過多細節會使圖表難以閱讀和理解。
- 使用一致的命名規範:
- 保持參與者、訊息和生命線命名的一致性。這使圖表更易於閱讀和理解。
- 添加註解和評論:
- 使用註解和評論提供額外的背景或說明,必要時可幫助澄清圖表中的複雜互動或決策。
- 審查並迭代:
- 與利益相關者和團隊成員一起審查您的序列圖。收集反饋並迭代圖表,以確保它準確地反映用例,並讓所有參與者都能理解。
- 使用工具提高效率:
- 記錄假設和限制條件:
- 明確記錄適用於序列圖的任何假設或限制。這有助於理解圖中所建模互動的背景和限制。
透過遵循這些技巧和提示,您可以創建有效的序列圖,清楚地傳達系統的動態行為,並有助於設計和記錄複雜的流程。
總結
序列圖對於視覺化和理解系統的動態行為至關重要。透過遵循指南並運用關鍵概念,您可以創建清晰且全面的序列圖,以協助設計和記錄複雜系統。實際案例和案例研究提供了序列圖在不同情境下的實際應用。
參考文獻
- 以用例驅動方法創建序列圖:全面指南
- UML 序列圖:關鍵概念與全面指南
- 序列圖 – 統一建模語言(UML)
- 什麼是序列圖?
- 理解序列圖:全面指南
- 序列圖












