Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于功能点分析法(FPA)的度量体系建设简析

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

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

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

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

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所示:

表1 度量的要素

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

3、建设度量数据库

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

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

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

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

表2 项目度量数据

4、    度量数据分析

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

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

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

本文系转载,前往查看

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

本文系转载,前往查看

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软件开发工作量评估:基于FPA功能点分析法的深入解读
功能点分析方法(Function Point Analysis,FPA)是一种可靠、有效的软件规模度量方法,功能点分析方法(FPA)作为一种理解和交流系统规模的手段,针对用户功能、性能的需求进行度量,具有可在项目早期进行度量,不依赖于项目的语言和技术等特点,在可用性和客观性方面都要优于传统的代码行方法(LOC)。
Hopestarit
2021/12/02
8.3K0
软件开发工作量评估:基于FPA功能点分析法的深入解读
软件项目工作量评估方法简述之功能点方法(FPA)
软件项目工作量评估方法很多,如代码行法、类比法、WBS、故事点、用例点、NESMA、FPA、cosmic、COCOMOⅡ等。本文主要对功能点方法(FPA)简述。
软件成本造价评估
2019/07/05
10.7K0
软件项目工作量评估方法简述之功能点方法(FPA)
软件项目工作量评估方法简述之COSMIC功能点方法
  COSMIC 是通用软件度量国际联盟的简写(Common Software Measurement International Consortium,COSMIC),它成立于1998 年,是一个由全球软件度量专家组成的非盈利自愿性组织,致力于软件规模度量方法的研究与推广。2002 年1月COSMIC 所推出的全功能点规模度量方法成为了 ISO 的标准,最新标准为 ISO/IEC 19761:2011“软件工程—COSMIC—功能规模度量方法”。
