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