📜  估计技术-FP计数过程

📅  最后修改于: 2021-01-07 05:08:28             🧑  作者: Mango


FP计数过程涉及以下步骤-

  • 步骤1-确定计数类型。

  • 步骤2-确定计数的边界。

  • 步骤3-确定用户所需的每个基本过程(EP)。

  • 步骤4-确定唯一的EP。

  • 步骤5-测量数据功能。

  • 步骤6-衡量交易功能。

  • 步骤7-计算功能大小(未调整的函数点数)。

  • 步骤8-确定值调整因子(VAF)。

  • 步骤9-计算调整后的函数点数。

–通用系统特性(GSC)在CPM 4.3.1中成为可选选项,并已移至附录。因此,可以跳过步骤8和步骤9。

步骤1:确定计数类型

函数点计数共有三种类型-

  • 开发功能点数
  • 应用功能点数
  • 增强功能点数

开发功能点数

功能点可以在开发项目从需求到实施阶段的所有阶段进行计数。这种类型的计数与新的开发工作相关,并且可能包括作为临时解决方案可能需要的原型,以支持转换工作。这种类型的计数称为基准函数点计数。

应用功能点数

应用程序计数是作为交付的函数点计算的,不包括任何转换工作(原型或临时解决方案)和可能存在的现有功能。

增强功能点数

在生产后对软件进行更改时,它们被视为增强。为了确定此类增强项目的大小,可以在应用程序中添加,更改或删除功能点计数。

步骤2:确定计数的边界

边界指示正在测量的应用程序与外部应用程序或用户域之间的边界。 (参见图1)

要确定边界,请了解-

  • 函数点计数的目的
  • 被测应用范围
  • 如何以及哪些应用程序维护哪些数据
  • 支持应用程序的业务领域

步骤3:确定用户所需的每个基本过程

将功能用户需求组成和/或分解为最小的活动单位,该活动单位满足以下所有条件-

  • 对用户有意义。
  • 构成完整的交易。
  • 是自成体系的。
  • 使应用程序的业务处于一致状态。

例如,功能用户需求-“维护员工信息”可以分解为较小的活动,例如添加员工,更换员工,删除员工和查询员工。

这样确定的每个活动单元都是一个基本过程(EP)。

步骤4:确定唯一的基本过程

比较已经确定的两个EP,如果它们符合以下条件,则将它们视为一个EP(相同的EP):

  • 需要相同的DET集。
  • 需要相同的FTR集。
  • 需要相同的处理逻辑集才能完成EP。

不要将具有多种形式的处理逻辑的EP拆分为多个EPS。

例如,如果您已将“添加员工”标识为EP,则不应将其分为两个EP,以说明员工可能有也可能没有受抚养人的事实。 EP仍然是“添加员工”,并且处理逻辑和DET会有所不同,以考虑家属。

步骤5:测量数据功能

将每个数据函数为ILF或EIF。

数据函数应分类为-

  • 内部逻辑文件(ILF)(如果被测量的应用程序维护)。

  • 外部接口文件(EIF)(如果已引用,但未由正在测量的应用程序维护)。

ILF和EIF可以包含业务数据,控制数据和基于规则的数据。例如,电话交换是由所有三种类型进行的-业务数据,规则数据和控制数据。业务数据是实际的电话。规则数据是呼叫应如何通过网络路由,控制数据是交换机之间如何通信。

考虑以下文档以计算ILF和EIF-

  • 拟议系统的目标和制约因素。
  • 有关当前系统的文档(如果存在)。
  • 用户的预期目标,问题和需求的文档。
  • 数据模型。

步骤5.1:计算每个数据功能的DET

应用以下规则为ILF / EIF计算DET-

  • 通过执行EP,为在ILF或EIF中维护的或从ILF或EIF中检索的每个唯一的用户可识别的,非重复的字段计算DET。

  • 仅计算两个或多个应用程序维护和/或引用相同数据函数时所测量的应用程序正在使用的DET。

  • 计算用户与另一个ILF或EIF建立关系所需的每个属性的DET。

  • 查看相关属性以确定它们是否被分组并计为单个DET,或者是否被计为多个DET。分组将取决于EP如何在应用程序内使用属性。

步骤5.2:计算每个数据功能的RET

