3)用戶群分類:產(chǎn)品的用戶在很多方面存在著差異,例如:用戶使用產(chǎn)品的頻度、他們的應(yīng)用領(lǐng)域和計(jì)算機(jī)系統(tǒng)知識(shí)、他們所使用的產(chǎn)品特性、他們所進(jìn)行的業(yè)務(wù)過程、他們?cè)诘乩砩系牟季忠约八麄兊脑L問優(yōu)先級(jí)。根據(jù)這些差異,你可以把這些不同的用戶分成小組。用戶類不一定都指人,你可以把其它應(yīng)用程序或系統(tǒng)接口所用的硬件組件也看成是附加用戶類的成員。以這種方式來看待應(yīng)用程序接口,可以幫助你確定產(chǎn)品中那些與外部應(yīng)用程序或組件有關(guān)的需求。將用戶群分類并歸納各自特點(diǎn)為避免出現(xiàn)疏忽某一用戶群需求的情況,要將可能使都有所差異。詳細(xì)描述出它們的個(gè)性特點(diǎn)及任務(wù)狀況,將有助于產(chǎn)品設(shè)計(jì)。
4)選擇產(chǎn)品代表:擇每類用戶的產(chǎn)品代表為每類用戶至少選擇一位能真正代表他們需求的人作為那一類用戶的代表并能作出決策。這對(duì)于內(nèi)部信息系統(tǒng)的開發(fā)是最易實(shí)現(xiàn)的,因?yàn)榇藭r(shí),用戶就是身邊的職員。而對(duì)于商業(yè)開發(fā),就得在主要的客戶或測(cè)試者中建立起良好的合作關(guān)系,并確定合適的產(chǎn)品代表。他們必須一直參與項(xiàng)目的開發(fā)而且有權(quán)作出決策。每一個(gè)產(chǎn)品代表者代表了一個(gè)特定的用戶類,并在那個(gè)用戶類和開發(fā)者之間充當(dāng)主要的接口。
5)建立核心隊(duì)伍:建立起典型用戶的核心隊(duì)伍把同類產(chǎn)品或你的產(chǎn)品的先前版本用戶代表召集起來,從他們那里收集目前產(chǎn)品的功能需求和非功能需求。這樣的核心隊(duì)伍對(duì)于商業(yè)開發(fā)尤為有用,因?yàn)槟銚碛幸粋€(gè)龐大且多樣的客戶基礎(chǔ)。與產(chǎn)品代表的區(qū)別在于,核心隊(duì)伍成員通常沒有決定權(quán)。
6)確定使用實(shí)例:讓用戶代表確定使用實(shí)例從用戶代表處收集他們使用軟件完成所需任務(wù)的描述-使用實(shí)例,討論用戶與系統(tǒng)間的交互方式和對(duì)話要求。在編寫使用實(shí)例的文檔時(shí)可采用標(biāo)準(zhǔn)模版,在使用實(shí)例基礎(chǔ)上可得到功能需求。
一個(gè)單一的使用實(shí)例可能包括完成某項(xiàng)任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。因此,一個(gè)使用實(shí)例是相關(guān)的用法說明的集合,并且一個(gè)說明是使用實(shí)例的例子。在描述時(shí)列出執(zhí)行者和系統(tǒng)之間相互交互或?qū)υ挼捻樞?。?dāng)這種對(duì)話結(jié)束時(shí),執(zhí)行者也達(dá)到了預(yù)期的目的。
對(duì)于一些復(fù)雜的使用實(shí)例,畫出圖形分析模型是有益的,這些模型包括數(shù)據(jù)流程圖、實(shí)體關(guān)系圖、狀態(tài)轉(zhuǎn)化圖、對(duì)象類和聯(lián)系圖。
使用實(shí)例的描述并不向開發(fā)者提供他們所要開發(fā)的功能的細(xì)節(jié)。為了減少這種不確定性,你需要把每一個(gè)使用實(shí)例敘述成詳細(xì)的功能需求。每一個(gè)使用實(shí)例可引伸出多個(gè)功能需求,這將使執(zhí)行者可以執(zhí)行相關(guān)的任務(wù);并且多個(gè)使用實(shí)例可能需要相同的功能需求。使用實(shí)例方法給需求獲取帶來的好處來自于該方法是以任務(wù)為中心和以用戶為中心的觀點(diǎn)。比起使用以功能為中心的方法,使用實(shí)例方法可以使用戶更清楚地認(rèn)識(shí)到新系統(tǒng)允許他們做什么。
每一個(gè)使用實(shí)例都描述了一個(gè)方法,用戶可以利用這個(gè)方法與系統(tǒng)進(jìn)行交互,從而達(dá)到特定的目標(biāo)。使用實(shí)例可有效地捕捉大多數(shù)所期望的系統(tǒng)行為,但是你可能有一些需求,這些需求與用戶任務(wù)或其他執(zhí)行者之間的交互沒有特定的關(guān)系。這時(shí)你就需要一個(gè)獨(dú)立的需求規(guī)格說明。
7)召開應(yīng)用程序開發(fā)聯(lián)系會(huì)議:召開應(yīng)用程序開發(fā)聯(lián)系會(huì)議應(yīng)用程序開發(fā)聯(lián)系會(huì)議是范圍廣的、簡(jiǎn)便的專題討論會(huì),也是分析人員與客戶代表之間一種很好的合作辦法,并能由此擬出需求文檔的底稿。該會(huì)議通過緊密而集中的討論得以將客戶與開發(fā)人員間的合作伙伴關(guān)系付諸于實(shí)踐。
8)分析用戶工作流程:分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過程。畫一張簡(jiǎn)單的示意圖(最好用數(shù)據(jù)流圖)來描繪出用戶什么時(shí)候獲得什么數(shù)據(jù),并怎樣使用這些數(shù)據(jù)。編制業(yè)務(wù)過程流程文檔將有助于明確產(chǎn)品的使用實(shí)例和功能需求。你甚至可能發(fā)現(xiàn)客戶并不真地需要一個(gè)全新的軟件系統(tǒng)就能達(dá)到他們的業(yè)務(wù)目標(biāo)。
9)確定質(zhì)量屬性:確