软件造价:浅析快速功能点方法度量软件的规则及过程
快速功能点方法是由北京软件造价评估技术创新联盟依据国际ISO标准(ISO/IEC 24570-2005软件工程NESMA功能尺度测量法2.1版功能点分析应用的定义和计数指南)要求提出的一种软件规模度量方法。该方法适用于软件项目早期、中期、后期等各个阶段的规模估算或测量。
采用优化后的功能点方法——快速功能点方法进行规模估算或测量的基本过程或步骤如下:
确定计数类型→识别系统边界→识别功能点计数项→计算未调整的功能点数→计算调整后的功能点数。
1、确定计数类型
根据需求或项目的类型确定计数类型。计数类型分为三种:新开发、延续开发及已有系统计数。
对于新开发需求或项目,对预计(或实际)投产的功能进行计数;
对于延续开发需求或项目,对预计(或实际)新增、修改及删除的功能均进行计数;
对于已有系统,对实际的功能进行计数。
2、识别系统边界
在识别系统边界的时候应注意:应从用户视角出发,不受系统实现影响;主要是为了区分内部逻辑文件(ILF)和外部接口文件(EIF);事务功能应穿越识别的系统边界。
3、识别功能点计数项
功能点计数项分为数据功能和交易功能两类。数据功能包括内部逻辑文件(ILF)、外部接口文件(EIF);交易功能包括外部输入(EI)、外部输出(EO)、外部查询(EQ)。
数据功能是系统提供给用户的满足产品内部和外部数据需求的功能,即本系统管理或使用那些业务数据(业务对象),如“客户信息”“账户交易记录”等。
内部逻辑文件或外部接口文件所指的“文件”不是传统数据处理意义上的文件,而是指一组客户可识别的、逻辑上相互关联的数据或者控制信息。因此,这些文件和物理上的数据集合(如数据库表)没有必然的对应关系。
交易功能是系统提供给用户的处理数据的功能,即本系统如何处理和使用那些业务数据(业务对象),如“转账”“修改黑名单生成规则”“查询交易记录”等。
交易功能又称为基本过程,是用户可识别的,业务上的一组原子操作,可能由多个处理逻辑构成。例如,“添加柜员信息”这个基本过程可能包含“信息校验”“修改确认”“修改结果反馈”等一系列处理逻辑。
4、计算未调整的功能点数
a、采用预估功能点进行计数,计算公式如下:
FP=35*ILF+15*EIF
——FP:未调整的功能点数,单位为功能点;
——ILF:内部逻辑文件的数量;
——EIF:外部接口文件的数量。
b、采用估算功能点进行计数,计算公式如下:
FP=10*ILF+7*EIF+4*EI+5*EO+4*EQ
——FP:未调整的功能点数,单位为功能点;
——ILF:内部逻辑文件的数量;
——EIF:外部接口文件的数量;
——EI:外部输入的数量;
——EO:外部输出的数量;
——EQ:外部查询的数量。
5、计算调整后的功能点数
根据不同的规模测算阶段,需要考虑隐含需求及需求变更对规模的影响,因此,需要根据规模计数时机进行规模调整。调整后的功能点数(AFP),计算公式如下:
AFP=FP*CF
——AFP:调整后的功能点数,单位为功能点;
——FP:未调整的功能点数,单位为功能点;
——CF:规模变更调整因子,依据行业数据,项目估算早期(如概预算阶段)通常取值为1.5;项目估算中期(如招投评标、项目立项、技术方案阶段)通常取值为1.26;项目估算中后期(如需求分析完成及后评价)通常取值为1.0。
了解快速功能点方法度量的规则及过程,有助于提高使用快速功能点方法进行软件造价、软件成本估算、软件成本费用测算时的工作效率。