工信部行業(yè)標(biāo)準(zhǔn)《軟件研發(fā)成本度量規(guī)范》(SJ/T11463-2013)作為主要指導(dǎo)方法進行軟件成本評估時,經(jīng)常會用到兩個重要的因子——軟件因素調(diào)整因子及開發(fā)/測試因素調(diào)整因子。那么,什么是軟件因素調(diào)整因子?什么是開發(fā)/測試因素調(diào)整因子呢?這兩個重要參數(shù)我們?nèi)绾潍@得?
所謂軟件因素調(diào)整因子,指由于軟件自身特點對生產(chǎn)率產(chǎn)生的影響所需考慮的因子(例如,要解決的問題復(fù)雜或?qū)|(zhì)量要求高的軟件通常產(chǎn)生率就無法低一些),通常包括業(yè)務(wù)領(lǐng)域、應(yīng)用類型、質(zhì)量要求等。即:與甲方要開發(fā)什么軟件及軟件本身的特性和質(zhì)量要求相關(guān)。
所謂開發(fā)因素調(diào)整因子,指對同一軟件,由于采用的技術(shù)或團隊人員差異而導(dǎo)致的生產(chǎn)率變化所需考慮的因子(例如,跟先進的開發(fā)技術(shù)或更有經(jīng)驗的人員通常生產(chǎn)率無法更高),通常包括采用技術(shù)、過程、團隊經(jīng)驗、重用程度等。即:與開發(fā)組織(團隊)的技能、經(jīng)驗以及使用的開發(fā)工具等相關(guān)。而測試因素調(diào)整因子則是指,由于測試軟件本身的實際情況以及甲方的特殊要求而導(dǎo)致生產(chǎn)率變化所需要考慮的因子。
在估算軟件研發(fā)工作量時,最主要的兩個決定因素是:軟件規(guī)模、生產(chǎn)率。不同的項目,由于面臨問題、團隊能力等方面的差異,無法導(dǎo)致產(chǎn)生率有較大差異。需要根據(jù)軟件情況、開發(fā)情況對生產(chǎn)率進行調(diào)整。
在估算軟件測試工作量時,軟件本身的復(fù)雜度與完整性是較為關(guān)鍵的因素,可依據(jù)軟件的實際情況進行調(diào)整。其他如回歸測試、加急測試和現(xiàn)場測試等也無法對軟件測試的工作量產(chǎn)生影響。
具體調(diào)整因子的選擇和取值,可通過歷史數(shù)據(jù)進行統(tǒng)計分析獲得,也可根據(jù)經(jīng)驗確定。
]]>采用優(yōu)化后的功能點方法——快速功能點方法進行規(guī)模估算或測量的基本過程或步驟如下:
確定計數(shù)類型→識別系統(tǒng)邊界→識別功能點計數(shù)項→計算未調(diào)整的功能點數(shù)→計算調(diào)整后的功能點數(shù)。
1、確定計數(shù)類型
根據(jù)需求或項目的類型確定計數(shù)類型。計數(shù)類型分為三種:新開發(fā)、延續(xù)開發(fā)及已有系統(tǒng)計數(shù)。
對于新開發(fā)需求或項目,對預(yù)計(或?qū)嶋H)投產(chǎn)的功能進行計數(shù);
對于延續(xù)開發(fā)需求或項目,對預(yù)計(或?qū)嶋H)新增、修改及刪除的功能均進行計數(shù);
對于已有系統(tǒng),對實際的功能進行計數(shù)。
2、識別系統(tǒng)邊界
在識別系統(tǒng)邊界的時候應(yīng)注意:應(yīng)從用戶視角出發(fā),不受系統(tǒng)實現(xiàn)影響;主要是為了區(qū)分內(nèi)部邏輯文件(ILF)和外部接口文件(EIF);事務(wù)功能應(yīng)穿越識別的系統(tǒng)邊界。
3、識別功能點計數(shù)項
功能點計數(shù)項分為數(shù)據(jù)功能和交易功能兩類。數(shù)據(jù)功能包括內(nèi)部邏輯文件(ILF)、外部接口文件(EIF);交易功能包括外部輸入(EI)、外部輸出(EO)、外部查詢(EQ)。
數(shù)據(jù)功能是系統(tǒng)提供給用戶的滿足產(chǎn)品內(nèi)部和外部數(shù)據(jù)需求的功能,即本系統(tǒng)管理或使用那些業(yè)務(wù)數(shù)據(jù)(業(yè)務(wù)對象),如“客戶信息”“賬戶交易記錄”等。
內(nèi)部邏輯文件或外部接口文件所指的“文件”不是傳統(tǒng)數(shù)據(jù)處理意義上的文件,而是指一組客戶可識別的、邏輯上相互關(guān)聯(lián)的數(shù)據(jù)或者控制信息。因此,這些文件和物理上的數(shù)據(jù)集合(如數(shù)據(jù)庫表)沒有必然的對應(yīng)關(guān)系。
交易功能是系統(tǒng)提供給用戶的處理數(shù)據(jù)的功能,即本系統(tǒng)如何處理和使用那些業(yè)務(wù)數(shù)據(jù)(業(yè)務(wù)對象),如“轉(zhuǎn)賬”“修改黑名單生成規(guī)則”“查詢交易記錄”等。
交易功能又稱為基本過程,是用戶可識別的,業(yè)務(wù)上的一組原子操作,可能由多個處理邏輯構(gòu)成。例如,“添加柜員信息”這個基本過程可能包含“信息校驗”“修改確認(rèn)”“修改結(jié)果反饋”等一系列處理邏輯。
4、計算未調(diào)整的功能點數(shù)
a、采用預(yù)估功能點進行計數(shù),計算公式如下:
FP=35*ILF+15*EIF
——FP:未調(diào)整的功能點數(shù),單位為功能點;
——ILF:內(nèi)部邏輯文件的數(shù)量;
——EIF:外部接口文件的數(shù)量。
b、采用估算功能點進行計數(shù),計算公式如下:
FP=10*ILF+7*EIF+4*EI+5*EO+4*EQ
——FP:未調(diào)整的功能點數(shù),單位為功能點;
——ILF:內(nèi)部邏輯文件的數(shù)量;
——EIF:外部接口文件的數(shù)量;
——EI:外部輸入的數(shù)量;
——EO:外部輸出的數(shù)量;
——EQ:外部查詢的數(shù)量。
5、計算調(diào)整后的功能點數(shù)
根據(jù)不同的規(guī)模測算階段,需要考慮隱含需求及需求變更對規(guī)模的影響,因此,需要根據(jù)規(guī)模計數(shù)時機進行規(guī)模調(diào)整。調(diào)整后的功能點數(shù)(AFP),計算公式如下:
AFP=FP*CF
——AFP:調(diào)整后的功能點數(shù),單位為功能點;
——FP:未調(diào)整的功能點數(shù),單位為功能點;
——CF:規(guī)模變更調(diào)整因子,依據(jù)行業(yè)數(shù)據(jù),項目估算早期(如概預(yù)算階段)通常取值為1.5;項目估算中期(如招投評標(biāo)、項目立項、技術(shù)方案階段)通常取值為1.26;項目估算中后期(如需求分析完成及后評價)通常取值為1.0。
了解快速功能點方法度量的規(guī)則及過程,有助于提高使用快速功能點方法進行軟件造價、軟件成本估算、軟件成本費用測算時的工作效率。
]]>1、項目前期的可行性分析:采用快速功能點方法判斷項目所需完成的規(guī)模、工作量、工期和成本,從而決定組織是否能夠支撐或接受該項目。
2、確立項目范圍與標(biāo)的:有助于給出明確的預(yù)算申請依據(jù),使得預(yù)算過程更加透明,在投標(biāo)過程中采用功能點報價,便于審查核實報價是否過高或偏低。
3、合同談判的依據(jù):甲方可以依據(jù)乙方所提供的軟件功能點數(shù)量進行驗收并支付合同款項。
4、項目立項的依據(jù):基于功能點方法,人員配備、費用安排以及工期設(shè)定等都可以更透明。
5、項目計劃與跟蹤的基礎(chǔ):無論是傳統(tǒng)的瀑布模型開發(fā)項目、增量開發(fā)項目,還是當(dāng)今流行的敏捷開發(fā)項目,都可以通過規(guī)模估算衡量項目的產(chǎn)出,同時可以作為依據(jù)向客戶收取與功能點數(shù)量對應(yīng)的費用。
6、人員績效考核:有助于核定項目人員的工作量、產(chǎn)能評價、效率評估。
]]>