對(duì)產(chǎn)品經(jīng)理來說,如何寫需求用例
對(duì)小公司的產(chǎn)品經(jīng)理來說,經(jīng)常會(huì)要求寫需求用例。這篇文章, 作者分享了如何又快又好寫好需求用例的方法,供大家參考學(xué)習(xí)。
一、什么是需求用例
用例(Use Case),指實(shí)際工作中可能發(fā)生的場(chǎng)最。在需求分析階段的用例,稱為“需求用例”,是指用戶通過產(chǎn)品解決特定問題、完成指定任務(wù)的方式與步驟,也包括各步驟用到的約束、規(guī)則等。一個(gè)用例,往往對(duì)應(yīng)著用戶需要完成的某個(gè)明確而具體的任務(wù)。
但也有兩種特殊的用例:一種是上層用例,另一種是底層用例。
- 上層用例,指結(jié)合一些有關(guān)聯(lián)的普通用例完成一個(gè)抽象的由若干普通任務(wù)組成的大任務(wù)。
- 底層用例,指完成某些小任務(wù)的用例,這種用例可能會(huì)在許多普通用例中被引用。
二、用例的構(gòu)成
一個(gè)完整的用例,一般包括:用戶、前置條件、后置條件、主場(chǎng)景、擴(kuò)展場(chǎng)景、規(guī)則等方面。
1. 用戶
用例的重點(diǎn)在于用戶的操作場(chǎng)景,在考慮用例的場(chǎng)景之前,需要先確定用例的用戶,因?yàn)樗械氖褂脠?chǎng)景都是為某些特定的用戶服務(wù)的。一個(gè)用例可以面向一種或多種用戶,例如,用例“倉(cāng)庫(kù)結(jié)賬”,只是面向倉(cāng)庫(kù)核算員的,而用例“倉(cāng)庫(kù)交易分析”,會(huì)面向多種用戶,如倉(cāng)管員、核算員、計(jì)劃員、采購(gòu)員等。
根據(jù)面向的用戶不同,可以將用例分成幾大類:面向普通用戶的用例、面向關(guān)鍵用戶的用例、面向系統(tǒng)管理員的用例、面向所有用戶的用例。
- 面向普通用戶的用例,是普通用戶從事業(yè)務(wù)處理的用例。由于使用者是一般工作人員,學(xué)習(xí)能力、文化水平、軟件知識(shí)參差不齊,設(shè)計(jì)這種用例時(shí)往往會(huì)在易學(xué)性、健壯性、易用性上下更多的工夫。這種用例設(shè)計(jì)得不好,會(huì)影響工作效率。
- 面向關(guān)鍵用戶的用例,主要用于系統(tǒng)數(shù)據(jù)的初始化、業(yè)務(wù)功能的配置、基礎(chǔ)數(shù)據(jù)的管理等,如“用戶管理”“倉(cāng)庫(kù)配置”“組織結(jié)構(gòu)建立”之類的用例。使用這種用例的用戶,雖然沒有系統(tǒng)管理員對(duì)軟件理解深刻,但對(duì)軟件比較熟悉,使用這種功能進(jìn)行操作對(duì)系統(tǒng)的影響非常大,但一般來說影響的幅度與程度不及面向管理員的用例。
- 面向系統(tǒng)管理員的用例,主要用于系統(tǒng)配置、運(yùn)行監(jiān)控、異常分析,功能維護(hù)等,這些用例一般會(huì)涉及系統(tǒng)的正常運(yùn)行,操作稍有不慎就可能導(dǎo)致系統(tǒng)異常甚至崩潰,所以一般只能給系統(tǒng)管理員使用。
- 面向所有用戶的用例,提供給所有登錄本系統(tǒng)的用戶的用例。如“修改密碼”“工作日志”之類,只要是登錄本系統(tǒng)的用戶,就可以使用這些用例。當(dāng)然,既然是面向所有用戶的,自然也應(yīng)該歸于面向普通用戶的用例,這是一種特殊形式。
2. 前置條件
前置條件,是為了保證本用例可以成功執(zhí)行,而需要滿足的前提條件。例如,在某電商網(wǎng)站,用例“下訂單”的前置條件是會(huì)員登錄成功,并且會(huì)員信息中的一些必備資料填寫完整;用例“撤銷訂單”的前置條件是會(huì)員登錄成功,并且訂單還沒有發(fā)貨:而用例“退貨”的前置條件是訂單已經(jīng)發(fā)貨。
3. 后置條件
后置條件,是指用例執(zhí)行結(jié)束后的系統(tǒng)狀態(tài),無論成功還是失敗。例如。年前一般都會(huì)取現(xiàn)金包紅包。就拿這個(gè)舉例來講,銀行ATM機(jī),用例“提款”的后置條件是:如果用例執(zhí)行成功,ATM機(jī)鈔票減少,減少額等于用戶的提款金額;如果用例執(zhí)行不成功,ATM機(jī)鈔票不變,用戶的銀行賬號(hào)余額不變。
4. 主場(chǎng)景
“場(chǎng)景”指用戶使用軟件功能完成工作任務(wù)的操作過程。場(chǎng)景是由一系列人機(jī)交互的步驟構(gòu)成的,強(qiáng)調(diào)的是人做了什么操作,機(jī)(軟件系統(tǒng))有什么應(yīng)答,來來往往,經(jīng)過若干回合后,結(jié)束了某項(xiàng)任務(wù),有可能成功,也有可能不成功。
由于用例都是有明確的任務(wù)的,因此,每個(gè)用例都應(yīng)該有個(gè)主目標(biāo),這個(gè)主目標(biāo)就是支持用戶通過這個(gè)用例完成某項(xiàng)具體任務(wù),但為了使這個(gè)目標(biāo)實(shí)現(xiàn)得更高效、更準(zhǔn)確、更容易,犯了錯(cuò)誤可以得到糾正,一些異常事件可以得到處理,需要軟件提供一系列的額外功能。
根據(jù)二八法則,平均下來應(yīng)該有20%的功能是用來完成主目標(biāo)的,而80%的功能是為了提高效率、降低錯(cuò)誤率、糾正錯(cuò)誤的。
例如,用例“倉(cāng)管員根據(jù)采購(gòu)單收貨”,它的主要目標(biāo)是將收貨記錄錄入到系統(tǒng),因此錄入并保存收貨記錄是主目標(biāo)。
而編輯功能是為了糾正錯(cuò)誤或應(yīng)對(duì)變化,刪除功能是為了糾正錯(cuò)誤,導(dǎo)入功能是為了錄入更快速,這些都不能稱為這個(gè)用例的主目標(biāo)。
用戶為實(shí)現(xiàn)自己的主目標(biāo)而進(jìn)行操作的過程,稱為用例的主場(chǎng)景。大部分情況下,一個(gè)用例只有一個(gè)主目標(biāo),只有一個(gè)主場(chǎng)景。如果主場(chǎng)景不明確,往往說明這個(gè)用例是上層用例(文章開頭第二段有解釋,忘了的回去看)。
例如:“會(huì)員登錄”用例主場(chǎng)景包括:用戶錄入會(huì)員卡號(hào)、密碼,登錄成功這個(gè)過程。
別的處理密碼輸入錯(cuò)誤、忘記密碼之類的場(chǎng)景,不屬于主場(chǎng)景,因?yàn)橛脩舻竭@里是為了登錄,輸錯(cuò)了密碼,或者忘記了密碼只是一些意外情況。
主場(chǎng)景是實(shí)現(xiàn)用戶主目標(biāo)的過程,但未必是最常用的場(chǎng)景。例如:“文員進(jìn)行客戶檔案維護(hù)”用例,錄入客戶信息是這個(gè)用例的主目標(biāo),是主場(chǎng)景,但最常用的場(chǎng)景卻是瀏覽客戶信息。所以,我們要注意判斷。
5. 擴(kuò)展場(chǎng)景
每一個(gè)用例,都有各種各樣的使用場(chǎng)景,主場(chǎng)景只是若干種場(chǎng)景中的一種。主場(chǎng)景之外的場(chǎng)景,稱為“擴(kuò)展場(chǎng)景”。例如,一個(gè)簡(jiǎn)單的用例“用戶登錄”,主場(chǎng)景是用戶輸入用戶名、密碼,驗(yàn)證成功后進(jìn)入系統(tǒng)。但還有別的可能,如用戶密碼輸錯(cuò)了怎么辦,用戶忘記了密碼怎么辦等,這些都要有相應(yīng)的處理場(chǎng)景,稱為擴(kuò)展場(chǎng)景。
用“用戶登錄”的擴(kuò)展場(chǎng)景用例,列舉2個(gè)場(chǎng)景進(jìn)行分析,包括:密碼輸入錯(cuò)誤、用戶忘記密碼。
擴(kuò)展場(chǎng)景一:密碼輸入錯(cuò)誤。
- 用戶錄入用戶名、密碼,確認(rèn)登錄。
- 系統(tǒng)驗(yàn)證用戶名、密碼,密碼驗(yàn)證錯(cuò)誤,提醒用戶只允許輸入三次。
- 用戶重新輸入密碼。
- 系統(tǒng)驗(yàn)證密碼,如果驗(yàn)證正確,則進(jìn)入系統(tǒng)。如果驗(yàn)證錯(cuò)誤,且輸入已經(jīng)超過三次則鎖定該用戶,并提醒用戶賬號(hào)已經(jīng)被鎖定,如果沒有超過三次,則用戶重新輸入密碼。
擴(kuò)展場(chǎng)景二:用戶忘記密碼。
- 用戶錄入用戶名、密碼,確認(rèn)登錄。
- 系統(tǒng)驗(yàn)證用戶名、密碼,密碼驗(yàn)證錯(cuò)誤,系統(tǒng)提醒是否需要取回密碼。
- 用戶確認(rèn)取回密碼。
- 系統(tǒng)發(fā)送驗(yàn)證短信到本賬號(hào)所綁定的手機(jī)。
- 用戶提交短信驗(yàn)證碼。
- 系統(tǒng)確認(rèn)驗(yàn)證碼正確。
- 用戶錄入新密碼。
- 系統(tǒng)將當(dāng)前用戶的密碼重置為新密碼。
6. 規(guī)則
規(guī)則是指本用例用到的業(yè)務(wù)規(guī)則、邏輯算法等。有的用例邏輯簡(jiǎn)單,幾乎沒有什么規(guī)則;無非只是些數(shù)據(jù)的錄入、保存而己,而有些用例,邏輯非常復(fù)雜,需要進(jìn)行大量的運(yùn)算、判斷,在這種情況下,就需要整理進(jìn)行運(yùn)算、判斷的規(guī)則。
在這里整理的規(guī)則更傾向于用戶,描述用語(yǔ)以一般用戶能理解基本要求,應(yīng)當(dāng)盡量避免使用太多技術(shù)化的IT語(yǔ)言,另外,這里也不是用戶在需求調(diào)研時(shí)提供的規(guī)則的簡(jiǎn)單記錄;應(yīng)該有一個(gè)整理、分析、抽取、加工的過程。
三、總結(jié)
在互聯(lián)網(wǎng)軟件研發(fā)工作中,大家聽到最多的是測(cè)試人員寫的測(cè)試用例,需求用例聽到的相對(duì)較少,但是需求用例也是非常重要的。由于在實(shí)際工作中,產(chǎn)品經(jīng)理的工作內(nèi)容比較繁雜,而且很多時(shí)候是多任務(wù)并行,不一定會(huì)產(chǎn)出像測(cè)試那么細(xì)致的測(cè)試用例文檔。 但是我們?cè)谒伎籍a(chǎn)品功能和撰寫PRD文檔時(shí),要有必要的需求用例思維,去設(shè)計(jì)和驗(yàn)收產(chǎn)品功能。
目前主流互聯(lián)網(wǎng)公司,大多采用敏捷研發(fā)。至于產(chǎn)品經(jīng)理是不是需要寫需求用例,根據(jù)公司情況、部門要求、任務(wù)的復(fù)雜程度、自己的工作任務(wù)靈活決定。 所有的工具和方法都是為了輔助我們,更好的完成工作的,不可生搬硬套而忽略了自己的實(shí)際情況。
專欄作家
忻蕓,人人都是產(chǎn)品經(jīng)理專欄作家。專注于B端、SaaS產(chǎn)品,擅長(zhǎng)技能用戶體驗(yàn)設(shè)計(jì)、交互設(shè)計(jì)、用戶研究、數(shù)據(jù)分析、項(xiàng)目管理。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于 CC0 協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
文章主要是想表達(dá),在工作中要有需求用例的思維,不是說一定需要需求用例的文檔輸出。