3种常见软件项目工作量评估方法简述

前言

一、 功能点 FPA 方法

(一) 简介

FPA 是从用户角度出发度量软件规模的一种方法。它从用户的角度出发,将系统分为数据功能和事物功能两大类,分别根据具体的规则来计算功能点,最后结合系统的特征因子来调整功能点数, 从而得到最终的系统规模。

FPA 较适用于商业数据处理、管理信息系统的估算,因为它能更好地反映系统需求上的复杂度和数量。从满足客户需求的角度讲,FPA 具有阶段性,对用户早期参与项目管理、项目经理制定项目计划更有意义。

(二) 重要概念

功能点估算法是从用户视角出发,对软件的规模从逻辑设计的角度进行度量的标准方法。

在功能点估算的过程中,以下概念应贯穿始终:

1、 用户视角

用户视角(User View)是指功能点被用户所认可,由用户需求书面正式描述,且独立于所采用的开发技术。

2、 穿越系统边界

穿越系统边界(Application Boundary)是指数据或控制信息由系统内发送到系统外,或由系统外发送到系统内。
是否穿越系统边界是 FPA 重要的判断标准。

3、 IPO 的异同

输入(Input)、处理过程(Process)和输出(Output)的同与不同亦是FPA 重要的判断标准。

(三) FPA 估算方法基本步骤

FPA 将数据功能分为两类,分别为内部逻辑文件(ILF)和外部接口文件(EIF)。

1) 识别内部逻辑文件 ILF

内部逻辑文件(Internal Logical File,简称ILF)是在系统边界内部维护的一组用户可识别的逻辑上相关的数据或控制信息。ILF 的首要目的是保存由被度量系统的一个或多个基本流程维护的数据。

2) 识别外部接口文件EIF

外部接口文件(External Interface File,简称 EIF)是用户可识别的、逻辑相关的数据组或控制信息组,其由被度量应用所引用,但在另一应用边界内维护。EIF 的主要目的是保存由被度量应用的一个或多个基本过程引用的数据。这意味着一个应用的 EIF 必定是另一个应用的ILF。

3) 识别数据功能 DET

数据元素类型(Data Element Types,简称DETs)是指在一个ILF 或EIF 内,用户可认知的、唯一的、非重复的字段。如客户姓名、年龄、地址、联系方式等。

4) 识别数据功能 RET

记录元素类型(Record Element Types,简称 RETs)是指在一个ILF 或EIF 内,用户可认知的数据元素子集。如客户的家庭信息为客户信息的 RET 。

5) 确定ILF 或EIF 的贡献度

根据每一个已确认的 ILF 和EIF 的复杂度(DETs 和RETs 数量),对其进行分类,并赋予未调节功能点数值(Unadjusted Function Points,简称UFP)的过程,即为确定其贡献度。

4、 度量事物功能

事物功能的计算工序(Counting Procedures)包括以下活动:

5、 计算功能规模

1) 计算未调整功能点数

UFP= ILFs+EIFs+EIs+EOs+EQs

2) 确定系统调节因子

在实际软件项目开发过程中因技术因素和环境因素会对软件项目工作量有不同程度的影响。可根据组织级基准库设定相关调整因子(System Adjustment Factor,简称SAF)。如应用类型、质量特征、开发语言、团队背景、评估时点等。

计算调整后的功能点数  AFP=UFP*SAF

3) 确定生产率PDR

可根据系统特点测算组织级系统基准生产率。

4)测算工作量

工作量  AE=AFP*PDR

6、 告功能点计数结果

将功能点计数过程和工作量计数结果编写 告呈现给读者。

二、 COSMIC 方法

(一) 简介

COSMIC 是通用软件度量国际联盟的简写(Common Software Measurement International Consortium,COSMIC),它成立于1998 年,是一个由全球软件度量专家组成的非盈利自愿性组织,致力于软件规模度量方法的研究与推广。2002 年 1 月COSMIC 所推出的全功能点规模度量方法成为了 ISO 的标准,最新标准为 ISO/IEC 19761:2011“软件工程—COSMIC—功能规模度量方法”。

