在軟件開發(fā)過程中,需求分析指的是在創(chuàng)建一個新的或改變一個現(xiàn)存的系統(tǒng)或產(chǎn)品時,確定新系統(tǒng)的目的、范圍、定義和功能時所要做的所有工作。需求分析是軟件開發(fā)過程中的一個關(guān)鍵過程。在這個過程中,系統(tǒng)分析員和軟件開發(fā)工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。
在軟件開發(fā)的歷史中,很長時間里人們一直認為需求分析是整個軟件開發(fā)過程中最簡單的一個步驟,但在過去十年中越來越多的人認識到它是整個過程中最關(guān)鍵的一個過程。假如在需求分析時,分析者們未能正確地認識到顧客的需要的話,那么最后的軟件實際上不可能達到顧客的需要,或者軟件無法在規(guī)定的時間里完工。
順利地完成需求分析是一個艱巨的挑戰(zhàn)。首先要確認所有持有關(guān)鍵信息的人本身就不容易,然后還要從這些人獲得可用的信息,把這些信息轉(zhuǎn)化為清晰的和完整的形式。同時分析者還要考慮到可能的限制。