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