需求用例分析之二:级别设置
在《編寫有效用例》(阿萊斯特-科伯恩著,以下用科伯恩用例來(lái)指代)一書中,賦予了用例不同的級(jí)別,科伯恩形象的設(shè)定了如下級(jí)別:海平面、云朵、風(fēng)箏、蛤等等。?
科伯恩建議用例級(jí)別分為多個(gè)個(gè)目標(biāo)層次:概要、用戶目標(biāo)、子功能,書寫需求用例時(shí),只能選擇其一,下面對(duì)其具體說(shuō)明:
- 概要:包括多個(gè)用戶目標(biāo),它有“顯示相關(guān)目標(biāo)的生命周期順序”和“為低層用例提供一個(gè)目錄表”的功能,概要用例通常需要執(zhí)行幾個(gè)小時(shí)、幾天、幾個(gè)星期、幾個(gè)月、甚至幾年。
- 用戶目標(biāo):它是主執(zhí)行者努力使工作得以完成的目標(biāo),或是用戶使用系統(tǒng)的目標(biāo),通常情況下指系統(tǒng)為用戶提供的界面操作。
- 子功能:指那些在實(shí)現(xiàn)用戶目標(biāo)時(shí)可能會(huì)被用到的目標(biāo),一般是指系統(tǒng)內(nèi)部執(zhí)行,而用戶看不到界面的用例。
在雅各布森用例分析方法(UML統(tǒng)一建模語(yǔ)言、RUP瑞理統(tǒng)一過(guò)程之父Ivar?Jacobson伊瓦·雅各布森在OOSE、RUP和UML中闡述的用例分析方法)中,充分利用了UML中包來(lái)組織子系統(tǒng)、模塊和用例。雅各布森用例方法與UML、RUP三者之間有著天然的緊密聯(lián)系,除了可以用RUP的格式文本描述用例外,還推薦適當(dāng)?shù)剡x擇利用UML用例圖、活動(dòng)圖、包圖和狀態(tài)圖等等圖示從各個(gè)角度來(lái)描述和組織用例,可謂手段充足、武器齊備。
級(jí)別與靜態(tài)展現(xiàn)
兩者其實(shí)沒(méi)有本質(zhì)區(qū)別,雅各布森用例分析方法更加注重在RUP和UML下協(xié)同發(fā)揮作用。從現(xiàn)在工具的情況來(lái)看,用包來(lái)包含用例是UML的標(biāo)準(zhǔn)做法,畢竟以用例來(lái)包含用例顯得有些怪異,目前沒(méi)有看到有工具支持用例包含用例。從靜態(tài)而言,包解決了多級(jí)別用例的問(wèn)題。
級(jí)別與動(dòng)態(tài)變化
但是這里其實(shí)還有一個(gè)時(shí)間動(dòng)態(tài)的問(wèn)題:即是海平面級(jí)用例一般而言是早于云朵風(fēng)箏級(jí)用例出現(xiàn)的,而蛤級(jí)用例是最后出現(xiàn)的。在RUP中強(qiáng)調(diào)迭代演進(jìn)來(lái)處理包和用例分解重組等等,事實(shí)上最后將淹沒(méi)曾經(jīng)出現(xiàn)的海平面級(jí)用例,這對(duì)于追溯用戶最初的需求而言是不利的。當(dāng)然RUP配套有業(yè)務(wù)用例分析,業(yè)務(wù)用例將收集用戶起初的業(yè)務(wù)需要,但這顯得過(guò)于累贅。但實(shí)際采用中,很少見(jiàn)到嚴(yán)格按照RUP先分析業(yè)務(wù)用例,再分析用例,往往的直接分析用例。
改良的級(jí)別設(shè)置方法
所以在雅各布森用例分析方法中采用原始需求列表來(lái)替代業(yè)務(wù)用例分析,是既能追溯最初的需求,又能節(jié)約大量業(yè)務(wù)用例分析的工作量,這樣就能從時(shí)間動(dòng)態(tài)和結(jié)構(gòu)靜態(tài)兩方面融合了兩種方法的優(yōu)勢(shì)。
對(duì)應(yīng)在科伯恩用例分析方法,相當(dāng)于將首批海平面級(jí)用例(用戶直接表達(dá)的目標(biāo))專冊(cè)收集后續(xù)跟蹤,而利用包來(lái)替代云朵和風(fēng)箏,后來(lái)的海平面(經(jīng)分析后的海平面)級(jí)用例仍然是實(shí)質(zhì)性的用例。
改良的級(jí)別處理方式能融合兩大流派在這方面的各自考慮,綜合發(fā)揮優(yōu)勢(shì),規(guī)避劣勢(shì)。
參考資料
總結(jié)
以上是生活随笔為你收集整理的需求用例分析之二:级别设置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 需求用例分析之一:异常流
- 下一篇: 需求用例分析之三:补充规约