項目需求分析_第1頁
項目需求分析_第2頁
項目需求分析_第3頁
項目需求分析_第4頁
項目需求分析_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、需求分析是指理解用戶需求,就軟件功能與客戶達(dá)成一致,估計軟件風(fēng)險和評估項目代價,最終形成開發(fā)計劃的一個復(fù)雜過程。在這個過程中,用戶的確是處在主導(dǎo)地位,需求分析工程師和項目經(jīng)理要負(fù)責(zé)整理用戶需求,為之后的軟件設(shè)計打下基礎(chǔ)。需求分析階段結(jié)束后,要求得到:SRS文檔(systemrequirementSpecification);2.DRM文檔;3.AcceptancePlan.從廣義上理解:需求分析包括需求的獲取、分析、規(guī)格說明、變更、驗證、管理的一系列需求工程。狹義上理解:需求分析指需求的分析、定義過程。一、為什么要需求分析需求分析就是分析軟件用戶需求是什么。如果投入大量的人力,物力,財力,時間

2、,開發(fā)出的軟件卻沒人要,從發(fā)重新開發(fā)過,這種返工是讓人痛心疾首的。(相信大家都有體會)比如,用戶需要一個forLinux的軟件,而你在軟件開發(fā)前期忽略了軟件的運行環(huán)境,忘了向用戶詢問這個問題,而想當(dāng)然的認(rèn)為是開發(fā)foxwindow的軟件,當(dāng)你千辛萬苦地開發(fā)完成向用戶提交時才發(fā)現(xiàn)出了問題,那時候你是欲哭無淚了,恨不行找塊豆腐一頭撞死。需求分析之所以重要,就因為他具有決策性,方向性,策略性的作用,他在軟件開發(fā)的過程中具有舉足輕重的地位。大家一定要對需求分析具有足夠的重視,在一個大型軟件系統(tǒng)的開發(fā)中,他的作用要遠(yuǎn)遠(yuǎn)大于程序設(shè)計。二、需求分析的任務(wù)簡言之,需求分析任務(wù)就是解決“做什么”的問題,就是要全

3、面地理解用戶的各項要求并準(zhǔn)確地表達(dá)所接受的用戶需求。需求分析的過程需求分析的工作,可分為四個方面:問題識別、分析和綜合、制訂規(guī)格說明、詳審。問題識別就是從系統(tǒng)角度來理解軟件,確定對所開發(fā)系統(tǒng)的綜合要求,并提出這些要求的實現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn)。這些需求包括:功能需求(做什么),性能需求(要達(dá)到什么指標(biāo)),環(huán)境需求(如機(jī)型,操作系統(tǒng)等,)可靠性需求(不發(fā)生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟件運行是所需的內(nèi)存,CPU等),軟件成本消耗與開發(fā)進(jìn)度需求,預(yù)告估計以后系統(tǒng)可能達(dá)到的目標(biāo)。分析與綜合逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素間的聯(lián)系,接口特性和設(shè)計上的限制,分析

4、他們是否滿足需求,剔除不合理部分,增加需要部分,最后,綜合成系統(tǒng)解決方案,給出開發(fā)的系統(tǒng)的詳細(xì)邏輯模型。制訂規(guī)格說明書即編制文檔,描述需求的文檔稱為軟件需求規(guī)格說明書。請注意,需求分析階段的成果是需求規(guī)格說明書,向下階段提交。四、需求分析的方法需求分析的方法很多,這里只強(qiáng)調(diào)原型化方法,其它的方法如:結(jié)構(gòu)化方法,動態(tài)分析法等在此不討論。原型化方法是十分重要的。原型就是軟件的一個早期可運行的版本,它實現(xiàn)了目標(biāo)系統(tǒng)的某些或全部功能。原型化方法就是盡可能快地建造一個粗糙的系統(tǒng),這系統(tǒng)實現(xiàn)了目標(biāo)系統(tǒng)的某些或全部功能,但是這個系統(tǒng)可能在可靠性,界面友好性或其它方面上存在缺陷,建造這樣一個系統(tǒng)的目的是為了考

