馬剛 郭兵 張志亮 龔加劍
(河南省信息咨詢設(shè)計研究有限公司 河南省鄭州市 450008)
當(dāng)前世界信息化、智能化代表著新的生產(chǎn)力和新的發(fā)展方向,隨著隨著新基建、新型智慧城市建設(shè)發(fā)展,信息化應(yīng)用系統(tǒng)大規(guī)模建設(shè),硬件的集約化建設(shè)愈發(fā)普遍(基于云平臺等),軟件類投資占比在信息化項目建設(shè)規(guī)模里的比重越來越大。
智慧化應(yīng)用迅猛發(fā)展,導(dǎo)致個性化的軟件功能需求不斷涌現(xiàn),然而傳統(tǒng)的工程造價咨詢評估方法對于軟件,特別是定制開發(fā)軟件的造價咨詢評估并不適用,軟件造價評估難成為信息化項目建設(shè)單位、咨詢設(shè)計單位、審批單位的一大難題,為支撐我國信息強國戰(zhàn)略,亟需一種科學(xué)的、普適的、易懂的、快速的、有較高可信度的軟件造價評估方法。
本文提供一種基于功能點法的定制開發(fā)軟件造價評估方法,為信息化項目的軟件造價評估,以及招標(biāo)控制價的編制提供專業(yè)的,定量化的建議。
功能點是描述軟件功能規(guī)模大小的一種標(biāo)準(zhǔn)單元,使用功能點描述軟件規(guī)模,可以推算軟件開發(fā)工期、軟件開發(fā)費用和軟件維護(hù)費用,功能點法相對于代碼行法、人月工時法來講,更能站在用戶視角來評判購買功能模塊的價值,隨著GB/T 36964-2018- 軟件工程軟件開發(fā)成本度量規(guī)范發(fā)布,功能點法軟件造價度量方法逐步從國外走進(jìn)國內(nèi)。
近年來,在信息化建設(shè)領(lǐng)域,定制軟件開發(fā)造價度量開始從人月法為主逐步轉(zhuǎn)向功能點法為主,我們通常采用IFPUG(國際功能點用戶組)功能規(guī)模度量方法,根據(jù)估算階段的不同,分為預(yù)估功能點法和詳細(xì)功能點法。
2.1.1 詳細(xì)功能點法
需要識別軟件的數(shù)據(jù)功能和事務(wù)功能,包括:
內(nèi)部邏輯文件ILF:在本系統(tǒng)維護(hù)的業(yè)務(wù)和數(shù)據(jù)
外部接口文件EIF:本系統(tǒng)引用,由其它系統(tǒng)維護(hù)的業(yè)務(wù)數(shù)據(jù)
外部輸入EI:對數(shù)據(jù)進(jìn)行維護(hù)或者該改變系統(tǒng)狀態(tài)/行為的事物(增刪改)
外部輸出EO:對數(shù)據(jù)加功工后呈現(xiàn)或輸出的事物(操作數(shù)據(jù))
外部查詢EQ:對已有數(shù)據(jù)直接呈現(xiàn)或輸出的事物(對數(shù)據(jù)不處理,即查詢)
2.1.2 預(yù)估功能點法
本方法較為常用,它僅需識別軟件的數(shù)據(jù)功能,即內(nèi)部邏輯文件ILF、外部接口文件EIF,其功能點計數(shù)公式為35×ILF總數(shù)+15×EIF總數(shù),然后再根據(jù)公開發(fā)布的各地區(qū)功能點耗時率、應(yīng)用領(lǐng)域調(diào)節(jié)因子、規(guī)模變更因子、重用系數(shù),以及統(tǒng)計部門發(fā)布的各地區(qū)軟件開發(fā)行業(yè)工資基準(zhǔn)值,測算出軟件功能模塊的造價。
根據(jù)以上描述,我們可以看到,軟件造價估算分為算量和計價兩個部分,算量部分主要是ILF和EIF的認(rèn)定,計價部分是測算的量乘上相應(yīng)系數(shù)、數(shù)值得出軟件造價,相對比較明確,存在爭議的是ILF和EIF的計量。
ILF的計量一般依賴功能點描述的名詞(如信息、計劃、數(shù)據(jù)表等),而當(dāng)一個軟件價格編制人員故意將功能模塊的描述添加“信息、數(shù)據(jù)表”等名詞,或者將一個功能模塊故意拆分為類似“人員姓名信息表、出生年月信息表”等多個模塊時,對于造價咨詢評估人員來說,ILF/EIF的計量認(rèn)定將存在較大偏差,或者說要準(zhǔn)確認(rèn)定就必須依賴對軟件功能需求說明書的研讀,時間、精力等產(chǎn)生較大的耗費。
另一個方面,在造價咨詢評估的專家評審環(huán)節(jié),一般來講各個專家沒有時間或精力對被評估軟件造價進(jìn)行重新測算,對被評估軟件造價的偏差估計也并不一致,很難短時間內(nèi)達(dá)成共識,形成一個定制軟件開發(fā)的控制價,作為概算批復(fù)值或招標(biāo)控制價。
故而,快速并相對準(zhǔn)確的進(jìn)行功能點計量,為咨詢評估專家組提供備選的軟件造價參考,最終形成一個造價期望值或招標(biāo)控制價,就成為造價審批單位、咨詢評估的單位的主要痛點和訴求。
本方法基于功能點快速度量方法,結(jié)合工程實際,形成一套信息通信軟件造價評估方法,期望能夠科學(xué)、快速、準(zhǔn)確的對信息通信軟件功能模塊進(jìn)行測算,解決信息通信軟件造價難估算的問題,提高信息通信軟件造價估算速度、實用性和可信度。其整體流程如下:
第一步:基于既有案例功能模塊清單的整理、提煉,創(chuàng)建信息軟件典型熱詞庫、信息通信軟件專題庫、通用軟件模塊案例庫等;
第二步:針對每一項熱詞結(jié)合功能點法確定標(biāo)準(zhǔn)的內(nèi)部邏輯文件(ILF)、外部接口文件(EIF)參考取值,并給出賦值變動權(quán)重以及輔助取值的說明;根據(jù)信息通信軟件特點,給出一系列典型功能模塊列表,并預(yù)置功能點度量參考,以及不同條件下度量數(shù)值變動的幫助;搜集通用軟件模塊清單及其度量案例,作為快速功能點度量的參考,命中精準(zhǔn)度更高;本方法相較于傳統(tǒng)基于軟件功能說明書語義識別的方式更為簡便,對文檔格式要求不高。
第三步:根據(jù)軟件所列各功能模塊,基于對功能模塊關(guān)鍵詞的分析,比對庫中熱詞庫得出基本ILF、EIF賦值,并參考專題庫、案例庫中類似功能模塊度量結(jié)果,快速得出本模塊的ILF、EIF賦值,結(jié)合調(diào)整系數(shù)計算功能點度量值,并根據(jù)當(dāng)?shù)刈钚萝浖_發(fā)人員工資水平等測算軟件功能模塊造價;
第四步:采用2人同時模塊清單功能點法快速度量的方式重復(fù)第三步,得出2個造價估算結(jié)果P1、P2;
第五步:將得出的結(jié)果P1、P2以及評估軟件估/概算值Pg,求算術(shù)平均值Pj,得出一組共4個數(shù)值;
第六步:主觀方法求權(quán),即將該組數(shù)值同時交付3個以上評估專家,每個專家采用優(yōu)化的0-4評分法獨立對Pg、P1、P2、Pj進(jìn)行評分,最有可能得4分,最不可能的得0分,其余值得2分,匯總后根據(jù)修正后得分,計算Pg、P1、P2、Pj權(quán)重;
第七步:客觀方法求權(quán),即采用均方差方法自動計算權(quán)重,偏離度越大的數(shù)值權(quán)重越小;
第八步:Pg、P1、P2、Pj乘各自主觀/客觀權(quán)重后,得出主觀/客觀方法計算的招標(biāo)控制價(造價期望值)Pq,反饋至專家組確認(rèn)。本方法能夠基于功能點法,科學(xué)的對軟件功能模塊進(jìn)行快速測算,并通過主觀與客觀相結(jié)合的方式對軟件造價進(jìn)行評估,解決了信息通信軟件造價估算難,靠專家經(jīng)驗評估造價的問題,大大提高了信息通信軟件造價估算的速度、適用度和可信度??焖俟δ茳c法軟件造價評估流程圖如圖1所示。
圖1:快速功能點法軟件造價評估流程圖
傳統(tǒng)軟件造價估算依靠人員對軟件需求說明書的理解,分析其具體內(nèi)涵,速度慢效率低;傳統(tǒng)評估依賴于造價專家或造價機(jī)構(gòu)對原估算值的評價,人為影響較大、周期長。
本方法參考建筑工程行業(yè)定額套用快速組價方式,通過對模塊清單關(guān)鍵詞的模糊查詢,與信息軟件典型熱詞庫、信息通信軟件專題庫、通用軟件模塊案例庫等進(jìn)行比對,通過參考預(yù)置的內(nèi)部邏輯文件、外部接口文件賦值及參考,結(jié)合項目具體情況進(jìn)行系統(tǒng)調(diào)整的功能點快速度量。
在提高速度和實用性方面,本方法采用類似定額套用模式,通過3個庫中既有模塊ILF、EIF賦值定額,及適用情況說明,輔助進(jìn)行造價快速估測,對人員要求較低,對提供的軟件需求說明書格式要求不高,有軟件功能模塊清單即可。
在提供準(zhǔn)確度方面,本方法采用關(guān)鍵詞與創(chuàng)建的軟件模塊功能點庫的比對,通過關(guān)鍵詞頻率,結(jié)合行業(yè)相關(guān)度標(biāo)簽、場景標(biāo)簽、創(chuàng)建人標(biāo)簽加權(quán)得出賦值概率(搜索賦值頻次/總命中數(shù),備注中標(biāo)簽與本模塊一致的,加權(quán)取值,概率變高);本方法相對于語義識別方法成本低,不依賴需求說明書。功能點計量方案對比如表1所示。
表1:功能點計量方案對比
根據(jù)功能點快速計量方法得出的的軟件造價值,可以為咨詢評估專家組提供更多、更充分的參考,能夠基于幾個確定的造價值進(jìn)行方案比選,減少了個人因素的影響,可信度較高,爭議較少。其具體方法如下:
獲取雙人快速度量得出的軟件造價功能點法測算值P1、P2,以及待評估軟件估/概算值Pg,求其算術(shù)平均值Pj,得出一組共4個數(shù)值。
3.2.1 客觀方法求權(quán)
即采用均方差方法自動計算權(quán)重,計算公式為:X’=S/Xi;4個處理過的數(shù)值求和得出,通過相除的方式自動得出權(quán)重,偏離度越大的數(shù)值權(quán)重越小。
3.2.2 主觀方法求權(quán)
如表2所示,即將該組數(shù)值同時交付3個以上評估專家,每個專家采用優(yōu)化的0-4評分法獨立對Pg、P1、P2、Pj進(jìn)行評分,最有可能得4分,最不可能的得0分,其余值得2分,為避免某一數(shù)值為0,匯總后均加1進(jìn)行修正后求和,采用相除的方式計算Pg、P1、P2、Pj權(quán)重,4個權(quán)重之和為1;Pg、P1、P2、Pj乘各自主觀/客觀權(quán)重后,得出主觀/客觀方法計算的招標(biāo)控制價(造價期望值)Pq;經(jīng)置信區(qū)間及回歸分析測算驗證后,計算結(jié)果反饋至專家組商確認(rèn)。
表2:咨詢評估方法示例
在提高可信度方面,引入模塊清單功能點快速度量方法后,造價咨詢評估由傳統(tǒng)的1個單一估值,變?yōu)?+2(雙人快速估價)供專家組參考;同時引入科學(xué)的權(quán)重賦值方法,解決賦權(quán)的隨意性問題。得出的結(jié)果通過置信區(qū)間測算,與主觀賦權(quán)結(jié)論交叉驗證,更為科學(xué)合理可信。如圖2所示。
圖2
本文介紹了一種基于快速功能點法的軟件造價評估方法,其核心思想是參考建筑工程行業(yè)定額套用快速組價方式,通過對模塊清單關(guān)鍵詞的模糊查詢,與信息軟件典型熱詞庫、信息通信軟件專題庫、通用軟件模塊案例庫等進(jìn)行比對,通過參考預(yù)置的內(nèi)部邏輯文件、外部接口文件賦值及參考,結(jié)合項目具體情況進(jìn)行系統(tǒng)調(diào)整的功能點快速度量。將造價咨詢評估輸入值由1個單一估值,變?yōu)?+2(雙人快速估價)供專家組參考;同時引入客觀、科學(xué)的均方差權(quán)重賦值方法,解決原有權(quán)重賦值的隨意性問題,得出的結(jié)果通過置信區(qū)間測算,給為合理可信;客觀賦權(quán)結(jié)果提交專家委員會,與主觀賦權(quán)方法結(jié)果交叉驗證,最終評定控制價,咨詢評估結(jié)果在效率、實用性、科學(xué)性、可信度方面都較傳統(tǒng)方式大大提高。