?

軟件成本度量系統的研究與應用

2024-02-13 06:56劉雅萱唐海濤鄔遠祥
科學與信息化 2024年3期
關鍵詞:工作量度量生產率

劉雅萱 唐海濤,3 鄔遠祥,3

1. 中國電建集團華東勘測設計研究院有限公司 浙江 杭州 311122;

2. 浙江華東工程數字技術有限公司 浙江 杭州 311122;

3. 數字城市CIM技術浙江省工程研究中心 浙江 杭州 311122

引言

如何進行精確的軟件開發的工作量和成本估算是軟件工程行業和學術界普遍關注的問題。在項目實施過程中,估算的工作量和成本可以為公司軟件開發的資源投入提供科學依據,有效控制項目范圍和質量。此外,在預算及招投標中,軟件成本估算有助于制定項目預算,明確合理的投標價格范圍。軟件成本估算是軟件項目管理中的重要組成部分,也是決定項目能否成功的關鍵因素。

傳統上,企業在估算軟件成本時,主要依靠領域專家的知識和經驗,或是以歷史項目為參照。類似的專家經驗方法或類比方法過多地依賴人的主觀判斷,因此估算結果的個體差異明顯,并且難以再現。更為主要的是,這類方法缺乏統一可靠的標準對估算過程和結果進行監督和衡量,因此在實踐中遇到了越來越多的同題。

近年來,軟件工程學的研究者建立了大量的估算模型,如COCOMO&COCOMOⅡ[1]、裁剪的COCOMOⅡ[2]、對數線性回歸[3]、支持向量機[4]、多層感知機[5]等,用于預測軟件開發的工作量或成本。這類方法一般采用固定的、可重現的估算流程,便于估算過程的監督和控制。但是這類方法一般需要大量觀測數據來對模型進行校準。

目前我國已經發布了軟件規模測量的標準,包括COSMIC[6]、NESMA[7]、IFPUG等,和在軟件規模的基礎上進行工作量和成本估算的標準[8],并進行了實際應用。但仍缺乏基于現行標準的成本估算方法和配套工具。這使得企業無法快速準確地明確項目成本。本文介紹了一個基于我國現行標準的軟件成本估算模型,在此基礎上,開發了一個軟件成本度量系統,在估算成本的同時,還可以區分企業的有效投入和無效投入。文末給出了應用系統進行估算的實例。

1 成本度量模型

1.1 模型框架

軟件開發的主要成本為直接人力成本,即項目組成員的總工資,相當于項目組成員工作量和單位時間工資的乘積。其中,項目組成員包括參與該項目開發過程的所有開發和支持人員,如項目經理、需求分析人員、開發人員、測試人員、部署人員、質量保證人員和配置管理人員等?;谶@種想法,建立了一個三階段的成本度量模型,首先根據產品需求文檔計算軟件規模,然后根據計算出的軟件規模和行業的生產率數據,估算所需工作量,最后基于工作量和行業工資數據,估算出成本,如圖1所示。

圖1 成本度量模型

1.2 規模計算

首先,基于產品需求文檔等,對軟件功能進行拆分。按照內部邏輯文件(ILF)、外部接口文件(EIF)、外部輸入(EI)、外部輸出(EO)和外部查詢(EQ)五種類型對功能進行拆分和識別。

將拆分后各功能的功能點進行累加,計算軟件規模S,單位為FP(Function Point)。此處采用NESMA方法中的估算功能點計數,是項目生存周期早期進行的,確定應用程序或者項目可能規模的一種功能點計數,在該階段,只有特定的最小規格說明可以用于計數。

1.3 工作量估算

軟件開發的工作包含開發類工作和支持類工作。其中,開發類工作包括需求分析、設計開發、系統測試和運維實施四種崗位。其工作量計算方法為軟件規模除以各崗位工作的生產率C(FP/人天)。特別地,對于支持性工作,包括質量保證、項目管理等工作,沒有生產率用于計算工作量。這里按比例計算其工作量,一般研發類工作量占整體的85%,支持類工作占整體的15%。

1.4 成本估算

得到了各崗位工作量后,成本則是取各崗位工作量和崗位工資的乘積。軟件開發的總成本需要將各崗位的成本相加。

2 成本度量系統

2.1 整體結構設計

基于上述成本度量模型,設計實現了軟件成本度量系統,系統總體架構分為服務層、業務層和展示層,如圖2所示。

圖2 系統總體架構

2.2 模塊功能簡介

軟件成本度量系統共包括項目管理模塊、估算模塊、后評價和參數設置模塊。

2.2.1 項目管理模塊。該模塊對度量的項目進行管理,允許用戶新增、修改、查看和刪除項目信息。此外,管理項目的版本信息,用于軟件項目不同版本的成本估算。

2.2.2 估算模塊。該模塊實現軟件項目開發的工作量估算和成本估算功能。如圖3所示,進入項目門戶后,用戶可以選擇需要度量的版本,在軟件的每個版本下,按照五種功能類型,將軟件拆分成細粒度的功能點。功能點的錄入有導入和逐條新增兩種方式。錄入功能點后,點擊“一鍵估算”,即可計算出軟件該版本的規模、工作量和成本,估算信息將以圖表形式輸出。

圖3 估算模塊

特別地,對于每個功能點,有“客戶是否認可”的標識。發包方的成本,為所有“客戶認可”的功能點的成本之和,而承包方的成本,是所有功能點成本之和,無論客戶是否認可。估算結果如圖4所示。

圖4 估算結果

2.2.3 后評價和參數設置模塊。該模塊主要用于對比組織內項目的實際參數和預設參數,包括研發類和支持類工作量實際占比和預設占比的對比,以及各崗位的實際生產率和預設生產率。此外,該模塊還用于根據歷史項目,調整度量模型的參數,包括生產率、角色單價、各角色工作量比例和工作量調整因子。

3 系統應用實例

軟件成本度量系統的使用步驟如下:①系統管理員在參數設置模塊預設好組織級的生產率、工作量比例、單價和工作量調整因子,項目組成員依據產品需求文檔,拆分軟件功能點;②項目組成員點擊一鍵估算,即可得到當前功能點開發所需的總工作量和總成本;③點擊結果保存,將已完成的項目加入歷史項目庫,用于指導未來項目的估算或校準模型參數。

圖5為系統內近期項目的估算結果。

圖5 應用情況

4 結束語

本文重點介紹了一個三階段的軟件成本估算模型,包括規模計算、工作量估算和成本估算?;谠撃P?,設計開發了一個軟件成本度量系統,包含項目管理模塊、估算模塊、后評價模塊和參數設置模塊,可以很好地支持企業對軟件開發成本進行估算,并且可以沉淀歷史數據,為進一步的模型參數校準提供幫助。

猜你喜歡
工作量度量生產率
中國城市土地生產率TOP30
鮑文慧《度量空間之一》
模糊度量空間的強嵌入
應用地表覆蓋數據估算LiDAR內業工作量的方法研究
迷向表示分為6個不可約直和的旗流形上不變愛因斯坦度量
國外技術授權、研發創新與企業生產率
一個兼顧教學科研的高校教師績效考核模型及其應用
思科發布云計算市場發展報告
關于機床生產率設計的探討
地質異常的奇異性度量與隱伏源致礦異常識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合