软件项目工作量评估方法简述之功能点方法(FPA)

软件项目工作量评估方法很多,如代码行法、类比法、WBS、故事点、用例点、NESMA、FPA、cosmic、COCOMOⅡ等。本文主要对功能点方法(FPA)简述。

功能点 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) 识别外部接口文件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)的过程,即为确定其贡献度

在这里插入图片描述

6) 确定ILF 或EIF 的贡献度值

对用户而言,ILF 与EIF 的业务意义是完全不同。因此,对于贡献度相同的 ILF 和EIF,其未调节功能点值是不同的。

在这里插入图片描述

4、 度量事物功能

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

在这里插入图片描述

FPA 将事物功能分为三类,外部输入(EI)、外部输出(EO)和外部查询(EQ)。

1) 识别外部输入(EI):是处理来自系统边界外部的数据或控制信息的一个基本过程。其首要目的(Primary Intent,简称 PI) 是维护一个或多个ILFs 或者去改变系统行为。

2) 识别外部输出(EO):是发送数据或控制信息到系统边界外部的一个基本过程。其首要目的(PI)是通过处理逻辑呈现信息给用户,并非或者另外检索数据或控制信息。

3) 识别外部查询(EQ):是发送数据或控制信息到系统边界外部的一个基本过程。其首要目的(PI)是通过从一个 ILF 或EIF 检索数据或控制信息,呈现信息给用户。

4) 基本过程

把功能用户需求组合或分解为最小活动单元,满足以下条件:

1) 对用户有意义,构成一个完整的事务;

2) 自包含;

3) 使应用的业务保持持续状态,

例 :功能用户需求要求提供维护员工信息的功能。该需求被分解为较小的工作单元,如添加员工信息、修改员工信息、删除员工信息和查询员工信息。

5) 识别事物功能 DET

数据元素类型(Data Element Types,简称DET)是指在一个EI、EO 或EQ 内,用户可认知的、唯一的、非重复的字段。

6) 识别事物功能 FTR

引用文件类型(File Types Referenced,简称FTR)是指一个交易功能读取或维护的一个ILF,或者一个交易功能所读取的一个EIF。

7) 确定EI、EO 和EQ 的贡献度

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

在这里插入图片描述

在这里插入图片描述

8) 确定EI、EO 和EQ 的贡献度

我们应注意到,贡献度相同的 EI、EQ,其未调节功能点值是相同的;与EI、EQ 贡献度相同的 EO,其未调节功能点值略高。

在这里插入图片描述

5、计算功能规模

1) 计算未调整功能点数

UFP= ILFs+EIFs+EIs+EOs+EQs

2) 确定系统调节因子

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

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

3) 确定生产率PDR

可根据系统特点测算组织级系统基准生产率。4)测算工作量

工作量   AE=AFP*PDR

6、 报告功能点计数结果

将功能点计数过程和工作量计数结果编写报告呈现给读者。(中基数联版权所有,转载需标明出处。)