软件成本造价评估
2019/06/17
12.8K1
软件项目工作量评估方法简述之COSMIC功能点方法
什么是功能点分析——FPA
传统上,软件开发项目产生的“产品数量”被认为是编写的编程源代码的数量。即代码来源(SLOC 或 KLOC)。在早期的同构软件开发环境中,SLOC 的数量和感知的软件相对大小具有相当直接的关系。
Hopestarit
2021/11/17
1.8K0
什么是功能点分析——FPA
功能点分析法(FPA):在软件项目规划阶段的作用与好处(一)
行业经验表明,了解软件规模有助于制定更准确的项目资源和交付日期规划,同时有助于项目跟踪以避免任何不可预见的范围增加。
Hopestarit
2021/12/13
8880
功能点分析法(FPA):在软件项目规划阶段的作用与好处(一)
功能点到底是什么?
功能点(Function Points)是度量软件规模的一个标准度量单元。简单的说, 一个软件的大小可以通过交付给用户的功能点数来度量,就如一间房子的大小通过提供给用户的建筑面积或使用面积来度量一样。功能点方法是是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为主流的软件规模度量方法。功能点方法进入国内也有近15年的时间。在2013年由工业和信息化部发布的行业标准《软件研发成本度量规范》中也推荐使用功能点方法进行软件规模度量,进而对软件项目工作量、工期、成本进行估算。
嘉量云 政企软件造价专家
2021/07/22
2.4K0
软件成本估算流程详解及案例分享【国内行业规范-NESMA】
国标/行业标准所描述的功能点估算规范,既有IFPUG ,也有 NESMA,二者在流程和规则上,大部分是相同的,主要差异是:
Hopestarit
2021/11/23
4K0
软件成本估算流程详解及案例分享【国内行业规范-NESMA】
能源行业软件成本度量评估应用案例分析
应用部门简介:该公司为某大型石油集团的下属子公司,主要业务是为集团公司提供信息系统技术开发和咨询服务,专注于地理信息系统(GIS)、综合业务管理信息系统、图形图像及网络应用软件的研究、设计、开发与建设,以及数字管道、数字油气田和工程设计集成整体解决方案。研发团队主要包括需求分析师、软件开发人员等约上百人。
软件成本造价评估
2018/11/08
5990
能源行业软件成本度量评估应用案例分析
软件造价之:浅析快速功能点方法度量软件的规则及过程
快速功能点方法是一种软件规模度量方法。该方法适用于软件项目早期、中期、后期等各个阶段的规模估算或测量。   采用优化后的功能点方法——快速功能点方法进行规模估算或测量的基本过程或步骤如下: 确定计数类型→识别系统边界→识别功能点计数项→计算未调整的功能点数→计算调整后的功能点数。 1、确定计数类型   根据需求或项目的类型确定计数类型。计数类型分为三种:新开发、延续开发及已有系统计数。   对于新开发需求或项目,对预计(或实际)投产的功能进行计数;   对于延续开发需求或项目,对预计(或实际)新增、修改及删除的功能均进行计数;   对于已有系统,对实际的功能进行计数。 2、识别系统边界   在识别系统边界的时候应注意:应从用户视角出发,不受系统实现影响;主要是为了区分内部逻辑文件(ILF)和外部接口文件(EIF);事务功能应穿越识别的系统边界。 3、识别功能点计数项   功能点计数项分为数据功能和交易功能两类。数据功能包括内部逻辑文件(ILF)、外部接口文件(EIF);交易功能包括外部输入(EI)、外部输出(EO)、外部查询(EQ)。   数据功能是系统提供给用户的满足产品内部和外部数据需求的功能,即本系统管理或使用那些业务数据(业务对象),如“客户信息”“账户交易记录”等。   内部逻辑文件或外部接口文件所指的“文件”不是传统数据处理意义上的文件,而是指一组客户可识别的、逻辑上相互关联的数据或者控制信息。因此,这些文件和物理上的数据集合(如数据库表)没有必然的对应关系。   交易功能是系统提供给用户的处理数据的功能,即本系统如何处理和使用那些业务数据(业务对象),如“转账”“修改黑名单生成规则”“查询交易记录”等。   交易功能又称为基本过程,是用户可识别的,业务上的一组原子操作,可能由多个处理逻辑构成。例如,“添加柜员信息”这个基本过程可能包含“信息校验”“修改确认”“修改结果反馈”等一系列处理逻辑。 4、计算未调整的功能点数   a、采用预估功能点进行计数,计算公式如下:          FP=35*ILF+15*EIF   ——FP:未调整的功能点数,单位为功能点;   ——ILF:内部逻辑文件的数量;   ——EIF:外部接口文件的数量。   b、采用估算功能点进行计数,计算公式如下:          FP=10*ILF+7*EIF+4*EI+5*EO+4*EQ   ——FP:未调整的功能点数,单位为功能点;   ——ILF:内部逻辑文件的数量;   ——EIF:外部接口文件的数量;   ——EI:外部输入的数量;   ——EO:外部输出的数量;   ——EQ:外部查询的数量。 5、计算调整后的功能点数   根据不同的规模测算阶段,需要考虑隐含需求及需求变更对规模的影响,因此,需要根据规模计数时机进行规模调整。调整后的功能点数(AFP),计算公式如下:          AFP=FP*CF   ——AFP:调整后的功能点数,单位为功能点;   ——FP:未调整的功能点数,单位为功能点;   ——CF:规模变更调整因子,依据行业数据,项目估算早期(如概预算阶段)通常取值为1.5;项目估算中期(如招投评标、项目立项、技术方案阶段)通常取值为1.26;项目估算中后期(如需求分析完成及后评价)通常取值为1.0。   了解快速功能点方法度量的规则及过程,有助于提高使用快速功能点方法进行软件造价、软件成本估算、软件成本费用测算时的工作效率。
软件成本造价评估
2018/10/22
2.2K0
软件造价之:浅析快速功能点方法度量软件的规则及过程
功能点方法核心思想是什么?功能点估算方法有哪些优势?
功能点方法的核心思想是把软件系统按照组件进行分解,从而确定系统的功能点数量。功能点方法是一种预测软件系统总规模的方法。通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点方法是一种分解类的规模度量方法,即把复杂的系统分解为较小的子系统进行评估的方法。功能点度量方法是基于软件文档的功能性需求来进行度量,其结果是以功能点数的形式来表示软件的规模。把软件系统按照组件进行分解,从而确定系统的功能点数量。
软件造价评估联盟
2019/04/25
1.5K0
功能点方法核心思想是什么?功能点估算方法有哪些优势?
软件成本度量体系建设应用案例分析
  随着该行组织级量化管理的不断提升,高层领导对信息化管理提出了新的要求,金融信息化每年投入了大量的人力,如何能客观地量化相应的产出?
软件成本造价评估
2018/10/15
1.1K0
软件成本度量体系建设应用案例分析
软件造价评估:如何估算测试工作量?
作为一个管理者,你是否被询问到某个项目要花多少时间,多少人力测试;或是作为一个普通的测试员,你是否被询问到要花多少时间来完成某个任务或是一次回归测试?我想大多数在软件行业的人或多或少都会碰到这样的关于工作量估计的询问。那么你是怎么回答的呢?你对你自己的回答有信心吗?你是否最终发现实际上花去的时间和原本估计的时间大相径庭呢?
Hopestarit
2021/11/23
1.1K0
软件造价评估:如何估算测试工作量?
2种常见软件项目工作量评估方法简述
  本文的目标读者是从事软件行业想快速了解软件开发过程工作量评估的人员。软件工作量评估方法很多,如代码行法、类比法、WBS、故事点、用例点、NESMA、FPA、cosmic、COCOMOⅡ等。本文只是选取主流评估方法进行简述,每一种方法在实际操作过程中有若干条计数规则,在此并未阐述,并不能作为评估工作的实施指南。实际使用方法时,需以各方法发布机构发布的官方文档为准。 
