文件编号:KT/PM-PP-0X-V0.1修改记录版本修改原因修改内容修改人审核或批准人发布日期0.12010-12-29起草/李颖应用软件项目功能点(FP)规模估算方法目录1前言...........................................................................................................................................31.1目的...........................................................................................................................31.2适用范围...................................................................................................................31.3术语和缩略语...........................................................................................................32功能点定义...............................................................................................................................32.1信息域特性...............................................................................................................32.1.1定义...................................................................................................................32.1.1.1外部输入EI...........................................................................................32.1.1.2外部输出EO...........................................................................................32.1.1.3外部查询EQ...........................................................................................32.1.1.4内部逻辑文件ILF.................................................................................42.1.1.5外部接口EIF.........................................................................................42.1.2复杂度计算.......................................................................................................42.1.2.1事务类特性复杂度估算........................................................................42.1.2.2数据存储类特性复杂度估算................................................................52.2基本系统特征...........................................................................................................62.2.1定义...................................................................................................................62.2.2复杂度计算.......................................................................................................63估算功能点的步骤...................................................................................................................73.1计算UFP....................................................................................................................73.2计算TCF....................................................................................................................73.3计算功能点数FP......................................................................................................74输出...........................................................................................................................................71前言1.1目的功能性度量方法是一种独立于编程语言的软件规模度量方式,使用这种方法可在早期根据明确功能需求来对最终产品的规模进行估算。在对软件开发环境校准以后,功能性度量的结果可以为评估开发工作量和软件产品的成本提供很好的指标。1.2适用范围应用软件项目生命周期中,从需求分析开始直至系统测试结束均可使用本方法进行软件规模估算与度量。1.3术语和缩略语EI:ExternalInput外部输入EO:ExternalOutput外部输出EQ:ExternalQueries外部查询ILF:InternalLogicalFiles内部逻辑文件EIF:ExternalInterfaceFiles外部接口文件UFP:UnadjustedFunctionPoints未调整功能点TCF:TechnicalComplexFactor技术复杂度因子2功能点定义功能点技术依据对软件信息域特性和基本系统特征的评估结果来估算软件规模。根据软件信息域特性可计算出未调整功能点(UFP),根据基本系统特征可计算出软件复杂性因子(TCF),最后用公式FP=UFP×TCF得出功能点规模。估算结果用功能点(FP)作为单位。2.1信息域特性本文定义的信息域特性有EI、EO、EQ、ILF和EIF。其中,EI、EO和EQ描述的是程序复杂度,属于人机交互事务类信息;ILF和EIF描述的是数据库的复杂度,属于数据存储信息。2.1.1定义2.1.1.1外部输入EIEI表示用户向软件输入的项数,通过界面等的输入,插入、更新等操作都是典型的外部输入。其主要目的是维护一个或多个ILF,及/或更改系统的行为。2.1.1.2外部输出EOEO表示软件向用户输出的项数,它们向用户提供面向应用的信息,其主要目的是通过逻辑处理过程向用户呈现信息。改处理过程必须至少包含一个数学公式或计算方法,或生成派生数据。一个EO也可以维护一个或多个ILF,并/或改变系统行为。例如,导出、报表、打印、出错信息等都是输出。报表内的数据项不单独计数。2.1.1.3外部查询EQEQ是向应用程序边界外发送数据基本处理的过程,其主要目的是从ILF或EIF中通过恢复数据信息来向用户呈现。该处理过程不包括任何数学公式或计算方法,也不会产生任何派生数据。EQ不会维护任何一个ILF,也不会改变应用程序的系统行为。1个EQ表示一次联机输入,它导致软件以联机输出方式产生某种即时响应。2.1.1.4内部逻辑文件ILFILF是指软件内部需要维护(如增/删/改/查)的数据,也可以是数据的一个逻辑组合。它可能是大型数据库的一部分或是一个独立的文件。它是一组以用户角度识别的、在应用程序边界内且被维护的逻辑相关数据或控制信息。1个ILF可以理解为一个业务对象,可能对应多个数据表。ILF的主要目的是通过应用程序的一个或多个基本处理过程来维护数据。2.1.1.5外部接口EIFEIF表示在其他系统中维护但本系统需要调用的数据。一个应用程序中的EIF必然是其他应用程序中的ILF。EIF主要目的是为边界内的应用程序提供一个或多个基础操作过程来引用的一组数据或信息。以外贸订单系统项目为例:——录入/修改/删除订单是EI;——查询订单是EO;——统计订单是EQ;——汇率查询转换系统是EIF;——订单和客户是ILF。2.1.2复杂度计算EI、EO、EQ为事务类的信息域,ILF和EIF为数据存储类信息域。2.1.2.1事务类特性复杂度估算估算事务类的功能点需要确定DET(dataelementtype数据元类型)和FTR(filetypereferenced涉及的文件类型)两个指标。——DET:可以理解为界面的录入具体数据项,按钮也要作为数据项。——FTR:事务功能需要操作的数据文件的数目2.1.2.1.1EI的复杂度计算规则EI中识别FTR规则:——每一个ILF应该算作一个FTR;——通过EI读取的每个ILF或EIF都应该计算为一个FTR;——既被EI维护又被读取的ILF仅计算为一个FTR。EI中识别DET规则:——在EI的过程中,以用户角度识别的、通过应用系统边界输入系统内部的非重复字段,算一个DET;——在EI的过程中,只要没有通过系统边界输入,即使它存在于系统内的一个ILF中,也不能算作一个DET;例如:外贸订单系统中,订单的金额是被单价和数量自动计算的,那么金额是没有通过系统边界输入的,因此在EI操作中不能算作一个DET。——EI操作中系统提示的错误信息或完成操作的信息,应该被分别计算为一个DET。例如,在网站注册用户信息时,如果输入错误,系统会显示提示信息,那么这些提示信息应该被逐个计算为一个DET;而当EI操作正确完成时,系统提示并显示出来的信息,也应该被计算为一个DET。——在EI操作中,如果遇到主外键的字段,应该算作一个DET。2.1.2.1.2EO和EQ的复杂度计算规则EO和EQ的复杂度计算规则见表1。表1EO/EQ复杂度计算规则指标类别规则实例FTR通用规则每个在EO/EQ处理过程中读取的ILF和EIF算一个FTREO补充规则在EO处理过程中每个被维护的ILF算一个FTR;在EO处理过程中既被读取又被维护的ILF算一个FTRDET通用规则用户可识别的非重复字段,进入应用边界并指明处理什么、何时处理或处理方式,并且由EO/EQ返回或产生,那么这样的每个字段算一个DET。报表中起解释或备注作用的文字信