5、察某一方面的可行性,如算法可行性,技術(shù)可行性,或考察是否滿足用戶的需求等。如,為了考察是否滿足用戶的需求,可以用某些軟件工具快速的建造一個原型系統(tǒng),這個系統(tǒng)只是一個界面,然后聽取用戶的意見,改進(jìn)這個原型,以后的目標(biāo)系統(tǒng)就在原型系統(tǒng)的基礎(chǔ)上開發(fā)。原型主要有三種(軟考考過):探索型、實驗型、進(jìn)化型。探索型:目的是要弄清對目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。實驗型:用于大規(guī)模開發(fā)和實現(xiàn)前,考核方案是否合適,規(guī)格說明是否可靠。進(jìn)化型:目在不在于改進(jìn)規(guī)格說明,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過程中,逐步將原型進(jìn)化成最終系統(tǒng)。在使用原型化方法是兩種不同的策略:廢棄策略、追加策略

6、。廢棄策略:先建造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),針對這個系統(tǒng)反復(fù)進(jìn)行修改,形成比較好的思想,據(jù)此設(shè)計出較完整、準(zhǔn)確、一致、可靠的最終系統(tǒng),系統(tǒng)構(gòu)造完成后,原來模型系統(tǒng)就被廢棄不用。探索型和實驗型屬于這種策略。追加策略:先構(gòu)建一個功能簡單而且要求不同的模型系統(tǒng),作為最終系統(tǒng)的核心然后通過不斷地擴(kuò)充修改,逐步追加瘵要注,發(fā)展成為最終系統(tǒng)。進(jìn)化型屬于這種策略。五、需求分析的20條法則(本節(jié)摘自軟件工程專家網(wǎng))客戶與開發(fā)人員交流需要好的方法。下面建議20條法則,客戶和開發(fā)人員可以通過詳審以下內(nèi)容并達(dá)成共識。如果遇到分岐,將通過協(xié)商達(dá)成對各自義務(wù)的相互理解,以便減少以后的摩擦(如一方要求而另一

7、方不愿或不能夠滿足要求)。1、分析人員要使用符合客戶語言習(xí)慣的表達(dá)要求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用述語。客戶應(yīng)將有關(guān)術(shù)語(例如:采價、印花商品等采購術(shù)語)教給分析人員,而客戶不一定要懂得計算機(jī)行業(yè)的術(shù)語。2、分析人員要了解客戶的業(yè)務(wù)及目標(biāo)只有分析人員更好地了解客戶的業(yè)務(wù),才能使產(chǎn)品更好地滿足需要。這將有助于開發(fā)人員設(shè)計出真正滿足客戶需求并達(dá)到期望的優(yōu)秀軟件。為幫助開發(fā)和分析人員,客戶可以考慮邀情他們觀察自己的工作流程。如果是切換新系統(tǒng),那么開發(fā)和分析人員應(yīng)該使用一下目前的舊系統(tǒng),有利于他們明白日前系統(tǒng)是怎么樣工作的,其流程情況以及可供改進(jìn)之處。3、分析人員必要編寫軟件需求報告分析人員應(yīng)

8、將從客戶那里獲得所有信息進(jìn)行整理,經(jīng)區(qū)分業(yè)務(wù)需求及規(guī)范、功能需求、質(zhì)量目標(biāo)、解決方法和其它信息。通過這些分析,客戶就能得到一份“需求分析報告”,此份報告使開發(fā)人員和客戶之間針對要開發(fā)的產(chǎn)品內(nèi)容達(dá)成協(xié)議。報告應(yīng)以一種客戶認(rèn)為易于翻閱和理解的方式組織編寫??蛻粢攲彺藞蟾妫源_保報告內(nèi)容準(zhǔn)確完整地表達(dá)其需求,一份高質(zhì)量的“需求分析報告”有助于開發(fā)人員開發(fā)出真正需要的產(chǎn)品。4、要求得到需求工作結(jié)果的解釋說明分析人員可能采用了多種圖表作為文字性“需求分析報告”的補(bǔ)充說明,因為工作圖表能很清晰地描述出系統(tǒng)行為的某些方面,所以報告中各種圖表有著極高的價值;雖然它們不太難于理解,但是客戶可能對此并不熟悉,因