应用以下规则为ILF / EIF计算RET数-

  • 为每个数据函数计算一个RET。
  • 为以下每个其他DET逻辑子组计算一个附加RET。
    • 具有非关键属性的关联实体。
    • 子类型(第一个子类型除外)。
    • 除强制性1:1以外的关系中的归因实体。

步骤5.3:确定每个数据功能的功能复杂性

RETS Data Element Types (DETs)
1-19 20-50 >50
1 L L A
2 to 5 L A H
>5 A H H

功能复杂度: L =低;低A =平均值; H =高

步骤5.4:测量每个数据功能的功能大小

Functional Complexity FP Count for ILF FP Count for EIF
Low 7 5
Average 10 7
High 15 10

步骤6:衡量交易功能

要衡量交易功能,以下是必要步骤-

步骤6.1:对每个事务功能进行分类

交易功能应分类为外部输入,外部输出或外部查询。

外部输入

外部输入(EI)是一个基本过程,用于处理来自边界外部的数据或控制信息。 EI的主要目的是维护一个或多个ILF和/或更改系统的行为。

必须遵循以下所有规则-

  • 从应用程序边界之外接收数据或控制信息。

  • 如果进入边界的数据不是改变系统行为的控制信息,则至少维护一个ILF。

  • 对于已识别的EP,必须使用以下三个陈述之一-

    • 处理逻辑与其他EI为应用程序执行的处理逻辑不同。

    • 标识的数据元素集与为应用程序中其他EI标识的集不同。

    • 引用的ILF或EIF与应用程序中其他EI引用的文件不同。

外部输出

外部输出(EO)是一个基本过程,它在应用程序的边界之外发送数据或控制信息。除外部查询外,EO还包括其他处理。

EO的主要目的是通过处理逻辑向用户提供信息,而不是检索数据或控制信息。

处理逻辑必须-

  • 包含至少一个数学公式或计算。
  • 创建派生数据。
  • 维护一个或多个ILF。
  • 更改系统的行为。

必须遵循以下所有规则-

  • 在应用程序边界之外发送数据或控制信息。
  • 对于已识别的EP,必须使用以下三个陈述之一-
    • 处理逻辑与其他EO为应用程序执行的处理逻辑不同。
    • 所标识的数据元素集与应用程序中的其他EO不同。
    • 引用的ILF或EIF与应用程序中其他EO引用的文件不同。

此外,以下规则之一必须适用-

  • 处理逻辑包含至少一个数学公式或计算。
  • 处理逻辑保持至少一个ILF。
  • 处理逻辑改变了系统的行为。

外部查询

外部查询(EQ)是一个基本过程,它在边界之外发送数据或控制信息。 EQ的主要目的是通过检索数据或控制信息向用户呈现信息。

处理逻辑不包含数学公式或计算,也不创建任何派生数据。在处理期间不维护ILF,也不会更改系统的行为。

必须遵循以下所有规则-

  • 在应用程序边界之外发送数据或控制信息。
  • 对于已识别的EP,必须使用以下三个陈述之一-
    • 处理逻辑与其他EQ为应用程序执行的处理逻辑是唯一的。
    • 标识的数据元素集与应用程序中的其他EQ不同。
    • 引用的ILF或EIF与应用程序中其他EQ引用的文件不同。

此外,以下所有规则必须适用-

  • 处理逻辑从ILF或EIF检索数据或控制信息。
  • 处理逻辑不包含数学公式或计算。
  • 处理逻辑不会改变系统的行为。
  • 处理逻辑不维护ILF。

步骤6.2:计算每个事务功能的DET

应用以下规则为EI计算DET-

  • 查看所有穿过(进入和/或退出)边界的内容。

  • 对于在交易函数的处理期间跨越(进入和/或退出)边界的每个唯一的用户可识别的,非重复的属性,计算一个DET。

  • 每个事务函数仅计算一个DET,即使有多条消息,也可以发送应用程序响应消息。

  • 每个事务函数仅计算一个DET即可启动操作的能力,即使有多种方法也可以这样做。

  • 不要将以下项目视为DET-

    • 事务处理函数在边界内生成的属性,并在不退出边界的情况下保存到ILF。

    • 字面量,如报告标题,屏幕或面板标识符,列标题和属性标题。

    • 应用程序生成的图章,例如日期和时间属性。

    • 分页变量,页码和位置信息,例如“ 211行37至54”。

    • 导航辅助功能,例如使用“上一个”,“下一个”,“第一个”,“最后一个”及其图形等效项在列表中导航的能力。

