【摘要】 軟件規模度量是軟件項目管理過程中必須引起足夠重視的工作。本文針對項目計劃階段的規模度量代碼行方法和功能點方法進行整合設計并得到新的框架圖,以期對軟件規模度量方法做一個新的探討。
【關鍵詞】 軟件規模 度量 代碼行 功能點
引言
根據有關統計調查顯示,1/3左右的軟件項目在工作量、成本及時間上超出額定限度的125%以上,其他2/3的項目中也有絕大多數會延期,約只有10%的項目能夠在預定的時間和預算下交付。軟件開發項目出現上述問題的主要原因在于項目初期對軟件規模度量不準確,因此,軟件規模度量是軟件項目管理過程中必須引起足夠重視的工作。
本文首先對現有適用范圍較廣的代碼行度量LOC和功能點度量FPA方法進行介紹,然后分別討論軟件開發項目各階段的軟件規模度量管理所應該運用的方法進行選擇,針對項目計劃階段的規模度量方法LOC和FPA進行整合設計并得到新的框架圖,最后對本文的研究進行了總結和展望。
1. 相關理論和方法介紹
1.1軟件估算和軟件規模度量
軟件估算是“在給定的公差范圍內,對于所要開發的軟件規模的預測,以及對開發軟件所需的工作量、成本和日歷時間的預測”。其中,軟件規模估算是軟件估算工作的基礎,只有根據軟件的需求,抽取軟件特征,估算項目規模,才能得到工作量估算,進而得到進度、成本和所需資源的估算,并最終完成軟件估算。
1.2代碼行度量
1.3功能點分析
1.4其他規模度量方法
其他的方法有NESMA方法、MarkⅡ方法、COSMIC-FFPⅡ全功能點分析法等方法,以適應不同的軟件系統開發的規模度量。此外,還有基于專家判定的Delphi法、兩兩比較法及類比法等。
2.軟件開發項目各階段的規模度量方法選擇
軟件規模的管理過程不只是存在于項目計劃階段,它開始于項目立項階段,直到項目交付時歸檔保存結束,主要包括軟件規模粗略估計、詳細估算、監控調整和歸檔保存。
在軟件項目開發的不同階段,應根據情況綜合利用這度量方法對軟件規模進行把握:(1)項目啟動階段,進行快速FPA度量。本階段的主要任務是項目立項評審,需要依據軟件估算結果進行投資、外包、競標等眾多商業決策。(2)項目計劃階段,進行詳細FPA度量,并進行LOC預測。本階段的主要任務是對項目的工作量、成本、資源進行計劃,以指導項目開發過程。(3)項目實施控制階段,根據LOC對項目進度進行監控管理,根據需求管理對FPA進行調整管理。本階段的主要任務是編程人員按照計劃對開發軟件進行開發設計。(4)項目收尾階段,對LOC和FPA規模進行最終確認,記錄軟件開發的規模估算和實際信息,以備軟件后期維護需要。
3. 項目計劃階段LOC-FPA方法整合
LOC規模度量方法是從技術角度出發,重點關注軟件的可實現性;FPA規模度量方法則是從用戶角度出發,重點關注用戶對軟件的需求。對于同一款軟件,其規模應該是固定的,但由于度量角度不同,度量結果也不一樣,為使得軟件開發項目能夠獲得成功,將這兩種度量方法結合起來對軟件規模進行度量預測是有意義的。
上一節內容是將項目規模度量在項目開發過程的各階段進行選擇并運用。軟件規模度量問題最多需要重點關注的是項目計劃階段對規模的詳細估算。下圖即是針對這一階段將LOC和FPA兩種方法整合研究后提出的LOC-FPA規模估算方法框架圖。
4. 研究結論和展望
本文主要針對項目計劃階段的軟件規模詳細估算進行研究,提出了整合的LOC-FPA度量方法框架,能夠保證規模度量的準確性。同時,還對軟件項目規模度量的全過程從管理視角上進行了研究,結合LOC和FPA兩種方法進行度量,以保證項目各階段順利進行。
本文只是從理論上將LOC和FPA兩種方法進行了整合研究,未來還可以進一步的實證研究,以驗證框架的合理性和可利用性;以本方法框架為基礎對工作量、成本、人力等估算的方法研究;軟件項目實施階段根據估算規模進行的軟件開發監控方式研究。
參考文獻:
[1](印)Swapna Kishore,Rajesh Naik著.施平安譯.軟件需求與估算.機械工業出版社.2004.
[2]孫鵬,左超.按軟件規模度量的方法初探.價值工程.2009.第7期83-85.
[3]付雅芳,劉曉東,李延杰.基于改進FPA的軟件規模估算方法.計算機工程與應用.2011.第47卷第1期22-25轉31.
(作者單位:吉林大學管理學院)