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