間充當(dāng)主要的接口。
5)建立核心隊(duì)伍:建立起典型用戶的核心隊(duì)伍把同類產(chǎn)品或你的產(chǎn)品的先前版本用戶代表召集起來,從他們那里收集目前產(chǎn)品的功能需求和非功能需求。這樣的核心隊(duì)伍對于商業(yè)開發(fā)尤為有用,因?yàn)槟銚碛幸粋€(gè)龐大且多樣的客戶基礎(chǔ)。與產(chǎn)品代表的區(qū)別在于,核心隊(duì)伍成員通常沒有決定權(quán)。
6)確定使用實(shí)例:讓用戶代表確定使用實(shí)例從用戶代表處收集他們使用軟件完成所需任務(wù)的描述-使用實(shí)例,討論用戶與系統(tǒng)間的交互方式和對話要求。在編寫使用實(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)這種對話結(jié)束時(shí),執(zhí)行者也達(dá)到了預(yù)期的目的。
對于一些復(fù)雜的使用實(shí)例,畫出圖形分析模型是有益的,這些模型包括數(shù)據(jù)流程圖、實(shí)體關(guān)系圖、狀態(tài)轉(zhuǎn)化圖、對象類和聯(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)識到新系統(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ì)議是范圍廣的、簡便的專題討論會(huì),也是分析人員與客戶代表之間一種很好的合作辦法,并能由此擬出需求文檔的底稿。該會(huì)議通過緊密而集中的討論得以將客戶與開發(fā)人員間的合作伙伴關(guān)系付諸于實(shí)踐。
8)分析用戶工作流程:分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過程。畫一張簡單的示意圖(最好用數(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ì)量屬性:確定質(zhì)量屬性和其它非功能需求在功能需求之外再考慮一下非功能的質(zhì)量特點(diǎn),這會(huì)使你的產(chǎn)品達(dá)到并超過客戶的期望。對系統(tǒng)如何能很好地執(zhí)行某些行為或讓用戶采取某一措施的陳述就是質(zhì)量屬性,這是一種非功能需求。聽取那些描述合理特性的意見:快捷、簡易、直覺性、用戶友好、健壯性、可靠性、安全性和高效性。你將要和用戶一起商討精確定義他們模糊的和主觀言辭的真正含義。
10)檢查問題報(bào)告:通過檢查當(dāng)前系統(tǒng)的問題報(bào)告來進(jìn)一步完善需求客戶的問題報(bào)告及補(bǔ)充需求為新產(chǎn)品或新版本提供了大量豐富的改進(jìn)及增加特性的想法,負(fù)責(zé)提供用戶支持及幫助的人能為收集需求過程提供極有價(jià)值的信息。
11)需求重用:跨項(xiàng)目重用需求如果客戶要求的功能與已有的產(chǎn)品很相似,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。
2. 需求分析
1)繪制關(guān)聯(lián)圖:繪制系統(tǒng)關(guān)聯(lián)圖是用于定義系統(tǒng)與系統(tǒng)外部實(shí)體間的界限和接口的簡單模型。同時(shí)它也明確了通過接口的信息流和物質(zhì)流。
2)創(chuàng)建開發(fā)原型:創(chuàng)建用戶接口原型當(dāng)開發(fā)人員或用戶不能確定需求時(shí),開發(fā)一個(gè)用戶接口原型,這樣使得許多概