軟件需求工程07_第1頁(yè)
軟件需求工程07_第2頁(yè)
軟件需求工程07_第3頁(yè)
軟件需求工程07_第4頁(yè)
軟件需求工程07_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件需求工程

SoftwareRequirementsEngineering

第七章尋找客戶的需求客戶的參與是發(fā)布一個(gè)軟件的關(guān)鍵因素。1、前面主要是討論一種類型的客戶—項(xiàng)目的主持者提供的商業(yè)需求(可理解為業(yè)務(wù)需求)2、本章集中介紹需求第二級(jí)——用戶需求為了征求客戶的意見(jiàn),必須采取以下幾步:1、明確項(xiàng)目用戶需求的來(lái)源2、明確使用該產(chǎn)品的不同類型客戶3、與產(chǎn)品不同用戶類的代表進(jìn)行溝通4、遵從項(xiàng)目的最終決策者意見(jiàn)客戶參與是避免期望差異(expectationgap)的唯一途徑,這一期望差異表現(xiàn)在客戶期望得到的產(chǎn)品與開(kāi)發(fā)者所設(shè)計(jì)的產(chǎn)品之間不相符。然而,在項(xiàng)目的開(kāi)始階段僅僅簡(jiǎn)單地問(wèn)一兩個(gè)客戶的需求,然后就開(kāi)始編碼,這樣做是不夠的。如果開(kāi)發(fā)者僅僅為了客戶的最初需求去開(kāi)發(fā)軟件,那么,他們可能要重新進(jìn)行開(kāi)發(fā),因?yàn)?,客戶常常不知道他們的真正需要,而開(kāi)發(fā)者也不知道。用戶提出“需要”的特性并不總是與用戶利用新產(chǎn)品來(lái)處理他們的任務(wù)(task)時(shí)所需的功能相等價(jià)。因此,當(dāng)你收集到用戶的意見(jiàn)后,必須分析、整理這些需求意見(jiàn),直到你理解它為止,并把你的理解寫成文檔,然后與用戶一起探討,這是一個(gè)反復(fù)的過(guò)程,并且需要花費(fèi)時(shí)間。如果你不在這一方面花時(shí)間,對(duì)預(yù)期產(chǎn)品一致的看法未達(dá)成共識(shí)—最終的后果可能是返工,并且產(chǎn)品不盡人意。1需求的來(lái)源需求工程是以相互交流為核心的1.訪問(wèn)并與有潛力的用戶探討為找出新軟件產(chǎn)品的用戶需求,最直截了當(dāng)?shù)姆椒ㄊ窃儐?wèn)他們。本章討論如何尋找合適的用戶代表,而在第8章講述從這些代表中獲取需求的技巧。2.把對(duì)目前的或競(jìng)爭(zhēng)產(chǎn)品的描述寫成文檔文檔可以描述一種所必須遵循的標(biāo)準(zhǔn)或產(chǎn)品所必須遵循的政府或工業(yè)規(guī)則。

