ICS点击此处添加ICS号点击此处添加中国标准文献分类号DB地方标准DB××/T××××—××××软件成本测算规范Specificationforsoftwaredevelopmentcostestimatingofinformationtechnologyprojects(征求意见稿)本稿完成日期:2012-11-04××××-××-××发布××××-××-发布DB××/T××××—××××1目次前言..................................................................................2引言..................................................................................31范围................................................................................42规范性引用文件......................................................................43术语和定义..........................................................................44软件开发成本构成....................................................................75软件开发成本测算....................................................................85.1软件开发成本测算过程............................................................85.2规模测算........................................................................85.3工作量测算......................................................................95.4工期及成本测算.................................................................10附录A(资料性附录)估算示例.....................................................12参考文献.............................................................................15DB××/T××××—××××2前言本标准按照GB/T1.1-2009的规则起草。本标准由北京经济和信息化委员会提出。本标准由北京经济和信息化委员会归口。本标准由北京经济和信息化委员会组织实施。本标准的主要起草单位:┄本标准主要起草人:┄DB××/T××××—××××3引言本标准规定了信息化项目软件开发成本测算的方法、过程及原则,其目的是帮助实施信息化项目的委托方科学地进行软件开发成本测算,从而制订合理的项目预算并有效开展招投标工作。DB××/T××××—××××4软件成本测算规范1范围本标准规定了信息化项目软件开发成本测算的方法及过程,包括软件开发成本的构成、软件规模、工作量、成本及工期测算方法及过程。本标准适用于信息化项目的软件开发成本测算。软件开发成本包括在项目计划、需求分析、设计、实现、集成、测试、交付过程中产生的成本。本标准不适用于包含大量复杂算法或以非功能性需求为主的信息化项目软件开发成本测算。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。ISO/IEC20926软件和系统工程—软件度量—IFPUG功能规模度量方法2009(Softwareandsystemsengineering--Softwaremeasurement--IFPUGfunctionalsizemeasurementmethod2009)ISO/IEC24570软件工程—NESMA功能规模度量方法2.1版—功能点分析应用定义和计数指南(Softwareengineering--NESMAfunctionalsizemeasurementmethodversion2.1--DefinitionsandcountingguidelinesfortheapplicationofFunctionPointAnalysis)3术语和定义下列术语和定义适用于本文件。3.1信息化informationtechnology培养、发展以计算机为主的智能化工具为代表的新生产力,并使之造福于社会的历史过程。3.2信息化项目informationtechnologyproject在特定资源条件下,旨在提高信息化水平的信息系统建设及优化任务。通常包括信息技术规划、系统与软件开发、运营维护三类活动。3.3软件开发成本softwaredevelopmentcost委托方为达成软件开发项目目标而需向开发方支付的费用。3.4毛利润grossprofitDB××/T××××—××××5委托方软件开发成本与开发方为达成软件开发项目目标所需付出的各种资源代价之差。毛利润一般包含开发方经营管理费用分摊、市场销售费用分摊、各种税费及税后净利。3.5直接成本directcost开发方为达成软件开发项目目标而直接付出的各种资源代价总和。如可直接计入软件开发项目成本的直接材料、直接人工等。3.6间接成本indirectcost与达成软件开发项目目标相关,但同一种投入可以支持一个以上项目的开发方联合成本。如开发方研发管理人员工资、研发设备折旧、停工损失等。3.7人力成本humanresourcecost开发方为达成软件开发项目目标所需付出的各种人力资源代价总和。3.8非人力成本non-humanresourcecost开发方为达成软件开发项目目标所需付出的人力成本之外的其他成本。3.9方程法equation基于基准数据建立参数模型,并通过输入各项参数,确定待测算项目工作量、工期或成本估算值的方法。3.10软件因素softwarefactor由于软件自身特点的差异而导致预期生产率发生变化的相关因素,如业务领域、应用类型、质量要求等。3.11开发因素developmentfactor对于同一软件,由于开发团队或其采用的过程、技术差异而导致预期生产率发生变化的相关因素,如采用技术、过程、团队经验、重用程度等。3.12系统边界systemboundary被测算软件与用户或其他系统之间的界限。3.13功能点functionpointFP衡量软件功能规模的一种单位。DB××/T××××—××××63.14NESMANetherlandsSoftwareMetricsAssociation荷兰软件度量协会。3.15内部逻辑文件internallogicalfileILF在系统边界内维护的用户可识别的逻辑相关数据组或控制信息。其主要目的是保存由被计数的应用的一个或多个基本处理所维护的数据。3.16外部接口文件externalinterfacefileEIF被本系统引用但在另一系统边界内被维护的,用户可识别的逻辑相关数据组或控制信息。其主要目的是保存由被计数的系统边界内的一个或多个基本处理所引用的数据。这意味着被一个系统所计数的EIF必定是另一个系统的ILF。3.17预估功能点计数theindicativefunctionpointcount按照NESMA功能点方法,只进行ILF和EIF计数,每个ILF计为35个功能点,每个EIF计为15个功能点。3.18基准benchmark经过筛选并维护在数据库中的一个或一组测量值或者派生测量值,用来表征目标对象(如项目或项目群)相关属性与这些测量值的关系。3.19委托方sponsor软件开发项目的出资方。3.20开发方developer受委托方委托,负责软件开发的组织或团队。3.21第三方third-party委托方和开发方之外的主要利益相关方,如监理、审计、咨询机构等。3.22百分位数percentile在某实数集合中,对于集合内某元素X,如果该集合中有且仅有p%的数据不大于X,则称X为该集合的p百分位数。例如,如果仅有50%的数据不大于X,则X为该集合的50百分位数,简称P50。3.23DB××/T××××—××××7功能点耗时率personhoursperfunctionalsizeunit每功能点所消耗的人时数。3.24功能点单价unitpriceoffunctionpoint每功能点的直接人力成本、间接成本及毛利润之和,单位通常为元每功能点。4软件开发成本构成本标准中软件开发过程包括从信息化项目立项开始到项目完成验收之间的需求分析、设计、编码、集成、测试、验收交付活动及相关的项目管理、支持活动。软件开发成本仅包括软件过程中开发方的所有直接成本、间接成本和毛利润(如图1所示),不包括软件预研或可行性分析、数据迁移、软件维护等成本。直接成本包括直接人力成本和直接非人力成本,间接成本包括间接人力成本和间接非人力成本。本标准中所涉及工作量、工期也仅为软件开发过程所用工作量、工期。图1软件开发成本构成直接人力成本包括开发方项目组成员的工资、奖金、福利等人力资源费用。其中,项目成员包括参与该项目开发过程的所有研发或支持人员,如项目经理、需求分析人员、设计人员、开发人员、测试人员、部署人员、用户文档编写人员、质量保证人员、配置管理人员等。对于非全职投入该项目开发工作的人员,按照项目工作量所占其总工作量比例折算其人力资源费用。直接非人力成本包括:a)办公费,即开发方为开发此项目而产生的行政办公费用,如办公用品、通讯、邮寄、印刷、会议等;b)差旅费,即开发方为开发此项目而产生的差旅费用,如交通、住宿、差旅补贴等;c)培训费,即开发方为开发此项目而安排的特别培训产生的费用;d)业务费,即开发方为完成此项目开发工作所需辅助活动产生的费用,如招待费、评审费、验收费、第三方评测费等;e)采购费,即开发方为开发此项目而需特殊采购专用资产或服务的费用,如专用设备费、专用软件费、技术协作费、专利费等;f)其他,即未在以上项目列出但确系开发方为开发此项目所需花费的费用。间接人力成本指开发方服务于软件研发管理整体需求的非项目组人员的人力资源费用分摊。包括软件研发部门经理、项目管理办公室(PMO)人员、工程过程组(EPG)人员、产品规划人员、组织级质量保证人员、组织级配置管理人员等的工资、奖金、福利等的分摊。DB××/T××××—××××8间接非人力成本指开发方不为开发某个特定项目而产生,但服务于整体研发活动的非人力成本分摊。包括开发方研发场地房租、水电、物业,研发人员日常办公费用分摊及各种研发办公设备的租赁、维修、折旧分摊。毛利润包含开发方直接成本和间接成本之外的经营管理费用分摊、市场销售费用分摊、应承担各种税费及税后净利。5软件开发成本测算5.1软件开发成本测算过程图2软件开发成本测算基本流程图2展示了成本测算的基本流程。在依据此流程进行软件开发成本测算时应考虑以下情况:——对于有明确工期要求的项目,在采用方程法测算工作量时,工期要求可以是方程的参数之一;——工期测算结果与成本测算结果相互关联并可能互相影响。如工期测算的结果有可能导致重新测算工作量,并最终改变软件开发成本测算结果。在成本测算过程中,应遵循以下原则:——充分利用基准数据,对工作量、工期、成本进行测算;——在测算规模时,应根据项目特点和需求的详细程度选择合适的方法;——工作量、