軟件需求分析的任務是:深入描述軟件的功能和性能,確定軟件設計的約束和軟件同其他系統元素的接口細節,定義軟件的其他有效性需求,借助于當前系統的邏輯模型導出目標系統邏輯模型,解決目標系統”做什么”的問題.
需求分析可分為需求提出、需求分析描述及需求評審三個階段。
需求提出——主要集中于描述系統目的。需求提出和分析僅僅集中在使用者對系統的觀點上。用戶、開發人員和用戶確定一個問題領域,并定義一個描述該問題的系統。這樣的定義稱作系統規格說明,并且它在用戶和開發人員之間充當合同。
需求分析描述——在問題分析階段分析人員的主要任務是:對用戶的需求進行鑒別、綜合和建模,清除用戶需求的模糊性、歧義性和不一致性,分析系統的數據要求,為原始問題及目標軟件建立邏輯模型。分析人員的主要做法是:要將對原始問題的理解與軟件開發經驗結合起來,以便發現哪些要求是由于用戶的片面性或短期行為所導致的不合理要求,哪些是用戶尚未提出但是有真正價值的潛在需求。
需求評審——在需求評審階段,分析人員要在用戶和軟件設計人員的配合下對自己生成的需求規格說明和初步的用戶手冊進行復核,以確保軟件需求的完整、準確、清晰、具體,并使用戶和軟件設計人員對需求規格說明和初步的用戶手冊的理解達成一致。一旦發現遺漏或者模糊點,必須盡快更正,再進行檢查。