9、此客戶可以要求分析人員解釋說明每個圖表的作用、符號的意義和需求開發(fā)工作的結(jié)果,以及怎樣檢查圖表有無錯誤及不一致等。5、開發(fā)人員要尊重客戶的意見如果用戶與開發(fā)人員之間不能相互理解,那關(guān)于需求的討論將會有障礙。共同合作能使大家“兼聽則明”。參與需求開發(fā)過程的客戶有權(quán)要求開發(fā)人員尊重他們并珍惜他們?yōu)轫椖砍晒λ冻龅臅r間,同樣,客戶也應(yīng)對開發(fā)人員為項目成功這一共同目標(biāo)所做出的努力表示尊重。6、開發(fā)人員要對需求及產(chǎn)品實施提出建議和解決方案通??蛻羲f的“需求”已經(jīng)是一種實際可行的實施方案,分析人員應(yīng)盡力從這些解決方法中了解真正的業(yè)務(wù)需求,同時還應(yīng)找出已有系統(tǒng)與當(dāng)前業(yè)務(wù)不符之處,以確保產(chǎn)品不會無效或低效;

10、在徹底弄清業(yè)務(wù)領(lǐng)域內(nèi)的事情后,分析人員就能提出相當(dāng)好的改進(jìn)方法,有經(jīng)驗且有創(chuàng)造力的分析人員還能提出增加一些用戶沒有發(fā)現(xiàn)的很有價值的系統(tǒng)特性。7、描述產(chǎn)品使用特性客戶可以要求分析人員在實現(xiàn)功能需求的同時還注意軟件的易用性,因為這些易用特性或質(zhì)量屬性能使客戶更準(zhǔn)確、高效地完成任務(wù)。例如:客戶有時要求產(chǎn)品要“界面友好”或“健壯”或“高效率”,但對于開發(fā)人員來講,太主觀了并無實用價值。正確的做法是,分析人員通過詢問和調(diào)查了解客戶所要的“友好、健壯、高效所包含的具體特性,具體分析哪些特性對哪些特性有負(fù)面影響,在性能代價和所提出解決方案的預(yù)期利益之間做出權(quán)衡,以確保做出合理的取舍。8、允許重用已有的軟件組

11、件需求通常有一定靈活性,分析人員可能發(fā)現(xiàn)已有的某個軟件組件與客戶描述的需求很相符,在這種情況下,分析人員應(yīng)提供一些修改需求的選擇以便開發(fā)人員能夠降低新系統(tǒng)的開發(fā)成本和節(jié)省時間,而不必嚴(yán)格按原有的需求說明開發(fā)。所以說,如果想在產(chǎn)品中使用一些已有的商業(yè)常用組件,而它們并不完全適合您所需的特性,這時一定程度上的需求靈活性就顯得極為重要了。9、要求對變更的代價提供真實可靠的評估有時,人們面臨更好、也更昂貴的方案時,會做出不同的選擇。而這時,對需求變更的影響進(jìn)行評估從而對業(yè)務(wù)決策提供幫助,是十分必要的。所以,客戶有權(quán)利要求開發(fā)人員通過分析給出一個真實可信的評估,包括影響、成本和得失等。開發(fā)人員不能由于不

12、想實施變更而隨意夸大評估成本。10、獲得滿足客戶功能和質(zhì)量要求的系統(tǒng)每個人都希望項目成功,但這不僅要求客戶要清晰地告知開發(fā)人員關(guān)于系統(tǒng)“做什么”所需的所有信息,而且還要求開發(fā)人員能通過交流了解清楚取舍與限制,一定要明確說明您的假設(shè)和潛在的期望,否則,開發(fā)人員開發(fā)出的產(chǎn)品很可能無法讓您滿意。11、給分析人員講解您的業(yè)務(wù)分析人員要依靠客戶講解業(yè)務(wù)概念及術(shù)語,但客戶不能指望分析人員會成為該領(lǐng)域的專家,而只能讓他們明白您的問題和目標(biāo);不要期望分析人員能把握客戶業(yè)務(wù)的細(xì)微潛在之處,他們可能不知道那些對于客戶來說理所當(dāng)然的“常識”。12、抽出時間清楚地說明并完善需求客戶很忙,但無論如何客戶有必要抽出時間參