3.系統(tǒng)需求規(guī)格說(shuō)明一個(gè)包含軟、硬件的產(chǎn)品需要一個(gè)高檔次的系統(tǒng)需求規(guī)格說(shuō)明以介紹整個(gè)產(chǎn)品。系統(tǒng)需求的子集被分配到每個(gè)軟件子系統(tǒng)中。附加的詳細(xì)軟件功能需求將從有關(guān)軟件的系統(tǒng)需求里獲得。4.對(duì)當(dāng)前系統(tǒng)的問(wèn)題報(bào)告和增強(qiáng)要求5.市場(chǎng)調(diào)查和用戶問(wèn)卷調(diào)查6.觀察正在工作的用戶分析員可通過(guò)觀察用戶與所關(guān)聯(lián)的任務(wù)環(huán)境的工作流程來(lái)預(yù)見(jiàn)用戶在使用當(dāng)前系統(tǒng)時(shí)所遇到的問(wèn)題,并能分析新的系統(tǒng)可有效支持工作流程的方面。分析員必須抽象和總結(jié)用戶的直接活動(dòng),以確保所獲得的需求具有普遍性,而不僅僅代表單個(gè)用戶。一個(gè)富有技巧的分析員還可以為改進(jìn)用戶的當(dāng)前事務(wù)處理過(guò)程提出一些見(jiàn)解。7.用戶任務(wù)的內(nèi)容分析通常通過(guò)開(kāi)發(fā)具體的情節(jié)或活動(dòng)順序(有時(shí)稱作“情節(jié)”),可以確定用戶利用系統(tǒng)需要完成的任務(wù),分析員由此可以獲得用戶用于處理任務(wù)的必要的功能需求。這是使用實(shí)例方法的精髓。2用戶類產(chǎn)品的用戶在很多方面存在著差異,例如:用戶使用產(chǎn)品的頻度、他們的應(yīng)用領(lǐng)域和計(jì)算機(jī)系統(tǒng)知識(shí)、他們所使用的產(chǎn)品特性、他們所進(jìn)行的業(yè)務(wù)過(guò)程、他們?cè)诘乩砩系牟季忠约八麄兊脑L問(wèn)優(yōu)先級(jí)。根據(jù)這些差異,你可以把這些不同的用戶分成小組。比起其他用戶,其中某些用戶類的需求可能對(duì)你更為重要每一個(gè)用戶類都將有自己的一系列功能和非功能要求。比如:一個(gè)沒(méi)有經(jīng)驗(yàn)或偶爾使用電腦的用戶關(guān)心系統(tǒng)是否簡(jiǎn)單易用,因此,菜單、提示符和向?qū)呛苤匾?。然而,?duì)于那些一天使用幾小時(shí)產(chǎn)品的用戶,他們更關(guān)心產(chǎn)品的易用性和高效性,所以他們喜歡使用快捷鍵、宏以及腳本功能(scriptingfacility)。有一些受產(chǎn)品影響的人并不一定是產(chǎn)品的直接使用者,而是通過(guò)報(bào)表或其它應(yīng)用程序訪問(wèn)你產(chǎn)品的數(shù)據(jù)和服務(wù)。這些非直接的或次級(jí)的用戶也有他們的需求,于是他們組成了附加的用戶類。就像我的同事Kathy所說(shuō)的:“只要一日是你的用戶,則終身都是你的用戶?!庇脩纛惒灰欢ǘ贾溉耍憧梢园哑渌鼞?yīng)用程序或系統(tǒng)接口所用的硬件組件也看成是附加用戶類的成員。以這種方式來(lái)看待應(yīng)用程序接口,可以幫助你確定產(chǎn)品中那些與外部應(yīng)用程序或組件有關(guān)的需求。在項(xiàng)目中,要盡早為產(chǎn)品確定并描述出不同的用戶類,這樣,就能從每一個(gè)重要的用戶類代表中獲取不同的需求。在軟件需求規(guī)格說(shuō)明中,把這些用戶類和他們的特征編寫成文檔。“化學(xué)制品跟蹤系統(tǒng)”的用戶類和他們的特征3尋找用戶代表每種類型項(xiàng)目—包括企業(yè)信息系統(tǒng)、商業(yè)應(yīng)用程序、集成系統(tǒng)、軟件嵌入式產(chǎn)品、Web開(kāi)發(fā)程序和簽約合同的軟件—在獲?。╡licitation)用戶需求時(shí)挑選合適的用戶代表來(lái)反映各類用戶的需求。用戶代表必須參加整個(gè)軟件開(kāi)發(fā)周期。建立現(xiàn)存的長(zhǎng)期客戶關(guān)系或組成一個(gè)核心用戶組,它是由目前產(chǎn)品的用戶組或競(jìng)爭(zhēng)產(chǎn)品的用戶組組成的。核心用戶組必須包含各種用戶類型,不僅包括知識(shí)淵博的用戶,還應(yīng)包括缺乏經(jīng)驗(yàn)的用戶。一旦建立用戶組,則必須明確,這些參與者是否真正代表了各個(gè)方面的用戶,而這些用戶的需求是否真正可以促進(jìn)產(chǎn)品的開(kāi)發(fā)。用戶和開(kāi)發(fā)者之間可以有多種渠道來(lái)進(jìn)行信息交互。非直接聯(lián)系一般是無(wú)效的!在用戶和開(kāi)發(fā)者之間插入一些中間層,會(huì)增加他們之間交流信息時(shí)產(chǎn)生錯(cuò)誤的可能性。3尋找用戶代表圖7-1描述了用戶的需求和開(kāi)發(fā)者之間的一些典型的信息關(guān)聯(lián)。當(dāng)開(kāi)發(fā)者能直接與有關(guān)的用戶對(duì)話時(shí),就產(chǎn)生了最直接的交流;非直接聯(lián)系一般是無(wú)效的(Kielandcarmel1995)。就象孩子們“打電話”的游戲一樣,在用戶和開(kāi)發(fā)者之間插入一些中間層,會(huì)增加他們之間交流信息時(shí)產(chǎn)生錯(cuò)誤的可能性。例如:如果開(kāi)發(fā)者只向最終用戶的管理者獲取意見(jiàn),那么這些需求就不太可能正確反映用戶的需要。你必須確信,插入的這些層次是具有價(jià)值的,就像一個(gè)有經(jīng)驗(yàn)的需求分析員可以與用戶或其他參與者一起工作,為開(kāi)發(fā)者收集、評(píng)價(jià)并組織整理需求信息。必須確信你明白你所承擔(dān)的風(fēng)險(xiǎn),這個(gè)風(fēng)險(xiǎn)就是使用市場(chǎng)人員或其他人員作為用戶真正需求的代理人,你還要判斷這些風(fēng)險(xiǎn)是否值得承擔(dān)。雖然要獲得最優(yōu)的用戶代表是困難的,且可能要花很多錢,然而,如果你不與能提供最佳信息的人交流,那么你的產(chǎn)品和用戶將蒙受損失。4產(chǎn)品的代表者每一個(gè)產(chǎn)品代表者代表了一個(gè)特定的用戶類,并在那個(gè)用戶類和開(kāi)發(fā)者之間充當(dāng)主要的接口。產(chǎn)品代表者必須是真正的用戶,而并不是用戶的代理人。負(fù)責(zé)協(xié)調(diào)他們所代表的用戶在需求表達(dá)上的不一致性和不兼容性。為那個(gè)用戶類整理出統(tǒng)一的需求意見(jiàn)。雖然分析員通常起草需求文檔,但需求的收集與整理是分析員和一些核心客戶的共同責(zé)任。產(chǎn)品代表者并不是全職,但他們每個(gè)星期都要花數(shù)個(gè)小時(shí)在項(xiàng)目研究上優(yōu)秀的產(chǎn)品代表使用產(chǎn)品,不是用戶的聯(lián)絡(luò)員有代表性,有決策力業(yè)務(wù)領(lǐng)域?qū)<医涣髂芰?qiáng)有熱情,有責(zé)任感軟件使用方面和軟件技術(shù)的經(jīng)驗(yàn)多是代表而不是唯一產(chǎn)品代表者的期望把產(chǎn)品代表者的期望編寫成文檔,這樣有助于通過(guò)產(chǎn)品代表者這一途徑獲得成功。當(dāng)然,并不是每一個(gè)產(chǎn)品代表者都能提供你所喜愛(ài)的服務(wù),此時(shí),你可用書寫期望建立實(shí)例的方法,讓特定的用戶來(lái)填寫這一關(guān)鍵的任務(wù),并作為探討每個(gè)產(chǎn)品代表者確定責(zé)任的起點(diǎn)。并不是在每種情況下都要有這些活動(dòng),但是在不同的項(xiàng)目中,產(chǎn)品代表者執(zhí)行其中不同的活動(dòng)。多個(gè)產(chǎn)品代表者“化學(xué)制品跟蹤系統(tǒng)”有四個(gè)用戶類,因此在ContosoPharmaceutical需要從內(nèi)部用戶群中選擇多個(gè)產(chǎn)品代表者。下圖描述了項(xiàng)目總經(jīng)理如何建立產(chǎn)品代表者小組以從各個(gè)渠道收集有效的需求。這些產(chǎn)品代表者并不是全職,但他們每個(gè)星期都要花數(shù)個(gè)小時(shí)在項(xiàng)目研究上。三個(gè)分析員與四個(gè)產(chǎn)品代表者一起協(xié)作進(jìn)行需求獲取、分析,并把它們的需求編寫成文檔(采購(gòu)人員和衛(wèi)生與安全用戶類很小,他們的需求也不多)。然后由一名分析員綜合這些信息,并編寫到軟件需求規(guī)格說(shuō)明中?!盎瘜W(xué)制品跟蹤系統(tǒng)”中的產(chǎn)品代表者模型產(chǎn)品代表者的可能活動(dòng)=職責(zé)計(jì)劃(planning)*轉(zhuǎn)化產(chǎn)品的適用范圍和局限性*定義與其它系統(tǒng)的外部接口*定義從目前用戶應(yīng)用程序過(guò)渡到新系統(tǒng)的過(guò)渡途徑需求(requirement)*訪問(wèn)其它用戶,收集他們的需求描述*提出使用腳本和使用實(shí)例*解決所建議的需求之間的沖突*定義實(shí)現(xiàn)優(yōu)先級(jí)*確定質(zhì)量屬性和其它非功能需求*評(píng)估用戶接口原型驗(yàn)證和確認(rèn)(verificationandvalidation)*審查需求文檔*確定用戶接受標(biāo)準(zhǔn)*根據(jù)使用腳本編寫測(cè)試用例*進(jìn)行beta測(cè)試*提供測(cè)試數(shù)據(jù)集用戶幫助*編寫用戶手冊(cè)和在線幫助*準(zhǔn)備教學(xué)用的培訓(xùn)材料*為同行者提供產(chǎn)品演示變更管理(changemanagement)*對(duì)缺陷的改正進(jìn)行評(píng)估并設(shè)置其優(yōu)先級(jí)*對(duì)增強(qiáng)的請(qǐng)求進(jìn)行評(píng)估和設(shè)置其優(yōu)先級(jí)*評(píng)估需求變更給用戶帶來(lái)的影響*參加變更控制委員會(huì)并參與變更決策需求決策模糊、不一致、超出范圍的需求,要有決策。在項(xiàng)目早期就確定需求問(wèn)題的決策者無(wú)決策,不能決策,最后落在開(kāi)發(fā)者身上。這是一個(gè)非常糟糕的選擇,因?yàn)殚_(kāi)發(fā)者通常沒(méi)有足夠多的信息和觀點(diǎn)來(lái)作出業(yè)務(wù)上的決策。通常,應(yīng)盡可能由處于公司底層的人作出決策,因?yàn)樗麄兣c問(wèn)題密切相關(guān),并能得到關(guān)于這些問(wèn)題的廣泛信息。決策的建議個(gè)別用戶需求不一致的意見(jiàn),必須由產(chǎn)品代表者作出決策。要給產(chǎn)品代表者授權(quán)。不同用戶類的不一致需求,那么必須決策出滿足哪一類用戶的需求更為重要,與產(chǎn)品的業(yè)務(wù)目標(biāo)的關(guān)系如何。開(kāi)發(fā)產(chǎn)品時(shí):不同公司客戶的不一致需求,運(yùn)用項(xiàng)目的業(yè)務(wù)目標(biāo)來(lái)決定那些是你最關(guān)心的客戶。一個(gè)核心的客戶有助于主要特性的開(kāi)發(fā),其它你認(rèn)為獲利較少的客戶需求可能要拖延到下一個(gè)版本中去??蛻艚?jīng)理的需求與他所在部門的真正用戶提出的需求相沖突??蛻艚?jīng)理必須服從產(chǎn)品代表者。應(yīng)避免強(qiáng)迫開(kāi)發(fā)人員對(duì)客戶不同意的需求作出公斷

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論