項目管理理論的軟件需求開發(fā)論文

時間:2022-12-17 02:37:00

導語:項目管理理論的軟件需求開發(fā)論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

項目管理理論的軟件需求開發(fā)論文

[摘要]軟件需求開發(fā)作為軟件項目管理的前期工作,貫穿項目過程的始終,能夠?qū)崿F(xiàn)軟件開發(fā)最終產(chǎn)品同需求的最佳結(jié)合。本文應(yīng)用項目管理理論,將軟件需求開發(fā)過程劃分為需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段,并設(shè)計了軟件需求開發(fā)管理模型。該模型能夠提高軟件需求開發(fā)管理效率,確保軟件開發(fā)能夠按進度,低成本,高質(zhì)量地完成。

[關(guān)鍵詞]項目管理軟件需求開發(fā)進度成本質(zhì)量管理模型

一、引言

軟件需求開發(fā)是軟件工程的一個重要環(huán)節(jié),在軟件生命周期中的需求、設(shè)計、編碼、測試和維護等各個階段中,需求開發(fā)處于軟件工程的開始部分,它提供構(gòu)建軟件項目的根基,決定軟件開發(fā)成果滿足客戶需求的匹配程度。軟件需求開發(fā)環(huán)節(jié)的失誤會隨著開發(fā)進度的擴大而蔓延,資料表明,軟件項目中由于需求開發(fā)管理混亂而造成的返工開銷幾乎占了總開發(fā)的50%。本文應(yīng)用項目管理理論分析軟件需求開發(fā)階段的系統(tǒng)構(gòu)成,并設(shè)計管理模型來提高軟件需求開發(fā)的管理效率。

二、軟件需求開發(fā)管理過程

由于計算機技術(shù)的迅速發(fā)展,使得軟件需求具有模糊性、不確定性、變化性、主觀性等特點,并帶來軟件需求開發(fā)管理的復雜性。軟件需求開發(fā)是一定的組織利用有限的資源在規(guī)定的時間內(nèi)完成,可以作為項目來進行管理,其管理過程由需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段構(gòu)成。

1.需求獲取

需求獲取是在問題和最終解決方案之間架設(shè)橋梁,其主要任務(wù)是和用戶方的領(lǐng)導層、業(yè)務(wù)層人員進行溝通,獲取用戶的具體需求,并了解用戶的組織架構(gòu)、業(yè)務(wù)流程、硬件環(huán)境、軟件環(huán)境、現(xiàn)有的運行系統(tǒng)等具體情況,同用戶建立起良好的溝通渠道和方式。軟件需求獲取的方法有:與用戶交談,向用戶提問題;參觀用戶的工作流程,觀察用戶的操作;用戶工作的情景分析;現(xiàn)有系統(tǒng)的問題報告和改進要求,事件和響應(yīng);市場調(diào)查和向用戶群體發(fā)調(diào)查問卷;與同行、專家交談,聽取他們的意見;分析已經(jīng)存在的同類軟件產(chǎn)品,提取需求;從現(xiàn)有產(chǎn)品或競爭產(chǎn)品的文檔中提取需求;從行業(yè)標準、規(guī)則中提取需求;從Internet上搜查相關(guān)資料等。

2.需求分析

需求分析主要通過建立業(yè)務(wù)模型的方式來描述用戶的功能需求,為客戶、用戶、開發(fā)方等不同參與者提供一個交流的渠道。業(yè)務(wù)模型可以映射出軟件產(chǎn)品的核心需求,即功能需求。功能需求應(yīng)描述軟件提供的功能和服務(wù)、對輸入的響應(yīng),并描述特定條件下的系統(tǒng)構(gòu)成等。軟件產(chǎn)品本身可能還存在與業(yè)務(wù)無直接關(guān)系的非功能需求,具體與系統(tǒng)的總體特性有關(guān),如可靠性、響應(yīng)時間、存儲空間等。非功能需求定義系統(tǒng)提供服務(wù)或功能的約束,包括時間約束、空間約束、開發(fā)過程約束及應(yīng)遵循的標準等。通常這兩類需求構(gòu)成軟件需求的總集。

3.編制軟件需求規(guī)格

軟件需求規(guī)格的編制是為了使用戶和軟件開發(fā)者雙方對該軟件的初始規(guī)定有一個共同的理解,使之成為整個開發(fā)工作的基礎(chǔ),需求分析完成的標志就是提交一份完整的軟件需求規(guī)格說明書。軟件需求規(guī)格說明書以一種開發(fā)人員可用的技術(shù)形式闡述軟件必須提供的功能和具備的性能,以及必須考慮的限制條件。軟件項目客戶通過軟件需求規(guī)格了解軟件項目能夠提供的軟件產(chǎn)品,檢查軟件需求是否滿足需要;項目管理人員根據(jù)軟件需求規(guī)格制定項目的開發(fā)計劃和管理過程;軟件開發(fā)人員通過軟件需求規(guī)格理解要開發(fā)的產(chǎn)品及具體要開發(fā)的內(nèi)容;軟件測試人員通過軟件需求規(guī)格驗證軟件。

