需求分析工具:用例(user case)

用例是捕獲系統(tǒng)功能需求的技能。用例描述系統(tǒng)用戶和系統(tǒng)本身的典型交互,這樣就提供了系統(tǒng)如何被使用的說明。

用例的定義:在不展現(xiàn)一個(gè)系統(tǒng)或子系統(tǒng)內(nèi)部結(jié)構(gòu)的情況下,對(duì)系統(tǒng)或子系統(tǒng)的某個(gè)連貫的功能單元的定義和描述。對(duì)用例(use case)是通過共同用戶目標(biāo)綁定在一起的場(chǎng)景集合。場(chǎng)景(scenario)是描述用戶和系統(tǒng)之間交互的序列。

用例的格式:UML中用例的定義相當(dāng)簡(jiǎn)略,UML里沒有描述你應(yīng)該如何捕獲用例的內(nèi)容。UML所描述的是用例圖,展示用例之間的相互關(guān)系。但幾乎用例所有的價(jià)值都在于它的內(nèi)容,圖的價(jià)值相當(dāng)有限。
書寫用例的內(nèi)容沒有標(biāo)準(zhǔn)的方式,不同的格式適用于不同的情況。圖9.1展示了常用的風(fēng)格,一開始,你挑選場(chǎng)景之一作為主成功場(chǎng)景(main success scenario)。接著,你開始書寫用例體,把主成功場(chǎng)景書寫為編號(hào)的步驟序列,然后,你再書寫其他場(chǎng)景作為擴(kuò)展(extension),描述主成功場(chǎng)景上的變化,擴(kuò)展可以繼續(xù)擴(kuò)展——直到用戶達(dá)到目標(biāo),如3a——或失敗,如6a。
每個(gè)用例有一個(gè)主執(zhí)行者,它調(diào)用系統(tǒng)來將會(huì)一個(gè)服務(wù)。主執(zhí)行者是帶有目標(biāo)的執(zhí)行者,且例會(huì)嘗試滿足它的目標(biāo)。主執(zhí)行者通常是(但不總是)用例的引發(fā)者。執(zhí)行用例時(shí),還有其他執(zhí)行者和系統(tǒng)通信,這些稱為輔助執(zhí)行者。

用例文本實(shí)例

購買產(chǎn)品
目標(biāo)級(jí)別:海平面級(jí)
主成功場(chǎng)景:
1.顧客瀏覽目錄并添加想要的條目
2.顧客結(jié)賬
3.顧客填寫送貨信息(地址,第二天或第三天發(fā)貨)
4.系統(tǒng)提出包括送貨在內(nèi)的全部?jī)r(jià)格信息
5.客戶填寫信用卡信息
6.系統(tǒng)立即確認(rèn)銷售
8.系統(tǒng)向顧客發(fā)確認(rèn)電子郵件
擴(kuò)展:
3a:顧客是固定顧客客
1.系統(tǒng)顯示當(dāng)前的送貨信息、價(jià)格信息以及票據(jù)信息
2.用戶可以接受或取消這些默認(rèn),返回到MSS的第6步
6a:系統(tǒng)不準(zhǔn)許信用卡購物
1.客戶可以輸入信用卡信息或取消

用例中的每個(gè)步驟是執(zhí)行者和系統(tǒng)之間的交互元素。每個(gè)步驟應(yīng)該是一個(gè)簡(jiǎn)單的陳述,清晰地展示誰執(zhí)行該步驟。步驟應(yīng)該展示執(zhí)行者的意圖,而不是執(zhí)行者如何做的具體細(xì)節(jié)。因此,你不用在用例中描述用戶界面。事實(shí)上,通常在設(shè)計(jì)用戶界面之前書寫用例。

創(chuàng)建USE CASE的原則
用例是短文。
用例可以是一個(gè)場(chǎng)景,包括動(dòng)作和互交。
用例可以是一組場(chǎng)景,描述不同場(chǎng)景下的行為。這種書寫格式可以在任何時(shí)候描述有變體的行為,例如黑盒需求,業(yè)務(wù)流程,系統(tǒng)設(shè)計(jì)說明。
用例里不要有系統(tǒng)設(shè)計(jì)。
用例里不要有界面設(shè)計(jì)。
用例里不要有特性列表。
用例里不要有測(cè)試。
用例應(yīng)該描述行為需求。
用例的主場(chǎng)景不要超過九步。可以在適當(dāng)?shù)膶哟紊系玫阶幽繕?biāo)和移除設(shè)計(jì)說明。
用例的最大價(jià)值不在于主場(chǎng)景,而是在于備選行為。主場(chǎng)景可能只占用例長(zhǎng)度的四分之一到十分之一。

用戶故事和用例的關(guān)系
用例和用戶故事的概念非常相似。用例就像是用稍多一點(diǎn)細(xì)節(jié)描述的用戶故事。一旦在當(dāng)前迭代中要實(shí)現(xiàn)該用戶故事,這種詳盡細(xì)節(jié)就是合適的。
許多方法使用系統(tǒng)特性(極限編程把它們叫做用戶故事)來幫助描述需求。一個(gè)常見的問題是特性如何與用例關(guān)聯(lián)。
在計(jì)劃一個(gè)迭代項(xiàng)目時(shí),特性是堆砌系統(tǒng)的好辦法,每一個(gè)迭代交付許多特性。用例提供執(zhí)行者如何使用系統(tǒng)的敘述。因此,雖然兩種技術(shù)都描述需求,但它們的目的不同。
雖然你可以直接描述特性,但許多人發(fā)現(xiàn)這樣做很有幫助:先開發(fā)用例,然后生成特性列表。特性可能是整個(gè)用例、用例中的場(chǎng)景、用例中的步驟或一些行為談何,例如為你的資產(chǎn)評(píng)估添加另一個(gè)折舊方法,這在用例敘述中展示不出來。通常,特性比用例有更細(xì)的粒度。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概要 用例(Use Case)是一種描述系統(tǒng)需求的方法。運(yùn)用用例這種方法來描述系統(tǒng)需求稱之為用例建模。用例也是UM...
    林海舟閱讀 45,620評(píng)論 0 34
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • 相關(guān)文章: 《再說說APP測(cè)試設(shè)計(jì)-1》《再說APP測(cè)試設(shè)計(jì)-2》《關(guān)于ad hoc test》《干了這碗蛋炒飯 ...
    慧眾rodman閱讀 3,465評(píng)論 1 34
  • 我曾經(jīng)看見過清晨的露水在青草葉上閃耀 我曾經(jīng)傾聽到五月的麥地晚風(fēng)習(xí)習(xí)的聲音 田野的村莊睡得很平靜安詳 母親的手溫柔...
    sinhuihui閱讀 201評(píng)論 0 0
  • 如果文喆得到檀香木戒的事情傳出,那么天地間必定又會(huì)爆發(fā)一場(chǎng)慘烈的木戒爭(zhēng)奪戰(zhàn)。自得到木戒,文喆一直是隱忍不發(fā)。現(xiàn)在自...
    北林可樂閱讀 378評(píng)論 0 0

友情鏈接更多精彩內(nèi)容