1、分解软件功能需求
在确定的估算对象范围内,将用户功能需求分解到可被估算的最小功能单元,包括内部逻辑文件(ILF)、 外部接口文件(EIF)两种数据功能,外部输入(EI)、外部输出(EO)、 外部查询( EQ)三种事务功能。
相关定义:
(1)数据功能
数据功能是指向用户提供的满足内部或外部数据需求的功能。
ILF(Internal Logical File,ILF,内部逻辑文件)
软件内部需要维护(如增删改查)的数据,以用户角度识别的,在应用程序内部的、可维护的内部逻辑数据和控制信息。
1)通常包括数据库表、临时文件、顺序文件等;
2)可以理解为系统内部的实体,如角色、文件、数据等;
3)ILF的主要目的是通过应用程序的一个或多个基本处理过程来维护数据。
EIF(External Interface File,EIF,外部接口文件)
外部接口文件是指一组用户能够识别的,在本应用中被引用的,以及存在内在逻辑关联的数据或者控制信息,这些数据或者信息是在本应用的边界之外被控制的。
1)一个应用程序中的EIF必然是其他程序中的ILF;
2)在其他系统中维护但本软件需要调用的数据,在应用程序边界内被查询,但在其他应用程序中被维护的、用户可识别的、逻辑上相关的数据;
3)数据被应用程序引用,数据在应用程序外部;
4)计算功能点的这个用于程序并不维护该EIF;
5)可以理解为外部协作实体,如外部系统、独立文件、外部数据等。
(2)事务功能
EI(External Input,EI,外部输入)
外部输入是指一个处理来自本应用边界之外的一组数据或者控制信息的基本处理。外部输入的基本目的是为了维护一个内部逻辑文件(ILF)或者改变系统的行为。
1)向软件输入数据或发送指令;
2)对用户的输入进行处理的过程;
3)用户通过增/删/改等典型外部输入操作来更改和维护ILF;
4)改变系统的行为和状态
EQ(External Query,EQ,外部查询)
是指一个向应用边界之外发送数据或者控制信息的基本处理。外部查询的基本目的是为了向用户展示提取的数据或者控制信息。
1)使用软件进行简单查询;
2)外部查询的逻辑处理里面不包含数学公式或者计算以及对衍生数据的生成;
3)外部查询不维护内部逻辑文件(ILF),不对数据进行处理,不更改ILF,也不会引起系统行为的改变;
4)输入和输出的组合过程。根据用户提出的查询请求,从EIF或ILF取出数据输出到程序外部;
5)从系统内获取了数据或控制信息,至少引用了一个ILF或EIF。
EO(External Output,EO,外部输出)
是指一个向应用边界之外发送数据或者控制信息的基本处理。外部输出的基本目的是为了向用户展示一组经过除了提取之外的其他逻辑处理的数据或者控制信息。这里的其他处理包括至少一个数学演算或者对衍生数据的生成。外部输出也可能包括对内部逻辑文件(ILF)的维护或者对系统行为的改变。
1)是一个相对完整的“基本过程”;
2)外部输出可能包括对内部逻辑文件(ILF)的维护或改变应用程序;
3)指一个向应用边界之外发送数据或者控制信息的基本处理;
4)外部输出的基本目的是为了向用户展示一组经过除了提取之外的其他逻辑处理的数据或者控制信息;
5)这里的处理包括至少一个数学演算或者对衍生数据的生成;
6)对内部数据的复杂报表(含计算内容)/统计分析等;
7)向外部接口发送数据/控制信号;
8)软件向使用者或其它系统输出的数据或发送的指令;
9)向外部发送数据的过程。
2、估算原始功能点数(UFP)
原始功能点数UFP=7×NILF+5×NEIF+4xNEI+5×NEO+4xNEQ,
其中 NILF、NEIF、NEI、NEO、NEQ 分别为 ILF、EIF、EI、EO、EQ的数量。
序号 | 需求类型 | 原始功能点数 |
1 | ILF | 7 |
2 | EIF | 5 |
3 | EI | 4 |
4 | EO | 5 |
5 | EQ | 4 |