需求分析是什麼意思有什麼特點
需求分析指的是在建立一個新的或改變一個現存的電腦系統時描寫新系統的目的、範圍、定義和功能時所要做的所有的工作,以下是由小編整理關於什麼是需求分析的內容,希望大家喜歡!
需求分析的介紹
所謂"需求分析",是指對要解決的問題進行詳細的分析,弄清楚問題的要求,包括需要輸入什麼資料,要得到什麼結果,最後應輸出什麼。可以說,在軟體工程當中的“需求分析”就是確定要計算機“做什麼”,要達到什麼樣的效果。可以說需求分析是做系統之前必做的。
在軟體工程中,需求分析指的是在建立一個新的或改變一個現存的電腦系統時描寫新系統的目的、範圍、定義和功能時所要做的所有的工作。需求分析是軟體工程中的一個關鍵過程。在這個過程中,系統分析員和軟體工程師確定顧客的需要。只有在確定了這些需要後,他們才能夠分析和尋求新系統的解決方法。需求分析階段的任務是確定軟體系統功能。
在軟體工程的歷史中,很長時間裡人們一直認為需求分析是整個軟體工程中最簡單的一個步驟。但在近十年內,越來越多的人認識到,需求分析是整個過程中最關鍵的一個部分。假如在需求分析時分析者們未能正確地認識到顧客的需要的話,那麼最後的軟體實際上不可能達到顧客的需要,或者軟體專案無法在規定的時間裡完工。
需求分析的特點
需求分析是一項重要的工作,也是最困難的工作。該階段工作有以下特點:
供需交流困難
在軟體生存週期中,其它四個階段都是面向軟體技術問題,只有本階段是面向使用者的。需求分析是對使用者的業務活動進行分析,明確在使用者的業務環境中軟體系統應該"做什麼"。但是在開始時,開發人員和使用者雙方都不能準確地提出系統要"做什麼?"。因為軟體開發人員不是使用者問題領域的專家,不熟悉使用者的業務活動和業務環境,又不可能在短期內搞清楚;而使用者不熟悉計算機應用的有關問題。由於雙方互相不瞭解對方的工作,又缺乏共同語言,所以在交流時存在著隔閡。
需求動態化
對於一個大型而複雜的軟體系統,使用者很難精確完整地提出它的功能和效能要求。一開始只能提出一個大概、模糊的功能,只有經過長時間的反覆認識才逐步明確。有時進入到設計、程式設計階段才能明確,更有甚者,到開發後期還在提新的要求。這無疑給軟體開發帶來困難。
後續影響複雜
需求分析是軟體開發的基礎。假定在該階段發現一個錯誤,解決它需要用一小時的時間,到設計、程式設計、測試和維護階段解決,則要花2.5、5、25、100倍的時間。
因此,對於大型複雜系統而言,首先要進行可行性研究。開發人員對使用者的要求及現實環境進行調查、瞭解,從技術、經濟和社會因素三個方面進行研究並論證該軟體專案的可行性,根據可行性研究的結果,決定專案的取捨。
需求分析20條法則
客戶與開發人員交流需要好的方法。下面建議20條法則,客戶和開發人員可以通過評審以下內容並達成共識。如果遇到分歧,將通過協商達成對各自義務的相互理解,以便減少以後的磨擦***如一方要求而另一方不願意或不能夠滿足要求***。
1、 分析人員要使用符合客戶語言習慣的表達
需求討論集中於業務需求和任務,因此要使用術語。客戶應將有關術語***例如:採價、印花商品等採購術語***教給分析人員,而客戶不一定要懂得計算機行業的術語。
2、分析人員要了解客戶的業務及目標
只有分析人員更好地瞭解客戶的業務,才能使產品更好地滿足需要。這將有助於開發人員設計出真正滿足客戶需要並達到期望的優秀軟體。為幫助開發和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統,那麼開發和分析人員應使用一下舊系統,有利於他們明白系統是怎樣工作的,其流程情況以及可供改進之處。
3、 分析人員必須編寫軟體需求報告
分析人員應將從客戶那裡獲得的所有資訊進行整理,以區分業務需求及規範、功能需求、質量目標、解決方法和其他資訊。通過這些分析,客戶就能得到一份“需求分析報告”,此份報告使開發人員和客戶之間針對要開發的產品內容達成協議。報告應以一種客戶認為易於翻閱和理解的方式組織編寫。客戶要評審此報告,以確保報告內容準確完整地表達其需求。一份高質量的“需求分析報告”有助於開發人員開發出真正需要的產品。
4、 要求得到需求工作結果的解釋說明
分析人員可能採用了多種圖表作為文字性“需求分析報告”的補充說明,因為工作圖表能很清晰地描述出系統行為的某些方面,所以報告中各種圖表有著極高的價值;雖然它們不太難於理解,但是客戶可能對此並不熟悉,因此客戶可以要求分析人員解釋說明每個圖表的作用、符號的意義和需求開發工作的結果,以及怎樣檢查圖表有無錯誤及不一致等。
下一頁更多有關“什麼是需求分析 ”的內容