什麼是序列圖
軟體開發需要項目中所有相關方之間高效溝通與理解。有效溝通與理解的重要工具之一就是序列圖。序列圖是系統中不同組件在時間上互動的圖形化表示。要創建能準確描述系統內互動的序列圖,遵循明確的流程至關重要。序列圖在軟體開發中廣泛應用,用以展示物件之間訊息的傳遞流程以及訊息發送與接收的順序。
在本文中,我們將探討如何使用用例驅動方法來創建序列圖。
創建序列圖的逐步指南
本文提供了一個使用用例驅動方法創建序列圖的逐步指南。遵循此流程,您可以創建清晰且全面的系統內互動視覺化圖表,有助於確保系統設計符合用戶需求,並使組件間的互動明確且高效。
用例驅動方法著重於識別用戶與系統之間的關鍵情境與互動。此方法有助於確保系統設計符合用戶需求,並使組件間的互動明確且高效。
步驟 1:識別用例
使用用例驅動方法創建序列圖的第一步是識別系統中的關鍵用例。用例是用戶與系統之間特定互動的描述。一些用例的例子包括登入、下單購買或更新用戶個人資料。
步驟 2:建立用例圖
在識別出系統的關鍵用例後,您可以建立用例圖來視覺化呈現它們。用例圖應顯示與系統互動的不同參與者(即使用者或外部系統),以及不同用例及其相互關係。
步驟 3:發展用例描述
針對用例圖中的每個用例,撰寫包含事件流程部分的用例描述。事件流程部分應描述使用者與系統互動所採取的步驟,以及系統對這些步驟的回應。
步驟 4:為不同情境發展序列圖
根據用例描述中的事件流程,為不同情境發展序列圖:正常、替代與異常。正常情境代表使用者完成用例的典型路徑;替代情境代表使用者可能偏離正常路徑的任何變異;異常情境則代表用例執行過程中可能發生的錯誤或意外事件。
序列圖應顯示不同物件在時間上的互動,每個訊息以垂直箭頭表示。箭頭的順序代表訊息發送與接收的順序。
序列圖還應包含互動中涉及的任何條件或迴圈。例如,若使用者登入時輸入錯誤密碼,系統可能會顯示錯誤訊息,並允許使用者再次嘗試。
步驟 5:精煉與修訂
在創建初始序列圖後,應仔細審查,確保所有互動都明確且高效。您可能需要根據分析結果修改圖表或調整系統設計。
範例 – 手機銀行應用程式
手機銀行應用程式旨在解決傳統銀行服務不便且耗時的問題。透過手機銀行應用程式,使用者可隨時隨地執行銀行交易並查閱帳戶資訊,無需親自前往銀行分行。此外,手機銀行應用程式還提供傳統銀行渠道無法提供的多種功能,例如透過行動裝置存入支票、查看特別優惠與促銷活動,以及管理帳戶提醒。
手機銀行應用程式的目標是為使用者提供一種方便且安全的方式,以隨時隨地管理財務。
步驟 1:識別用例
以下是手機銀行應用程式的一些候選用例:
- 檢視帳戶餘額 – 允許使用者檢視其帳戶餘額與交易紀錄。
- 資金轉帳 – 允許使用者在自身帳戶之間或與其他帳戶之間轉帳。
- 支付帳單 – 允許使用者線上支付帳單,例如水電費、信用卡帳單及貸款付款。
- 存入支票 – 允許使用者透過用手機拍攝支票照片來存入支票。
- 查找自動櫃員機 – 允許使用者查找附近的自動櫃員機並查看其營業時間。
- 聯絡支援 – 允許使用者聯絡客戶支援,以獲得協助解決可能遇到的任何問題。
- 查看優惠 – 允許使用者查看銀行提供的特別優惠或促銷活動。
- 管理提醒 – 允許使用者管理帳戶提醒,例如交易通知和餘額提醒。
步驟 2:建立用例圖

步驟 3:發展用例描述
行動銀行應用程式中「轉帳」用例的用例描述:
用例名稱: 轉帳
參與者: 使用者
摘要: 此用例允許使用者在自己的帳戶之間或轉帳至其他帳戶。
前置條件:
- 使用者必須已登入行動銀行應用程式。
- 使用者在應用程式中至少需設立一個帳戶。
事件基本流程:
- 使用者從主選單中選擇「轉帳」選項。
- 應用程式會向使用者顯示其帳戶清單,並提示其選擇要轉帳的帳戶。
- 使用者選擇要轉帳的帳戶。
- 應用程式會向使用者提供一份表格,用以填寫收款人的帳戶資訊,包括帳戶號碼和收款人姓名。
- 使用者填寫表格並輸入想要轉帳的金額。
- 應用程式會驗證收款人的帳戶資訊以及使用者帳戶中的可用餘額。
- 若驗證成功,應用程式將從使用者帳戶中扣除轉帳金額,並加入收款人帳戶。
- 應用程式會向使用者顯示確認訊息,其中包含轉帳的詳細資訊。
替代流程:
- 6a. 如果收款人帳戶資訊無效,或使用者帳戶中的可用餘額不足,應用程式會向使用者顯示錯誤訊息,並提示其修正資訊或選擇其他帳戶。
- 6b. 如果使用者在交易完成前取消,應用程式將返回主選單。
後置條件:
- 資金已成功從使用者帳戶轉至收款人帳戶。
- 使用者會收到包含轉帳詳細資訊的確認訊息。
步驟 4:為不同情境開發序列圖
以下是行動銀行應用程式中「轉帳」用例的正常流程、替代流程與例外流程的序列圖:
正常流程序列圖:

替代流程序列圖(6a):

替代流程序列圖(6b):

步驟 5:精煉與修訂
現在,我們僅將正常流程的序列圖擴展為更詳細的 MVC 序列圖:

總結
使用以用例為導向的方法來建立序列圖,有助於確保系統設計能滿足使用者需求,並使元件之間的互動明確且高效。序列圖是軟體設計與開發中的重要工具,可幫助呈現系統內物件或元件之間的互動。序列圖是一種互動圖,用以描述系統中物件或參與者之間交換訊息的流程。它們在理解與設計系統對特定用例的回應行為方面尤為有用。透過先撰寫包含事件流程的用例描述,再針對不同情境發展序列圖,即可建立系統互動的清晰且全面的視覺化呈現。