13、與“頭腦高峰會議”的討論,接受采訪或其他獲取需求的活動。有些分析人員可能先明白了您的觀點,而過后發(fā)現(xiàn)還需要您的講解,這時請耐心對待一些需求和需求的精化工作過程中的反復(fù),因為它是人們交流中很自然的現(xiàn)象,何況這對軟件產(chǎn)品的成功極為重要。13、準(zhǔn)確而詳細(xì)地說明需求編寫一份清晰、準(zhǔn)確的需求文檔是很困難的。由于處理細(xì)節(jié)問題不但煩人而且耗時,因此很容易留下模糊不清的需求。但是在開發(fā)過程中,必須解決這種模糊性和不準(zhǔn)確性,而客戶恰恰是為解決這些問題作出決定的最佳人選,否則,就只好靠開發(fā)人員去正確猜測了。在需求分析中暫時加上“待定”標(biāo)志是個方法。用該標(biāo)志可指明哪些是需要進(jìn)一步討論、分析或增加信息的地方,有時也可

14、能因為某個特殊需求難以解決或沒有人愿意處理它而標(biāo)注上“待定”??蛻粢M量將每項需求的內(nèi)容都闡述清楚,以便分析人員能準(zhǔn)確地將它們寫進(jìn)“軟件需求報告”中去。如果客戶一時不能準(zhǔn)確表達(dá),通常就要求用原型技術(shù),通過原型開發(fā),客戶可以同開發(fā)人員一起反復(fù)修改,不斷完善需求定義。14、及時作出決定分析人員會要求客戶作出一些選擇和決定,這些決定包括來自多個用戶提出的處理方法或在質(zhì)量特性沖突和信息準(zhǔn)確度中選擇折衷方案等。有權(quán)作出決定的客戶必須積極地對待這一切,盡快做處理,做決定,因為開發(fā)人員通常只有等客戶做出決定才能行動,而這種等待會延誤項目的進(jìn)展。15、尊重開發(fā)人員的需求可行性及成本評估所有的軟件功能都有其成本

15、??蛻羲M哪承┊a(chǎn)品特性可能在技術(shù)上行不通,或者實現(xiàn)它要付出極高的代價,而某些需求試圖達(dá)到在操作環(huán)境中不可能達(dá)到的性能,或試圖得到一些根本得不到的數(shù)據(jù)。開發(fā)人員會對此作出負(fù)面的評價,客戶應(yīng)該尊重他們的意見。16、劃分需求的優(yōu)先級絕大多數(shù)項目沒有足夠的時間或資源實現(xiàn)功能性的每個細(xì)節(jié)。決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的主要部分,這只能由客戶負(fù)責(zé)設(shè)定需求優(yōu)先級,因為開發(fā)者不可能按照客戶的觀點決定需求優(yōu)先級;開發(fā)人員將為您確定優(yōu)先級提供有關(guān)每個需求的花費和風(fēng)險的信息。在時間和資源限制下,關(guān)于所需特性能否完成或完成多少應(yīng)尊重開發(fā)人員的意見。盡管沒有人愿意看到自己所希望的需求在項目中未被實

16、現(xiàn),但畢竟是要面對現(xiàn)實,業(yè)務(wù)決策有時不得不依據(jù)優(yōu)先級來縮小項目范圍或延長工期,或增加資源,或在質(zhì)量上尋找折衷。17、評審需求文檔和原型客戶評審需求文檔,是給分析人員帶來反饋信息的一個機(jī)會。如果客戶認(rèn)為編寫的“需求分析報告”不夠準(zhǔn)確,就有必要盡早告知分析人員并為改進(jìn)提供建議。更好的辦法是先為產(chǎn)品開發(fā)一個原型。這樣客戶就能提供更有價值的反饋信息給開發(fā)人員,使他們更好地理解您的需求;原型并非是一個實際應(yīng)用產(chǎn)品,但開發(fā)人員能將其轉(zhuǎn)化、擴(kuò)充成功能齊全的系統(tǒng)。18、需求變更要立即聯(lián)系不斷的需求變更,會給在預(yù)定計劃內(nèi)完成的質(zhì)量產(chǎn)品帶來嚴(yán)重的不利影響。變更是不可避免的,但在開發(fā)周期中,變更越在晚期出現(xiàn),其影響

