什么是需求分析(什么是需求分析),36創(chuàng)業(yè)加盟網(wǎng)給大家?guī)碓敿?xì)的介紹,讓更多的人可以參考:什么是需求分析(什么是需求分析)。
17、 評審需求文檔和原型
客戶評審需求文檔,是給分析人員帶來反饋信息的一個機會。如果客戶認(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),其影響越大;變更不僅會導(dǎo)致代價極高的返工,而且工期將被延誤,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時。所以,一旦客戶發(fā)現(xiàn)需要變更需求時,請立即通知分析人員。
19、 遵照開發(fā)小組處理需求變更的過程
為將變更帶來的負(fù)面影響減少到最低限度,所有參與者必須遵照項目變更控制過程。這要求不放棄所有提出的變更,對每項要求的變更進(jìn)行分析、綜合考慮,最后做出合適的決策,以確定應(yīng)將哪些變更引入項目中。
20、 尊重開發(fā)人員采用的需求分析過程
軟件開發(fā)中最具挑戰(zhàn)性的莫過于收集需求并確定其正確性,分析人員采用的方法有其合理性。也許客戶認(rèn)為收集需求的過程不太劃算,但請相信花在需求開發(fā)上的時間是非常有價值的;如果您理解并支持分析人員為收集、編寫需求文檔和確保其質(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)在需求上簽字了,所以這些就是我們所開發(fā)的,如果您想要別的什么,您應(yīng)早些告訴我們。”
這兩種態(tài)度都是不對的。因為不可能在項目的早期就了解所有的需求,而且毫無疑問地需求將會出現(xiàn)變更,在“需求分析報告”上簽字確認(rèn)是終止需求分析過程的正確方法,所以我們必須明白簽字意味著什么。
對“需求分析報告”的簽名是建立在一個需求協(xié)議的基線上,因此我們對簽名應(yīng)該這樣理解:“我同意這份需求文檔表述了我們對項目軟件需求的了解,進(jìn)一步的變更可在此基線上通過項目定義的變更過程來進(jìn)行。我知道變更可能會使我們重新協(xié)商成本、資源和項目階段任務(wù)等事宜。”對需求分析達(dá)成一定的共識會使雙方易于忍受將來的摩擦,這些摩擦來源于項目的改進(jìn)和需求的誤差或市場和業(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é)果問你:我想作一個數(shù)據(jù)備份的任務(wù),怎么做?這時,你會發(fā)現(xiàn),需要先后打開三個窗口才能完成這個任務(wù)。
永遠(yuǎn)別忘了:分解是必需的,但最終的目的是為了更好的組合,而不是為了分解。
(3)角度和思維
經(jīng)常聽到這樣的抱怨:“用戶怎么可以提出這樣苛刻的要求呢?”。細(xì)細(xì)一了解,你會發(fā)現(xiàn),用戶只不過是要求把一個需要兩次點擊的功能,改成只有一次點擊。這樣會導(dǎo)致需要改變需求、改變編碼、甚至重新測試,增加工作量。可是,如果換個角度來想想,這個功能,開發(fā)的時候只用了幾次、幾十次,可是用戶每天都要用幾百次甚 至幾千次幾萬次,改動一下就減少了一半的工作量,對他來說,這樣的需求難道會苛刻嗎?
永遠(yuǎn)別忘了:沒有任何需求是不對的,不對的只是你的需求分析。試著站在用戶的思維角度想想,你的需求分析就會更加的貼近用戶,更加的合理。軟件應(yīng)該是以人為本的。
(4)程序員邏輯
從程序員成長為系統(tǒng)分析員是一個普遍的軌跡,但并不是一個好的程序員就必然能成為一個好的系統(tǒng)分析員。一些程序員的固化邏輯,使得他們在做需求分析的時候往往鉆進(jìn)了一些牛角里面。比如說1/0邏輯(或者是說黑白邏輯),認(rèn)為不是這樣就是那樣,沒有第三種情況。可實際情況往往是,在一定的時候是這樣,其它時候是那樣。又比如窮舉邏輯,喜歡上來就把所有一二三可能的情況列舉出來,然后一個一個分別處理,每個占用三分之一的時間;可是實際的情況往往是,三分之一的情況占了99%的比例,其它兩種情況一年都不會遇到一次。實際中還有很多這樣的例子,不一一列舉了。
永遠(yuǎn)別忘了:需求分析和程序設(shè)計不盡相同,合理、可行是才是重要的。跳出程序設(shè)計的圈子,站在系統(tǒng)的角度上來看問題,你的結(jié)論會截然不同
IT168 技術(shù)文章
需求分析是指理解用戶需求,就軟件功能與客戶達(dá)成一致,估計軟件風(fēng)險和評估項目代價,最終形成開發(fā)計劃的一個復(fù)雜過程。(這個和我在微軟體驗到的又不太一樣,微軟的需求分析大多是市場人員和用戶協(xié)助小組的人去評估用戶的接受程度,這一點也可以理解,因為公司的性質(zhì)有根本差別)在這個過程中,用戶的確是處在主導(dǎo)地位,需求分析工程師和項目經(jīng)理要負(fù)責(zé)整理用戶需求,為之后的軟件設(shè)計打下基礎(chǔ)。需求分析階段結(jié)束后,要求得到:1.SRS文檔(System Requirement Specification); 2.DRM 文檔;3.Acceptance Plan.
從廣義上理解:需求分析包括需求的獲取、分析、規(guī)格說明、變更、驗證、管理的一系列需求工程。

