12.2.3 功能点技术

更新于 2026年10月10日 版权声明
12.2.3 功能点技术

功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件的规模。这种方法用功能点作为单位,度量软件的规模。功能点技术依据对软件信息域特性和基本系统特征的评估结果来估算软件规模。根据软件信息域特性可以计算出未调整功能点(UFP),根据基本系统特征可计算出软件复杂性因子(TCF),最后用公式FP=UFP*TCF得出功能点规模。估算结果用功能点(FP)作为单位。

项目功能点参数主要有5个特征,分别是外部输入数(EI)、外部输出数(EO)、外部查询数(EQ)、内部逻辑文件数(ILF)、外部接口数(EIF)。

(1)外部输入数(EI)。EI表示用户向软件输入的项数,通过界面等的输入、插入、更新等操作都是典型的外部输入。其主要目的是维护一个或多个ILF,及更改系统的行为。

(2)外部输出数(EO)。EO表示软件向用户输出的项数。它们向用户提供面向应用的信息,其主要目的是通过逻辑处理过程向用户呈现信息。该处理过程必须至少包含一个数学公式或计算方法,或生成派生数据。一个EO也可以维护一个或多个ILF,并/或改变系统行为。例如,导出、报表、打印、出错信息等都是输出。报表内的数据项不单独计数。

(3)外部查询数(EQ)。EQ是向应用程序边界外发送数据基本处理的过程,其主要目的是从ILF或EIF中通过恢复数据信息来向用户呈现。该处理过程不包括任何数学公式或计算方法,也不会产生任何派生数据。EQ不会维护任何一个工ILF,也不会改变应用程序的系统行为。1个EQ表示一次联机输入,它导致软件以联机输出方式产生某种即时响应。

(4)内部逻辑文件数(ILF)。是指软件内部需要维护(包括増/删/改/查)的数据,也可以是数据的一个逻辑组合。它可能是大型数据库的一部分或是一个独立的文件。它是一组从用户角度识别的、在应用程序边界内且被维护的逻辑相关数据或控制信息。1个ILF可以理解成一个业务对象,可能对应多个数据表。ILF的主要目的是通过应用程序的一个或多个基本处理过程来维护数据。

(5)外部接口数(EIF)。表示在其他系统中维护但本系统需要调用的数据。一个应用程序中的EIF必然是其他应用程序中的ILF。EIF主要目的是为边界内的应用程序提供一个或多个基础操作过程来引用的一组数据或信息。

以外贸订单系统项目为例,项目功能点参数特征表现如下:

①录入/修改/删除订单是EI;

②查询订单是EO;

③统计订单是EQ;

④汇率查询转换系统是EIF;

⑤订单和客户是ILF。

一般情况下,可以采用如下三个步骤估算出一个软件的功能点数。

(1)计算未调整的功能点数(UFP)。

首先,将项目功能点参数信息(即EI、EO、EQ、ILF和EIF)都分类为简单级、平均级或复杂级,然后根据其等级,为每个特征性都分配一个功能点数。例如,一个平均级的输入项分配4个功能点,一个简单级的输入项是3个功能点,一个相对复杂级的输入项分配6个功能点。然后,采用下面公式计算UFP:(https://www.daowen.com)

图示

其中,ai(1≤i≤5)是信息域特征性系数,其值由相应特性的复杂级别决定,如表12.1所示。

表12.1 信息域特征性系数值

图示

(2)计算技术复杂因子(TCF)。这一步将度量14种技术因素对软件规模的影响程度。在下表中技术因素,结合软件的特点,分别为每个因素分配一个从0(不存在或者对软件规模无影响)到5(对软件规模有很大影响)的值。然后,利用下面计算技术因素对软件规模的综合影响程度DI,如表12.2所示。

图示

TCF由下列公式计算:

图示

表12.2 技术因素

图示

续表

图示

(3)计算功能点数(FP)。

图示

功能点数与开发软件采用的语言没有关系,因此,功能点技术比代码行技术更合理一些,但在判断信息域特征复杂级别及技术因素的影响程度时,具有一定的主观因素。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)