加权因子值(VAF the value adjustment factor),它通过规则中定义好了一般系统特征( GSC general systems characteristics )针对软件的总体环境和处理过程的复杂度计算确定。包括划定系统、输入和输出、应用复杂度的级别。
图3是功能点估计模型。功能点分析方法的结果是指调整过的功能点,它是用加权因子值值对未调整的功能点(UFP unadusted function points)调整的结果。

目前FPA方法主要是指IFPUG方法,它被许多机构广泛使用。但它有许多缺陷,其中之一就是他很难适用于MIS以外的软件。1996年,加拿大人Alain Abran等人提出了全面功能点方法(Full Function Points),它扩展IFPUG方法,可以用于实时和嵌入式软件。成立于1998年,以Alain Abran和Charles Symons(Mk II FPA 提出人)为首的软件度量共同协会COSMIC集中了八个国家40多位的软件度量专家,综合考虑了IFPUG,MarkII,NESMA和FFP1.O版的优缺点,通过了大量项目实践,于1999年11发布了COSMIC-FFP2.0版。其实,在探索系统和实时软件规模的道路上,在全面功能点方法之前还有"Bang 度量"、"3-D功能点" 、"特征点"等方法被提出。
DeMarco's的咨询活动常常使得他面临比MIS系统更加复杂的软件系统。1982他提出了Bang度量方法来度量系统和科学软件的规模[17]。但是由于方法太繁琐并且没有工具支持,目前这种方法几乎没有人使用。
3-D功能点是波音计算机服务公司1991年开发的一种覆盖系统软件(包括科学和实时领域)的度量方法。3-D功能点识别了反映应用程序难题的3维(数据,功能,控制)。数据难题多是MIS/商业软件的典型,而科学/工程软件是功能难题多,实时软件是控制难题多[18]。 但目前该方法除了波音公司使用外,没有其他企业使用。
1998美国Artemis国际咨询公司控股的软件生产力研究有限责任公司(Software Productivity Research, Inc)开发了基于功能点一种实践模型~特征点规模估计模型。特征点是IFPUG功能点4.0版的扩展,它加入一个运算法则的参数。据SPR介绍特征点规模估计方法更加适合于系统和实时软件的度量,但也能用于MIS系统。对于MIS应用程序,特征点和IFPUG功能点的度量结果几乎一样。但没有充分的数据显示它能够稳定地进行使用,它具有很好的可再现性和可重复性。目前SPR也停止了该方法的支持。
功能点估计方法有很多,它的优点是它已经作为一种广泛使用的方法被接受,目前正式软件规模度量的主流方法;通过ISO组织有四种方法成为了国际标准,他们是
◇ 全面功能点版本2.1(Full Function Points version 2.1),
◇ IFPUG 功能点(IFPUG Function Points),
◇ Mark II功能点( Mark II Function Points),
◇ NESMA 功能点;
但功能点估计方法也有许多需要克服的问题。Kemerer 引用了Pressmann观点[13]:"功能点估计,像 LOC,也有相关的争议…反对者说道,这种方法不是完全客观和依靠数据,而是更多地需要一些基于主观的计算手段…";Capers Jones 发现,FP计算方法的变量结果可以在超过+/- 50%范围内变化。还有G. Low 和D.R. Jeffery 也发表过声明,"在组织内,功能点计算变化的范围大约平均在30%之内…"。由此可见,可再现性和客观性是功能规模度量方法的核心问题。此外,点度量方法作为一种传统的度量方法,如何解决新技术所带来的问题也是研究者们必须思考的问题,如面向对象系统的规模度量,组件重用带来的实际开发功能规模和交付给客户的功能规模不同的问题等等。这就是我们为什么说目前有许多软件项目估计的公式,但还没有一个1:1的转换公式。
5 结束语
软件项目估计是指以准确的调查资料和项目信息(如人员和设备信息)为依据,从估计对象的历史、现状和及其规律性出发,运用科学的方法,对估计对象的规模,所需工作量和成本进行的测定。它是企业项目管理的有效手段之一,也是软件贸易活动中价格估计的重要手段。目前国际上有许多软件项目估计的方法和工具,有的已经成为国际标准。软件项目估计应该是可重复和再现的,这是软件项目估计准确与否可以实践的检查标准。
目前国内外已经有许多软件项目估计方法,有的方法已经被国际标准化组织纳入国际标准。 软件项目估计将是软件开发过程中一个重要过程,一个具有非常意义的工程活动。