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
821

被折叠的 条评论
为什么被折叠?



