功能点方法是一种估算软件项目大小的方法。
定义
功能点方法是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。功能点方法进入国内也有近10年的时间。在2013年由工业和信息化部发布的行业标准《软件研发成本度量规范》中也推荐使用功能点方法进行软件规模度量,进而对软件项目工作量、工期、成本进行估算。
原理
功能点方法的核心思想是把软件系统按照组件进行分解,从而确定系统的功能点数量。功能点方法是一种预测软件系统总规模的方法。通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点方法是一种分解类的规模度量方法,即把复杂的系统分解为较小的子系统进行评估的方法。功能点度量方法是基于软件文档的功能性需求来进行度量,其结果是以功能点数的形式来表示软件的规模。把软件系统按照组件进行分解,从而确定系统的功能点数量。
产品特点
一是功能点方法简单、实用,对于用户来说,可以不必理解功能的具体开发和实现过程,而根据功能的复杂度粗略估算出系统的规模,进而了解开发成本,能够建立开发者与顾客之间的信任关系,即开发者将用户的需求转化成要实现的功能,通过功能点的多少来衡量软件规模的大小。
二是能够在项目早期进行规模度量。这是因为在软件开发过程中,可以对早期的工作产品分析软件的功能规模,如项目需求规格说明书、设计文档等。
三是比其他度量方法更为客观。功能点度量不考虑编程语言、实现技术或者硬件平台信息。这种区分功能规模与技术因素的机制,使软件规模度量更加客观。
应用
近年来,使用功能点方法的组织越来越多,主要体现在以下几个方面:
软件市场的扩大,很多项目管理模型得到广泛的认可和接受,度量则成为一个基础性要求,功能点方法简单实用,是一种有效的软件度量方式。
外包软件项目越来越多,需要一种比较客观、独立的方式对软件项目规模进行估计,功能点方法是软件项目最通用、最基本的成本计算方法。
功能点方法本身也在逐步完善,逐步适应最新技术的发展,国际标准化组织开始建立相应的标准,从根本上肯定了功能点分析方法的科学性,大大促进这种方法的推广。
功能点方法是一种投入少见效快的方法,对于提高软件项目的管理水平,提高软件开发效益,降低成本而言,值得推广。