摘要:由于軟件的代碼行數(shù)和功能點越來越多,軟件系統(tǒng)規(guī)模和開發(fā)成本也越來越大,導(dǎo)致軟件成本估算越來越復(fù)雜。本文研究了如何通過功能規(guī)模測量方法估算信息系統(tǒng)的規(guī)模、工作量和成本,將有助于準(zhǔn)確評估軟件開發(fā)的投入和產(chǎn)出,能幫助企業(yè)更好的做決策。
關(guān)鍵詞:信息系統(tǒng);造價評估;規(guī)模測量方法;功能點度量
近年來,我國信息技術(shù)產(chǎn)業(yè)蓬勃發(fā)展,軟件產(chǎn)業(yè)每年都以較高速度在推動著社會進(jìn)步。與之不適應(yīng)的是我國的軟件總體水平還存在不足。這種不足表現(xiàn)在信息系統(tǒng)造價標(biāo)準(zhǔn)方面的缺失,導(dǎo)致這些年來如何科學(xué)評估一款軟件的開發(fā)成本一直是軟件項目投資管理的一大難點。在軟件項目的投資管理中,經(jīng)常采用經(jīng)驗法,靠“拍腦袋”來評估軟件成本,缺乏科學(xué)權(quán)威的依據(jù)。為了解決此問題,我們需要運(yùn)用信息系統(tǒng)造價的專業(yè)技能,為軟件項目需求、設(shè)計、構(gòu)建、測試、實施、運(yùn)維等各個階段提供軟件費用管理的服務(wù)。同時站在行業(yè)的角度,為軟件項目管理費用概算提供科學(xué)可信的依據(jù),從而解決軟件成本評估的難題。
一、適用范圍及場景
在軟件項目的投資管理中,甲方經(jīng)常會遇到一些困擾。首先,項目在招/投標(biāo)階段,軟件開發(fā)方提供的預(yù)算清單與實際價格存在偏差,由于甲方對于軟件開發(fā)過程和軟件開發(fā)技術(shù)不熟悉,無法確定這個報價是否正確。其次,在項目預(yù)算、立項時,甲方想對開發(fā)方的預(yù)算金額進(jìn)行評估,但缺少有效的評估方法。再者,在項目在結(jié)項、決算、后評估階段,甲方想知道開發(fā)方實際完成的系統(tǒng)開發(fā)工作量是否匹配合同金額。此外,在項目實施過程中,變更或者新增需求時,甲方希望酌減開發(fā)費用,而開發(fā)方則希望追加開發(fā)費用,這時矛盾產(chǎn)生。
為了解決這些問題,信息系統(tǒng)造價評估可應(yīng)用于軟件項目管理的全過程,包括預(yù)算、立項、招標(biāo)、投標(biāo)、開發(fā)、項目計劃、資源配置、產(chǎn)品質(zhì)量管理等各個環(huán)節(jié)。無論對甲方(項目方)、乙方(開發(fā)方),都適用。
應(yīng)用場景也可分為三個階段。在項目招投標(biāo)階段,按照要求進(jìn)行以功能點為基礎(chǔ)估算項目工作量,作為確定招投標(biāo)價格的依據(jù),從而避免毫無根據(jù)的報高價,或惡意報低價的情況發(fā)生。在項目預(yù)算、立項階段,對預(yù)算金額、質(zhì)量目標(biāo)進(jìn)行應(yīng)用和評估,使預(yù)算、立項過程客觀、公正。在項目結(jié)項、決算、后評估階段,可以對結(jié)項時項目的實際規(guī)模、成本和質(zhì)量進(jìn)行評價,結(jié)合預(yù)算執(zhí)行情況對項目做出評價。最后,在實施過程中,需要協(xié)商解決變更或新增需求時的費用問題。通過信息系統(tǒng)造價評估,可以避免審計風(fēng)險、惡性競標(biāo)、低價中標(biāo)等問題,促進(jìn)軟件產(chǎn)業(yè)的健康發(fā)展和社會發(fā)展。
二、造價評估過程
(一)評估的依據(jù)
在信息化建設(shè)過程中,軟件研發(fā)、測試、運(yùn)維成本評估一直是業(yè)界面臨的難題。這些困難也導(dǎo)致了一系列問題,如軟件產(chǎn)品質(zhì)量低下,軟件項目預(yù)算浪費或預(yù)算不足;項目涉及的甲乙雙方無法對軟件項目的合理價格達(dá)成共識等。為此國內(nèi)、國際發(fā)布了多個標(biāo)準(zhǔn)和要求,對軟件研發(fā)、測試、運(yùn)維成本的估算和度量工作做出了明確的指引和說明。例如:國際標(biāo)準(zhǔn)GB/T 36964-2018 軟件工程軟件開發(fā)成本度量規(guī)范;團(tuán)體標(biāo)準(zhǔn)T/CQAE 11011-2019軟件工程造價評估指南;基準(zhǔn)數(shù)據(jù)CSBMK-202110《中國軟件行業(yè)基準(zhǔn)數(shù)據(jù)》等。
(二)評估過程
信息系統(tǒng)造價評估過程主要包括造價評估背景調(diào)研、造價評估方案設(shè)計、造價評估實施、造價評估報告編制等過程。
造價評估背景調(diào)研通過對軟件相關(guān)的調(diào)研,獲取軟件業(yè)務(wù)需求,調(diào)研分析同類軟件產(chǎn)品背景情況,潛在軟件產(chǎn)品技術(shù)實現(xiàn)方式、復(fù)雜度情況,相應(yīng)軟件開發(fā)企業(yè)技術(shù)能力、團(tuán)隊人員、過程成熟度等。
造價評估方案設(shè)計明確評估范圍、評估方式、具體評估流程、數(shù)據(jù)采集內(nèi)容和方法、成本計算具體方法等。
造價評估實施根據(jù)軟件評估方案對軟件評估進(jìn)行實施。
造價評估報告編制是在造價評估實施完成后,評估人員收集評估過程各項數(shù)據(jù),將評估內(nèi)容、評估方法、評估過程、評估結(jié)果通過評估報告方式進(jìn)行展現(xiàn)。
(三)數(shù)據(jù)評估模型
功能點估算法是通過對項目建設(shè)需求的分析,分解項目應(yīng)包含的各項業(yè)務(wù)邏輯,根據(jù)國際通用的功能點換算系數(shù)來確定軟件應(yīng)具有的規(guī)模,在結(jié)合本行業(yè)本地區(qū)軟件人員生產(chǎn)率確定軟件項目建設(shè)所需工作量的一種方法。具體數(shù)據(jù)模型見公式:
SDC=(S×PDR)×SWF×RDF/174 ×F+DNC
成本=(規(guī)?!辽a(chǎn)率)×軟件因素×開發(fā)因素 ×人力成本費率+非直接人力成本
(四)規(guī)模測量方法
目前常用的規(guī)模估算模型可以分為類比模型和算法模型。類比模型是一種直覺方法,使用以往項目的經(jīng)驗,它是非數(shù)學(xué)形式的,主要依賴經(jīng)驗和判斷,其代表方法有DELPHI法、 類比法等;算法模型是借助于算術(shù)方程說明影響估算的各種因素之間的關(guān)系,根據(jù)以往項目進(jìn)行校準(zhǔn),其代表方法有功能點估算法、MARK II 功能點法等。
常用的功能點估算法有IFPUG和NESMA功能點估算法。IFPUG功能點估算法是推廣比較久的功能點分析方法,對需求要求質(zhì)量較高,而項目早期,需求精度達(dá)不到要求,無法使用此方法。NESMA功能點估算法與IFPUG概念統(tǒng)一,增加了指示功能點計數(shù)、估算功能點計數(shù)、詳細(xì)功能技術(shù)方法,更加方便快捷,適用于項目各階段進(jìn)行造價評估估算。其中,NESMA提供了三種類型的功能點估算方法:指示法、估算法、詳細(xì)法。
指示法一般用于項目計劃,招投標(biāo)階段,因為此階段需求文件多不完善,故而只需關(guān)注邏輯文件即可。計算公式:UFP=35×ILF+15×EIF
估算法一般用于項目開發(fā)執(zhí)行階段,此時需求文件較為完善,故需要關(guān)注邏輯文件和相應(yīng)的事務(wù)處理。計算公式:
UFP=7×ILF+5×EIF+4×EI+5×EO+5×EQ
詳細(xì)法主要用于事后評估階段,此時功能需求非常詳細(xì),可關(guān)注邏輯文件、相應(yīng)事務(wù)處理和復(fù)雜度。計算公式:
UFP=∑(各功能項UFP)
其中,功能點度量法的五要素(內(nèi)部邏輯文件ILF、外部接口文件EIF、外部輸入EI、外部輸出EO、外部查詢EQ),前兩種屬于文件,后三種屬于事務(wù)處理,它們涵蓋了終端用戶和信息系統(tǒng)對象之間存在的所有可能的交互內(nèi)容。
(五)調(diào)整因子
1.規(guī)模調(diào)整因子
項目建設(shè)需求會隨著系統(tǒng)不斷深入開發(fā)設(shè)計,其功能邏輯描述就更加明確,對項目規(guī)模的影響就越小,發(fā)生需求變更的概率就越小。因此項目處于的階段要素是影響項目規(guī)模變更的重要因素。不同階段的調(diào)整因子是根據(jù)歷史經(jīng)驗整理歸納而得。例如:估算早期(如概算、預(yù)算階段)為1.39;估算中期(如投標(biāo)、項目計劃階段)為1.21;估算晚期(如需求分析階段)為1.10;項目交付后及運(yùn)維階段為1.00。
2.工作量調(diào)整因子
軟件因素調(diào)整因子:針對系統(tǒng)軟件非功能性的要求也決定了系統(tǒng)的復(fù)雜程度,影響著軟件開發(fā)成本。
業(yè)務(wù)領(lǐng)域調(diào)整因子中業(yè)務(wù)領(lǐng)域和調(diào)整因子分別有政府(0.93);信息技術(shù)、電信(1.02);金融(2.63);其他(1.00)。
應(yīng)用類型調(diào)整因子中應(yīng)用類型和調(diào)整因子分別有業(yè)務(wù)處理(1.0)、應(yīng)用集成(1.2)、科技(1.2)、多媒體(1.3)、智能信息(1.7)、系統(tǒng)(1.7)、通信控制(1.9)、流程控制(2.0)。
質(zhì)量要求調(diào)整因子=(分布式處理因子+性能因子+可靠性因子+多重站點因子)×0.025+1
開發(fā)語言調(diào)整因子中開發(fā)語言和調(diào)整因子分別有C及其他同級別語言/平臺(1.5);JAVA、C++、C#及其他同級別語言/平臺(1.0);PowerBuilder、ASP及其他同級別語言/平臺(0.6)。
開發(fā)團(tuán)隊背景調(diào)整因子中開發(fā)團(tuán)隊背景和調(diào)整因子分別有為本行業(yè)(政府)開發(fā)過類似的軟件(0.8);為其他行業(yè)開發(fā)過類似的軟件,或為本行業(yè)(政府)開發(fā)過不同但相關(guān)的軟件(1.0);沒有同類軟件及本行業(yè)(政府)相關(guān)軟件開發(fā)背景(1.2)。
(六)基準(zhǔn)生產(chǎn)率
結(jié)合軟件行業(yè)經(jīng)驗值確定基準(zhǔn)生產(chǎn)率的樂觀值P25、中位數(shù)P50、悲觀值P75。例如:電子政務(wù)(P25:3.49、P50:6.65、P75:11.89);金融(P25:5.72、P50:11.88、P75:16.35);電信(P25:5.08、P50:11.32、P75:18.44);制造(P25:3.97、P50:8.58、P75:17.66);能源(P25:3.55、P50:7.08、P75:18.17);交通(P25:3.34、P50:7.89、P75:14.43)。
(七)人月基準(zhǔn)單價
參考20YY年中國軟件行業(yè)基準(zhǔn)數(shù)據(jù)(CSBMK?-20YYMM),確定所在地區(qū)軟件工程師平均人月單價。如表1所示。表中人月費率代表該地區(qū)統(tǒng)計數(shù)據(jù)中位數(shù)(P50),費用包含軟件開發(fā)的直接人力成本、間接人力成本、間接非人力成本及合理利潤(含稅),但不包括直接非人力成本。
三、案例分析
上海某公司統(tǒng)一收付平臺造價評估,由于項目目前所在系統(tǒng)在估算中期(如投標(biāo)、項目計劃階段),因此采用NESMA中的估算功能點計數(shù)法進(jìn)行軟件規(guī)模估算。信息系統(tǒng)包括收付平臺系統(tǒng)、OA系統(tǒng)改造、NC系統(tǒng)改造、稅務(wù)云系統(tǒng)改造、影像系統(tǒng)改造、SAP系統(tǒng)改造。如表2所示。
通過系統(tǒng)功能點統(tǒng)計清單,首先可統(tǒng)計各類ILF、EIF、EI、EO、EQ邏輯文件數(shù)量。再對未調(diào)整功能規(guī)模和調(diào)整后的功能規(guī)模進(jìn)行計算,然后對工作量調(diào)整因子、軟件開發(fā)工作量、軟件開發(fā)成本等進(jìn)行評估,最終得出信息系統(tǒng)造價評估結(jié)果。由此可得,收付平臺預(yù)估工作量下限3036.63人日,中值6095.59人日,上限2854.14人日;基準(zhǔn)報價(不包含直接非人力成本)下限為424.82萬元,中值為852.77萬元,上限為1264.32萬元。如表3所示。
未調(diào)整功能規(guī)模UFP=(7×164+5×45+4×295 +5×168+4×94)FP=3769FP
項目處于招投標(biāo)階段,CF取值為1.21。規(guī)模變更調(diào)整因子,由于本項目的階段為估算中期(如投標(biāo)、項目計劃階段),依據(jù)《中國軟件行業(yè)基準(zhǔn)數(shù)據(jù)》(CSBMK?-202110),估算中期(如投標(biāo)、項目計劃階段)取值為1.21。
調(diào)整后的功能規(guī)模S=UFP×CF=3769FP×1.21 =4560.49FP
四、結(jié)束語
信息系統(tǒng)造價評估對軟件項目管理的全過程提供了重要的作用。本文從信息系統(tǒng)造價評估所適用范圍及場景、評估過程、數(shù)據(jù)評估模型、規(guī)模測量方法等方面進(jìn)行了詳細(xì)的闡述。并在此基礎(chǔ)上,通過案例分析了NESMA在信息系統(tǒng)造價評估中的具體應(yīng)用,對造價評估過程中的調(diào)整因子、基準(zhǔn)生產(chǎn)率、人月基準(zhǔn)單價等因素提出了判斷方式,為企業(yè)建立規(guī)范的信息系統(tǒng)造價評估體系提供了有力的依據(jù)??傊?,合理使用信息系統(tǒng)造價評估這把鑰匙,不僅能夠正確規(guī)范軟件市場行為,還能維護(hù)價格公平的競爭。
作者單位:杜春業(yè) 上海計算機(jī)軟件技術(shù)開發(fā)中心
參? 考? 文? 獻(xiàn)
[1]俞冬梅,秦思,張海峰.IFPUG功能點分析法在激光測距軟件中的建模和應(yīng)用[J].標(biāo)準(zhǔn)科學(xué),2022(05):46-50,58.
[2]林風(fēng).軟件工程預(yù)決算審核中的功能規(guī)模測量NESMA方法應(yīng)用[J].電子技術(shù),2021,50(08):92-93.
[3]孔祥賢,申晨.淺談預(yù)估功能點法在公安機(jī)關(guān)軟件造價評估中的應(yīng)用[J].廣東公安科技.2021,29(03):1-4.
[4]任女爾,郭芳郁,趙鋒云,等.功能點法在軟件造價評估中的應(yīng)用[J].電腦與電信, 2020,(08):59-63.
[5]范雪梅.淺談工程造價在資產(chǎn)評估中的應(yīng)用[J].計算機(jī)工程,2019(12):95.
[6]程星星,黃松,惠戰(zhàn)偉,等. IFPUG度量方法的改進(jìn)及應(yīng)用[J].南通大學(xué)學(xué)報:自然科學(xué)版,2016,15(4):22-27.