乐于分享
好东西不私藏

软件工程造价:功能点分析方法(FPA)问答题设计指南

软件工程造价:功能点分析方法(FPA)问答题设计指南

FPA核心概念精要

功能点分析(Function Point Analysis)是一种广泛应用于软件项目规模度量的标准化方法。该方法由国际功能点用户组(IFPUG)制定标准,通过量化软件提供给用户的功能来评估项目规模,而非传统基于代码行的度量方式。FPA的核心价值在于能够在需求阶段就对软件规模进行相对准确的评估,为项目规划提供客观依据。

在FPA框架下,软件功能被划分为五种基本类型:外部输入(EI)、外部输出(EO)、外部查询(EQ)、内部逻辑文件(ILF)和外部接口文件(EIF)。每种功能类型都有明确的定义标准,例如外部输入是指用户向系统提供数据或控制信息的过程,而内部逻辑文件则是系统为满足主要功能需求而维护的逻辑相关数据组。理解这些基础概念是设计有效FPA问答题的前提。

FPA计算过程包含六个标准步骤:确定计数范围和应用边界、识别数据功能、识别事务功能、确定复杂度调整因子、计算调整后功能点数以及文档化计数结果。每个步骤都有严格的操作规范,这为问答题设计提供了丰富的切入点。值得注意的是,FPA方法具有技术中立特性,不依赖于具体编程语言或实现技术,这使得基于FPA的评估结果具有更好的横向可比性。

表:FPA基本功能类型复杂度权重

功能类型

低复杂度

中等复杂度

高复杂度

外部输入(EI)

3

4

6

外部输出(EO)

4

5

7

外部查询(EQ)

3

4

6

内部逻辑文件(ILF)

7

10

15

外部接口文件(EIF)

5

7

10

FPA问答题设计原则

设计高质量的FPA问答题需要兼顾知识覆盖的全面性和问题设置的针对性。基础概念题应聚焦FPA的核心要素,例如可以询问"在FPA方法中,哪种功能类型通常与系统内部数据维护相关?"这类问题既检验了对ILF的理解,又强化了功能分类标准。避免设计仅需死记硬背的题目,而应促使考生理解概念背后的原理,如"为什么外部输出的权重通常高于外部输入?"

中级难度题目适合考察FPA应用能力,典型的题型包括给定系统描述要求识别功能组件、计算未调整功能点(UFP)或分析复杂度影响因素。这类题目设计时需注意提供足够的上下文信息但避免冗余,例如描述一个订单管理系统时,应明确列出用户操作流程和数据存储需求,但不必过度详细说明界面设计细节。计算类题目应提供标准权重表作为参考,重点考察考生正确应用方法的能力而非记忆具体数值。

高级问答题可聚焦FPA在实际项目中的综合应用,例如分析需求变更对功能点计数的影响、比较不同估算方法的适用场景或讨论FPA在敏捷环境中的调整应用。这类题目最能区分考生的真实理解深度,设计时建议基于真实项目案例,但需对敏感信息进行脱敏处理。一个有效的策略是提供简化的项目背景,然后设置渐进式问题,从基础识别到复杂分析逐步深入。

题目难度控制需要考虑三个维度:知识深度、分析广度和计算复杂度。优秀的FPA问题组合应该形成合理的难度梯度,既有检验基础知识的简答题,也有需要综合分析的案例题。对于认证考试类场景,建议基础题占40%,应用题占40%,综合分析题占20%。而在培训测试中,可以适当提高基础题比例至60%,确保学员掌握了核心概念。

完整问答题示例及解析

基础概念题示例

问题:在功能点分析中,外部查询(EQ)与外部输出(EO)的主要区别是什么?请举例说明。

参考答案:外部查询和外部输出的关键区别在于数据处理的深度和目的。外部查询是指系统根据用户请求检索并呈现已有数据,不改变系统内部状态,例如客户信息查询功能。而外部输出涉及系统对数据进行加工处理后的输出,通常包含派生数据或汇总结果,如销售统计报表生成。两者的复杂度评估标准也不同,EQ主要考虑检索条件和结果显示的复杂度,EO则需评估数据处理逻辑的复杂度。

计算应用题示例

问题:某库存管理系统包含以下功能:

5个产品信息录入界面(EI),每个界面包含15个数据项,涉及3个ILF

8种报表生成功能(EO),平均每个报表引用2个ILF,输出20个数据项

3个库存查询功能(EQ),每个查询涉及1个ILF,包含5个输入条件和10个输出字段

与财务系统的接口文件2个(EIF),每个包含8个数据元素

请计算该系统的未调整功能点(UFP)。

参考答案:

首先确定各功能项的复杂度等级:

EI:15DET,3FTR → 高复杂度(权重6)

EO:20DET,2FTR → 高复杂度(权重7)

EQ:10DET,1FTR → 中等复杂度(权重4)

EIF:8DET → 中等复杂度(权重7)

然后计算UFP:

EI:5×6 = 30

EO:8×7 = 56

EQ:3×4 = 12

ILF:5个(题目隐含),假设中等复杂度 → 5×10 = 50

EIF:2×7 = 14

总UFP = 30+56+12+50+14 = 162

综合分析题示例

问题:某银行计划将传统柜面系统升级为数字化平台,原系统功能点计数为850FP。新系统将保留60%原有功能,改进30%功能(复杂度平均增加20%),新增功能预计150FP。请分析:

1.项目相对规模变化

2.可能影响实施工作量的因素

3.如何验证新系统的功能点计数准确性

参考答案:

1.规模变化计算:

2.保留功能:850×60% = 510FP

3.改进功能:850×30%×1.2 = 306FP

4.新增功能:150FP

5.新系统总规模:510+306+150 = 966FP

6.规模增长约13.6%

7.工作量影响因素包括:

8.功能修改而非全新开发可能降低部分编码工作量

9.接口系统兼容性要求可能增加测试工作量

10.业务流程重组可能增加需求分析工作量

11.数据迁移和转换工作未体现在功能点计数中

12.验证计数准确性的方法:

13.采用多人独立计数后比对结果

14.对照IFPUG最新计数实践指南检查

15.与类似规模银行系统进行基准比较

16.分阶段验证,先验证核心模块再扩展至全系统

通过这三个层次的问答题设计,可以全面评估学习者对FPA方法的理解深度和应用能力。实际设计中,建议根据具体受众和考试目的调整题目难度和比重,同时确保每个问题都有明确的评分标准。对于认证考试,还应建立题库并进行题目难度和区分度的统计分析,持续优化题目质量。

相关学习资料