產(chǎn)品經(jīng)理進(jìn)階,需求用例分析之異常流

2 評(píng)論 21152 瀏覽 71 收藏 10 分鐘

  問題的引出

  備選流,又稱備選事件流,英文是Alternative Flow。在RUP和UML中,備選流的解釋如下:備選事件流包括與正常行為相關(guān)的可選或異常特征的行為,同時(shí)也包括正常行為的各種變形。您可以將備選事件流看作是基本事件流的“繞行道”,有些備選事件流將返回到基本事件流,而有些將結(jié)束此用例的執(zhí)行。

  分析RUP對(duì)于備選流的定義,可以看到備選流可以分成兩類:

  1,不同做法但仍然達(dá)成用例目標(biāo);

  2,異常情況,無(wú)法達(dá)成用例目標(biāo)。

  在實(shí)際用例分析中,由于備選流可能存在兩種情況,導(dǎo)致備選流存在2種主要寫法:

  1.在備選流中說(shuō)明基本流以外的異常情況的處理,可能仍然回到基本流,也可能導(dǎo)致用例結(jié)束。

  在備選流中說(shuō)明基本流以外的其它正常和異常情況的處理,覆蓋了其它功能。

  第1種寫法的例子比較常見,下文將出現(xiàn),這里不再贅述。

  第2種寫法的例子如下:

  用例名稱:填寫請(qǐng)購(gòu)單

  簡(jiǎn)要說(shuō)明

  員工在線填寫圖書請(qǐng)購(gòu)單,內(nèi)容包括:圖書名稱、出版社、作者、價(jià)格、訂購(gòu)人(系統(tǒng)自動(dòng)識(shí)別)、訂購(gòu)部門、訂購(gòu)日期等,填好后提交給圖書管理員審核。

  填寫請(qǐng)購(gòu)單的主角是員工。

  事件流

  員工選擇“填寫請(qǐng)購(gòu)單”,用例開始。

  基本流

  員工選擇“填寫請(qǐng)購(gòu)單”,提交“填寫請(qǐng)購(gòu)單”請(qǐng)求;

  顯示“填寫請(qǐng)購(gòu)單”窗口并列表顯示請(qǐng)購(gòu)單信息(已填寫未提交、已提交審核未通過(guò)), 兩種狀態(tài)的請(qǐng)購(gòu)單信息通過(guò)選擇分別列出,審核未通過(guò)的原因只能查看不能修改;

  請(qǐng)購(gòu)單信息包括:請(qǐng)購(gòu)單編碼(系統(tǒng)自動(dòng)生成)、訂購(gòu)部門、訂購(gòu)人、訂購(gòu)日期、訂購(gòu)原因、備注,和圖書明細(xì)包括:圖書名稱、出版社、作者、單價(jià)、數(shù)量等,圖書明細(xì)包括:新增,修改,刪除;

  請(qǐng)購(gòu)單信息輸入操作見備選流;

  新增:系統(tǒng)具體執(zhí)行見“備選流 新增”

  修改:系統(tǒng)具體執(zhí)行見“備選流 修改”

  刪除:系統(tǒng)具體執(zhí)行見“備選流 刪除”

  選擇“提交”,系統(tǒng)把選中的請(qǐng)購(gòu)單提交給圖書管理員審核,此用例結(jié)束。

  備選流

  填寫請(qǐng)購(gòu)單基本流中抽取出三個(gè)備選流:

  請(qǐng)購(gòu)單信息:新增、修改、刪除;

  新增

  (一)員工在“填寫請(qǐng)購(gòu)單”信息區(qū)選擇“新增”,提交“新增”請(qǐng)求;

  (二)系統(tǒng)彈出“新增請(qǐng)購(gòu)單”空白模式窗口;

  (三)請(qǐng)購(gòu)單信息包括:圖書名稱、出版社、作者、單價(jià)、數(shù)量等;

  (四)請(qǐng)購(gòu)單信息輸入完畢后,選擇“保存”提交,系統(tǒng)驗(yàn)證數(shù)據(jù)有效性,如驗(yàn)證不成功,針對(duì)所提示錯(cuò)誤信息修正輸入數(shù)據(jù),驗(yàn)證成功關(guān)閉“新增請(qǐng)購(gòu)單”窗口;

  若繼續(xù)新增請(qǐng)購(gòu)單,則重復(fù)㈠㈡㈢㈣步驟。

  修改

  (一)員工在“填寫請(qǐng)購(gòu)單”信息區(qū)列表選中要修改的請(qǐng)購(gòu)單,提交“修改”請(qǐng)求;

  (二)系統(tǒng)彈出“修改請(qǐng)購(gòu)單”模式窗口,并顯示當(dāng)前請(qǐng)購(gòu)單信息;

  (三)修改相應(yīng)數(shù)據(jù)后,選擇“保存”提交,系統(tǒng)驗(yàn)證數(shù)據(jù)有效性,如驗(yàn)證不成功則根據(jù)錯(cuò)誤提示重新輸入,驗(yàn)證成功后保存數(shù)據(jù)并關(guān)閉“修改請(qǐng)購(gòu)單”模式窗口同時(shí)刷新請(qǐng)購(gòu)單信息列表;

  若繼續(xù)修改,則重復(fù)㈠㈡㈢步驟。

  刪除

  (一)員工在“填寫請(qǐng)購(gòu)單”信息區(qū)列表選中要?jiǎng)h除的請(qǐng)購(gòu)單,提交“刪除”請(qǐng)求;

  (二)若選中的請(qǐng)購(gòu)單屬于審核未通過(guò),系統(tǒng)提示“不能刪除審核未通過(guò)的請(qǐng)購(gòu)單”;

  (三)刪除后刷新請(qǐng)購(gòu)單列表信息同時(shí)系統(tǒng)提示“編號(hào)為XXX的請(qǐng)購(gòu)單已刪除!”;

  若繼續(xù)刪除,則重復(fù)㈠㈡㈢步驟。

  特殊需求

  無(wú)

  前置條件

  員工登錄系統(tǒng)。

  后置條件

  無(wú)

  —例子結(jié)束—-

  第2種寫法中,在備選流中說(shuō)明了基本功能,用例篇幅已經(jīng)變長(zhǎng),如果備選流中出現(xiàn)異常,備選流將顯得更加臃腫。因此第2種寫法比較少見。

  為了解決備選流的不同情況,人們識(shí)別率異常流來(lái)解決上述問題。

  異常流是什么?

  Bernd Lohmeyer提出來(lái)如下分類規(guī)則

  (見?http://www.lohmy.de/2013/03/06/writing-use-cases-exception-or-alternate-flow/?)

  l Result negative: An Exception is anything that leads to NOT achieving the use case’s goal. 負(fù)面結(jié)果:異常,任何導(dǎo)致不能達(dá)成用例目標(biāo)的事情

  l Result positive: An Alternate Flow is a step or a sequence of steps that achieves the use case’s goal following different steps than described in the main success scenario. But the goal is achieved finally. 正面結(jié)果:備選流,一步或多個(gè)步驟序列達(dá)成了用例目標(biāo),但與主成功場(chǎng)景不一樣的步驟。最終目標(biāo)是達(dá)成的。

  見如下例子:

  簡(jiǎn)單說(shuō):異常流是基本流的異常情況,不能達(dá)成用例目標(biāo)。

  用異常流替代備選流

  蒼狼敏捷需求用例分析方法對(duì)于備選流的做法是采用第1種做法,但用異常流替代備選流,從名稱上排除第2種做法,滿足用例目的的可選流程在基本流中表達(dá),如果導(dǎo)致基本流篇幅過(guò)長(zhǎng),那么就分拆用例。

  對(duì)照到上述“填寫請(qǐng)購(gòu)單”的例子,蒼狼敏捷需求用例分析方法至少分拆成如下多個(gè)用例:

  1,新增請(qǐng)購(gòu)單

  2,修改請(qǐng)購(gòu)單

  3,刪除請(qǐng)購(gòu)單

  其中新增請(qǐng)購(gòu)單的用例規(guī)約

用例屬性 說(shuō)明
名稱 新增請(qǐng)購(gòu)單
簡(jiǎn)要說(shuō)明 員工在線填寫圖書請(qǐng)購(gòu)單,內(nèi)容包括:圖書名稱、出版社、作者、單價(jià)等,填好后提交給圖書管理員審核。
前置條件 員工已經(jīng)登錄
啟動(dòng)點(diǎn) 員工在“填寫請(qǐng)購(gòu)單”信息區(qū)選擇“新增”,提交“新增”請(qǐng)求,系統(tǒng)彈出“新增請(qǐng)購(gòu)單”空白模式窗口
基本流 1. 員工填寫各項(xiàng)請(qǐng)購(gòu)單信息,包括圖書名稱、出版社、作者、單價(jià)、數(shù)量、訂購(gòu)原因、備注,員工請(qǐng)購(gòu)單信息輸入完畢后,選擇“保存”提交2. 系統(tǒng)驗(yàn)證數(shù)據(jù)有效性,有效性規(guī)則見X.Y3. 系統(tǒng)驗(yàn)證如果通過(guò),記錄此請(qǐng)購(gòu)單

4. 系統(tǒng)返回“保存”成功信息

異常流 3b如果驗(yàn)證不成功,給出具體字段的錯(cuò)誤提示信息,讓用戶修正輸入數(shù)據(jù)
后置條件 提交給圖書管理員審核
特殊需求 請(qǐng)購(gòu)單輸入信息界面在一個(gè)屏幕內(nèi)
擴(kuò)展點(diǎn) 無(wú)

  異常流的好處

  根據(jù)以上分析,可以看到,異常流實(shí)質(zhì)上是一種備選流,對(duì)照原RUP備選流說(shuō)明的話,定義如下:異常流是與基本流正常行為相關(guān)的異常行為。

  異常流不是基本流的“繞行道”,有些異常流將返回到基本流,有些將結(jié)束用例的執(zhí)行。

  異常流替代備選流主要的好處:

  1,基本功能全部在基本流中表達(dá)

  2,異常流從名稱上清晰的明確了其定位:基本流的異常情況

  3,基本流+異常流的組合可以覆蓋所有事件流場(chǎng)景

  4,用例的顆粒度將受到基本流篇幅的限制,有助于更精細(xì)的管理,有便于在敏捷開發(fā)環(huán)境下使用。

  本文作者 zhangmike

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 自己就是不太會(huì)考慮異常流程,哎!以后得謹(jǐn)記

    回復(fù)