IFPUG功能点计算全解析。

IFPUG方法概述

《系统与软件工程功能规模测量IFPUG方法》(GB/T42449-2023)是中国国家标准,基于国际功能点用户组(IFPUG)的功能规模测量方法(FPA)。该方法通过量化软件功能需求,为项目估算、合同管理和绩效评估提供客观依据。IFPUG方法的核心是识别五种功能类型:外部输入(EI)、外部输出(EO)、外部查询(EQ)、内部逻辑文件(ILF)和外部接口文件(EIF),并计算未调整功能点(UFP)。

功能点计算流程

识别功能类型后,需评估每个功能的复杂度等级(低、中、高),复杂度由数据元素类型(DET)和文件引用类型(RET/FTR)的数量决定。例如,外部输入(EI)的复杂度判定规则如下:

  • 低复杂度:DET ≤ 4且FTR ≤ 1
  • 中复杂度:DET在5-15之间或FTR = 2
  • 高复杂度:DET > 15或FTR ≥ 3

根据复杂度等级,每个功能类型分配对应的权重值,例如:

  • EI的权重:低=3,中=4,高=6
  • EO的权重:低=4,中=5,高=7

未调整功能点(UFP)为所有功能权重之和。最终功能点(FP)还需乘以价值调整因子(VAF),VAF由14项通用系统特性(GSC)评分确定,公式为:
[ VAF = 0.65 + 0.01 \times \sum_{i=1}^{14} GSC_i ]
[ FP = UFP \times VAF ]

代码示例:功能点计算工具

以下Python代码示例演示如何实现IFPUG方法的部分计算逻辑,包括复杂度判定和UFP计算:

def calculate_complexity(det, ftr, func_type):
    if func_type == 'EI':
        if det <= 4 and ftr <= 1:
            return 'Low'
        elif
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: 词汇表:.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值