用例圖與用例規範

僅以UML表示法顯示用例圖  是不夠的。每個用例都附有解釋用例目的的文本以及執行用例時完成的功能。

例規範通常在分析和設計階段以迭代方式創建。

  • 首先,只寫了執行用例的正常流程所需的步驟的簡要描述(即,用例提供了什麼功能)。
  • 隨著分析的進行,這些步驟被充實以添加更多細節。
  • 最後,將異常流添加到用例中
  • 每個項目都可以採用標準用例模板來創建用例規範。

用例與用例規範

用例描述了由參與者執行的任務,該任務為企業產生了商業價值的結果。用例可以可視化為用例圖或/和結構化文本規範格式:

用例(任務——客戶想要執行)可能是:

  • 交互式 ——系統用例描述了參與者與系統的交互,以實現已定義的業務目標
  • 手動 - 演員執行的一系列動作
  • 自動化 — 由程序或腳本執行的一系列步驟

用例的特徵

一個用例有:

  • 只有一個目標
  • 單一起點
  • 單一的終點
  • 從頭到尾的多種路徑
  • 即為各種可能的條件指定行為
  • 每個條件可能需要特定的操作

例如——客戶支付賬單:

實現目標有多種途徑 :

  • 電話支付
  • 通過郵寄
  • 親自
  • 通過支票
  • 用現金等

不通向目標的路徑 :

  • 信用卡被拒絕

敏捷用例方法

用例模型及其各個用例會隨著時間的推移逐級演進。並非模型的所有用例都必須指定為相同的詳細程度。

適時且恰到好處

用例可以在不同級別的數據和範圍內編寫,每個都有一個目的:

  • 摘要:系統功能或業務流程的一般描述和全面概述。
  • 用戶級別 :與任務相關的用戶描述以及他們如何與系統交互;特定業務流程的描述。用戶級用例通常被認為是用戶主要工作的任務級別。
  • 子功能:用於完成核心用例的子部分的較低級別活動的描述。

注意:某些用例可能被充分指定到 II 級。當使用及時和恰到好處的方式獲得足夠的細節時,您就會停下來。


詳細的用例規範

詳細用例是一種文本表示,它以某種格式說明一系列事件以及其他相關用例信息。人們通常採用標準用例模板來記錄用例的詳細信息


用例模板——ATM取款案例示例

如前所述,用例有幾種符號樣式(例如圖表樣式、統一建模語言、文本格式)。無論使用什麼符號都應該易於理解。您可以使用模板,例如 Alistair Cockburn中的模板,但也可以選擇最適合您團隊的模板。

用例規範

用例名稱: 提取現金

參與者:客戶(主要)、銀行系統(次要)

摘要描述: 允許任何銀行客戶從他們的銀行賬戶中提取現金。

優先級: 必須有

狀態: 中等詳細程度

前置條件: 銀行客戶有卡可插入ATM
ATM正常在線

後置條件:

  • 銀行客戶已收到他們的現金(以及可選的收據)
  • 銀行已從客戶的銀行賬戶中扣款並記錄交易詳情

基本路徑:

  1. 客戶將他們的卡輸入 ATM
  2. ATM 驗證該卡是有效的銀行卡
  3. ATM 要求輸入 PIN 碼
  4. 客戶輸入他們的 PIN 碼
  5. ATM 根據 PIN 碼驗證銀行卡
  6. ATM提供包括“取款”在內的服務選項
  7. 客戶選擇“提款”
  8. ATM 提供金額選項
  9. 客戶選擇金額或輸入金額
  10. 自動櫃員機驗證其儲罐中是否有足夠的現金
  11. ATM 驗證客戶是否低於取款限額
  12. ATM 驗證客戶銀行賬戶中有足夠的資金
  13. 自動櫃員機從客戶的銀行賬戶中扣除
  14. ATM退回客戶的銀行卡
  15. 客戶拿走他們的銀行卡
  16. ATM 發放客戶的現金
  17. 客戶拿走他們的現金

替代路徑:

2a. 無效卡

2b。卡倒置

5a。被盜卡

5b。PIN 無效

10a。料斗中現金不足

10b。料斗中的現金面額錯誤

11a。提款超過提款限額

12a。客戶銀行賬戶資金不足

14a。銀行卡卡在機器裡

15a。客戶未能取走他們的銀行卡

16a。現金卡在機器裡

17a。客戶未能拿走他們的現金

  • ATM 無法與銀行系統通信
  • b 客戶不響應 ATM 提示

商業規則:

B1:密碼格式

B2:PIN 重試次數

B3:服務選項

B4:金額選項

B5:提款限額

B6:取款前必須取走卡

非功能性要求:

NF1:完成交易的時間

NF2:PIN 輸入的安全性

NF3:允許收卡和現金的時間

NF4:語言支持

NF5:盲和部分盲支持


Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。