COSMIC 方法包含了一组应用模型、原则、规则和过程度量给定软件的功能性用户需求的方法。其结果是一个数字化的“量化数值”,根据 COSMIC 方法得到的软件功能规模。它适用于以下领域的软件功能度量:

功能规模是通过“数据移动(Data movement)”的个数来度量。

(二) 原理

功能规模是通过“数据移动(Data movement)”的个数来度量。

(三) 度量过程

COSMIC 方法的度量分为三个阶段:

1、 度量策略阶段

2、 映射阶段

3、 度量阶段

(四) 数据移动种类

4 种类型的数据移动:输入(Entry)、输出(eXit)、读(Read) 和写(Write)。

(五) 示例

用户借阅图书,图书管理员需录入借阅人信息并保存到数据库中,同时提供查询登记列表功能。此时录入借阅人信息为一个输入
CFP,提示信息为一个输出 CFP,保存录入信息为一个写CFP,查询登记列表功能查询条件输入为一个输入CFP 和从数据库读取登记信息为一个读CFP。然后汇总计算出总功能点数为 5 个 FP。

原则:每一个功能必须有一个输入,一个输出或一个写,即至少2 个CFP

(六) 工作量测算

参考FPA 方法和用例点方法工作量测算方法,设定相关技术调整因子和环境调整因子以及生产率,测算软件工作量。

使用COSMIC 方法要求度量者对软件系统的实现非常清楚,了解系统的内部结构,并对系统能够明确划分出应用层级,以及层级之间的数据处理和数据移动。

三、用例点方法

用例点方法(use case point method,UCP),是由Gustav Karner在1993年针对FPA(function point access)方法而提出的一种改进方法,是在面向对象开发方法中基于用例估算软件项目规模及工作量的一种方法。UCP的基本思想是利用已经识别出的用例和执行者,根据他们的复杂度分类计算用例点。

用例模型(Use-Case Model)是系统功能及系统环境的模型, 它可以作为客户和开发人员之间的契约。用例贯穿整个系统开发的一条主线。同一个用例模型即为需求工作流程的结果,可当做分析设计工作流以及测试工作流程的输入使用。

UCP 估算是以用例模型为基础,通过计算用例点和项目生产率的取值,计算用例点和工作量的换算,得到项目开发所需的以人小时数为单位的工作量。UCP 算法受到 FPA 和MKⅡ方法的启发,在对Use Case 的分析的基础上进行加权调整得出的一种改进方法。

UCP 估算方法的基本步骤如下:

1) 对每个角色进行加权,计算未调整的角色的权值UAW;

2) 计算未调整的用例权值UUCW;

3) 计算未调整的用例点 UUCP;

4) 计算计数和环境因子 TEF;

5) 计算调整的用例点UCP;

6) 根据规模和工时的转换因子来计算工作量。

(一) 估算用角色值UAW

首先将软件需求用Use Case 方式表达,其次利用参与者的数量乘以相应的权值来计算 UAW。

(三) 估算未调整的用例点 UUCP

估算未调整的用例点(UUCP),将角色权值和用例权值相加即为未调整的用例点数:

UUCP=UAW+UUCW

(四) 估算技术和环境因子 TEF

UCP 估算方法中有 21 个适用性因子,其中包括开发系统的技术复杂度和开发环境,即分为 13 个技术复杂度和 8 个环境复杂度因子。

1、技术复杂度因子 TCF:其中权重为该复杂度对系统的影响权值,value 为影响等级 0-5 之间的值来确定。0 表示技术因子与本项目无关;3 表示技术因子对本项目的影响一般;5 表示改技术因子对本项目有很强的影响。

2、环境复杂度因子:其中权重为该复杂度对系统的影响权值,value 为影响等级 0-5 之间的值来确定。0 表示项目组成员都不具备该因素;3 表示环境因子对本项目的影响程度为中;5 表示本项目组成员都具有该因素。

(五) 估算UCP

以上UUCP、TCF、ECF 三个参数每个参数都是独立定义和计算。经过技术因子和环境因子对UUCP 调整后得到UCP 完整公式为:

UCP=UUCPTCFECF

(六) 估算工作量

项目工作量估算也就是 UCP 的值乘以相对应的生产率PF。

工作量  AE=UCP*PF

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月15日
下一篇 2019年5月15日

相关推荐