近年来我国计算机软件份额占IT行业的比例越来越高,但无论是用户做软件项目的成本预算、招评标,还是厂商投标、软件项目开发过程,都缺乏一个可以参考的标准,软件成本度量长期以来一直是产业界的难题。 2013年工信部正式发布计划号为2010-3194T-SJ的行业标准《软件研发成本度量规范》(以下简称“行标”)。该标准由中关村智联软件服务业质量创新联盟/中国软件行业协会系统与软件过程改进分会(以下简称协会)与中国电子技术标准化研究所牵头制定,一经发布,多家政府部门,金融企业迅速开展了基于行业标准的成本度量工作,形成了行之有效的实施办法,并积累了丰富经验。标准为用户单位、财政审批部门、软件开发商估算软件项目的工作量、价格和工期等提供了科学、统一、快捷的方法。 目前,“标准”正在升级为国家标准《软件度量-软件研发成本度量规范》(标准计划号:20151553-T-469,以下简称“国标”),标准的应用也将越来越广泛。实施以行标、国标为依据的软件成本度量工作,能够为软件项目的经费管理提供强有力的支撑,降低因为软件费用超支带来的风险,同时也促进软件开发单位的自身管理水平。 SJ/T 11463–2013《软件研发成本度量规范》标准介绍 《软件研发成本度量规范》创造性地将国际上的功能点方法引入软件项目不同阶段的测算中,在软件研发项目的立项、实施、验收等阶段采用不同的估算方法和精度,满足了项目前期,需求不够明确和细化的情况下的测算需求。在成本估算过程中,应遵循以下原则: a) 充分利用基准数据,采用方程法、类比法或类推法,对工作量、工期、成本进行估算。对于进行规模估算的项目,宜采用方程法估算工作量、工期和成本; b) 在规模估算时,应根据项目特点和需求的详细程度选择合适的估算方法; c) 工作量、工期、成本的估算结果宜为一个范围而不是单一的值; d) 成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法。 e) 本标准在软件项目规模测算时,采用了国际先进的功能点方法: 1) ISO/IEC19761(COSMIC-FFP方法):适用于商业应用软件和实时系统 2) ISO/IEC20926(IFPUG方法):适用于所有类型软件的功能规模度量 3) ISO/IEC20968(Mk Ⅱ方法):适用于逻辑事务能被确定的任何软件类型 4) ISO/IEC24570(NESMA方法):适用于所有类型软件的功能规模度量 5) ISO/IEC29881(FiSMA方法):所有类型软件的功能规模度量。 其中,在规模估算时,根据软件项目的不同阶段采用不同的估算方法,如在项目立项之前或需求模糊不清时,可采用预估功能点法,只进行逻辑文件的估算,参考NESMA国际标准所给出的固定权重值得出规模的估算结果; 在进行工作量估算时,基于行业级工作量估算模型,参考行业生产率基准(该基准是行业协会/智联联盟通过5000个多个样本数据分析得到的,并在每年定期更新),得到工作量估算结果; 在成本估算时,参考行业数据公布的人力成本费率取值范围,采用基准比对的方法,得到成本估算的结果。 软件的规模可以通过交付给用户的功能点数来度量,就如一间房子的大小通过提供给用户的建筑面积或使用面积来度量一样.根据IS0的标准表述,功能点分析方法的目的是量化表述用户功能性需求的软件规模。目前ISO标准ISO/IEC 14143 认可有5种度量软件项目功能规模的方法,分别是美国IFPUG组织提出的功能点标准(http://www.if-pug.org)、荷兰软件度量协会提出的NESMA功能点标准(http://www.nesma.nl)、加拿大非盈利织COSMIC 提出的COSMIC功能点(http://www.cosmicon.com);此外,还有芬兰软件度量协会提出的Fisma功能点标准(http://www.fisma.fi)和英国人Charles Symon提出的MarkⅡ功能点标准(http://www.uksma.co.uk)。 以非嵌入式软件为例,软件成本度量估算的主要技术路线如下: |