用例與用例規範
用例描述了由參與者執行的任務,該任務為企業產生了商業價值的結果。用例可以可視化為用例圖或/和結構化文本規範格式:
用例(任務——客戶想要執行)可能是:
- 交互式 ——系統用例描述了參與者與系統的交互,以實現已定義的業務目標
- 手動 - 演員執行的一系列動作
- 自動化 — 由程序或腳本執行的一系列步驟
用例的特徵
一個用例有:
- 只有一個目標
- 單一起點
- 單一的終點
- 從頭到尾的多種路徑
- 即為各種可能的條件指定行為
- 每個條件可能需要特定的操作
例如——客戶支付賬單:
實現目標有多種途徑 :
- 電話支付
- 通過郵寄
- 親自
- 通過支票
- 用現金等
不通向目標的路徑 :
- 信用卡被拒絕
敏捷用例方法
用例模型及其各個用例會隨著時間的推移逐級演進。並非模型的所有用例都必須指定為相同的詳細程度。
適時且恰到好處
用例可以在不同級別的數據和範圍內編寫,每個都有一個目的:
- 摘要:系統功能或業務流程的一般描述和全面概述。
- 用戶級別 :與任務相關的用戶描述以及他們如何與系統交互;特定業務流程的描述。用戶級用例通常被認為是用戶主要工作的任務級別。
- 子功能:用於完成核心用例的子部分的較低級別活動的描述。
注意:某些用例可能被充分指定到 II 級。當使用及時和恰到好處的方式獲得足夠的細節時,您就會停下來。
詳細的用例規範
詳細用例是一種文本表示,它以某種格式說明一系列事件以及其他相關用例信息。人們通常採用標準用例模板來記錄用例的詳細信息
用例模板——ATM取款案例示例
如前所述,用例有幾種符號樣式(例如圖表樣式、統一建模語言、文本格式)。無論使用什麼符號都應該易於理解。您可以使用模板,例如 Alistair Cockburn中的模板,但也可以選擇最適合您團隊的模板。
用例規範
用例名稱: 提取現金
參與者:客戶(主要)、銀行系統(次要)
摘要描述: 允許任何銀行客戶從他們的銀行賬戶中提取現金。
優先級: 必須有
狀態: 中等詳細程度
前置條件: 銀行客戶有卡可插入ATM
ATM正常在線
後置條件:
- 銀行客戶已收到他們的現金(以及可選的收據)
- 銀行已從客戶的銀行賬戶中扣款並記錄交易詳情
基本路徑:
- 客戶將他們的卡輸入 ATM
- ATM 驗證該卡是有效的銀行卡
- ATM 要求輸入 PIN 碼
- 客戶輸入他們的 PIN 碼
- ATM 根據 PIN 碼驗證銀行卡
- ATM提供包括“取款”在內的服務選項
- 客戶選擇“提款”
- ATM 提供金額選項
- 客戶選擇金額或輸入金額
- 自動櫃員機驗證其儲罐中是否有足夠的現金
- ATM 驗證客戶是否低於取款限額
- ATM 驗證客戶銀行賬戶中有足夠的資金
- 自動櫃員機從客戶的銀行賬戶中扣除
- ATM退回客戶的銀行卡
- 客戶拿走他們的銀行卡
- ATM 發放客戶的現金
- 客戶拿走他們的現金
替代路徑:
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:盲和部分盲支持
It¦s actually a nice and helpful piece of info. I am satisfied that you shared this useful info with us. Please stay us informed like this. Thank you for sharing.
I was recommended this web site by my cousin. I’m not sure whether this post is written by him as no one else know such detailed about my problem. You’re wonderful! Thanks!