17、越大;變更不僅會導(dǎo)致代價極高的返工,而且工期將被延誤,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時。所以,一旦客戶發(fā)現(xiàn)需要變更需求時,請立即通知分析人員。19、遵照開發(fā)小組處理需求變更的過程為將變更帶來的負(fù)面影響減少到最低限度,所有參與者必須遵照項目變更控制過程。這要求不放棄所有提出的變更,對每項要求的變更進(jìn)行分析、綜合考慮,最后做出合適的決策,以確定應(yīng)將哪些變更引入項目中。20、尊重開發(fā)人員采用的需求分析過程軟件開發(fā)中最具挑戰(zhàn)性的莫過于收集需求并確定其正確性,分析人員采用的方法有其合理性。也許客戶認(rèn)為收集需求的過程不太劃算,但請相信花在需求開發(fā)上的時間是非常有價值的;如果您理解并支持分析人員為

18、收集、編寫需求文檔和確保其質(zhì)量所采用的技術(shù),那么整個過程將會更為順利?!靶枨蟠_認(rèn)”意味著什么在“需求分析報告”上簽字確認(rèn),通常被認(rèn)為是客戶同意需求分析的標(biāo)志行為,然而實際操作中,客戶往往把“簽字”看作是毫無意義的事情。“他們要我在需求文檔的最后一行下面簽名,于是我就簽了,否則這些開發(fā)人員不開始編碼?!边@種態(tài)度將帶來麻煩,譬如客戶想更改需求或?qū)Ξa(chǎn)品不滿時就會說:“不錯,我是在需求分析報告上簽了字,但我并沒有時間去讀完所有的內(nèi)容,我是相信你們的,是你們非讓我簽字的。”同樣問題也會發(fā)生在僅把“簽字確認(rèn)”看作是完成任務(wù)的分析人員身上,一旦有需求變更出現(xiàn),他便指著“需求分析報告”說:“您已經(jīng)在需求上簽字

19、了,所以這些就是我們所開發(fā)的,如果您想要別的什么,您應(yīng)早些告訴我們?!边@兩種態(tài)度都是不對的。因為不可能在項目的早期就了解所有的需求,而且毫無疑問地需求將會出現(xiàn)變更,在“需求分析報告”上簽字確認(rèn)是終止需求分析過程的正確方法,所以我們必須明白簽字意味著什么。對“需求分析報告”的簽名是建立在一個需求協(xié)議的基線上,因此我們對簽名應(yīng)該這樣理解:“我同意這份需求文檔表述了我們對項目軟件需求的了解,進(jìn)一步的變更可在此基線上通過項目定義的變更過程來進(jìn)行。我知道變更可能會使我們重新協(xié)商成本、資源和項目階段任務(wù)等事宜?!睂π枨蠓治鲞_(dá)成一定的共識會使雙方易于忍受將來的摩擦,這些摩擦來源于項目的改進(jìn)和需求的誤差或市場

20、和業(yè)務(wù)的新要求等。需求確認(rèn)將迷霧撥散,顯現(xiàn)需求的真面目,給初步的需求開發(fā)工作畫上了雙方都明確的句號,并有助于形成一個持續(xù)良好的客戶與開發(fā)人員的關(guān)系,為項目的成功奠定了堅實的基礎(chǔ)。六、點評需求分析誤區(qū)要想說什么是好的需求分析,不如說什么是不好的需求分析,知道什么是不好的,自然也就知道了什么是好的。以下就是一些不好的情況:(1)創(chuàng)意和求實毋庸質(zhì)疑的,每個人都會為自己的一個新的Idea而激動萬分,特別是當(dāng)這個Idea受到一些根本不知道你原本要干嘛的人的驚贊時。但是請注意,當(dāng)你激動得意的時候,你可能已經(jīng)忘了你原本是在描述一個需求,而不是在策劃一個創(chuàng)意、創(chuàng)造一個概念。很多剛開始做需求分析的人員都或多或少的會犯這樣的錯誤,陶醉在自己的新想法和新思路中,卻違背了需求的原始客觀性和真實性原則。永遠(yuǎn)別忘了:需求不是空中樓閣,是實實在在的一磚一瓦。(2)解剖的快感幾乎所有搞軟件的人,做需求分析的時候,一上來就會把用戶告訴你的要求,完完整整的作個解剖,切開分成幾個塊,再細(xì)分成幾個子塊,然后再條分縷析。可是當(dāng)用戶迷惑的看著你辛辛苦苦做出來的分析結(jié)果問你:我想

溫馨提示

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

評論

0/150

提交評論