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