经验证明,应用功能点分析来度量软件的规模是非常可靠的,尤其是在项目估计、变更管理、生产率度量和功能需求的沟通等方面。
很多人问,功能点分析是否适用于评价现在应用越来越多的计算机环境,例如,实时的嵌入式编码和面向对象的编程方法。既然功能点是从用户的角度按功能来表达开发的工作产品,那么它是独立于所采用的技术或工具的。
以下是对功能点分析方法和潜在收益的介绍。
功能点分析介绍功能点分析的初衷之一是让项目组和客户可以使用同一方法定义功能需求。结果证明,理解客户需求最好的办法是站在客户的角度分析软件系统产生的结果,从而来确定客户关心的问题。因此,功能点分析的一个主要的目标就是从用户的角度定义系统的能力。为了达到这个目标,专家们分析了人们对计算机系统的不同使用方式。从用户的观点来看,系统是从五个基本方面帮助他们进行工作的:其中两项是最终用户的数据需求,因此称作“数据功能”;另外三项强调客户对数据的可调用性,称作“交易功能”。
功能点的五个要素。 数据功能o 内部逻辑文件o 外部界面文件。 交易功能o 外部输入o 外部输出o 外部查询
内部逻辑文件:这是第一项数据功能,使客户可以使用他们负责维护的数据。例如驾驶员在起飞行前通过显示器输入一系列航行数据,这些数据保存在一个文件里备用,并可以在执行过程中进行修改。因此,驾驶员负责维护包含航行信息的文件。数据在系统中的逻辑分组是由最终用户维护的,我们把它叫做“内部逻辑文件”(ILF)。
外部界面文件:这是第二项数据功能,也和数据的逻辑分组有关。在这种情况下,用户不负责维护数据,数据在另一系统中驻留由其他用户进行维护。该数据只供系统用户参考使用。例如:飞行中,驾驶员可能需要参考某卫星或地面定位系统的定位数据。驾驶员不负责更新这些数据但要参考使用。这样,这些只供参考使用的其他系统的数据分组就称为外部界面文件(EIF)。
以下的功能的重点是客户可以调用ILF和EIF中数据的能力,主要包括:维护、查询、输出数据。这类功能称为交易功能。
外部输入:这是第一项交易功能,是指用户可以根据需要通过增、删、改来维护内部逻辑文件。例如,驾驶员在飞行前和飞行中可以增加、删除、修改航行信息。此时,飞行员使用的功能是外部输入(EI)。外部输入使用户可以维护ILF.外部输出:下一项交易功能是使用户可以输出结果。例如:驾驶员能够分别显示地面速度、实际气流速度和经过校准的气流速度。显示结果就是经过调用维护数据和参考数据获得的。在功能点术语中,显示的结果就称为“外部输出”。
外部查询:最后一项交易功能是指用户可以通过计算机系统选择特定的数据并显示结果。为了获得这项结果,用户要输入选择信息抓取符合条件的数据。此时没有对数据的处理,是直接从所在的文件抓取信息。例如:驾驶员要显示预先设置的地形图,输出的结果就是直接从信息存贮位置提取的信息;这里我们称作“外部查询”(EQ)。
调整因素除了以上的功能要素外,功能点分析中还要考虑两方面的调整因素:功能复杂性:第一个调整因子,是指要考虑各个功能的复杂性。功能复杂性是由某一功能的数据分组和数据元素共同决定的。计算数据元素和无重复的数据分组个数后,将数值和复杂性矩阵对照,就可以确定该功能的复杂性属于高、中、低。以上的五个功能要素(ILF,EIF,EI,EO和EQ),每个都有各自的复杂性矩阵。以下是外部输出的复杂性矩阵。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/