每個(gè)用例表示用戶為實(shí)現(xiàn)某個(gè)目標(biāo)與系統(tǒng)的一次交互抹缕,而事件流程則是對(duì)實(shí)現(xiàn)該目標(biāo)的描述构蹬,事件流程包括基本流程(又稱為主成功流程)和可選流程(又稱為擴(kuò)展流程);對(duì)這部分的編寫應(yīng)該清晰的描述不同的對(duì)象(用戶毛仪、系統(tǒng))完成目標(biāo)的活動(dòng)序列,例如带膀,像這種方式:球員甲將球傳給球員乙橙垢,球員乙運(yùn)球,球員乙將球傳給球員丙嗽元。
編寫一個(gè)良好的事件流程有以下準(zhǔn)則:
準(zhǔn)則一:使用簡(jiǎn)單語法
主語+謂語+賓語喂击,例如: “系統(tǒng)從帳戶余額扣除一定數(shù)量金額“,簡(jiǎn)單的語句與用戶溝通起來對(duì)需求的理解會(huì)更準(zhǔn)確佩谷。
準(zhǔn)則二:明確寫出“誰控制球”(比喻)
控球的執(zhí)行者會(huì)做下列事情:自己運(yùn)球或?qū)⑶騻鹘o別人监嗜,在步驟結(jié)束時(shí)要問問“把球給誰了”。
準(zhǔn)則三:從系統(tǒng)外部的角度來編寫用例
始終站在用戶的角度來編寫桐猬,而不是系統(tǒng)的角度刽肠,例如,不要出現(xiàn)這樣的描述“系統(tǒng)讀取卡號(hào)和密碼五垮,并從帳號(hào)余額中扣除一定的金額”放仗,而要從系統(tǒng)外部的角度來編寫,如:
1)用戶輸入ATM卡并輸入密碼
2)系統(tǒng)從帳號(hào)余額中扣除一定的金額
準(zhǔn)則四:描述過程向前推進(jìn)
每一個(gè)步驟都要離目標(biāo)更進(jìn)一步诞挨,步驟不要太細(xì),也不能太粗棍郎,一般對(duì)基本流程3-10步是合適的银室,過多則會(huì)使用例文檔顯得太長(zhǎng)励翼。
準(zhǔn)則五:描述執(zhí)行者的意圖而不是動(dòng)作
編寫用例常見的問題就是在操作界面來描述辜荠,這應(yīng)該需要避免,例如:
用例1
1) 系統(tǒng)要求用戶輸入名字造烁;
2) 用戶輸入名字午笛;
3) 系統(tǒng)要求用戶輸入地址;
4) 用戶輸入地址告组;
5) 用戶點(diǎn)擊“確認(rèn)”
6) 系統(tǒng)顯示用戶簡(jiǎn)介
修改后:
1) 用戶輸入名字和地址
2) 系統(tǒng)顯示用戶簡(jiǎn)介
雖然在操作界面進(jìn)行描述能很精確的定義需求癌佩,但過多關(guān)注細(xì)節(jié)會(huì)花費(fèi)大量的精力,同時(shí)文檔也會(huì)變得很長(zhǎng)鸿秆,難以維護(hù)卿叽。
準(zhǔn)則六:包含“合理”的活動(dòng)集
對(duì)場(chǎng)景的描述可以把每個(gè)部分作為一個(gè)單獨(dú)的執(zhí)行步驟贩虾,也可以以不同的方式合并其中的幾個(gè)部分沥阱,如何分隔要盡量按“是否合理”進(jìn)行。一個(gè)常用的步驟模板如下:
1) 用戶向系統(tǒng)發(fā)送請(qǐng)求數(shù)據(jù)
2) 系統(tǒng)驗(yàn)證請(qǐng)求
3) 系統(tǒng)更新內(nèi)部狀態(tài)
4) 系統(tǒng)顯示成功處理結(jié)果
任何用例流程的描述策精,都可以在上述基礎(chǔ)上進(jìn)行適當(dāng)?shù)臄U(kuò)展完成崇棠。
準(zhǔn)則七:“確認(rèn)”而不是“檢查與否”
描述中不要出現(xiàn)“如果”字句枕稀,例如
2) 系統(tǒng)檢查密碼是否正確
3) 如果密碼正確,系統(tǒng)顯示主頁面
要修改為:
2) 系統(tǒng)確認(rèn)密碼正確
3) 系統(tǒng)顯示主頁面
對(duì)于密碼錯(cuò)誤的流程沐兰,則放到可選流程中處理
準(zhǔn)則八:習(xí)慣描述“循環(huán)執(zhí)行步驟X到Y(jié)匕垫,直到條件滿足”
例如“用戶重復(fù)步驟3-4,直到完成選購”
準(zhǔn)則九:對(duì)于可選流程寞秃,格式如下:
如準(zhǔn)則七的中的例子
2a:無效密碼:
1)系統(tǒng)顯示登陸失敗頁面
2b:用戶沒有響應(yīng)(超時(shí))
1)系統(tǒng)自動(dòng)關(guān)閉該頁面
參考資料:
《編寫有效用例》