資源描述:
《軟件需求分析建?!酚蓵?huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、學(xué)習(xí)任務(wù)3軟件需求分析建模主講:陳榮保需求分析需求分析是指理解用戶需求,就軟件功能和性能與客戶達(dá)成一致,估計(jì)軟件風(fēng)險(xiǎn)和評(píng)估項(xiàng)目代價(jià),最終形成開(kāi)發(fā)計(jì)劃的一個(gè)復(fù)雜過(guò)程。在這個(gè)過(guò)程中,用戶處在主導(dǎo)地位,需求分析工程師和項(xiàng)目經(jīng)理要負(fù)責(zé)整理用戶需求,為之后的軟件設(shè)計(jì)打下基礎(chǔ)。需求分析階段結(jié)束后,要求得到《用戶需求說(shuō)明書》和《需求規(guī)格說(shuō)明書》兩份文檔。廣義上,需求分析包括需求的獲取、分析、規(guī)格說(shuō)明、變更、驗(yàn)證、管理的一系列需求工程;狹義上,需求分析是指需求的獲取、分析及定義的過(guò)程。需求分析的任務(wù)就是軟件系統(tǒng)解決“做什么”的問(wèn)題,就是要全面地
2、理解用戶的各項(xiàng)要求,并準(zhǔn)確地表達(dá)所接受的用戶需求的過(guò)程。需求分析如果投入大量的人力、物力、財(cái)力和時(shí)間,而開(kāi)發(fā)出的軟件卻沒(méi)人要,那么所有的投入都是徒勞。如果費(fèi)了很大的精力開(kāi)發(fā)一個(gè)軟件,最后卻不能滿足用戶的要求,而要重新開(kāi)發(fā),那么這種返工是讓人痛心疾首的。例如,用戶需要一個(gè)響應(yīng)時(shí)間快的軟件,而在軟件開(kāi)發(fā)前期忽略了軟件的性能要求,忘了向用戶詢問(wèn)這個(gè)問(wèn)題,想當(dāng)然地認(rèn)為是開(kāi)發(fā)無(wú)響應(yīng)時(shí)間這一性能要求的軟件,如果當(dāng)你千辛萬(wàn)苦地開(kāi)發(fā)完成向用戶提交時(shí)才發(fā)現(xiàn)出了問(wèn)題,是要付出很大的代價(jià)的。所以,需求分析在軟件開(kāi)發(fā)過(guò)程中具有舉足輕重的地位,具有決策性
3、、方向性、策略性的作用,我們應(yīng)對(duì)需求分析具有足夠的重視。在一個(gè)大型軟件系統(tǒng)的開(kāi)發(fā)中,需求分析的作用要遠(yuǎn)遠(yuǎn)大于程序設(shè)計(jì)。需求分析建模1.需求獲取3.需求分析4.需求文檔的編寫2.需求捕獲技術(shù)需求獲取開(kāi)發(fā)軟件項(xiàng)目關(guān)鍵的第一步工作是什么?軟件的需求分析理解用戶對(duì)軟件提出的要求需求獲取需求獲取可能是軟件開(kāi)發(fā)中最困難、最關(guān)鍵、最易出錯(cuò)及最需要溝通交流的活動(dòng)。對(duì)需求的獲取往往有錯(cuò)誤的認(rèn)識(shí):用戶知道需求是什么,我們所要做的就是和他們交談,從他們那里得到需求;只要問(wèn)用戶系統(tǒng)的目標(biāo)特征,什么是要完成的,什么樣的系統(tǒng)能適合商業(yè)需要就可以了。但是實(shí)際
4、上需求獲取并不是想象的這樣簡(jiǎn)單,這條溝通之路布滿了荊棘。需求獲取首先,需求獲取要定義問(wèn)題范圍,而系統(tǒng)的邊界往往是很難明確的,用戶不了解技術(shù)實(shí)現(xiàn)的細(xì)節(jié),這樣將造成系統(tǒng)目標(biāo)的混淆。其次,是對(duì)問(wèn)題的理解。任何一個(gè)系統(tǒng)都會(huì)有很多的用戶或者不同類型的用戶,每個(gè)用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況;他們不知道系統(tǒng)作為一個(gè)整體怎么樣工作效率更好,也不太清楚哪些工作可以交給軟件完成;他們不清楚需求是什么,或者說(shuō)如何以一種精確的方式來(lái)描述需求;他們需要開(kāi)發(fā)人員的協(xié)助和指導(dǎo),但是用戶與開(kāi)發(fā)人員之間的交流很容易出現(xiàn)障礙,往往忽略了那些被認(rèn)
5、為是“很明顯”的信息。最后,是需求的確認(rèn)。需求的不穩(wěn)定性往往隨著時(shí)間的推移產(chǎn)生變動(dòng),使之難以確認(rèn)。為了克服以上的問(wèn)題,必須有組織地執(zhí)行需求的獲取活動(dòng)。需求獲取1)確定需求開(kāi)發(fā)過(guò)程:確定需求開(kāi)發(fā)過(guò)程確定如何組織需求的收集、分析、細(xì)化并核實(shí)的步驟,并將它編寫成文檔。對(duì)重要的步驟要給予一定指導(dǎo),這將有助于分析人員的工作,而且也使收集需求活動(dòng)的安排和進(jìn)度計(jì)劃更容易進(jìn)行。2)編寫項(xiàng)目視圖和范圍文檔:項(xiàng)目視圖和范圍文檔應(yīng)該包括高層的產(chǎn)品業(yè)務(wù)目標(biāo),所有的使用實(shí)例和功能需求都必須遵從能達(dá)到的業(yè)務(wù)需求。項(xiàng)目視圖說(shuō)明使所有項(xiàng)目參與者對(duì)項(xiàng)目的目標(biāo)能達(dá)
6、成共識(shí)。需求獲取3)用戶群分類:產(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ù)這些差異,你可以把這些不同的用戶分成小組。用戶類不一定都指人,你可以把其它應(yīng)用程序或系統(tǒng)接口所用的硬件組件也看成是附加用戶類的成員。以這種方式來(lái)看待應(yīng)用程序接口,可以幫助你確定產(chǎn)品中那些與外部應(yīng)用程序或組件有關(guān)的需求。將用戶群分類并歸納各自特點(diǎn)為避免出現(xiàn)疏忽某一用戶群需求的情況,要將可能使都有所差異。詳細(xì)描述出它們的個(gè)性特
7、點(diǎn)及任務(wù)狀況,將有助于產(chǎn)品設(shè)計(jì)。需求獲取4)選擇產(chǎn)品代表:擇每類用戶的產(chǎn)品代表為每類用戶至少選擇一位能真正代表他們需求的人作為那一類用戶的代表并能作出決策。這對(duì)于內(nèi)部信息系統(tǒng)的開(kāi)發(fā)是最易實(shí)現(xiàn)的,因?yàn)榇藭r(shí),用戶就是身邊的職員。而對(duì)于商業(yè)開(kāi)發(fā),就得在主要的客戶或測(cè)試者中建立起良好的合作關(guān)系,并確定合適的產(chǎn)品代表。他們必須一直參與項(xiàng)目的開(kāi)發(fā)而且有權(quán)作出決策。每一個(gè)產(chǎn)品代表者代表了一個(gè)特定的用戶類,并在那個(gè)用戶類和開(kāi)發(fā)者之間充當(dāng)主要的接口。需求獲取5)建立核心隊(duì)伍:建立起典型用戶的核心隊(duì)伍把同類產(chǎn)品或你的產(chǎn)品的先前版本用戶代表召集起來(lái),
8、從他們那里收集目前產(chǎn)品的功能需求和非功能需求。這樣的核心隊(duì)伍對(duì)于商業(yè)開(kāi)發(fā)尤為有用,因?yàn)槟銚碛幸粋€(gè)龐大且多樣的客戶基礎(chǔ)。與產(chǎn)品代表的區(qū)別在于,核心隊(duì)伍成員通常沒(méi)有決定權(quán)。6)確定使用實(shí)例:讓用戶代表確定使用實(shí)例從用戶代表處收集他們使用軟件完成所需任務(wù)的描述-使用實(shí)