研发中心软件度量实施办法V03.docx
《研发中心软件度量实施办法V03.docx》由会员分享,可在线阅读,更多相关《研发中心软件度量实施办法V03.docx(26页珍藏版)》请在冰豆网上搜索。
研发中心软件度量实施办法V03
XX科技有限公司软件研发工程文件
文档编号
研发中心软件度量实施办法
编制:
2016年04月10日
审核:
2016年04月15日
批准:
2016年月日
实施:
2016年月日
发放编号:
受控状态:
■受控□非受控
XX科技有限公司发布
1编制目的
根据《研发中心项目成本管理制度》制定本办法,主要针对软件初期预估场景。
《研发中心项目成本管理制度》中的成本度量,特指对软件研发成本的预计值进行估算或对实际值进行测量、分析的过程。
而《研发中心项目成本管理制度》中,预算是指根据项目成本估算的结果确定预计项目费用的过程。
因此,本办法主要描述在预算场景下如何开展成本估算工作,而不涉及编制预算的其他方面。
在《研发中心项目成本管理制度》及本办法中,软件研发过程包括从项目立项开始到项目完成验收之间的需求分析、设计、编码、集成、测试、验收交付活动及相关的项目管理、支持活动。
因此,本办法中软件研发成本仅包括软件研发过程中的所有人力成本和非人力成本,但不包括数据迁移、软件维护等成本。
本办法中所涉及工作量、工期也仅为软件研发过程所用工作量、工期。
本办法编制的主要目的是指导预算活动相关人员,基于《研发中心项目成本管理制度》有效开展成本估算工作,并为确定软件项目预算提供算法依据。
本办法明确了基于《研发中心项目成本管理制度》和基准数据开展成本估算相关活动的步骤与方法,并通过示例,明确了典型情况的估算及调整方法;对于其他特殊情况,相关人员应根据本办法及《研发中心项目成本管理制度》中的相关原则,结合项目特点,选择适当的估算方法或对估算结果进行合理调整。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
(SJ/T11463-2013)《软件研发成本度量规范》(Specificationforsoftwareresearchanddevelopmentcostmeasurement)中华人民共和国工业和信息化部于2013年10月17日正式发布。
3术语及定义
下列术语和定义适用于本文件。
●功能点functionpointFP衡量软件功能规模的一种单位。
●系统边界systemboundary被度量软件与用户或其他系统之间的界限。
●NESMANetherlandsSoftwareMetricsAssociation荷兰软件度量协会。
●内部逻辑文件internallogicalfileILF在系统边界内维护的用户可识别的逻辑相关数据组或控制信息。
其主要目的是保存由被计数的应用的一个或多个基本处理所维护的数据。
●外部接口文件externalinterfacefileEIF被本系统引用但在另一系统边界内被维护的,用户可识别的逻辑相关数据组或控制信息。
其主要目的是保存由被计数的系统边界内的一个或多个基本处理所引用的数据。
这意味着被一个系统所计数的EIF必定是另一个系统的ILF。
●预估功能点计数theindicativefunctionpointcount按照NESMA功能点方法,只进行ILF和EIF计数,每个ILF计为35个功能点,每个EIF计为15个功能点。
●功能点耗时率personhoursperunctionalsizeunit每功能点所消耗的人时数。
●项目交付速率projectdeliverratePDR完成单位规模软件开发所需的工作量,在本办法中即为功能点耗时率,单位为人时每功能点。
●基准benchmark经过筛选并维护在数据库中的一个或一组测量值或者派生测量值,用来表征目标对象(如项目或项目群)相关属性与这些测量值的关系。
●基准比对benchmarking将目标对象(如项目或项目群)属性与基准相比较,并建立目标对象属性相应值的全部过程。
●软件研发成本softwareresearchanddevelopmentcost为达成软件研发项目目标项目组所需付出的各种资源代价总和。
资源包括人、财、物、信息等。
●直接成本directcost为达成软件研发项目目标而直接付出的各种资源代价总和。
如可直接计入软件研发项目成本的直接材料、直接人工等。
●人力成本humanresourcecost为达成软件研发项目目标所需付出的各种人力资源代价总和。
●非人力成本non-humanresourcecost为达成软件研发项目目标所需付出的人力成本之外的其他成本。
●预算budgeting根据项目成本估算的结果确定预计项目费用的过程。
●方程法equation基于基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量、工期或成本估算值的方法。
4估算过程
4.1概述
在预算过程中,通常采用方程法进行项目估算。
方程法,即基于基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量、工期或成本估算值的方法。
采用方程法确定项目预算的典型过程如下图所示:
图4-1项目预算过程
说明:
上图中UFP为未调整功能点数,ILF为内部逻辑文件数量;EIF为外部接口文件数量;S代表调整后规模;CF为规模变更调整因子;AE代表调整后工作量,单位为人时;PDR代表功能点耗时率,单位为人时每功能点;SWF为软件因素调整因子;RDF为开发因素调整因子;D代表工期,单位为月;F代表人月费率(含人力成本),单位为元每人月;DNC代表非人力成本,单位为元;P代表预算费用,单位为元。
4.2估算规模
应根据初步的项目功能描述,采用预估功能点计数方法,估算未调整的功能点数。
功能点估算公式如下:
UFP=35*ILF+15*EIF
式中:
UFP:
未调整的功能点数,单位为功能点;ILF:
内部逻辑文件数量,单位为个;EIF:
外部接口文件数量,单位为个。
【示例1】
—项目范围描述:
院感项目:
需求一:
科室查看包括专职人员可以选择科室,汇总查看科室内的在院患者、监测月报、日况等。
需求二:
环境卫生学监测包括环境卫生学相关报告单的填报、管理、查询统计等功能。
—采用预估功能点计数方法,可以识别出需求一中包含三个EIF(患者基本信息、高危因素统计、患者日志),因此,此部分需求未调整的功能点数UFP为45。
同时,可以识别出需求二中包含一个ILF(消毒灭菌信息),因此,此部分需求未调整的功能点数UFP为35。
此时得出两个需求的功能规模为75个功能点。
【补充说明】
在估算前应依据可行性研究报告或类似文档明确项目范围及系统边界。
项目范围描述文档中除包含最基本的业务需求外,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行描述或说明,以保证可以根据项目范围描述文档进行预估功能点计数。
如果当前的项目范围描述文档过于粗略,无法进行预估功能点计数时,则不进行规模估算,而直接采用类比法或类推法估算工作量、工期或成本。
在使用预估功能点方法进行规模估算时,通常规模估算偏差小于20%。
4.3规模调整
考虑到预算时需求较模糊,未来将有很多隐含需求及需求变更。
因此,需对估算规模进行调整,公式如下:
S=UFP*CF
式中:
S:
调整后的软件规模,单位为功能点;
CF:
规模变更调整因子,依据行业数据,预算阶段通常取值为1.5。
如果预算阶段需求较为清晰,可对该因子取值进行适当调整。
在预算阶段,可进行重用度调整,可参照附录10中的公式计算调整后的软件规模。
4.4估算工作量
根据调整后软件规模,估算工作量,公式如下:
AE=(PDR*S)*SWF*RDF
式中AE:
调整后的估算工作量,单位为人时;S:
调整后的软件规模,单位为功能点;PDR:
功能点耗时率,单位为人时每功能点。
PDR的取值可参见附录1;SWF:
软件因素调整因子,通常包含规模、应用领域及质量特性调整因子,上述调整因子的取值可参见附录2-附录5;RDF:
开发因素调整因子,通常包含开发语言及开发团队背景调整因子及过程能力调整因子,在预算时如无特殊要求,取值为1。
如果需要调整,取值可参见附录6-附录8;可根据上述公式及附录1中PDR数据的P25、P50、P75值,分别计算出工作量估算结果的上下限及最有可能值。
【示例2】
—项目范围描述:
为医院院感部门开发医院感染实时监测预警系统,以支持其疑似病例处理、个案预警等日常数据汇集及病理预警需求。
具体功能包括查看病历、爆发预警、干预交流手术部位监测……;其中查看病区功能要求在院患者查询、监测月报、日况……;查看病历功能要求感染情况汇总、病历预警、病例分析……。
—估算软件规模:
假设根据需求描述,识别内部逻辑文件24个,外部接口文件22个,则未调整的功能点数UFP=35*24+15*22=1170;
—软件重用度调整:
软件重用度调整因子取值为65%,因此计算出调整后软件规模US=UFP*0.65=760。
软件重用度调整可采用
—软件规模调整:
规模变更调整因子取值为1.26,因此计算出调整后软件规模S=US*1.26=957。
软件规模估算及调整可采用附录1所示模板;
—估算工作量:
根据附录2,PDR取值分别为3.71、7.31、12.97;由于此时对开发没有特殊要求,所以RDF取值为1;而规模调整因子依据附录3计算出SF=0.99,业务领域BD依据附录4确定为1.0,应用类型调整因子AT依据附录5均确定为1,质量特性调整因子QR依据附录6计算出等于0.9;由此,可计算出调整后的估算工作量AE的最有可能值=(7.31*957)*1*0.99*0.9*1*1=5670人时,而工作量估算最终结果的合理范围在2877人时到10060人时之间。
4.5估算工期
0.404
估算工期可根据工作量—工期模型计算,公式如下:
D=1.277*(AE/HM)
式中:
D:
工期,单位为月;
AE:
调整后工作量,单位为人时;HM:
折算系数,单位为人时每月,取值为176。
当期望工期短于估算工期的下限时,应对项目需求进行分析并适当调整。
通常,压缩工期会增加项目工作量,及导致生产效率降低。
【示例3】
—项目情况:
同示例2;
—工作量估算结果:
同示例2;
—估算工期:
根据工作量-工期模型,计算出最有可能工期=1.277*(5670/176)0.404=5.19月。
合理工期范围在3.9月到6.54月之间(采用工作量估算合理范围的上下限值分别计算);
—工期及工作量估算调整:
如果期望工期为4.5个月,根据经验,当期望工期多于估算工期下限但少于最有可能工期时,每压缩10%的工期,将导致10%的工作量增加。
因此,本项目如果要求4.5个月完成,总工作量大致会增加15%。
4.6确定预算
在获得了工作量估算结果后,可采用以下公式估算项目预算:
P=AE/HM2*F+DNC
式中:
P:
预算费用,单位为元;AE:
调整后工作量,单位为人时;HM:
人月折算系数,单位为人时每人月,取值为176;F:
平均人力成本费率(根据研发中心人力成本计算),单位为元每人月;DNC:
非人力成本,单位为元;其中,平均人力成本费率F可根据本单位历史数据或附录9确定,如果项目组不在北京,可参照附录8和附录9进行折算;非人力成本可按照附录11分项估算。
如果基于已确定的功能点单价估算预算费用,则采用以下公式:
P=S*PP*SWF*RDF+DNC
式中:
P:
预算费用,单位为元;S:
调整后的软件规模,单位为功能点;PP:
功能点单价,单位为元每功能点;PP的取值可参见附录9;SWF:
软件因素调整因子,通常包含质量要求调整因子及应用类型调整因子,上述调整因子的取值可参见附录4-附录5;在基于功能点单价确定预算时,为便于结算,通常不使用规模调整,如果使用规模调整因子,取值可参见附录2;
RDF:
开发因素调整因子,通常包含开发语言、开发团队背景等,在预算时如无特殊要求,取值为1。
如果需要调整,取值可参见附录6-7;DNC:
非人力成本,单位为元;
【示例4】
—项目情况:
同示例2;
—工作量估算结果:
同示例2;
—工期估算结果:
同示例3;
—确定预算:
假设公司历史项目的平均人力成本费率为7500元,非人力成本预计有差旅费10000元,业务费4000元,专家费6000元,合计为20000元。
则计算得到最有可能的预算费用P=(5670/176*7500.00)+20000=261619.00元,预算的合理范围在132599元到448693元之间。
上报预算时应依据规模、工作量、工期、成本、预算金额的估算结果,并考虑此类项目的特殊因素。
例如,对于质量、进度要求较高的项目,为了确保项目成功可按照预算金额的上限值上报预算。
如无特殊情况,不应以低于预算金额下限或高于预算金额上限的金额上报预算。
对于采用功能点方法进行规模估算的项目,上报预算时还应附上功能清单及对应功能点数。
4.7预算审批
审批预算时应考虑以下因素:
—预算的合理性;
—可用于本项目的资金情况;
—预算项目可行性及投资收益率对比和平衡;
预算审批人应参照《研发中心项目成本管理制度》第三十二条的规定对预算的合理性进行评估,也可委托第三方机构进行评估。
在预算审批时,可采用不同于预算申请时所用的估算方法进行交叉验证。
预算审批可参考附件14《审批预算检查单样例》。
如果预算审批不通过,应将预算驳回,并要求重新进行预算。
当市场环境、经营条件、政策法规、需求范围等发生重大变化,引起工作量、工期、成本等指标严重偏离预算时,应对预算方案进行相应地变更调整,重新上报预算审批人批准。
附录常用模板样例及参数表
1.复用程度对应系数
复用度
对应系数
1(高)
33%
2(中)
67%
3(低)
100%
2.生产率基准数据表
单位:
人时每功能点
P10
P25
P50
P75
P90
2.07
3.71
7.31
12.97
18.63
补充说明:
在估算时,通常使用P50的取值估算最有可能值,使用P25和P75的值估算上下限,在特殊情况(如项目成本、工期、质量约束极其严格)下,也可采用P10和P90的值估算上下限。
3.规模调整因子计算公式
SF=(269.6446+S*0.7094)/S(式中S为调整后软件功能规模)
4.业务领域调整因子参数表
业务领域
调整因子
政府(含公共管理和社会组织)
0.93
信息技术、电信
1.02
金融
2.62
其他
1.00
5.应用类型调整因子参数表
应用类型
范围
调整因子
业务处理
办公自动化系统;人事、会计、工资、销售等经营管理及业务处理用软件等
1.0
应用集成
企业服务总线、应用集成等
1.2
科技
科学计算、模拟、统计等
1.2
多媒体
图形、影像、声音等多媒体应用领域;地理信息系统;教育和娱乐应用等
1.3
智能信息
自然语言处理、人工智能、专家系统等
1.7
系统
操作系统、数据库系统、集成开发环境、自动化开发/设计工具等
1.7
通信控制
通信协议、仿真、交换机软件、全球定位系统等
1.9
流程控制
生产管理、仪器控制、机器人控制、实时控制、嵌入式软件等
2.0
6.质量特性调整因子参数表
调整因子
判断标准
影响度
分布式处理
指应用能够在各组成要素之间传输数据
没有明示对分布式处理的需求事项
-1
通过网络进行客户端/服务器及网络基础应用分布处理和传输
0
在多个服务器及处理器上同时相互执行应用中的处理功能
1
性能
指用户对应答时间或处理率的需求水平
没有明示对性能的特别需求事项或活动,因此提供基本性能
-1
应答时间或处理率对高峰时间或所有业务时间来说都很重要,存在对连动系统结束处理时间的限制
0
为满足性能需求事项,要求设计阶段开始进行性能分析,或在设计、开发阶段使用分析工具
1
可靠性
指发生故障的影响程度
没有明示对可靠性的特别需求事项或活动,因此提供基本的可靠性
-1
发生故障时可以轻易修复,带来一定不便或经济损失
0
发生故障时很难修复,发生重大经济损失或有生命危害
1
多重站点
指开发能够支持不同硬件和软件环境的软件
在设计阶段只需考虑一个设置站点的需求事项为了只在相同用途的硬件或软件环境下运行而设计
-1
在设计阶段需要考虑一个以上设置站点的需求事项为了用途类似的硬件或软件环境下运行而设计
0
在设计阶段需要考虑一个以上设置站点的需求事项为了在不同用途的硬件或软件环境下操作而设计
1
说明:
质量特性调整因子=(分布式处理因子+性能因子+可靠性因子+多重站点因子)*0.025+1
7.开发语言调整因子参数表
语言分类
调整因子
C及其他同级别语言/平台
1.2
JAVA、C++、C#及其他同级别语言/平台
1.0
PowerBuilder、ASP及其他同级别语言/平台
0.8
8.开发团队背景调整因子参数表
调整因子
判断标准
影响度
同类行业及项目的以往经验
为本行业开发过类似的项目
0.8
为其他行业开发过类似的项目,或为本行业开发过不同但相关的项目
1.0
没有同类项目的背景
1.2
9.地区调整因子参数表
典型城市
调整因子
北京
1.00
上海
0.95
广州
1.00
南京
0.86
济南
0.68
成都
0.68
10.人力成本费率及功能点单价基准数据
基准人力成本费率:
17000元/月(北京,包含直接人力成本和间接成本)
基准人力成本费率:
13500元/月(北京,只包含直接人力成本)
基准人力成本费率:
22000元/月(北京,包含直接人力成本和间接成本及合理利润)
功能点单价:
902.4元/功能点(北京,包含直接人力成本和间接成本及合理利润)
11.人月基准费率
城市名称
基准人月费率(单位:
万元)
城市类别
北京
2.31
一线城市
上海
2.24
一线城市
广州
2.28
一线城市
深圳
2.29
一线城市
南京
1.99
二线城市
苏州
2.01
二线城市
济南
1.59
三线城市
成都
1.58
三线城市
说明:
表中人月费率包含软件的直接人力成本、间接成本和合理利润,但不包括直接非人力成本。
12.软件开发工作量分布
需求
设计
构建
测试
实施
13.29%
14.04%
41.30%
20.73%
10.64%
13.软件开发工期分布
需求
设计
构建
测试
实施
15.54%
14.37%
30.11%
21.48%
18.51%
14.功能点单价
功能点单价基准为954.44元/功能点,(以北京地区为基准,其他地区可参照于北京地区人月费率对应的关系进行折算)。
15.软件规模估算表样例
软件规模估算表
序号
子系统1
子系统2
子系统3
内部数据/外部接口
类型(ILF/EIF)
是否计算
可复用性
分值
功能点数
计算
未定
不计
高
中
低
总计:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
16.预估功能点计数表样例
预估功能点计数表
项目名称
功能类型
不同重用度文件数功能点数
功能点数合计
ILF
低*1*35=
中*2/3*35=
高*1/3*35=
ILF计数合计:
EIF
低*1*15=
中*2/3*15=
高*1/3*15=
EIF计数合计:
US(ILF计数合计+EIF计数合计)
规模变更因子:
S(调整后规模总计)
说明:
在预算阶段,重用度调整系数通常取值为1(即假设重用度低);
规模变更因子预算时取值为1.5,招投标时取值为1.26,项目计划为1.26;
功能规模S=US*规模变更因子
17.成本估算表样例
功能点规模、工作量、工期、成本估算表
项目名称
1.未调整功能点数UFP(功能点)
经过重用调整后的功能点数US(功能点)
设定规模变更因子CF
1.26
2.调整后的功能点数S
S=UFP*CF(不调整重用度)
S=US*CF(调整重用度)
基准数据(生产率PDR)
功能点耗时率(人时/功能点)(P25)
3.71
功能点耗时率(人时/功能点)(P50)
7.31
功能点耗时率(人时/功能点)(P75)
12.97
功能点估算规模、工作量、工期、成本表
3.未调整的工作量UE(人时)计算公式:
UE=PDR*S
下限(人时)
最有可能(人时)
上限(人时)
调整因子AF
4.调整后的工作量AE(人时)
计算公式:
AE=UE*AF;
下限(人时)
最有可能(人时)
上限(人时)
人月折算系数HM(人时/人月)
176
平均人