(4)用例(UseCase)及其定義
- 它描述了當主角之一給系統特定的刺激時系統的活動,是主角通過系統完成一個過程時出現的一組事件,最終以實現一種功能。
- 通常,用例側重于功能,但不重點描述該功能的實現細節。
- 用例的大小劃分一般以事件流在10個步驟左右為好。
(5)用例的分類
- 業務用例(Business Use Case)
指系統提供的業務功能與參與者的交互,表現問題領域中各實體間的聯系和業務往來活動。它用于建立問題領域的業務用例模型。 - 系統用例(System Use Case)
指參與者與系統的交互,它表現了系統的功能需求和動態行為。
注意:用例確定的只是交流的目的,而不是交流的手段
客戶并不需要了解執行者、用例這些概念。用例能告訴開發團隊“去向客戶了解什么”(目的),不能告訴你如何向客戶去了解(手段);
手段可以有很多種,文檔研究、問卷調查、訪談、觀察、研究競爭對手、開會、原型、場景演示…,使用用例思維來指導這些交流手段,會使交流更有目的,更加高效。因為以場景方式表達的需求本來就比一條條列出的需求要便于交流。
(6)用例的層次化
按照抽象層次,用例圖可以劃分為系統層(最高層)、子系統層(可以再細分)和對象類層(最低層)。
- 系統層用例圖描述系統提供的全部服務。
- 子系統層用例圖描述子系統提供的服務,它的外部交互者可以是其他的子系統或高一層的參與者。
- 對象類層的用例圖描述對象類提供的功能片或操作,它的外部交互者可以是其他對象類或高一層活動者。
(7)用例建模的主要步驟
- 確定邊界(區分敵我---找出系統外部的活動者和外部系統,確定系統的邊界和范圍)和參與者
- 確定用例(功能實現的)優線級和相互依賴關系
- 對用例進行分層(適當分解和細化用例,用例需要細化到什么程度?)
- 編寫主成功場景,并盡可能列出所有擴展條件。編寫擴展處理的步驟。
五、如何編寫用例
(1)編寫用例時,最應該注意的幾種問題
- 編寫功能需求,而不是編寫使用設想文本
- 描述屬性與方法,而不是描述習慣用法
- 編寫的用例過于簡要并且把自己與用戶界面完全隔離
- 回避詳細的邊界對象名稱,同時從第三者的角度而不是用戶角度編寫用例,并用采用被動式
- 僅僅描述用戶交互,而忽略系統響應
(2)用例示例點評
- 錯誤用例
用例:提取現金
范圍:ATM系統
主執行者:儲戶
1.儲戶插入ATM卡,并鍵入密碼
2.儲戶按“取款”按鈕,并鍵入取款數目
3.儲戶取走現金、ATM卡并拿走收據
4.儲戶離開 - 修正上面的用例
問題原因:沒有系統
修正后:
范圍:ATM系統
主執行者:賬戶持有者
1.通過讀卡機,儲戶插入ATM卡
2.ATM系統從卡上讀取銀行ID、賬號、加密密碼,并用主銀行系統驗證銀行ID和帳號
3.儲戶鍵入密碼,ATM系統根據上面讀出的卡上加密密碼,對密碼進行驗證。
4.儲戶選擇取款,并鍵入取款數量。
5.ATM系統通知主銀行系統,傳遞儲戶賬號和取款數量,并接收返回的確認信息和儲戶賬戶余額。
6.ATM系統輸出現金、ATM卡,顯示賬戶余額的收據。
7.ATM系統記錄事務到日志文件。 -
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/