4.需求評審

編寫的軟件需求規(guī)格說明書還應(yīng)當進行需求評審,確保需求確定的科學性。可采用下列指標進行評審:(1)正確性:每條需求都正確代表構(gòu)建軟件系統(tǒng)所要完成的事情。(2)無歧義:每條需求只有一種解釋。(3)完備性:需求不能發(fā)生遺漏,應(yīng)全面考慮相關(guān)問題。(4)一致性:用戶需求必須和業(yè)務(wù)需求一致,功能需求必須和用戶需求一致。(5)重要性和穩(wěn)定性分級:現(xiàn)有資源不足以實現(xiàn)所有需求時,可以根據(jù)級別的高低決定實現(xiàn)的先后,舍棄一些級別低的需求以保證項目的按期交付。(6)可驗證性:需求分析是可測試的,只有系統(tǒng)的所有需求都是可以被測試的,才能夠保證軟件始終圍繞著用戶的需要,保證軟件系統(tǒng)是成功的。(7)可修改性:每一條需求都易于完整一致的進行變更,且不改變需求集的結(jié)構(gòu)和風格。(8)可跟蹤性:每條需求都是可溯源的,且存在一種機制使得在以后的工作中引用需求是可行的。(9)可理解性:用戶和開發(fā)人員都完全理解需求集的整體行為、所提供的功能及其中的每條需求的含義。

三、軟件需求開發(fā)管理模型

1.軟件需求開發(fā)管理模型構(gòu)建原則

軟件需求開發(fā)是一項復雜的系統(tǒng)工程,管理模型的構(gòu)建應(yīng)遵循下列原則:(1)程序性原則:軟件需求開發(fā)管理應(yīng)遵循固定的業(yè)務(wù)流程,可將其劃分為需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段,前一階段的工作完成后才能進入下一階段。(2)系統(tǒng)性原則:軟件需求開發(fā)要在限定的時間、成本條件約束下達到一定的質(zhì)量,實現(xiàn)軟件系統(tǒng)的最優(yōu),要求管理遵循系統(tǒng)管理原則,實現(xiàn)目標最優(yōu)。(3)簡化性原則:化繁為簡,將模糊的、潛在的復雜問題明確化,以圖表的形式表示出,并以簡化的解決方案解決問題,便于項目管理。(4)平衡性原則:管理軟件需求開發(fā)的具體事務(wù)要有一定的側(cè)重。對于需求開發(fā)過程事項,應(yīng)根據(jù)影響大小分清主次,關(guān)鍵的事項或者事項里的某個多發(fā)問題點,著重管理,達到在管理上的主次平衡。(5)高效性原則:模型的設(shè)計必須以促進需求開發(fā)目標的實現(xiàn)為前提,提供給相關(guān)人員一個展示需求開發(fā)管理和有效解決方案的平臺。(6)時時控制性原則:及時控制需求開發(fā)過程中影響進度、成本、質(zhì)量等問題,及時發(fā)現(xiàn)解決沖突事件,做到事前、事中、事后控制,保證項目按時保質(zhì)保量完成。(7)動態(tài)性原則:開發(fā)中應(yīng)關(guān)注信息技術(shù)的發(fā)展,將先進的技術(shù)應(yīng)用到軟件需求開發(fā)中,并學習借鑒相關(guān)軟件需求開發(fā)的成果。

2.軟件需求開發(fā)管理模型

基于以上分析,本文構(gòu)建了軟件需求開發(fā)管理模型,見下圖:

該模型遵循了軟件需求開發(fā)的管理流程。啟動階段,軟件開發(fā)進行了可行性研究,軟件項目已立項,項目正式啟動。軟件需求開發(fā)管理階段是模型的主要部分,按照項目流程,依次劃分為需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段。總結(jié)階段,對軟件需求開發(fā)管理進行總結(jié),并進入到軟件程序設(shè)計階段。模型的核心部分是應(yīng)用項目管理的進度管理、成本管理、質(zhì)量管理,對軟件需求開發(fā)進行動態(tài)管理。進度管理就是制定出經(jīng)濟合理的進度計劃,然后在計劃執(zhí)行過程中,檢查實際進度與計劃進度之間的差異,并及時找出出現(xiàn)差異的原因,采取有效的補救措施,以確保項目按時按質(zhì)完成。進度管理應(yīng)加強溝通,掌握可能延誤進度的環(huán)節(jié),并嚴格控制進度變更。成本管理就是對項目所需的成本情況進行詳細地分析和估算,編制資源需求計劃,并編制項目所需的成本估算和預算,在執(zhí)行過程中,采取相應(yīng)的措施對項目成本進行控制。成本管理應(yīng)嚴格控制加班、浪費等額外支出。質(zhì)量管理是為了保證項目的可交付成果能夠滿足客戶的需求,圍繞項目質(zhì)量而進行的計劃、協(xié)調(diào)和控制等活動,其具體內(nèi)容涉及質(zhì)量規(guī)劃、實施質(zhì)量保證和質(zhì)量控制。通過進度管理、成本管理和質(zhì)量管理,使軟件需求開發(fā)成為進度快、成本低和質(zhì)量合格的有機統(tǒng)一體。