软件造价评估联盟
2019/06/17
7.3K0
2种常见软件项目工作量评估方法简述
软件项目管理案例分析
高水平项目管理是软件项目成功的关键,也是软件产品质量的根本保证,具有这方面理论和实践的人员是目前软件组织中急需的高层次人才。为建立符合中国国情的软件开发过程和组织体系,培训中心特举办“软件项目管理案例分析”培训班,具体事宜通知如下:
全栈程序员站长
2022/08/31
9400
快速功能点度量的应用场景有哪些?
快速功能点度量的应用场景主要有以下几种:   1、项目前期的可行性分析:采用快速功能点方法判断项目所需完成的规模、工作量、工期和成本,从而决定组织是否能够支撑或接受该项目。   2、确立项目范围与标的:有助于给出明确的预算申请依据,使得预算过程更加透明,在投标过程中采用功能点报价,便于审查核实报价是否过高或偏低。   3、合同谈判的依据:甲方可以依据乙方所提供的软件功能点数量进行验收并支付合同款项。   4、项目立项的依据:基于功能点方法,人员配备、费用安排以及工期设定等都可以更透明。   5、项目计划与跟踪的基础:无论是传统的瀑布模型开发项目、增量开发项目,还是当今流行的敏捷开发项目,都可以通过规模估算衡量项目的产出,同时可以作为依据向客户收取与功能点数量对应的费用。   6、人员绩效考核:有助于核定项目人员的工作量、产能评价、效率评估。
软件成本造价评估
2018/10/17
3970
快速功能点度量的应用场景有哪些?
有度量才有真管理 研发效能的度量体系建设实践 | GTLC南京
2022 年 7 月 16 日,由 TGO 鲲鹏会主办的 GTLC 全球技术领导力峰会·南京站成功召开,吸引全球 200 余位 CTO、技术 VP、CEO 等科技领导者参与。会上,数禾科技 CTO、TGO 鲲鹏会(上海)学员陈东,为与会嘉宾带来《研发效能的度量体系建设实践》的主题分享。我们将演讲内容整理如下,以飨读者。 演讲嘉宾 | 陈东 责任编辑 | 何坤 视频编辑 | 李傲 近两年,互联网行业的增速明显下降,无论公司规模大小都有一个共同的诉求,就是如何降低研发团队的成本并增加效能。 今天我会围绕《研发
深度学习与Python
2023/03/29
1K0
有度量才有真管理 研发效能的度量体系建设实践 | GTLC南京
敏捷(Scrum)和功能点(FPA):朋友还是敌人?
许多组织已经了解到,通过使用功能点对其进行估计,他们可以更好地控制软件项目。同时,我们看到越来越多的组织采用敏捷的工作方式,通常是通过应用 Scrum。最大的问题是功能点是否仍然存在。
Hopestarit
2021/11/22
5880
NESMA方法提供的3种类型的功能点分析方法分别是什么?
NESMA方法提供了3种类型的功能点分析方法:详细(Detailed)功能点分析方法、估算(Estimate)功能点分析方法及预估功能点分析方法。
迅威国信软件造价评估
2021/03/10
2.2K0
程序员一定要会的软件项目管理评估方案,不做只会敲代码的码农!(建议收藏)
今天大灰狼来和大家聊聊除了软件编码,在软件项目管理阶段所需要进行哪些工作。提前祝大家从技术佬晋升产品总监!
灰小猿
2020/09/23
3.2K0
程序员一定要会的软件项目管理评估方案,不做只会敲代码的码农!(建议收藏)
软件开发成本估算之方程法估算软件工作量
软件开发成本评估度量过程中,采用方程法进行工作量估算时,应考虑根据开发组织实际情况进行回归分析,建立回归方程。关于回归分析的方法,可参考其他章节中关于回归分析的介绍。可将所有影响因子都考虑在内建立多元方程,也可以先根据部分影响因子算出初步的结果,再对结果进行调整。
软件成本造价评估
2019/03/22
1.3K0
软件开发成本估算之方程法估算软件工作量
推荐阅读
相关推荐
软件开发工作量评估:基于FPA功能点分析法的深入解读
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档