信息化项目软件开发费用测算规范.docx
- 文档编号:11252918
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:31
- 大小:27.96KB
信息化项目软件开发费用测算规范.docx
《信息化项目软件开发费用测算规范.docx》由会员分享,可在线阅读,更多相关《信息化项目软件开发费用测算规范.docx(31页珍藏版)》请在冰豆网上搜索。
信息化项目软件开发费用测算规范
信息化项目软件开发费用测算规范
1范围
本标准规定了定制类信息化项目软件开发费用测算的方法及过程,包括软件开发费用的构成、软件
规模、工作量、费用及工期测算方法及过程。
本标准适用于以功能性需求为主的定制类信息化项目软件开发费用测算。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
ISO/IEC20926软件和系统工程—软件度量—IFPUG功能规模度量方法2009(Softwareandsystems
engineering--Softwaremeasurement--IFPUGfunctionalsizemeasurementmethod2009)
ISO/IEC24570软件工程—NESMA功能规模度量方法2.1版—功能点分析应用定义和计数指南
(Softwareengineering--NESMAfunctionalsizemeasurementmethodversion2.1--Definitions
andcountingguidelinesfortheapplicationofFunctionPointAnalysis)
3术语、定义和缩略语
3.1术语和定义
下列术语和定义适用于本文件。
3.1.1
信息化项目informationtechnologyproject
旨在提高信息化水平的信息系统建设及优化任务。
3.1.2
委托方sponsor
软件开发项目的出资方。
3.1.3
开发方developer
受委托方委托,负责软件开发的组织或团队。
3.1.4
第三方third-party
委托方和开发方之外的主要利益相关方。
注:
监理、审计、咨询机构等均为第三方。
DB11/T1010—2013
2
3.1.5
软件开发费用softwaredevelopmentcost
委托方为达成软件开发项目目标而需向开发方支付的费用。
3.1.6
直接成本directcost
开发方为达成软件开发项目目标而直接付出的各种资源代价总和。
注:
可直接计入软件开发项目成本的直接材料、直接人工等属于直接成本。
3.1.7
间接成本indirectcost
与达成软件开发项目目标相关,但同一种投入可以支持一个以上项目的开发方联合成本。
注:
开发方研发管理人员工资、研发设备折旧、停工补偿等属于间接成本。
3.1.8
人力成本humanresourcecost
为达成软件开发项目目标所需付出的开发方人力资源成本总额。
3.1.9
非人力成本non-humanresourcecost
开发方为达成软件开发项目目标所需付出的人力成本之外的其他成本总额。
直接人力成本directhumanresourcecost
为达成软件开发项目目标而直接付出的开发方人力成本。
直接非人力成本directnon-humanresourcecost
开发方为达成软件开发项目目标而直接付出的非人力成本。
间接人力成本indirecthumanresourcecost
开发方服务于软件研发管理整体需求的非项目组人员的人力成本。
间接非人力成本indirectnon-humanresourcecost
开发方不为开发某个特定项目但服务于整体研发活动产生的非人力成本。
毛利润grossprofit
软件开发费用与直接成本及间接成本之差。
DB11/T1010—2013
3
基准数据benchmark
经过筛选并维护数据库中的一个或一组测量值或者派生测量值,用来表征目标对象相关属性与这些
测量值的关系。
方程法equation
基于基准数据建立参数模型,并通过输入各项参数,确定待测算项目工作量、工期或费用估算值的
方法。
软件因素softwarefactor
由于软件自身特点的差异而导致预期生产率发生变化的相关因素。
注:
业务领域、应用类型、质量特性等属于软件因素。
开发因素developmentfactor
对于同一软件,由于开发团队或其采用的过程、技术差异而导致预期生产率发生变化的相关因素。
注:
采用技术、过程、团队经验、重用程度等属于开发因素。
系统边界systemboundary
被测算软件与用户或其他系统之间的界限。
功能点functionpoint
衡量软件功能规模的一种单位。
内部逻辑文件internallogicalfile
在系统边界内维护的、用户可识别的逻辑相关数据组或控制信息。
注:
其主要目的是保存由被计数的应用的一个或多个基本处理所维护的数据。
外部接口文件externalinterfacefile
由一系统引用、另一系统维护的,用户可识别的逻辑相关数据组或控制信息。
注:
其主要目的是保存由被计数的系统边界内的一个或多个基本处理所引用的数据。
一个系统所计数的外部接口文
件必定是另一个系统的内部逻辑文件。
预估功能点计数theindicativefunctionpointcount
只进行内部逻辑文件和外部接口文件计数的功能点计数方法。
DB11/T1010—2013
4
百分位数percentile
在某实数集合中,对于集合内某元素X,如果该集合中有且仅有p%的数据不大于X,则称X为该集合
的p百分位数。
示例:
如果仅有50%的数据不大于X,则X为该集合的50百分位数,简称P50。
功能点耗时率personhoursperfunctionalsizeunit
每功能点所消耗的人时数。
功能点单价unitpriceoffunctionpoint
每功能点的直接人力成本、间接人力成本、间接非人力成本及毛利润之和。
3.2缩略语
以下缩略语适用于本文件。
EI:
外部输入
EO:
外部输出
EQ:
外部查询
EIF:
外部接口文件
FP:
功能点
ILF:
内部逻辑文件
4软件开发费用构成
4.1费用构成
软件开发过程应包括从信息化项目立项完成到项目验收之间的需求分析、设计、编码、集成、测试、安装、验收活动及相关的项目管理、支持活动。
软件开发费用应包括软件过程中开发方的所有直接成本、间接成本和毛利润(如图1所示),不包括软件预研或可行性分析、数据迁移、软件维护等成本。
直接成本包括直接人力成本和直接非人力成本。
间接成本包括间接人力成本和间接非人力成本。
本标准中所涉及工作量、工期仅为软件开发过程所用工作量、工期。
图1软件开发费用构成
DB11/T1010—2013
5
注:
不同的组织在软件开发费用测算过程中应考虑已有财务或其他管理制度对软件开发费用构成的影响。
例如,当软硬件购置费、测评费等费用单独列支时,不应再将上述费用作为软件开发费用的直接非人力成本重复计算。
4.2直接人力成本构成
直接人力成本包括开发方项目组成员的工资、奖金、福利等人力资源费用。
其中,项目组成员包括参与该项目开发过程的所有研发或支持人员。
对于非全职投入该项目开发工作的人员,按照项目工作量
所占其总工作量比例折算其人力资源费用。
注:
项目组成员通常包括项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员、配置管理人员等。
4.3直接非人力成本构成
直接非人力成本包括:
a)办公费,开发方为开发此项目而产生的行政办公费用,包括办公用品、通讯、邮寄、印刷、会议等;
b)差旅费,开发方为开发此项目而产生的差旅费用,包括交通、住宿、差旅补贴等;
c)培训费,开发方为开发此项目而安排的特别培训产生的费用;
d)业务费,开发方为完成此项目开发工作所需辅助活动产生的费用,包括招待费、评审费、验收费、第三方评测费等;
e)采购费,开发方为开发此项目而需特殊采购专用资产或服务的费用,包括专用设备费、专用软件费、技术协作费、专利费等;
f)其他,未在以上项目列出但确系开发方为开发此项目所需花费的费用。
4.4间接人力成本构成
间接人力成本包括软件研发部门经理、项目管理办公室(PMO)人员、工程过程组(EPG)人员、产品规划人员、组织级质量保证人员、组织级配置管理人员等的工资、奖金、福利等的分摊。
4.5间接非人力成本构成
间接非人力成本包括开发方研发场地房租、水电、物业,研发人员日常办公费用分摊及各种研发办
公设备的租赁、维修、折旧分摊。
4.6毛利润构成
毛利润包含开发方直接成本和间接成本之外的经营管理费用分摊、市场销售费用分摊、应承担各种
税费及税后净利。
5软件开发费用测算
5.1软件开发费用测算过程
软件开发费用测算的基本流程如图2所示。
DB11/T1010—2013
6
图2软件开发费用测算基本流程
工期测算的结果与费用测算结果相互关联、互相影响。
工期测算的结果可导致重新测算工作量,并
最终改变软件开发费用测算结果。
对于有明确工期要求的项目,在采用方程法测算工作量时,工期要求可以是方程的参数之一。
在软件开发费用测算过程中,应遵循以下原则:
——充分利用基准数据,对工作量、工期、费用进行测算;
——在测算规模时,应根据项目特点和需求的详细程度选择合适的方法;
——工作量、工期、费用的测算结果宜为一个范围而不是单一值;
——费用测算过程中宜采用不同方法分别测算并进行交叉验证。
如果不同方法的测算结果产生较大
差异,可采用专家评审方法或加权平均方法确定测算结果。
5.2规模测算
5.2.1功能点计数
应根据已知的项目功能描述,采用功能点方法测算软件规模。
在预算阶段,宜采用预估功能点计数方法,测算未调整的功能点数。
在测算规模前应依据可行性研究报告或类似文档明确项目范围及系统边界。
项目范围描述文档应包
含最基本的业务需求,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行描述或说明,保证可根据项目范围描述文档进行预估功能点计数。
采用预估功能点方法测算软件规模公式如下:
UFP=35×ILF+15×EIF……………………………………
(1)
式中:
UFP——未调整的功能点数,单位为功能点;
ILF——内部逻辑文件数量,单位为个;
EIF——外部接口文件数量,单位为个。
功能点的计数规则,应符合ISO/IEC20926或ISO/IEC24570的规定。
功能点计数的基本规则见附录
A。
示例:
假设关于公文管理部分功能的描述如下:
公文管理包括公文起草、审核、审批、备案、发布。
审批时要对电子签名进行验证。
采用预估功能点计数方法,可以识别出上述需求中包含一个ILF(公文信息),一个EIF(电子签名信息),因此,此部分需求未调整的功能点数UFP为50。
5.2.2规模调整
复用程度调整
应对待实现功能复用情况进行分析,识别出可复用的功能及可复用的程度。
对于委托方,应评估待
实现功能行业的平均复用水平,并根据复用程度对规模进行调整,公式如下:
DB11/T1010—2013
7
US=RUF×UFP……………………………………………
(2)
式中:
US——未调整的软件规模,单位为功能点;
RUF——复用度调整因子,取值为0-1的任意实数;
UFP——未调整的功能点数,单位为功能点。
示例:
假设关于公文管理部分功能的描述如下:
公文管理包括公文起草、审核、审批、备案、发布。
审批时要对电子签名
进行验证。
采用预估功能点计数方法,可以识别出上述需求中包含一个ILF(公文信息),一个EIF(电子签名信息),
因此,此部分需求未调整的功能点数UFP为50。
假设该部分的整体复用程度是开发方开发过类似功能,但需要适当调整,
复用度调整因子取值为2/3,因此,未调整规模US=50×2/3=33.3(FP)。
隐含需求及需求变更调整
采用预估功能点测算规模时,应根据隐含需求及未来需求变更对规模产生的影响并对测算规模进行
调整,公式如下:
S=US×CF……………………………………………(3)
式中:
S——调整后的软件规模,单位为功能点;
US——未调整软件规模,单位为功能点;
CF——规模变更调整因子,取值为1-2的任意实数。
CF的取值参考相关行业基准数据或本组织历史数据。
预估功能点的测算及调整可参考附录C.1中模板及说明。
示例:
假设某项目经测算,未调整的软件规模为1000功能点,但该项目需求尚未完全确定,预计未来将有50%的变更,
则该项目调整后的软件规模S为1500功能点。
5.3工作量测量
5.3.1基本原则
在测算工作量时,应:
a)对项目风险进行充分分析并根据分析结果对测算方法或模型合理调整。
例如,根据风险情况调
整测算模型中影响因子的权重或取值。
风险分析时应考虑技术、管理、资源、商业多方面因素。
例如:
需求变更、外部协作、时间或成本约束、人力资源、系统架构、用户接口、外购或复用、
采用新技术等;
b)根据经验或相关性分析结果,确定影响工作量的主要属性。
5.3.2测算公式
采用方程法测算工作量应使用以下公式:
AE=(S×PDR)×SWF×RDF………………………………………(4)
式中:
AE——测算工作量,单位为人时;
S——调整后的软件规模,单位为功能点;
PDR——功能点耗时率,单位为人时每功能点。
PDR的取值见附录B.1或本组织历史数据;
DB11/T1010—2013
8
SWF——软件因素调整因子,取值见附录B.2、附录B.3及附录B.4或本组织历史数据;
RDF——开发因素调整因子,在预算时如无特殊要求,取值为1。
如果需要调整,见附录B.5及附录
B.6或本组织历史数据。
可根据上述公式及PDR基准数据的P25、P50、P75值,分别计算出工作量测算结果的下限、最有可能
值和上限。
示例:
政府部门甲拟新开发OA系统,以支持其网上办公、文档流转等电子政务需求,经测算其调整后的软件规模为1030FP,
测算工作量过程如下:
a)依据附录B.1,PDR取值分别为4.50、9.38、15.50;
b)由于此时对开发没有特殊要求,所以RDF取值为1;
c)依据附录B.2、附录B.3、附录B.4,规模调整因子取值为0.97,应用类型及质量特征调整因子取值均为1,
因此计算可得SWF为0.97;
d)由此,可计算出测算工作量AE的最有可能值=(9.38×1030)×1×0.97=9371.56人时,而工作量测算最终结
果的合理范围在4495.95人时到15486.05人时之间。
5.4工期测算
在测算工期时,应:
a)根据工作量测算结果和资源情况,对工作任务进行分解并制订工作时间表。
制订工作时间表时
应充分考虑关键路径任务约束对工期的影响。
b)利用基准数据测算合理的工期范围。
利用基准数据,建立“工作量-工期”模型,使用方程法
测算合理的工期范围;
c)将委托方的期望工期或开发方初步制订的工作时间表中的工期与工期测算结果进行比较;
d)委托方期望工期或工作时间表中的工期短于测算出的工期下限时,应分析原因,必要时对人力
资源安排或项目范围进行调整,再重新测算工作量、工期,并制订新的工作时间表。
压缩工期
会增加项目工作量,导致生产效率降低。
示例:
假设某信息化项目期望工期是5个月,软件开发测算工作量AE的最有可能值为9371.56人时,而工作量测算最终
结果的合理范围在4495.95人时到15486.05人时之间;假设采用工作量-工期模型为:
工期=1.277×(工作量/176)0.404,
其中工作量单位为人时,工期单位为月,可计算出最有可能工期=1.277×(9371.56/176)0.404=6.36月。
合理工期范围在
4.73月到7.79月之间(采用工作量测算合理范围的上下限值分别计算);根据经验,当期望工期多于测算工期下限但
少于最有可能工期时,每压缩10%的工期,将导致10%的工作量增加。
因此,本项目如果要求5个月完成,总工作量大
致会增加20%。
5.5费用测算
5.5.1依据工作量测算
在获得了工作量测算结果后,采用以下公式测算费用:
P=AE/HM×F+DNC…………………………………………(5)
式中:
P——软件开发费用,单位为元;
AE——测算工作量,单位为人时;
HM——人月折算系数,单位为人时每人月,取值为176;
F——平均人力成本费率(包括开发方直接人力成本、间接成本及毛利润),单位为元每人月;
DB11/T1010—2013
9
DNC——直接非人力成本,单位为元;
其中,平均人力成本费率F可根据本组织历史数据或行业数据确定。
费用测算参见附录C.3模板。
完整的规模、工作量、费用测算方法、过程参见附录D。
示例:
假设某信息化项目软件开发测算工作量AE的最有可能值为9371.56人时,而工作量测算最终结果的合理范围在
4495.95人时到15486.05人时之间,该组织历史项目的平均人力成本费率为22000元,直接非人力成本预计有培训费
20000元,业务费10000元,采购费30000元,合计为60000元。
计算得到最有可能的信息化项目软件开发费用
P=(9371.56/176×22000)+60000=123.14万元,软件开发费用的合理范围在62.20万元到199.58万元之间。
5.5.2依据规模及规模单价测算
基于已确定的功能点单价测算软件开发费用,采用以下公式:
P=S×PP×SWF×RDF+DNC………………………………………(6)
式中:
P——软件开发费用,单位为元;
S——调整后的软件规模,单位为功能点;
PP——功能点单价,单位为元每功能点;
SWF——软件因素调整因子,取值见附录B.2、附录B.3及附录B.4或本组织历史数据;在基于功能点
单价确定预算时,为便于结算委托方不宜使用规模调整;
RDF——开发因素调整因子,在预算时若无特殊要求,取值为1。
若需调整,见附录B.5及附录B.6
或本组织历史数据;
DNC——直接非人力成本,单位为元。
直接非人力成本测算参见附录C.2。
DB11/T1010—2013
10
附录A
(规范性附录)
功能点计数基本规则
A.1功能点计数项分类
功能点计数项分为数据功能和交易功能两类,其中数据功能包括ILF、EIF;交易功能包括外部输入
(EI)、外部输出(EO)、外部查询(EQ)。
数据功能是系统提供给用户的满足产品内部和外部数据需求的功能,体现系统管理或使用哪些业务
数据(业务对象)。
ILF或EIF所指的“文件”不是传统数据处理意义上的文件,而是指一组用户可识别
的、逻辑上相互关联的数据或者控制信息。
这些文件和物理上的数据集合(如数据库表)没有必然的对
应关系。
交易功能是系统提供给用户的处理数据的功能,体现系统如何处理和使用那些业务数据(业务对
象)。
交易功能又称为基本过程,是用户可识别的,业务上的一组原子操作。
使用预估功能点方法时,只需要识别数据功能,包括ILF和EIF;使用估算功能点方法时,需要识别
数据功能和事务功能,包括ILF、EIF、EI、EO和EQ。
示例:
对于人事管理系统,“人员信息”、“部门信息”属于数据功能,“增加人员信息”、“修改部门信息”、“查询
在岗人员”等则为交易功能。
A.2ILF的识别
识别ILF的步骤如下:
a)识别业务对象。
业务对象应是用户可理解和识别的,包括业务数据或业务规则。
注:
为程序处理而维护的数据属于编码数据。
所有的编码数据均不应识别为逻辑文件,与之
相关的操作也不应识别为基本过程;
b)确定逻辑文件数量。
根据业务上的逻辑差异及从属关系确定逻辑文件的数量。
c)是否是ILF。
确定该逻辑文件是否在本系统内进行维护。
如果是,记为ILF;否则为EIF。
A.3EIF的识别
EIF是被应用边界内一个或几个基本处理过程所引用的业务数据。
一个应用中的EIF应是其他应用中
的ILF。
识别EIF的步骤如下:
a)识别业务对象。
业务对象应该应是用户可理解和识别的。
业务对象包括业务数据或业务规则。
而一些为了程序处理而维护的数据则属于编码数据。
所有的编码数据均不识别为逻辑文件,
与之相关的操作也不识别为基本过程;
b)确定逻辑文件数量。
需要根据业务上的逻辑差异及从属关系确定逻辑文件的数量。
c)是否是EIF。
确定该逻辑文件是否在本系统内进行维护。
如果是,记为ILF;否则为EIF。
A.4EI的识别
DB11/T1010—2013
11
EI是处理来自系统边界之外的数据或控制信息的过程。
目的是维护一个或多个ILF或者改变系统的
行为。
EI的基本识别规则如下:
a)应是来自系统边界之外的输入数据或控制信息;
b)穿过边界的数据应是改变系统行为的控制信息或者应至少维护一个ILF;
c)该EI不应被重复计数。
任何被分别计数的两个EI至少满足下面三个条件之一(否则应视为同
一EI):
1)涉及的ILF或EIF不同;
2)涉及的数据元素不同;
3)处理逻辑不同。
A.5E0的识别
EO是处理向系统边界之外发送数据或控制信息的过程。
目的是向用户呈现经过处理的信息。
EO的基本识别规则如下:
a)将数据或控制信息发送出系统边界;
b)处理逻辑应至少符合以下一种情况:
1)包含至少一个数学公式或计算过程;
2)产生衍生数据;
3)维护至少一个ILF;
4)改变系统行为。
c)该EO不应被重复计数。
任何被分别计数的两个EO至少满足下面一个条件(否则被视为同一
EO):
1)涉及的ILF或EIF不同;
2)涉及的数据元素不同;
3)处理逻辑不同。
A.6EQ的识别
EQ是向系统边界之外发送数据或控制信息的基本处理过程。
目的是向用户呈现未经加工的已有信
息。
EQ的基本识别规则如下:
a)将数据或控制信息发送出系统边界;
b)处理逻辑可包含筛选、分组或排序;
c)处理逻辑不应包含:
1)数学公式或计算过程;
2)产生衍生数据;
3)维护ILF;
4)改变系统行为。
d)该EQ不应被重复计数。
任何被分别计数的两个EQ至少满足下面一个条件(否则被视为同一
EQ):
1)涉及的ILF或EIF不同;
2)涉及的数据元素不同;
DB11/T1010—2013
12
3)处理逻辑不同。
DB11/T1010—2013
13
附录B
(规范性附录)
参数表
B.1生产率基准数据表
表1生产率基准数据
单位为人时/功能点
P10P25P10P10P10
1.634.509.3815.5020.67
注:
表格数据基于北京软件行业基准数据(SSM-BK-201204)中项目分析结果,可随着行业基准数据的变化而变化。
生产率基准数据通常使用P50的取值测算工作量、工期、费用的最有可能值,使用P25和P75的值分别测算上下
限。
特殊情况(如项目目标约束极其严格)下,也可采用P10和P90的值测算上下限。
B.2规模调整因子计算公式
SF=(269.6446+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息化 项目 软件 开发 费用 测算 规范