前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于功能点分析法(FPA)的度量体系建设简析

基于功能点分析法(FPA)的度量体系建设简析

作者头像
软件成本造价评估
修改2019-01-24 10:26:41
1.9K0
修改2019-01-24 10:26:41
举报

  随着信息技术的发展和应用系统规模的增大,无论是系统的建设方还是承建方,都迫切需要建设组织自身的数据度量体系,以便加强项目过程控制、提高生率、降低生产成本,提升市场竞争优势。

  组织要建设适合自身需要的度量体系,首先要确定度量所采用的工具和方法,其次要确定度量的要素,即要度量哪些数据,然后建设可信的度量数据库,最后根据度量的数据进行分析,持续改进过程绩效。以下通过某组织的基于功能点分析法的度量库建设实践,对建设度量体系的基本过程简述如下:

1、采用功能点分析法(FPA)

  功能点分析法具有30多年的发展历史,是由IBM的工程师Allan Albrecht在1984年第一个公开发布了用于软件功能规模度量的功能点分析方法。1986年国际功能点用户组(IFPUG)成立以来,其不断增强软件功能规模度量的Albrecht方法,现已形成了功能点度量方法的国际标准,即ISO/IEC 20926《IFPUG功能规模度量方法》。该标准规定了详细功能点度量方法,其是从用户的角度识别数据功能(ILF内部逻辑文件和EIF外部接口文件)和事务功能(EI外部输入/EQ外部查询/EO外部输出),通过计算其复杂度并结合14个调整因子,得出估算的功能点数(即软件规模数据)。NESMA(荷兰软件度量协会)对功能点度量方法进行了改进,形成了国际标准ISO/IEC 24570《功能点分析应用定义和计数指南》。该标准指出,在不同的需求阶段,采用不同的估算参数,比如在产品初期阶段,需求尚未完全明确以及拆分,FPA中只计数ILF和ELF 数据文件数即可初步获得软件规模。计算规则如下:总体UFP(未调整功能点)=35xILF+15xELF;在系统需求逐步明确后,则采用估算功能点方法计算功能点。计算规则如下:总体UFP(未调整功能点)=10xILF+7xELF+4xEI+5xEO+4xEQ。北京软件造价评估技术创新联盟(以下简称“联盟”)推出的计算规则,就是基于以上两种场景下的估算功能点方法,通过相应的调整因子,计算出调整后的应用系统的功能点数。

  功能点分析法(FPA)已经成为了国际标准,并得到了大多数国家的认可,该方法是一致性的标准,可以满足应用并且具有可接受的一致性准则。自2013年工信部行业标准《软件研发成本度量规范》以及北京市地方标准《信息化项目软件开发费用测算规范》发布以来,国内越来越多的软件建设方和承建方积极组织学习FPA方法,并在组织的度量体系建设中,以及项目实施中得到广泛的应用。

  应用系统建设方,可采用功能点分析法,结合行业基准数据,预估出项目的造价预估值,为申报预算、项目招标或审计提供基础依据;在应用系统建设过程中,可通过收集的过程数据,对承建方进行评价和管理,及时发现问题、化解项目风险。应用系统承建方,采用功能点方法,只需要估算出项目的功能点数,结合行业基准数据或组织自己的基准数据,乘以相应的调整因子,就能获得相应的度量数据。

  利用功能点分析法的好处在于,该方法是基于业务的角度,从用户的视角识别数据文件和基本流程,而不用关心技术上如何实现,利于用户理解和应用。对于组织度量的初始源数据来说,该方法具有高度的可信性。在组织度量体系建设过程中,功能点分析方法是核心能力,需要熟练掌握。

2、度量的要素

  组织要对项目进行有效的管理,提高项目和组织过程绩效,就必须通过建立组织级的度量数据库来完善度量体系。功能点分析法作为各方一致性理解的方法,有利于度量数据的采集和计算,目前越来越多的组织采用该方法获得所需的度量数据。

  根据软件过程改进的特点,组织进行软件度量的要素有很多,与功能点分析法相关的度量要素主要包括估算功能点数、最终功能点数、功能点偏差率、规模变更因子、缺陷密度、生产效率等数据。通过这些有效的量化数据,组织可以完善自身的软件项目度量体系,逐步形成组织的生产效率数据标准值,质量数据标准值等数据。与功能点数相关的度量要素如表1所示:

a.png
a.png

表1 度量的要素

  基于功能点分析法的度量要素确定后,组织就可以完善或建设自己的度量库了。

3、建设度量数据库

  组织度量数据库是多项目度量数据的集合。要建设度量数据库,组织必须通过相应的统计模板或建设度量应用系统来完成。此外,组织还要通过制度的形式规定项目组什么时候提供什么数据,通过什么方式提供,以及哪个部门进行收集、整理和验证等。度量数据的收集和管理必须由专人负责,领导重视,不能流于形式,否则收集上来的数据就是不准确的、无用的数据,达不到建设度量库的目的。

  下面通过某组织的度量库建设样例做具体说明,如表2所示。除了表格中展示的度量要素外,该组织还收集了其他度量数据,如挣值分析数据、客户满意度等。

  注1:表2中功能点的初始数据来源于估算功能点方法,默认项目需求已经明确,否则可按预估功能点方法进估算。

  注2:对于应用系统交付后的系统维护任务,由于涉及的因素较多,相关数据需要采用改进的功能点方法度量,不在本文的讨论范围内。

b.png
b.png

表2 项目度量数据

4、    度量数据分析

  组织获得了每个项目的度量数据,达到一定项目数量规模后,就形成了项目数据度量库。组织有了度量库是第一步工作,关键是如何充分利用这些数据,组织可对度量数据进行不同维度的分析,发现项目的特征和规律,辨证施策。例如,上述组织通过分析近3年的数据,发现财务管理类应用系统的平均生产效率是11.2人时/功能点、核心业务类应用系统的平均生产效率为14.6人时/功能点、办公自动化类应用系统的平均生产效率为9人时/功能点,这样在做类似项目或售后维护时,就可将该类应用的平均生产效率作为基准,结合调整后的功能点数,估算应用系统工作量。此外,经过统计分析,该组织3年内承接的应用系统的平均规模变更系数为1.2,则在估算功能点时将规模变更调整因子定为1.2。这些数据的取得,有效地指导了该组织项目的顺利开展,项目实施过程清晰,数据收集和统计准确及时。同时,利用度量库的数据分析结果,也可对个案项目的绩效进行评价,或通过过程数据的比对,及时发现问题,降低项目实施风险。在组织层面上,可以通过数据分析的结果,为持续改进组织绩效、考核项目、更新组织度量基准数据等方面提供有力的支持。

  因此,基于功能点分析法(FPA)的度量体系建设,对于提升组织和项目的过程控制和管理能力是十分有效的。相信随着信息技术的发展、国家标准的发布,以及功能点分析方法的不断完善,越来越多的组织必然会通过认识、学习和利用功能点分析法,打造组织自身的度量数据库,建设高效的度量体系。

(田代军  北京软件造价评估技术创新联盟 高级咨询师)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档