楊明鵬 鄧煥 胡業火
貴州航天風華精密設備有限公司 貴州 貴陽 550009
為推進軟件產品價格改革工作,規范軟件產品計價工作,提高經費使用效益,國家相關業務管理部門下發了軟件產品報價要求,用于指導軟件產品報價工作。
軟件產品價格由研制開發概算價格和軟件購置費組成。軟件研制開發概算價格是指軟件需求分析、設計、編碼、集成、測試、測評、試驗、驗收等過程產生的直接人力成本、直接非人力成本、間接人力成本、間接非人力成本和收益的總和。軟件購置費由軟件產品交付后的技術支持費、升級費和其他費用組成。
軟件產品報價采用以上數據進行統計。如果采用人工統計的方式工作量很大,數據格式不統一,給報價、審價帶來一定的工作難度。本文研究Excel VBA二次開發的方法,設計并實現了報價系統,具體實現方式如下。
軟件產品報價系統基于Excel VBA二次開發,報價系統由4個數據表:支撐數據、匯總數據、軟件配套表、規則定義表組成。
規則定義表中定義了軟件應用類型、質量特性的取值,在后續界面中供用戶選擇。軟件配套表定義了產品中所有的軟件項目及軟件基本信息及測評信息。支撐數據定義了軟件功能點原始數據。匯總數據表定義了匯總后的報價統計結果[1]。
報價系統用戶分為報價用戶和審價用戶,報價系統啟動時提示用戶選擇,用戶也可以在菜單中切換。啟動選擇用戶進入報價系統,菜單界面如圖1所示,點擊用戶角色選擇可以切換為報價用戶或審價用戶。

圖1 報價系統后的菜單界面
軟件基本信息包括系統代號、軟件類別、應用類型、質量特性、開發語言、代碼重用度等。報價系統根據以上信息計算相關因子,并根據相關因子進行價格測算。
報價系統將計算相關因子信息保存在Excel表中,并通過VBA二次開發調用對話框,方便用戶編輯。系統調用流程如圖2所示。

圖2 系統調用流程
軟件測評信息包括軟件名稱、測評技術難度、測評附加信息等。通過測評信息可以得到測評費比例系數,用于價格測算。
依據需求規格說明統計內部邏輯文件、外部接口文件、外部輸入、外部輸出、外部查詢的數量,并按照一定系數進行計算。報價系統根據用戶角色實現編輯和統計。在功能點編輯界面中。其用戶角色為審價用戶,文本框中的內部邏輯文件、外部接口文件數量為審價用戶確定的數量,其后顯示的數量為報價用戶確定的數量,二個數量作為報價用戶、審價用戶的對比[2]。
報價系統根據軟件功能點及基本信息、測評信息等數據進行統計匯總,匯總界面如圖3所示。

圖3 匯總界面
本文基于Excel VBA實現了軟件產品報價系統,規范了報價、審價過程中的數據交付,簡化了功能點統計,極大提高了工作效率和報價準確度,已應用于多個項目軟件產品報價工作。