[摘要] 軟件需求開發(fā)作為軟件項目管理的前期工作,貫穿項目過程的始終,能夠?qū)崿F(xiàn)軟件開發(fā)最終產(chǎn)品同需求的最佳結(jié)合。本文應用項目管理理論,將軟件需求開發(fā)過程劃分為需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段,并設計了軟件需求開發(fā)管理模型。該模型能夠提高軟件需求開發(fā)管理效率,確保軟件開發(fā)能夠按進度,低成本,高質(zhì)量地完成。
[關鍵詞] 項目管理 軟件需求開發(fā) 進度 成本 質(zhì)量 管理模型
一、引言
軟件需求開發(fā)是軟件工程的一個重要環(huán)節(jié),在軟件生命周期中的需求、設計、編碼、測試和維護等各個階段中,需求開發(fā)處于軟件工程的開始部分,它提供構(gòu)建軟件項目的根基,決定軟件開發(fā)成果滿足客戶需求的匹配程度。軟件需求開發(fā)環(huán)節(jié)的失誤會隨著開發(fā)進度的擴大而蔓延,資料表明,軟件項目中由于需求開發(fā)管理混亂而造成的返工開銷幾乎占了總開發(fā)的50%。本文應用項目管理理論分析軟件需求開發(fā)階段的系統(tǒng)構(gòu)成,并設計管理模型來提高軟件需求開發(fā)的管理效率。
二、軟件需求開發(fā)管理過程
由于計算機技術的迅速發(fā)展,使得軟件需求具有模糊性、不確定性、變化性、主觀性等特點,并帶來軟件需求開發(fā)管理的復雜性。軟件需求開發(fā)是一定的組織利用有限的資源在規(guī)定的時間內(nèi)完成,可以作為項目來進行管理,其管理過程由需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段構(gòu)成。
1.需求獲取
需求獲取是在問題和最終解決方案之間架設橋梁,其主要任務是和用戶方的領導層、業(yè)務層人員進行溝通,獲取用戶的具體需求,并了解用戶的組織架構(gòu)、業(yè)務流程、硬件環(huán)境、軟件環(huán)境、現(xiàn)有的運行系統(tǒng)等具體情況,同用戶建立起良好的溝通渠道和方式。軟件需求獲取的方法有:與用戶交談,向用戶提問題;參觀用戶的工作流程,觀察用戶的操作;用戶工作的情景分析;現(xiàn)有系統(tǒng)的問題報告和改進要求,事件和響應;市場調(diào)查和向用戶群體發(fā)調(diào)查問卷;與同行、專家交談,聽取他們的意見;分析已經(jīng)存在的同類軟件產(chǎn)品,提取需求;從現(xiàn)有產(chǎn)品或競爭產(chǎn)品的文檔中提取需求;從行業(yè)標準、規(guī)則中提取需求;從 Internet上搜查相關資料等。
2.需求分析
需求分析主要通過建立業(yè)務模型的方式來描述用戶的功能需求,為客戶、用戶、開發(fā)方等不同參與者提供一個交流的渠道。業(yè)務模型可以映射出軟件產(chǎn)品的核心需求,即功能需求。功能需求應描述軟件提供的功能和服務、對輸入的響應,并描述特定條件下的系統(tǒng)構(gòu)成等。軟件產(chǎn)品本身可能還存在與業(yè)務無直接關系的非功能需求,具體與系統(tǒng)的總體特性有關,如可靠性、響應時間、存儲空間等。非功能需求定義系統(tǒng)提供服務或功能的約束,包括時間約束、空間約束、開發(fā)過程約束及應遵循的標準等。通常這兩類需求構(gòu)成軟件需求的總集。
3.編制軟件需求規(guī)格
軟件需求規(guī)格的編制是為了使用戶和軟件開發(fā)者雙方對該軟件的初始規(guī)定有一個共同的理解,使之成為整個開發(fā)工作的基礎,需求分析完成的標志就是提交一份完整的軟件需求規(guī)格說明書。軟件需求規(guī)格說明書以一種開發(fā)人員可用的技術形式闡述軟件必須提供的功能和具備的性能,以及必須考慮的限制條件。軟件項目客戶通過軟件需求規(guī)格了解軟件項目能夠提供的軟件產(chǎn)品,檢查軟件需求是否滿足需要;項目管理人員根據(jù)軟件需求規(guī)格制定項目的開發(fā)計劃和管理過程;軟件開發(fā)人員通過軟件需求規(guī)格理解要開發(fā)的產(chǎn)品及具體要開發(fā)的內(nèi)容;軟件測試人員通過軟件需求規(guī)格驗證軟件。
4.需求評審
編寫的軟件需求規(guī)格說明書還應當進行需求評審,確保需求確定的科學性??刹捎孟铝兄笜诉M行評審:
(1)正確性:每條需求都正確代表構(gòu)建軟件系統(tǒng)所要完成的