Use Case Description(描述使用案例)




前言:

其實目的並非是Use Case 而是其“Description”,目的是想用此“Use Case Description”技巧來描述補捉使用者真正要的須求與規格。

主題:

Use Case Description 是Use Case的內容描述,補足其極其簡單的表達,以可以明確說明該Use Case的明確目標與其執行情節的使用者觀點的流程。
Scenarios(情節)
  • A scenario is a sequence of events that occurs during one particular execution of a system.
  • 一個使用案例實際上不只是一序列的動作,對於各種不同的情況,其序列描述也是有很多的變化,每一序列的動作就叫稱之為情節。
  • For example:
    John Doe logs in transmits a message from John Doe to the broker system
情節範例:使用者訂購音樂CD
  • 「使用者訂購音樂CD 」使用案例描述
    • 假設顧客在之前已經利用系統所提供的搜尋功能找到了所想要購買的音樂CD摘要
    • 系統顯示音樂CD摘要的網頁給顧客
    • 接下來,可能會發生的情節我們把它寫成如下:
Actor 動作系統回應
1. TUCBW:顧客提交搜尋要求給系統2. 系統提供顧戶建議的CD列表
3. 顧客選擇其中的一個CD以查看更多的資訊4. 系統提供顧客該CD的明細
5. 顧客把CD加入到購物車6. 系統顯示購物車內容
7. 顧客登入系統結帳(Check-out)8. 系統驗證顧客的登入資料
 9. 系統驗證顧客的信用卡資料
 10. 系統寄發訂單確認函(E-mail)給顧客
 11. 系統儲存訂單交易資訊
 12. TUCEW:系統顯示訂單交易明細資訊

描述使用案例時,內容應該包括:
  • 使用案例如何開始的
  • 使用案例如何結束的
  • 使用者如何與系統互動
  • 互動的過程有什麼樣的訊息交換
  • 互動行為的正常過程,以及其他的過程
The general format of a use case is:
  1. Brief description
  2. Flow of events
    1. Basic flow
    2. Alternative flow 1
    3. Alternative flow 2
  3. Special requirements
  4. Preconditions
  5. Post-conditions
  6. Extension points
  7. Context diagram
  8. Activity diagram
其實並非每一項都必要,有須要再寫即可。但實際上,若該文件若是要交到客戶手上的話,就每一項都要寫,雖然大多是廢話,不過人家就是要這個不然不給驗收。
本人經驗上,Brief description 與 Flow of events 就可以滿足90%以上的須求了。Activity Diagram 當情節複雜到無法以順序清楚的寫下時再畫即可。本人經驗上,若該情節真的不用Active Diagram等技巧不能滿足,其實也不用畫了,因為通常下到實作階段時,這些複雜的內容通常又不準了(之前講錯了,或又更動了等),總之只要目的清楚就行了。
但實際上,若該文件若是要交到客戶手上的話,就每一項都要寫,雖然大多是廢話,不過人家就是要這個不然不給驗收。
描述使用個案:
使用個案描述是從使用者之觀點描述使用者之作業行為,此時應著重作業處理或功能描述,而盡量不涉及電腦化之操作。例如內容應包括:
  • 工作項目與流程
  • 工作內容
  • 資料特性
使用個案之描述,原則上以事件條列式之描述為主。
使用個案的描述,至少包括:使用個案名稱、行為者、欲達成目標、執行前提、結束狀態、一系列事件之描述。其中一系列事件之描述除了正常程序外、也包括例外狀況之描述,而限制條件,可以在事件條列式之後補充說明。
應表達事件之起始行為者、動作及參與動作之物件等,其格式盡量採主詞+動詞+受詞方式描述。主詞可視為一行為者,而動詞為一項處理,最後受詞可為資料或其他行為者。
Use Case Description 範例:
新增訂購項目使用個案
使用個案名稱:新增訂購項目
行為者:客戶
前提:購物車是空車或已有書籍產品
結束狀態:將書籍產品置入購物車
一系列之事件:
  • 正常程序-
    1. 客戶上網,透過瀏覽器瀏覽A公司網站的書籍產品型錄
    2. 客戶對某本書希望獲得更進一步的資訊,可查看細部說明
    3. 客戶如果對某本書籍有意購買,可點選該書籍產品置入購物車內
    4. 客戶對新置入購物車內的書籍產品設定訂購數量(若未設定則以預
      設值1計之)
    5. 客戶設定訂購數量後系統自動計算購物車內的訂購金額並顯示之
      .計算單項產品金額= 單價×數量
      .計算訂購總金額:Σ(單項產品金額)
    6. 每位客戶一次可訂購一項或多項書籍產品,訂購數量不加以限制
  • 例外狀況1-
    1. 客戶不慎選錯欲購買的書籍,並將其放入購物車。
    2. 客戶可以在購物車內,刪除錯物的訂購書籍。
修改訂購數量使用個案
使用個案名稱:修改訂購數量
行為者:客戶
前提:購物車內已有書籍產品
結束狀態:購物車內的某些書籍數量已被修改
一系列之事件:
  • 正常程序-
    1. .客戶從購物車中點選欲修改訂購數量之產品項目
    2. 客戶修改訂購數量
    3. 客戶修改訂購數量後系統自動計算購物車內的訂購金額並顯示之
      .計算單項產品金額= 單價×數量
      .計算訂購總金額:Σ(單項產品金額)
刪除訂購項目使用個案
使用個案名稱:刪除訂購項目
行為者:客戶
前提:購物車內已有書籍產品
結束狀態:購物車內的某些書籍已被刪除
一系列之事件:
  • 正常程序-
    1. 客戶從購物車中點選欲刪除之產品項目(可複選)
    2. 客戶確認刪除該項產品
    3. 客戶刪除產品項目後系統自動計算購物車內的訂購金額並顯示之
      ,計算單項產品金額= 單價×數量
      .計算訂購總金額:Σ(單項產品金額)
取消採購訂單使用個案
使用個案名稱:取消採購訂單
行為者:客戶
前提:購物車內已有書籍產品
結束狀態:購物車內的所有書籍均被刪除(清空購物車)包含之使用個案:刪除訂購項目
一系列之事件:
  • 正常程序-
    1. 尚未送出訂單前,客戶選擇取消本次採購訂單
    2. 系統自動清空購物車內的產品(刪除訂購項目)及客戶輸入的交貨資料
    3. 網站顯示已完成「取消採購訂單」
確定採購訂單使用個案
使用個案名稱:確認採購訂單
行為者:客戶
前提:購物車內已有書籍產品
結束狀態:購物車內所有的書籍產品已拋轉成訂單
一系列之事件:
  • 正常程序-
    1. 客戶訂購完書籍產品,選擇進行結帳動作。
    2. 網頁顯示本次客戶訂購的所有書籍產品項目、數量及總金額。
      (結帳後,客戶不得再進行新增訂購項目、修改訂購數量、刪除、訂購項目等動作)
    3. 客戶填寫客戶資料表及交貨地址‥‥‥等相關交貨資料。
    4. 客戶確認本次訂購行為無誤並向網站送出一張新訂單。
    5. 網站接收到客戶送來的新訂單後,將顯示「銘謝惠顧」之類的感謝詞句,並告知客戶訂單編號。

留言

這個網誌中的熱門文章

列出不重複的隨機亂數

子類別建構子super觀念