一 需求
1.定義系統(tǒng):初步定義系統(tǒng)中應(yīng)該包括哪些內(nèi)容,以及不包括哪些內(nèi)容。
目標(biāo)-確定系統(tǒng)的范圍
活動:
1)捕獲通用詞匯:確立項目中要使用的通用術(shù)語和概念。
輸入工件:前景文檔
輸出工件:詞匯表
通用術(shù)語指的是那些在描述系統(tǒng)行為過程中經(jīng)常會出現(xiàn)的詞匯。
2)找出參與者和用例:定義系統(tǒng)的邊界
綜述:識別出參與者和用例,將結(jié)果記錄在用例模型中。對于不能與特定用例相關(guān)
聯(lián)的需求內(nèi)容記錄在補充規(guī)約中。
輸出工件:用例模型、補充規(guī)約
步驟:
(1)找出參與者
參與者是在系統(tǒng)外部與系統(tǒng)交互的某人或者某系統(tǒng)。找出參與者有助于定義系
統(tǒng)的邊界。它們代表系統(tǒng)的外部環(huán)境。
(2)找出用例
用例是一個完整的事件流描述,為特定的參與者提供一個有價值的結(jié)果。
找出用例的最好辦法就是研究每一個參與者針對系統(tǒng)的要求。系統(tǒng)之所以存在
的意義就在于為那些與其交互的參與者提供他們需要的服務(wù)。
以下的一系列問題有助于找出用例:
· 針對每一個參與者,系統(tǒng)將參與完成哪些任務(wù)
· 參與者是否需要獲知系統(tǒng)內(nèi)部所發(fā)生的特定情況。
· 參與者是否需要將外部變化通知系統(tǒng)
· 找出的用例是否能夠提供前景中所描述的全部特性。
· 在系統(tǒng)中必須要修改和建立什么信息。哪些參與者需要參與到相應(yīng)的變更
活動中。
· 什么用例會支持系統(tǒng)的管理和維護(hù)工作。
注:現(xiàn)在不用描述用例的細(xì)節(jié)內(nèi)容。現(xiàn)在的主要任務(wù)是定義這些用例的目的。
(3)收集補充需求
有些需求并不能分配給特定的用例,這些需求是針對整個系統(tǒng)的。將這些
需求記錄在補充規(guī)約當(dāng)中。
(4)描述參與者和用例的交互
它們之間的關(guān)系被表述為關(guān)聯(lián)關(guān)系。
(5)對用例和參與者打包
用例模型的目的是開發(fā)團隊與系統(tǒng)涉眾之間的一個合約。因而將該模型的
復(fù)雜度控制在最低限度是非常重要的。如果參與者和用例的個數(shù)過多,可以將
它們放到用例模型的不同包當(dāng)中。
3)排序用例
活動:對已識別出的用例進(jìn)行排序
輸入工件:用例模型、前景文檔
輸出工件:用例優(yōu)先級列表。
步驟:
(1) 排序用例
(2) 更新軟件架構(gòu)文檔
2.精化系統(tǒng)定義
活動:
1) 細(xì)化用例
綜述:針對先前找出的用例,描述相應(yīng)的事件流內(nèi)容。不針對特定用例的需求內(nèi)容被記錄在補充規(guī)約中。在當(dāng)前的迭代中,針對每個用例展開細(xì)化用例的活動。
這個活動的起點事在找出參與者和用例活動中得到的用例的描述,而后逐步細(xì)化相關(guān)內(nèi)容,直到所有涉眾都認(rèn)可用例的內(nèi)容已經(jīng)能夠表達(dá)他們的需求。
在細(xì)化用例的時候,我們要說明以下信息:
·名稱
·簡要描述:用例的目標(biāo)和用途
·事件流:針對系統(tǒng)行為的文字描述。其內(nèi)容表述為參與者和系統(tǒng)之間的交互。
·特殊需求:針對那些不在事件流中的需求內(nèi)容的文字描述。就是針對用例的非功
能需求。
·前置條件:為了執(zhí)行特定用例,系統(tǒng)所應(yīng)具備的狀態(tài)
·后置條件:用例執(zhí)行結(jié)束時,系統(tǒng)可能處于的狀態(tài)列表。
注:將用例的詳細(xì)文字描述放在用例規(guī)約文檔中。
步驟:
(1)細(xì)化用例的事件流內(nèi)容
(2)描述用例的特殊需求
(3)描述用例的前置條件
(4)描述用例的后置條件
2) 結(jié)構(gòu)化用例模型
綜述:消除用例之間的冗余,使得用例模型更加簡明。