前言
本文的目标读者是从事软件行业想快速了解软件开发过程工作量评估的人员。软件工作量评估方法很多,如代码行法、类比法、WBS、故事点、用例点、NESMA、FPA、cosmic、COCOMOⅡ等。本文只是选取主流评估方法进行简述,每一种方法在实际操作过程中有若干条计数规则,在此并未阐述,并不能作为评估工作的实施指南。实际使用方法时,需以各方法发布机构发布的官方文档为准。
一、 功能点 FPA 方法
(一) 简介
FPA 是从用户角度出发度量软件规模的一种方法。它从用户的角度出发,将系统分为数据功能和事物功能两大类,分别根据具体的规则来计算功能点,最后结合系统的特征因子来调整功能点数, 从而得到最终的系统规模。
FPA 较适用于商业数据处理、管理信息系统的估算,因为它能更好地反映系统需求上的复杂度和数量。从满足客户需求的角度讲,FPA 具有阶段性,对用户早期参与项目管理、项目经理制定项目计划更有意义。
(二) 重要概念
功能点估算法是从用户视角出发,对软件的规模从逻辑设计的角度进行度量的标准方法。
在功能点估算的过程中,以下概念应贯穿始终:
1、 用户视角
用户视角(User View)是指功能点被用户所认可,由用户需求书面正式描述,且独立于所采用的开发技术。
2、 穿越系统边界
穿越系统边界(Application Boundary)是指数据或控制信息由系统内发送到系统外,或由系统外发送到系统内。
是否穿越系统边界是 FPA 重要的判断标准。
3、 IPO 的异同
输入(Input)、处理过程(Process)和输出(Output)的同与不同亦是FPA 重要的判断标准。
(三) FPA 估算方法基本步骤
1、 收集可得的文档
文档可以包括需求、数据/对象模型、类图、数据流图、用例、过程描述、报表显示、界面显示、用户手册,以及其它软件开发文档。
2、 确定计数范围和边界并识别功能用户需求
计数范围和边界需识别计数目的。不同的计数目的决定了计数范围和软件边界的划分。实际使用过程中通常为系统的管理边界, 特殊系统会以架构为边界。
3、 度量数据功能
数据功能的计算工序(Counting Procedures)包括以下活动:
FPA 将数据功能分为两类,分别为内部逻辑文件(ILF)和外部接口文件(EIF)。
1) 识别内部逻辑文件 ILF
内部逻辑文件(Internal Logical File,简称ILF)是在系统边界内部维护的一组用户可识别的逻辑上相关的数据或控制信息。ILF 的首要目的是保存由被度量系统的一个或多个基本流程维护的数据。
2) 识别外部接