以上就是软件项目工作量评估方法简述之功能点方法(FPA)所有内容。

  • 2
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 功能分析法概论 1.1 功能分析方法的目标: 1. 功能方法的收益. 1.3. 功能分析法的步骤. 1.3.1. 决定分析的类型 1.3. 识别分析范围和应用边界 1.3.3. 确定未经调整的功能数 (Unadjusted Function Point Count -- UFPC) . 1.3.3.1 数据功能的计数 1.3.3 交易功能的计数 1.3.3.4. 确定调整系数 1.3.3.5.计算经过调整的功能 2. 分析流程. 2.1 决定分析的类型. 2.1.1 定义:功能分析的类型. 2 识别分析范围和应用边界 2.1 识别分析范围和应用边界中的定义 2 定义应用边界. 2.3 分析范围以及应用边界的规则和流程. 2.3.1 边界识别的规则. 2.3 分析范围和应用边界流程: . 2.3.3 边界识别的一些技巧: 2.4 计数数据功能 2.4.1 定义: 2.4 计数流程概述. 2.4.3 ILF 识别规则. 2.4.4 EIF 识别规则. 2.4.5 复杂度和贡献的定义和规则. 2.4.6 ILF/EIF 计数流程. 2.4.7 复杂度和贡献确定流程 2.4.8 数据功能计数技巧. 2.5 计数交易功能 2.5.1 定义 2.5.1.1 基本定义. 2.5.1 交易功能的总结: 2.5.1.3 相关术语的定义 2.5.1.4 交易功能执行的逻辑处理总结 2.5 EI,EO,EQ 计数规则 2.5.1 交易功能计数的概要流程 2.5 基本处理的识别规则 2.5.3 交易功能计数规则 2.5.3.1 EI 的主要目的描述:. 2.5.3 EI 的计数规则: 2.5.3.3 EO 和EQ 的共同主要目的描述: 2.5.3.4 EO/EQ 共享的计数规则:. 2.5.3.5 EO 计数的补充规则:. 2.5.3.6 EQ 计数的补充规则:. 2.5.3 复杂度和贡献的定义和规则. 2.5.3.1 EI 的复杂度和贡献规则 2.5.3.1.1 EI 的引用文件类型(FTR)计数规则 2.5.3.1 EI 的数据元素类型(DET)计数规则. 2.5.3 EO/EQ 的复杂度和贡献规则 2.3.5.1 EO/EQ 共享的引用文件类型(FTR)计数规则 2.3.5 EO 特定的引用文件类型(FTR)计数规则 2.3.5.3 EO/EQ 共享的数据元素类型(DET)计数规则. 2.5.4 EI,EO,EQ 的计数流程 2.5.5 复杂度和贡献确定流程. 2.5.6 交易功能计数技巧. 2.6 决定调整系数 2.6.1 调整系数的决定. 2.6 确定VAF 的流程 2.6.3 通用系统特性及其影响程度的评定. 2.6.3.1 数据通讯. 2.6.3 分布式数据处理. 2.6.3.3 性能. 2.6.3.4 使用强度高的配置. 2.6.3.5 交易速度 2.6.3.6 在线数据输入 2.6.3.7 最终用户的效率. 2.6.3.8 在线更新 2.6.3.9 复杂的处理 2.6.3.10 可重用性 2.6.3.11 安装的简易性 2.6.3.12 运行的简易性 2.6.3.13 多场地 2.6.3.14 允许变更 2.7 计算调整功能 2.7.1 开发项目功能的计算. 2.7 升级项目功能的计算. 2.7.3 应用功能的计算. 附录A : 未经调整的功能计算表. 附录B:功能计数中的规则表. 附录C: 词汇表:.
### 回答1: 功能计数计算方法是一种软件计算方法,也被称为功能分析方法。其目的是帮助软件开发者对软件系统中的各种功能进行计数,帮助他们了解整个软件系统的规模、复杂度和开发难度,从而更好地规划和管理软件开发过程。 计算方法主要基于软件需求文档建立,按照五个方面进行计算: 1.外部输入功能,包括用户可以在系统中输入和存储的信息或数据,这些数据通常是由用户输入并且经过系统处理和保存在数据库中的关键数据集合。 2.外部输出功能,包括用户可以查看、编辑或删除的信息或数据,这些数据通常是经过系统处理后,根据用户交互显示给用户的数据。 3.逻辑内部文件功能,包括系统内部文件的数量和复杂度,通常包括数据库中存储的数据以及处理数据的程序模块。 4.外部查询功能,指用户可以在系统中查找特定信息或数据的功能或过程。 5.简单的界面功能,指系统中与用户交互的界面组件数量。这个数字表示系统中有多少输入和输出步骤和屏幕屏幕输出。 在每个方面中,我们根据功能的简单度以及复杂度来对每个功能进行打分和计算。可以通过不同的打分规则来计算整个系统的功能总数,从而确定软件开发的难度和工作量。通俗地讲,功能数可以有效地估算软件开发所需的时间和资源,并为软件项目提供准确的开发和管理指导。 ### 回答2: 功能计数是一项软件工程领域中的重要技术,它可以用于衡量一个软件产品的复杂度和开发工作的规模。其中,PDF文件是一种常见的文档格式,因此对于一些需要生成或处理PDF文件的软件来说,PDF的功能计数显得尤为重要。 PDF文件的功能计数计算方法可以按照以下步骤进行: 1. 首先,需要列出所有与PDF相关的功能。例如,打开PDF文件、保存PDF文件、添加文字、添加图片等等。 2. 在每个功能的基础上,将其拆分成更具体的子系统或模块。例如,添加图片功能可以进一步分解为“选择图片”、“调整大小”、“移动位置”等子模块。 3. 针对每个子模块,可以采用不同的计算方法。例如,时间估算法、简化估算法、功能组合法等。 4. 最终根据各个子模块的功能计数和估算值,计算得出该功能的总功能数。 需要注意的是,PDF文件的功能计数的准确性和有效性取决于具体的软件系统和计算方法。因此,在进行功能计数时,需要根据实际情况进行合理的调整和优化。 ### 回答3: 功能计数计算方法是一种软件测量方法,它针对软件的具体功能进行定义和计算,旨在量化软件的开发工作量以及预测项目规模和成本。PDF(Program Design Language)是一种结构化的程序设计语言,可以用于软件功能计数。 在PDF方法中,开发团队首先定义软件的外部输入(EI)、外部输出(EO)、外部查询(EQ)、内部逻辑文件(ILF)和外部接口文件(EIF)五个基本功能类型,并根据系统需求和设计文档进行具体功能的划分和计算。 以EI为例,外部输入是指从系统外部传递给系统的数据元素,通过PDF计算,我们可以根据输入数据元素的不同类型、个数和复杂度来确定EI的功能数量。通常,EI的计算需要根据以下步骤进行: 1. 根据需求文档和设计文档确定输入的数据流(DFD); 2. 对于每个数据流,定义它所携带的数据元素类型和数量; 3. 根据数据元素的类型和数量,确定其权重,并据此计算每个数据流的功能(FP); 4. 汇总所有的FP,得到EI的总功能数。 类似的步骤也可以用来计算EO、EQ、ILF、EIF的功能数。 计算软件功能的目的是为了更好的管理软件项目,帮助开发团队预测项目的规模和成本,制定工作计划和估算进度。PDF方法是一种有效的功能计算方法,然而,不同的项目可能需要采用不同的计算方法来更好地满足其需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值