应用以下规则为EO / EQ计算DET-

  • 查看所有穿过(进入和/或退出)边界的内容。

  • 对于在交易函数的处理期间跨越(进入和/或退出)边界的每个唯一的用户可识别的,非重复的属性,计算一个DET。

  • 每个事务函数仅计算一个DET,即使有多条消息,也可以发送应用程序响应消息。

  • 每个事务函数仅计算一个DET即可启动操作的能力,即使有多种方法也可以这样做。

  • 不要将以下项目视为DET-

    • 在边界内生成的属性而不跨越边界。

    • 字面量,如报告标题,屏幕或面板标识符,列标题和属性标题。

    • 应用程序生成的图章,例如日期和时间属性。

    • 分页变量,页码和位置信息,例如“ 211行37至54”。

    • 导航辅助功能,例如使用“上一个”,“下一个”,“第一个”,“最后一个”及其图形等效项在列表中导航的能力。

步骤6.3:计算每个事务功能的FTR

应用以下规则为EI计算FTR-

  • 计算每个维护的ILF的FTR。
  • 对在处理EI期间读取的每个ILF或EIF计数FTR。
  • 对于维护和读取的每个ILF,仅计算一个FTR。

应用以下规则为EO / EQ计算FTR-

  • 对在处理EP期间读取的每个ILF或EIF计数FTR。

此外,应用以下规则为EO计算FTR-

  • 计算在EP处理期间维护的每个ILF的FTR。
  • EP维护和读取的每个ILF仅计算一个FTR。

步骤6.4:确定每个事务功能的功能复杂性

FTRs Data Element Types (DETs)
1-4 5-15 >=16
0-1 L L A
2 L A H
>=3 A H H

功能复杂度: L =低;低A =平均值; H =高

确定每个EO / EQ的功能复杂度,但EQ必须至少具有1 FTR-

EQ must have a minimum of 1 FTR

FTRs

Data Element Types (DETs)
1-4 5-15 >=16
0-1 L L A
2 L A H
>=3 A H H

功能复杂度: L =低;低A =平均值; H =高

步骤6.5:测量每个事务功能的功能大小

根据功能复杂性来衡量每个EI的功能大小。

Complexity FP Count
Low 3
Average 4
High 6

从其功能复杂性来衡量每个EO / EQ的功能大小。

Complexity FP Count for EO FP Count for EQ
Low 4 3
Average 5 4
High 6 6

步骤7:计算功能大小(未调整的功能点数)

要计算功能大小,应遵循以下步骤-

步骤7.1

重新收集在步骤1中找到的内容。确定计数类型。

步骤7.2

根据类型计算功能大小或函数点数。

  • 有关开发函数点数,请转到步骤7.3。
  • 有关应用函数点计数,请转到步骤7.4。
  • 有关增强函数点计数,请转到步骤7.5。

步骤7.3

开发功能点计数由功能的两个部分组成-

  • 项目的用户要求中包含应用程序功能。

  • 项目的用户要求中包含转换功能。转换功能包括仅在安装时提供的功能,以转换数据和/或提供其他用户指定的转换要求,例如特殊转换报告。例如,现有应用程序可以替换为新系统。

DFP =添加+ CFP

哪里,

DFP =开发功能点数

ADD =开发项目交付给用户的功能的大小

CFP =转换功能的大小

ADD = FP计数(ILF)+ FP计数(EIF)+ FP计数(EI)+ FP计数(EO)+ FP计数(EQ)

CFP = FP计数(ILF)+ FP计数(EIF)+ FP计数(EI)+ FP计数(EO)+ FP计数(EQ)

步骤7.4

计算应用功能点数

AFP =加

哪里,

AFP =应用功能点数

ADD =开发项目交付给用户的功能的大小(不包括任何转换功能的大小),或者在计算应用程序时存在的功能。

ADD = FP计数(ILF)+ FP计数(EIF)+ FP计数(EI)+ FP计数(EO)+ FP计数(EQ)

步骤7.5

增强功能点计数考虑功能的以下四个组成部分:

  • 添加到应用程序的功能。
  • 在应用程序中修改的功能。
  • 转换功能。
  • 从应用程序中删除的功能。

EFP = ADD+ CHGA+ CFP+德尔

哪里,

EFP =增强功能点数

ADD =增强项目添加的功能的大小

CHGA =增强项目更改的功能大小