該模型規(guī)范了軟件需求開發(fā)的業(yè)務(wù)流程,并在整個軟件需求開發(fā)的不同環(huán)節(jié)之間建立聯(lián)系,明確需求開發(fā)過程與自身各任務(wù)項之間以及項目其余環(huán)節(jié)所存在的各種聯(lián)系。模型各環(huán)節(jié)間的相關(guān)性、可追溯性保證了軟件項目需求開發(fā)過程,可以遵循統(tǒng)一的管理模式。該模型具備可配置性。每個軟件項目,都具有個性化管理需求,在進度管理、成本管理、質(zhì)量管理等方面有不同的要求,可以針對具體的開發(fā)團隊,項目要求,管理側(cè)重點,擴增相應(yīng)的管理模塊,將此模型推廣到任何一個軟件需求開發(fā)項目。

3.模型應(yīng)用

由于軟件需求開發(fā)具有復雜性,其主要表現(xiàn)為需求描述問題,明確表達需求較難確定,并且難以統(tǒng)一;需求完備問題,需求沒有遺漏,難以準確劃定系統(tǒng)范圍;需求的變更問題,需求變化是永恒,需求不可能是完備。模型應(yīng)用需做好以下工作:(1)文檔化管理。需求必須有文檔來記錄,該文檔必須是正確的,是經(jīng)過驗證的,是在受控的狀態(tài)下變更的。開發(fā)或管理人員常常會在含糊的情況下把認為是相對簡單的需求忽視而省略文檔記錄,其實未必簡單,只有想清楚、寫清楚、說清楚才說明已經(jīng)真正把需求整理清楚了,同時方便日后維護工作的展開。需求含糊的情況下要進行會議形式處理,并邀請相關(guān)人員參加進行需求澄清及確定,需求在進行多方確定后進行歸檔。同時軟件需求的復用率也是相當高的,可以避免升級時重新將需求再次獲取,只需要在原來的基礎(chǔ)上作為文擋需求復用升級處理。(2)審核評估需求變更,減少變更的影響。在管理軟件開發(fā)過程中,需求漸變是必然的,無論需求變化的程度如何,只要需求變更就必須進行評估。在需求變更之前必須由項目管理人員審核,再傳給開發(fā)人員進行評估等工作。管理人員必需依據(jù)對整套系統(tǒng)的了解程度分析需求變更過程中可能受影響的系統(tǒng)及受關(guān)聯(lián)的功能模塊,并制定積極應(yīng)對措施。(3)整體管理。應(yīng)識別、確定、結(jié)合、統(tǒng)一與協(xié)調(diào)軟件需求開發(fā)管理過程中所需要進行的各種過程和活動,保證進度、成本、質(zhì)量等各要素的相互協(xié)調(diào)。

四、結(jié)語

軟件需求開發(fā)在軟件項目管理中具有重要地位。本文應(yīng)用項目管理理論,設(shè)計了軟件需求開發(fā)管理模型。該模型遵循項目管理流程,將軟件需求開發(fā)劃分啟動、需求開發(fā)過程、總結(jié)三個階段,并將軟件需求開發(fā)過程劃分為需求獲取、需求分析、編寫軟件需求規(guī)格和需求驗證四個階段,模型應(yīng)用項目管理的進度管理、成本管理、質(zhì)量管理,對軟件需求開發(fā)進行動態(tài)管理,實現(xiàn)軟件需求開發(fā)項目目標最優(yōu)。該模型能夠提高軟件需求開發(fā)管理效率,確保軟件開發(fā)能夠按進度,低成本,高質(zhì)量地完成。

參考文獻:

[1]景慎艷:軟件項目需求管理的探索與實踐[J].電腦知識與技術(shù),2008(27)

[2]左懷遠:軟件項目中的風險管理研究[J].世界科技研究與發(fā)展,2008(3)

[3]孫琦龍:加強軟件項目管理的實踐模式[J].科技信息,2008(7)

[4]潘加宇:軟件工程與項目管理[J].程序員,2007(12)

[5]胡英培:軟件項目管理探討[J].軟件導刊,2007(13)