咨询热线

010-68213013

我们先来看一个热乎乎的栗子

项目经理老王: 为什么这次投标你才报了20个人月?

销售经理老张: 你是报给我30个月,但我还怎么投标啊

项目经理老王: 我们用的功能点方法,确实需要这么多工作量

销售经理老张: 可我们上次类似的项目就是这么报的


什么是功能点方法


      功能点(Function Points)是度量软件规模的一个标准度量单元。简单的说,  一个软件的大小可以通过交付给用户的功能点数来度量,就如一间房子的大小通过提供给用户的建筑面积或使用面积来度量一样。功能点方法是是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为主流的软件规模度量方法。功能点方法进入国内也有近15年的时间。在2013年由工业和信息化部发布的行业标准《软件研发成本度量规范》中也推荐使用功能点方法进行软件规模度量,进而对软件项目工作量、工期、成本进行估算。


功能点方法的起源及发展

功能点方法最早由IBM1979年提出,它是一种相对抽象的方法,是一种“人为设计”出的度量方式,主要能够对项目的工作量进行合理估计,并能够在项目的整个生命周期中对之进行客观、公正、有效性地度量。由于功能点分析方法是从用户的角度去分析,这样更容易被用户理解、接受和采纳。信息产业发展较好的国际,如日本、韩国、美国、澳大利亚、芬兰、荷兰等很早就在成本度量领域开展研究。

1989年开始政府韩国每年发布《韩国软件成本估算指南》,用于指导国内政府信息化采购。。。

2003年日本建立了国家软件项目基准数据库,并每年发布《日本软件开发项目白皮书》,指导国内软件成本度量。。。

功能点方法的本质

功能点方法的核心思想是把软件系统按照组件进行分解,从而确定系统的功能点数量。功能点方法是一种预测软件系统总规模的方法。通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点方法是一种分解类的规模度量方法,即把复杂的系统分解为较小的子系统进行评估的方法。功能点度量方法是基于软件文档的功能性需求来进行度量,其结果是以功能点数的形式来表示软件的规模。


 功能点方法的优势

作为一种有效的软件度量方式,功能点方法已经被大多数软件行业项目管理模型所接受。该方法投入少见效快,对于提高软件项目的管理水平,提高软件开发效益,降低成本等方面有显著效果。具体优势有以下几点:

几种功能点度量方法及对比 

1ISO/IEC 19761 软件工程—COSMIC:一种功能规模度量方法(Software engineering -- COSMIC: a functional size measurement method)用软件度量国际联盟(COSMIC)是一个由全球软件度量专家组成的非盈利自愿性组织,主要从事软件规模度量方法的研究与推广,于1999年推出了COSMIC FFP方法,即全功能点软件规模度量方法,该方法于200212月被ISO/IEC JTC1 SC7接受,成为国际标准。最新版本为ISO/IEC 19761:2011“软件工程—COSMIC—功能规模度量方法”(简称‘ISO/IEC 19761)。20144COSMIC发布了该方法的4.0版指南。

2ISO/IEC 20926 软件和系统工程—软件度量—IFPUG功能规模度量方法2009Software and systems engineering -- Software measurement -- IFPUG functional size measurement method 2009

IFPUG(International Function Points Users Group国际功能点用户组)是一个非营利性组织,1979IBMAllan Albrecht提出功能点分析方法,1984年正式发布了第一个功能点使用指南,1986年成立IFPUG组织,2003年被ISO组织接纳成为国际标准。是国内最早引入的功能点方法,并被多数金融企业学习。

3ISO/IEC 24570 软件工程—NESMA功能规模度量方法2.1版—功能点分析应用定义和计数指南(Software engineering -- NESMA functional size measurement method version 2.1 -- Definitions and counting guidelines for the application of Function Point AnalysisNESMA为荷兰软件度量协会的简称(Netherland Software Measurement Association),NESMA功能点标准与IFPUG功能点标准之间存在一定的差异,但与其他的功能点标准相比较(MarkII功能点标准、COSMIC功能点标准和FISMA功能点标准),NESMA功能点标准与IFPUG功能点标准保持了最好的一致性。