CFP =转换功能的大小

DEL =增强项目删除的功能的大小

ADD = FP计数(ILF)+ FP计数(EIF)+ FP计数(EI)+ FP计数(EO)+ FP计数(EQ)

CHGA = FP计数(ILF)+ FP计数(EIF)+ FP计数(EI)+ FP计数(EO)+ FP计数(EQ)

CFP = FP计数(ILF)+ FP计数(EIF)+ FP计数(EI)+ FP计数(EO)+ FP计数(EQ)

DEL = FP计数(ILF)+ FP计数(EIF)+ FP COUNT(EIs)+ FP计数(EO)+ FP计数(EQ)

步骤8:确定值调整因子

GSC在CPM 4.3.1中成为可选的,并移至附录。因此,可以跳过步骤8和步骤9。

值调整因子(VAF)基于14个GSC,它们对所计算应用程序的一般功能进行评分。 GSC是独立于技术的用户业务约束。每个特性都有相关的描述来确定影响程度。

General System Characteristic Brief Description
Data Communications How many communication facilities are there to aid in the transfer or exchange of information with the application or system?
Distributed Data Processing How are distributed data and processing functions handled?
Performance Did the user require response time or throughput?
Heavily Used Configuration How heavily used is the current hardware platform where the application will be executed?
Transaction Rate How frequently are transactions executed daily, weekly, monthly, etc.?
On-Line Data Entry What percentage of the information is entered online?
End-user Efficiency Was the application designed for end-user efficiency?
Online Update How many ILFs are updated by online transaction?
Complex Processing Does the application have extensive logical or mathematical processing?
Reusability Was the application developed to meet one or many user’s needs?
Installation Ease How difficult is conversion and installation?
Operational Ease How effective and/or automated are start-up, back-up, and recovery procedures?
Multiple Sites Was the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations?
Facilitate Change Was the application specifically designed, developed, and supported to facilitate change?

影响程度范围是从零到五个,从无影响到有影响力。

Rating Degree of Influence
0 Not present, or no influence
1 Incidental influence
2 Moderate influence
3 Average influence
4 Significant influence
5 Strong influence throughout

确定14个GSC中每一个的影响程度。

这样获得的14个GSC的值之和称为总影响度(TDI)。

TDI = ∑ 14影响度

接下来,将值调整因子(VAF)计算为

VAF =(TDI×0.01)+ 0.65

每个GSC的范围从0到5,TDI的范围从(0×14)到(5×14),即0(当所有GSC都低时)到70(当所有GSC都高时),即0≤TDI≤70。因此,VAF可以在0.65(当所有GSC都较低时)到1.35(当所有GSC都较高时)之间变化,即0.65≤VAF≤1.35。

步骤9:计算调整后的功能点数

根据使用VAF(V4.3.1之前的CPM版本)的FPA方法,这取决于

调整后的FP计数=未调整的FP计数×VAF

其中,未经调整的FP计数是您在步骤7中计算的功能大小。

由于VAF的变化范围是0.65至1.35,因此VAF对最终调整后的FP计数产生±35%的影响。

功能点的好处

功能点很有用-

  • 在测量解决方案的大小而不是问题的大小时。

  • 因为要求是函数点计数的唯一要求。

  • 由于它独立于技术。

  • 由于它独立于编程语言。

  • 在评估测试项目中。

  • 估算总体项目成本,进度和工作量。

  • 在合同谈判中,因为它提供了一种与业务组更轻松沟通的方法。

  • 当它量化并为软件中功能的实际用途,接口和用途分配值时。

  • 在与其他指标(例如小时,成本,人数,工期和其他应用程序指标)创建比率时。

FP资料库

国际软件基准标准组织(ISBSG)不断发展并维护着两个IT数据存储库。

  • 开发和增强项目
  • 维护和支持应用

开发和增强项目存储库中有6,000多个项目。

数据以Microsoft Excel格式提供,使您可以轻松进行进一步的分析,甚至可以将数据用于其他目的。

– ISBSG库许可证可以从购买http://www.isbsg.com/

使用折扣代码“ IFPUGMembers”时,ISBSG为IFPUG会员提供10%的在线购买折扣。

ISBSG软件项目数据版本更新可在以下位置找到: http://www.ifpug.org/isbsg/

COSMIC和IFPUG合作生成了软件非功能和项目要求的术语表。可以从-cosmic-sizing.org下载