iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
IT 管理

沒有終點的敏捷日記系列 第 20

Day20 - 使用範例描述需求(2) - 開立範例的方法

  • 分享至 

  • xImage
  •  

在需求的世界裡,描述範例能有效降低團隊對需求的認知差距,但是面對一個複雜的功能,真的能把所有的範例都列舉出來嗎?等我們窮舉完所有範例,市場恐怕早就進化到另一個維度了。

所以下面我們來聊聊如何選擇性地開立範例,讓需求既清晰又不至於讓我們忙到手足無措!以下是幾個常見的方法能幫助需求更具體化,並讓團隊更清楚了解客戶的期望。

使用情境驅動

透過具體的使用情境來開立範例,例如在某個具體的場景下,描述使用者的互動流程,這有助於模擬實際情境並確保需求切合真實使用情境;常用的方式包含以下兩種:

A、使用者故事(User Stories)

故事名稱:身為一位影城會員,我可以在線上預訂電影票,並依據我的身分或條件選擇合適的票種」
範例:
- 使用者可以提早2星期購買電影票,並享受早鳥優惠票價。
- 使用者可以根據學生身分證明,選擇學生票。
- 65歲以上的使用者可以選擇敬老票。
- 當使用者購買超過25張電影票時,系統會自動顯示25人以上團體優惠票。

B、用例分析(Use Case)

用例名稱:預訂電影票

  1. 參與者:
    • 主要角色:影城會員(使用者)
    • 次要角色:電影票系統(系統)
  2. 前置條件:使用者必須在系統中註冊並登入帳號。
  3. 使用情境:
    (1)使用者登入線上購票系統。
    (2)使用者選擇想要觀看的電影。
    (3)系統顯示該電影的放映時間和座位情況。
    (4)使用者選擇放映時間及座位。
    (5)系統顯示票價及可用的支付方式。
    (6)使用者確認購買並選擇支付方式。
    (7)系統處理支付,並發送確認郵件。
  4. 後置條件:使用者成功預訂電影票,並收到確認資訊。
  5. 異常情況:
    • 如果使用者嘗試選擇的座位已被其他人預訂,系統應提示「該座位已被預訂,請選擇其他座位」。
    • 如果支付過程中出現錯誤,系統應提供相應的錯誤消息,並允許使用者重新嘗試支付。

流程驅動

這類範例注重系統的操作流程,透過依序步驟展示系統在不同狀態下的運作方式,例如展示「從登入到完成訂單」的流程,讓團隊瞭解整個業務流程是如何流轉的。

需求情境:使用者在網站上選擇產品並提交訂單,系統需要經過多個步驟完成訂單處理,包括選擇支付方式、填寫配送資訊和最終確認訂單;範例會依照使用者的操作,描述每一個步驟如何影響系統的反應。

  • 步驟一:選擇產品並放入購物車
    • 使用者瀏覽網站並將所選產品放入購物車,系統顯示產品已成功加入購物車的提示。
    • 範例行為:使用者點選「加入購物車」按鈕後,購物車顯示新增產品並更新總價。
  • 步驟二:進入結帳頁面
    • 使用者點擊購物車圖示,進入結帳流程。系統載入結帳頁面並顯示購物車中的產品列表、總價格及運費選項。
    • 範例行為:使用者點選「結帳」後,系統會將頁面跳轉至結帳資訊頁。
  • 步驟三:填寫配送資訊
    • 使用者填寫配送地址,選擇配送方式(例如標準或快速運送),並繼續至下一步。
    • 範例行為:輸入有效的地址資訊後,系統會驗證資料並更新運費和預計送達時間。
  • 步驟四:選擇支付方式
    • 使用者選擇支付方式(例如信用卡、銀行轉帳或電子支付),並輸入支付相關資訊。
    • 範例行為:系統檢查支付資訊是否正確,若正確,允許進入確認訂單步驟。
  • 步驟五:確認並提交訂單
    • 使用者檢視所有訂單資訊(包含產品、配送、支付細節),若確認無誤,點選「提交訂單」。
    • 範例行為:系統會處理訂單,顯示訂單號並發送確認郵件給使用者。

數據驅動

展示了系統如何處理輸入和輸出數據,對於處理大量資訊的系統特別有用,這種範例讓開發團隊更具體地看到如何在不同條件下處理資料,範例可以包含:

A、表格中的輸入與輸出數據**

用戶身分 預訂日期 購票數量 票種 訂單編號 票價總額
會員 提前2週 2張 早鳥票 001 NT$400
學生 3天前 1張 學生票 002 NT$150
敬老 當天 3張 敬老票 003 NT$450
普通用戶 1天前 25張 團體票 004 NT$3000

B、不同條件下系統回應的數據結果**

條件 系統回應數據結果
用戶為「學生」 系統回應:提供學生票價 NT$150
預訂日期為「提早2週」 系統回應:提供早鳥票價 NT$200
用戶超過65歲 系統回應:提供敬老票價 NT$180
購票數量大於25張 系統回應:提供團體票優惠總額 NT$3000

邊界條件及例外狀況

描述系統在極端條件下的行為,例如在網絡中斷、使用者輸入無效資料等情況下的處理方式,這有助於確保系統穩定性,並提升應對異常狀況的能力。

情境: 在線購物系統中,當用戶嘗試結算購物車時,系統需要處理多種邊界條件與例外狀況。

A、邊界條件:

  1. 最小購買量:
    • 如果用戶購買的商品數量少於最低限制,例如系統規定單次購買至少1件商品,用戶不能提交空購物車。
    • 範例: 用戶嘗試結算購物車,商品數量為0,系統應提示「購物車內沒有商品,無法進行結算」。
  2. 最大庫存量:
    • 用戶選擇的商品數量不能超過庫存限制。
    • 範例: 系統檢查到庫存中僅剩10件商品,而用戶選擇了15件,系統應提示「庫存不足,最多可購買10件」。

B、例外狀況:

  1. 支付失敗:
    • 當支付系統發生錯誤時,如信用卡信息無效或餘額不足,系統應提供替代支付方式或重新輸入付款信息的選項。
    • 範例: 用戶輸入的信用卡信息不正確,系統應返回「支付失敗,請確認支付信息後重試」。
  2. 商品下架:
    • 如果用戶在結算過程中,所選商品突然下架,系統需要提醒用戶該商品無法購買。
    • 範例: 用戶點擊結算按鈕後,某商品剛好在後台被下架,系統應提示「商品已下架,請移除該商品後繼續結算」。

現在,你已經掌握了各種開立範例的方法,接下來就是看你如何靈活運用了!

根據不同的故事情境,選擇最適合的範例方式,這樣一來,你的User Story不僅能讓開發團隊秒懂,還能減少「嗯?你說的是這個意思嗎?」的尷尬對話,讓團隊的彼此認知差異壓縮到零!


上一篇
Day19 - 使用範例描述需求(1) - 範例描述的格式
下一篇
Day21 - 使用範例描述需求(3) - 範例可能的來源
系列文
沒有終點的敏捷日記22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言