什么是需求分析(什么是需求分析),36創業加盟網給大家帶來詳細的介紹,讓更多的人可以參考:什么是需求分析(什么是需求分析)。
評審
對功能的正確性,完整性和清晰性,以及其它需求給予評價.評審通過才可進行下一階段的工作,否則重新進行需求分析。
四、需求分析的方法
需求分析的方法有很多.這里只強調原型化方法,其它的方法如:結構化方法,動態分析法等(個人認為,對初學者不必深究這些方法,實際上我也從來沒用過這些方法)在此不討論.
原型化方法是十分重要的(是軟考等常考的知識點).原型就是軟件的一個早期可運行的版本,它實現了目標系統的某些或全部功能.
原型化方法就是盡可能快地建造一個粗糙的系統,這系統實現了目標系統的某些或全部功能,但是這個系統可能在可靠性,界面的友好性或其他方面上存在缺陷.建造這樣一個系統的目的是為了考察某一方面的可行性,如算法的可行性,技術的可行性,或考察是否滿足用戶的需求等.如,為了考察是否滿足用戶的要求,可以用某些軟件工具快速的建造一個原型系統,這個系統只是一個界面,然后聽取用戶的意見,改進這個原型.以后的目標系統就在原型系統的基礎上開發.
原型主要有三種類型(軟考考過):探索型,實驗型,進化型.探索型:目的是要弄清楚對目標系統的要求,確定所希望的特性,并探討多種方案的可行性.實驗型:用于大規模開發和實現前,考核方案是否合適,規格說明是否可靠.進化型:目的不在于改進規格說明,而是將系統建造得易于變化,在改進原型的過程中,逐步將原型進化成最終系統。
在使用原型化方法是有兩種不同的策略:廢棄策略,追加策略.廢棄策略:先建造一個功能簡單而且質量要求不高的模型系統,針對這個系統反復進行修改,形成比較好的思想,據此設計出較完整,準確,一致,可靠的最終系統.系統構造完成后,原來的模型系統就被廢棄不用.探索型和實驗型屬于這種策略。
追加策略:先構造一個功能簡單而且質量要求不高的模型系統,作為最終系統的核心,然后通過不斷地擴充修改,逐步追加新要求,發展成為最終系統。進化型屬于這種策略.
五、需求分析的20條法則
客戶與開發人員交流需要好的方法。下面建議20條法則,客戶和開發人員可以通過評審以下內容并達成共識。如果遇到分歧,將通過協商達成對各自義務的相互理解,以便減少以后的磨擦(如一方要求而另一方不愿意或不能夠滿足要求)。
1、 分析人員要使用符合客戶語言習慣的表達
需求討論集中于業務需求和任務,因此要使用術語。客戶應將有關術語(例如:采價、印花商品等采購術語)教給分析人員,而客戶不一定要懂得計算機行業的術語。
2、分析人員要了解客戶的業務及目標
只有分析人員更好地了解客戶的業務,才能使產品更好地滿足需要。這將有助于開發人員設計出真正滿足客戶需要并達到期望的優秀軟件。為幫助開發和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統,那么開發和分析人員應使用一下目前的舊系統,有利于他們明白目前系統是怎樣工作的,其流程情況以及可供改進之處。
3、 分析人員必須編寫軟件需求報告
分析人員應將從客戶那里獲得的所有信息進行整理,以區分業務需求及規范、功能需求、質量目標、解決方法和其他信息。通過這些分析,客戶就能得到一份“需求分析報告”,此份報告使開發人員和客戶之間針對要開發的產品內容達成協議。報告應以一種客戶認為易于翻閱和理解的方式組織編寫。客戶要評審此報告,以確保報告內容準確完整地表達其需求。一份高質量的“需求分析報告”有助于開發人員開發出真正需要的產品。
4、 要求得到需求工作結果的解釋說明
分析人員可能采用了多種圖表作為文字性“需求分析報告”的補充說明,因為工作圖表能很清晰地描述出系統行為的某些方面,所以報告中各種圖表有著極高的價值;雖然它們不太難于理解,但是客戶可能對此并不熟悉,因此客戶可以要求分析人員解釋說明每個圖表的作用、符號的意義和需求開發工作的結果,以及怎樣檢查圖表有無錯誤及不一致等。
5、 開發人員要尊重客戶的意見
如果用戶與開發人員之間不能相互理解,那關于需求的討論將會有障礙。共同合作能使大家“兼聽則明”。參與需求開發過程的客戶有權要求開發人員尊重他們并珍惜他們為項目成功所付出的時間,同樣,客戶也應對開發人員為項目成功這一共同目標所做出的努力表示尊重。
6、 開發人員要對需求及產品實施提出建議和解決方案
通常客戶所說的“需求”已經是一種實際可行的實施方案,分析人員應盡力從這些解決方法中了解真正的業務需求,同時還應找出已有系統與當前業務不符之處,以確保產品不會無效或低效;在徹底弄清業務領域內的事情后,分析人員就能提出相當好的改進方法,有經驗且有創造力的分析人員還能提出增加一些用戶沒有發現的很有價值的系統特性。
7、 描述產品使用特性
客戶可以要求分析人員在實現功能需求的同時還注意軟件的易用性,因為這些易用特性或質量屬性能使客戶更準確、高效地完成任務。例如:客戶有時要求產品要“界面友好”或“健壯”或“高效率”,但對于開發人員來講,太主觀了并無實用價值。正確的做法是,分析人員通過詢問和調查了解客戶所要的“友好、健壯、高效所包含的具體特性,具體分析哪些特性對哪些特性有負面影響,在性能代價和所提出解決方案的預期利益之間做出權衡,以確保做出合理的取舍。
8、 允許重用已有的軟件組件
需求通常有一定靈活性,分析人員可能發現已有的某個軟件組件與客戶描述的需求很相符,在這種情況下,分析人員應提供一些修改需求的選擇以便開發人員能夠降低新系統的開發成本和節省時間,而不必嚴格按原有的需求說明開發。所以說,如果想在產品中使用一些已有的商業常用組件,而它們并不完全適合您所需的特性,這時一定程度上的需求靈活性就顯得極為重要了。
9、 要求對變更的代價提供真實可靠的評估
有時,人們面臨更好、也更昂貴的方案時,會做出不同的選擇。而這時,對需求變更的影響進行評估從而對業務決策提供幫助,是十分必要的。所以,客戶有權利要求開發人員通過分析給出一個真實可信的評估,包括影響、成本和得失等。開發人員不能由于不想實施變更而隨意夸大評估成本。
10、 獲得滿足客戶功能和質量要求的系統
每個人都希望項目成功,但這不僅要求客戶要清晰地告知開發人員關于系統“做什么”所需的所有信息,而且還要求開發人員能通過交流了解清楚取舍與限制,一定要明確說明您的假設和潛在的期望,否則,開發人員開發出的產品很可能無法讓您滿意。
11、 給分析人員講解您的業務
分析人員要依靠客戶講解業務概念及術語,但客戶不能指望分析人員會成為該領域的專家,而只能讓他們明白您的問題和目標;不要期望分析人員能把握客戶業務的細微潛在之處,他們可能不知道那些對于客戶來說理所當然的“常識”。
12、 抽出時間清楚地說明并完善需求
客戶很忙,但無論如何客戶有必要抽出時間參與“頭腦高峰會議”的討論,接受采訪或其他獲取需求的活動。有些分析人員可能先明白了您的觀點,而過后發現還需要您的講解什么是需求分析,這時請耐心對待一些需求和需求的精化工作過程中的反復,因為它是人們交流中很自然的現象,何況這對軟件產品的成功極為重要。
13、 準確而詳細地說明需求
編寫一份清晰、準確的需求文檔是很困難的。由于處理細節問題不但煩人而且耗時,因此很容易留下模糊不清的需求。但是在開發過程中,必須解決這種模糊性和不準確性,而客戶恰恰是為解決這些問題作出決定的最佳人選,否則,就只好靠開發人員去正確猜測了。
在需求分析中暫時加上“待定”標志是個方法。用該標志可指明哪些是需要進一步討論、分析或增加信息的地方,有時也可能因為某個特殊需求難以解決或沒有人愿意處理它而標注上“待定”。客戶要盡量將每項需求的內容都闡述清楚,以便分析人員能準確地將它們寫進“軟件需求報告”中去。如果客戶一時不能準確表達,通常就要求用原型技術,通過原型開發,客戶可以同開發人員一起反復修改,不斷完善需求定義。
14、 及時作出決定
分析人員會要求客戶作出一些選擇和決定,這些決定包括來自多個用戶提出的處理方法或在質量特性沖突和信息準確度中選擇折衷方案等。有權作出決定的客戶必須積極地對待這一切,盡快做處理,做決定,因為開發人員通常只有等客戶做出決定才能行動,而這種等待會延誤項目的進展。
15、 尊重開發人員的需求可行性及成本評估
所有的軟件功能都有其成本。客戶所希望的某些產品特性可能在技術上行不通,或者實現它要付出極高的代價,而某些需求試圖達到在操作環境中不可能達到的性能,或試圖得到一些根本得不到的數據。開發人員會對此作出負面的評價,客戶應該尊重他們的意見。
16、 劃分需求的優先級
絕大多數項目沒有足夠的時間或資源實現功能性的每個細節。決定哪些特性是必要的,哪些是重要的,是需求開發的主要部分,這只能由客戶負責設定需求優先級,因為開發者不可能按照客戶的觀點決定需求優先級;開發人員將為您確定優先級提供有關每個需求的花費和風險的信息。
在時間和資源限制下,關于所需特性能否完成或完成多少應尊重開發人員的意見。盡管沒有人愿意看到自己所希望的需求在項目中未被實現,但畢竟是要面對現實,業務決策有時不得不依據優先級來縮小項目范圍或延長工期,或增加資源,或在質量上尋找折衷。
總結:以上內容就是什么是需求分析(什么是需求分析)詳細介紹,如果您對創業項目感興趣,可以咨詢客服或者文章下面留言,我們會第一時間給您項目的反饋信息。
我對加盟感興趣,馬上免費通話或留言!
(24小時內獲得企業的快速回復)
我們立即與您溝通
溫馨提示:
1.此次通話將不會產生任何費用, 請放心使用
7x24小時電話咨詢
130*1234567