力成本之外的其他成本。
? 预算 budgeting 根据项目成本估算的结果确定预计项目费用的过程。 ? 方程法 equation 基于基准数据建立参数模型,并通过输入各项参数,确定待
估算项目工作量、工期或成本估算值的方法。
6
4 估算过程
4.1 概述
在预算过程中,通常采用方程法进行项目估算。方程法,即基于基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量、工期或成本估算值的方法。
规模估算UFP=35*ILF+15*EIF规模调整S=CF*UFP工作量估算AE=S*PDR*SWF*RDF工期估算D=1.277*(AE/176)0.404成本估算SDC=AE/176*F+DNC预算费用P=SDC*(1+GP)?预估功能点方法
?CF取值参考行业基准数据
?PDR/SWF/RDF取值参考行业基准数据
?基于行业基准数据建立工作量-工期模型?F取值参考行业数据?GP建议不超过30%
采用方程法确定项目预算的典型过程如下图所示:
图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:外部接口文件数量,单位为个。
7
【示例1】 —项目范围描述: 院感项目:
需求一:科室查看包括专职人员可以选择科室,汇总查看科室内的在院患者、监测月报、日况等。
需求二:环境卫生学监测包括环境卫生学相关报告单的填报、管理、查询统计等功能。
—采用预估功能点计数方法,可以识别出需求一中包含三个EIF(患者基本信息、高危因素统计、患者日志),因此,此部分需求未调整的功能点数UFP 为45。同时,可以识别出需求二中包含一个ILF(消毒灭菌信息),因此,此部分需求未调整的功能点数UFP 为35。此时得出两个需求的功能规模为75个功能点。
【补充说明】
在估算前应依据可行性研究报告或类似文档明确项目范围及系统边界。项目范围描述文档中除包含最基本的业务需求外,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行描述或说明,以保证可以根据项目范围描述文档进行预估功能点计数。如果当前的项目范围描述文档过于粗略,无法进行预估功能点计数时,则不进行规模估算,而直接采用类比法或类推法估算工作量、工期或成本。
在使用预估功能点方法进行规模估算时,通常规模估算偏差小于20%。
4.3 规模调整
考虑到预算时需求较模糊,未来将有很多隐含需求及需求变更。因此,需对估算规模进行调整,公式如下:
S=UFP*CF
式中:S:调整后的软件规模,单位为功能点;
CF:规模变更调整因子,依据行业数据,预算阶段通常取值为1.5。如果预算阶段需求较为清晰,可对该因子取值进行适当调整。
在预算阶段,可进行重用度调整,可参照附录10中的公式计算调整后的软件规模。
8
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人时之间。
9
4.5 估算工期
估算工期可根据工作量—工期模型计算,公式如下:D=1.277*(AE/HM)
0式中: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
10