軟件需求分析的過程具體可分為對問題的識別、分析與綜合、制定規格說明和評審。
問題識別是指系統分析人員研究可行性分析報告和軟件項目實施計劃,確定目標系統的綜合要求,并提出這些需求實現條件,以及需求應達到的標準。這些需求分為:功能性需求+非功能性需求,其具體包括:
(1)功能需求:列舉出所開發軟件在職能上應做什么。
(2)性能需求:給出所開發軟件的技術性能指標,如存儲容量限制、運行時間限制、安全保密性等。
(3)環境需求:軟件系統運行時所處環境的要求,如硬件方面:機型、外部設備、數據通信接口;軟件方面:系統軟件,包括操作系統、網絡軟件、數據庫管理系統方面;使用方面:使用部門在制度上,操作人員上的技術水平上應具備怎樣的條件。
(4)可靠性需求:對所開發軟件在投入運行后不發生故障的概率,按實際的運行環境提出要求。所以對于重要的軟件,或是運行失效會造成嚴重后果的軟件,應提出較高的可靠性要求。
(5)安全保密要求:應當在這方面恰當地做出規定,對所開發的軟件給予特殊的設計,使其在運行中,其安全保密方面的性能得到必要的保證。
(6)用戶界面需求:為用戶界面細致地規定到達的要求。
(7)資源使用需求:開發的軟件在運行時和開發時所需要的各種資源。
(8)軟件成本消耗與開發進度需求:在軟件項目立項后,要根據合同規定,對軟件開發的進度和各步驟的費用提出要求,作為開發管理的依據。
(9)預先估計以后系統可能達到的目標,這樣可以比較容易對系統進行必要的補充和修改。除了這些必需的需求,問題識別的另一個工作是建立分析所需要的通信途徑,以保證能順利地對問題進行分析。