使用案例 (Use Case)是用來描述需求的流程,就是 5W1H8C 中的 How。
流程一般都是客戶根據自己的業務總結而來,看似只要將客戶描述的內容記錄下來即可,但現實與理想總是有差距,各式各樣的狀況都可能出現,因此我們也無法直接通過記錄客戶的描述,就能直接完成描述需求的流程。
一、NEA 三段法
只要掌握正確的方法,就可以完成良好的需求分析,例如使用案例方法三段法 (NEA 方法):
- 正常處理 (Normal),通過和客戶溝通,分析需求的正常流程。
- 異常處理 (Exception),在正常處理流程的步驟上,分析每一步的各種異常狀況和對應的處理。
- 替代處理 ( Alternative),在正常處理流程的步驟上,分析每一步是否有其他替代方法,以及如何進行。
經過以上簡單的三段法後,可以說 How 就分析得差不多了。
後續我們會用一個完整的「影像處理軟體」使用案例來說明需求分析 5W1H8C 方法涉及的內容。
二、使用案例說明
一個完整的使用案例,應該包含下列幾個部分:
- 使用案例名稱,即需求的名稱。
- 場景,使用案例發生的環境,正好對應 5W 中的 3 個 W - Who, Where, When。
- 使用案例描述,對應 5W 中的 What 和 How,亦即客戶應該怎樣做,以及每個步驟的輸出;不要求每個步驟都一定有輸出,可以有也可以沒有,或著有多個輸出。
- 使用案例價值,描述使用案例對應的客戶價值,對應 5W 中的 Why。
- 約束和限制,整個需求流程中相關的約束和限制條件,對應 8C。
三、常見問題與回答
這方法適合軟體相關的所有領域、所有類型的產品與流程,其根本原因在於「需求的本質」都是一樣的,亦即「客戶的問題和價值」。
還有很多方法,例如問卷調查、自由發想、資料分析、資料探勘、競爭對手分析等,可以參考「需求分析理論」的相關書籍。但最常見、最有效以及最直接的方法還是和客戶交流。
- 5W 和 8C 中的每個點,是否每次需求分析都一定要全部考慮?
實務上建議這樣做,即使某個點沒有涉及,就註明「沒有特別要求」。這個好處是,其他人不用擔心到底是忘記分析,或者是確實不涉及。
不一定,只有那些關鍵、複雜、存在多個步驟或者互動的需求,才需要透過使用案例進行詳細分析。
四、總結
- 「需求」是對客戶來說有價值的事情,功能是系統為了實現「需求」而具備的能力。
- 修復「需求」錯誤的成本非常高。
- 「需求分析」的目的是挖掘客戶的問題,實現客戶價值。
- 「需求分析」方法:5W1H8C。
- 「需求分析」階段不區分是物件導向還是程序導向。
- 「使用案例方法」用於詳細分析 5W1H8C 中的 1H。