狹義上理解:需求分析指需求的分析、定義過程。
一、為什么要需求分析
需求分析就是分析軟件用戶的需求是什么.如果投入大量的人力,物力,財力,時間,開發(fā)出的軟件卻沒人要,那所有的投入都是徒勞.如果費了很大的精力,開發(fā)一個軟件,最后卻不滿足用戶的要求,從而要重新開發(fā)過,這種返工是讓人痛心疾首的.(相信大家都有體會)比如,用戶需要一個for linux的軟件,而你在軟件開發(fā)前期忽略了軟件的運行環(huán)境,忘了向用戶詢問這個問題,而想當(dāng)然的認(rèn)為是開發(fā)for windows的軟件,當(dāng)你千辛萬苦地開發(fā)完成向用戶提交時才發(fā)現(xiàn)出了問題,那時候你是欲哭無淚了,痕不得找塊豆腐一頭撞死.
需求分析之所以重要,就因為他具有決策性,方向性,策略性的作用,他在軟件開發(fā)的過程中具有舉足輕重的地位.大家一定要對需求分析具有足夠的重視.在一個大型軟件系統(tǒng)的開發(fā)中,他的作用要遠(yuǎn)遠(yuǎn)大于程序設(shè)計.
二、需求分析的任務(wù)
簡言之,需求分析的任務(wù)就是解決"做什么"的問題,就是要全面地理解用戶的各項要求,并準(zhǔn)確地表達(dá)所接受的用戶需求.
三、需求分析的過程
需求分析階段的工作,可以分為四個方面:問題識別,分析與綜合,制訂規(guī)格說明,評審.
問題識別
就是從系統(tǒng)角度來理解軟件,確定對所開發(fā)系統(tǒng)的綜合要求,并提出這些需求的實現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn).這些需求包括:功能需求(做什么),性能需求(要達(dá)到什么指標(biāo)),環(huán)境需求(如機型,操作系統(tǒng)等),可靠性需求(不發(fā)生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟件運行是所需的內(nèi)存,CPU等),軟件成本消耗與開發(fā)進(jìn)度需求,預(yù)先估計以后系統(tǒng)可能達(dá)到的目標(biāo).
分析與綜合
逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素間的聯(lián)系,接口特性和設(shè)計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分.最后,綜合成系統(tǒng)的解決方案,給出要開發(fā)的系統(tǒng)的詳細(xì)邏輯模型(做什么的模型).
制訂規(guī)格說明書
即編制文檔,描述需求的文檔稱為軟件需求規(guī)格說明書.請注意,需求分析階段的成果是需求規(guī)格說明書(好象軟考曾經(jīng)考過這個問題),向下一階段提交.
總結(jié):以上內(nèi)容就是什么是需求分析(什么是需求分析)詳細(xì)介紹,如果您對創(chuàng)業(yè)項目感興趣,可以咨詢客服或者文章下面留言,我們會第一時間給您項目的反饋信息。