軟件需求分析是對開發什麽樣的軟件進行系統的分析和假設。它是壹個去粗取精,去偽存真,正確理解用戶需求,然後用軟件工程開發語言(形式化功能規約,即需求規約)表達出來的過程。這壹階段的基本任務是與用戶確定要解決的問題,建立軟件的邏輯模型,編寫需求規格說明文檔,最終得到用戶的認可。需求分析的主要方法有結構化方法、數據流程圖和數據字典。這壹階段的工作是根據需求說明書的要求,設計並建立相應的軟件系統架構,將整個系統分解為若幹子系統或模塊,定義子系統或模塊之間的接口關系,定義各子系統的具體設計,編寫軟件概要設計和詳細設計說明書,數據庫或數據結構設計說明書,組裝測試計劃。在任何軟件或系統開發的初始階段,都需要充分把握用戶的需求,以便在後續的系統開發過程中優先考慮應該實現哪些功能,采用哪些規範,設置哪些限制。系統工程師將在此基礎上最終完成設計方案,然後定義後續的程序開發、系統功能和性能描述及限制。