de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CN

使用用例圖與序列圖的綜合指南

Uncategorized9 hours ago

用例圖與序列圖互為補充UML工具能夠協同工作,以提供對系統功能與行為的全面理解。本指南將帶您逐步了解如何有效地結合使用這些圖表,並提供實用範例與詳細說明。

如何結合使用用例圖與序列圖

用例圖:捕捉功能需求

用例圖代表系統的高階功能(用例)以及與這些功能互動的外部參與者(使用者或其他系統)。它們有助於識別什麼系統從使用者觀點應執行的內容。用例以橢圓形表示,參與者以人形圖示表示,而關係則顯示互動或依賴關係。

範例:考慮一個線上銀行系統。用例圖可能包含如客戶、銀行管理員與外部支付網關等參與者。用例可能包括「登入」、「轉帳」、「檢視帳單」與「管理帳戶」。關係將顯示哪些參與者與哪些用例互動,從而提供系統功能範圍的清晰概覽。

序列圖:詳述動態互動

序列圖模擬如何透過顯示物件(類別的實例)之間在時間上交換訊息的順序,以實現特定用例。它們呈現物件的生命線,以及執行用例行為所需互動的時間順序流程。

範例:針對線上銀行系統中的「轉帳」用例,序列圖將顯示客戶、銀行帳戶、交易處理器與外部支付網關等物件之間的互動。圖表將展示訊息的順序,例如「請求轉帳」、「驗證帳戶」、「處理交易」與「確認轉帳」,從而提供實現功能所需的動態行為與協作的詳細視圖。

結合使用兩種圖表的實務流程

1. 從用例圖開始

識別並建立系統中關鍵用例與參與者的模型。這能提供系統功能範圍與使用者互動的清晰概覽。

範例:針對圖書館管理系統,用例圖可能包含圖書館員、會員與管理員等參與者。用例可能包括「借書」、「還書」、「搜尋目錄」與「管理庫存」。關係將顯示哪些參與者與哪些用例互動,有助於定義系統的功能需求。

2. 選擇一個用例進行詳述

選擇一個特定的用例(例如「借書」),以進一步探討。此用例將作為您序列圖的基礎。

範例:在圖書館管理系統中,選擇「借書」用例需識別會員借書所需的關鍵互動與步驟。這包括檢查書籍的可借閱狀態、更新會員帳戶,以及記錄交易。

3. 為該用例建立序列圖

模擬用例情境中涉及的物件(例如會員、書籍、圖書館資料庫、交易日誌)。依序展示這些物件之間的互動(訊息),以完成用例。這能清楚說明實現功能所需的動態行為與協作。

範例: 對於「借書」用例,序列圖將展示成員、書籍、圖書館資料庫和交易日誌之間的互動。該圖將展示訊息的順序,例如「請求書籍」、「檢查可借性」、「更新會員帳戶」和「記錄交易」,提供實現功能所需的動態行為與協作的詳細視圖。

4. 使用序列圖表示變異與例外情況

除了主要流程外,還應建立額外的序列圖,以表示用例內的替代流程或例外流程。

範例:對於「借書」用例,替代流程可能涉及書籍不可借的情況。此替代流程的序列圖將展示如「請求書籍」、「檢查可借性」、「通知不可借」和「建議替代品」等互動,提供系統如何處理例外情況的詳細視圖。

5. 連結圖表以確保可追溯性

透過將序列圖連結回其對應的用例,維持可追溯性,確保高階需求與詳細互動之間的清晰導航。

範例:在圖書館管理系統中,將「借書」用例的序列圖連結回用例圖,可確保利益相關者能輕鬆在高階概覽與詳細互動之間導航。這種可追溯性有助於在整個開發過程中維持清晰與一致性。

總結表

圖表類型 目的 關鍵元素 在開發中的角色
用例圖 捕捉系統功能與參與者 參與者、用例、關係 定義 系統做什麼系統做什麼
序列圖 模擬物件在時間上的互動 物件(生命線)、訊息 定義 系統如何動態運作系統如何動態運作

來自線上書店的範例

用例圖

線上書店的用例圖識別出如顧客與管理員等參與者,以及「下訂單」和「管理庫存」等用例。關係顯示哪些參與者與哪些用例互動,提供系統功能範圍的清晰概覽。

範例:

  • 角色: 顧客、管理員
  • 使用案例: 下訂單、管理庫存、瀏覽目錄、查看訂單歷史
  • 關係: 顧客與下訂單和瀏覽目錄互動;管理員與管理庫存和查看訂單歷史互動。

順序圖

順序圖透過展示顧客、購物車、訂單和庫存物件之間的互動順序,來模擬「下訂單」使用案例。這清楚地說明了實現功能所需的動態行為與協作。

範例:

  • 物件: 顧客、購物車、訂單、庫存
  • 互動: 請求訂單、驗證購物車、處理付款、更新庫存、確認訂單
  • 順序: 顧客請求訂單 → 購物車驗證項目 → 訂單處理付款 → 庫存更新庫存 → 訂單確認交易。

透過結合使用案例圖與順序圖,您既能獲得系統功能的高階概觀,也能深入了解實現這些功能所需的互動細節,從而促進清晰的溝通與有效的系統設計。

額外範例

醫療管理系統

使用案例圖:

  • 角色: 病人、醫生、護士、管理員
  • 使用案例: 預約就診、開立處方、更新醫療紀錄、管理人員
  • 關係: 病人與預約就診互動;醫生與開立處方和更新醫療紀錄互動;管理員與管理人員互動。

「開立處方」的順序圖:

  • 物件: 醫生、病人、醫療紀錄、藥房
  • 互動: 請求處方、驗證醫療史、生成處方、傳送至藥房、通知病人
  • 序列: 醫生申請處方 → 醫療紀錄核實病史 → 處方生成 → 藥局接收訂單 → 患者收到通知。

電子商務平台

用例圖:

  • 參與者: 顧客、賣家、管理員
  • 用例: 瀏覽商品、加入購物車、結帳、管理上架、處理付款
  • 關係: 顧客與瀏覽商品、加入購物車及結帳互動;賣家與管理上架互動;管理員與處理付款互動。

「結帳」的序列圖:

  • 物件: 顧客、購物車、付款網關、訂單、庫存
  • 互動: 請求結帳、驗證購物車、處理付款、更新庫存、確認訂單
  • 序列: 顧客請求結帳 → 購物車驗證商品 → 付款網關處理付款 → 庫存更新庫存 → 訂單確認交易。

結論

透過結合使用用例圖與序列圖,您可以全面理解系統的功能與行為。用例圖提供系統應執行功能的高階概覽,而序列圖則呈現系統動態行為的詳細視圖。這種組合確保了清晰的溝通、有效的系統設計,以及複雜系統的成功實現。

參考資料:

[1] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577

[2] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2577_sequencediag.html

[3] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575/6362_drawinguseca.html

[4] https://www.visual-paradigm.com/learning/handbooks/software-design-handbook/sequence-diagram.jsp

[5] https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html

[6] https://www.archimetric.com/from-requirements-to-interactions-using-use-case-class-and-sequence-diagrams/

[7] https://www.visual-paradigm.com/support/documents/vpuserguide/124_interoperabi.html

[8] https://www.visual-paradigm.com/support/documents/vpuserguide/94/2575_usecasediagr.html

Follow
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...