如有你有帮助,请购买下载,谢谢!
1 2 3 4 5 计算调整后的功能点个数
合计满足一个 合计满足二个 合计满足三个 合计满足四个 合计满足五个 国际IFPUG组织将软件项目分为三类,功能点估算法适用于任何一类项目,其计算公式中的术语请详见表1。
?
功能点的原始计算公式:
FP Count =UFP * VAF
?
新开发项目
有时新开发的软件项目也需要与其他现存的软件系统进行整合。例如:一个企业新开发的MIS内部管理系统经常会与财务系统进行整合。这时除了考虑本身项目的功能点个数外,还要考虑系统整合或数据迁移部分的工作量。因此,其功能点计算公式如下:
FP Count =(UFP+CFP)* VAF
二次开发的项目
有时新开发的软件项目是在原有基础上进行二次开发的,只是为了增加一些新功能。因此,其功能点计算公式如下: FP Count = ADD * VAF ? 功能增强的项目
功能增强项目的功能点估算比较复杂。在计算功能点前大家需要计算有哪些是新增加的功能,哪些是被修改的功能,哪些是属于数据迁移或系统整合的功能。然后计 算新系统技术复杂度的调整因子“VAFA”,并在此基础上计算系统功能点的数量。当然,此类项目也会去掉一些原有功能,那么在原有系统的技术复杂度基础上 重新计算功能点的调整因子“VAFB”,再计算所去掉功能贡献的功能点数量。因此,其功能点计算公式如下:
FP Count = [(ADD+CHGA+CFP)* VAFA]+(DEL * VAFB)
?
表1 功能点技术公式术语 术语 英文 ADD Added functionality CFP Conversion functionality 中文含义 被添加的功能点个数 被转换的功能点个数 UFP of changed functionality after 功能增强后所改动的功能所贡献的未调CHGA enhancement 整的功能点个数 16页
如有你有帮助,请购买下载,谢谢!
DEL Deleted functionality Value adjustment factor VAF=(sum of(DI)* 0.01)+ 0.65 被删除的功能点个数 功能点的调整因子的计算公式 VAF=(sum of(DI)* 0.01)+ 0.65 功能增强后的功能点调整因子 功能增强前的功能点调整因子 UFP Unadjusted functional point count 未调整的功能点个数 VAF Value adjustment factor after VAFA enhancement Value adjustment factor before VAFB enhancement 以员工管理系统为例,详细说明如何利用功能点估算法计算业务复杂度。 在员工管理系统中添加一个员工资料,会使用到员工的一般信息、教育情况、工作经历和家属信息。员工隶属于某个部门,在本系统中会有一个对部门进行维护的功能。员工的工资则由另外一个财务系统提供。因此,其用例图如下所示:
图1 员工管理系统用例图
假设员工基本信息如下所示:
? ? ? ? ? ?
员工ID(标签控件) 员工名称 性别 生日 婚否
所属部门ID(标签控件)
17页
如有你有帮助,请购买下载,谢谢!
? ? ? ? ? ? ? ? ? ? ? ?
所属部门名称
——受教育的时间 ——学校名称 ——所学专业 ——工作时间 ——工作单位 ——工作部门 ——工作职务 ——亲属的姓名 ——之间关系 ——亲属年龄 ——工作单位
假设部门信息如下所示: 部门ID(标签控件) ? 部门名称
?
假设工资表信息如下所示: 员工ID(标签控件) ? 员工姓名 ? 金额 ? 单位
?
ILF和EIF的功能点数
本范例识别出来ILF和EIF功能点个数如下表所示。 ILF内部逻辑文RET 件 未调整的FP个数 7 7 复未调整DET杂的FP个数 度 个数 4个 低 5 DET个数 复杂度 员工信员工基本信息、受教育情况、工作经历、亲属18 息 信息,共4个。 部门信部门基本信息,共1个。 息 EIF外部接口RET 文件 工资表 员工基本信息、工资信息,共2个。 合计:19个 2 低 低 18页
如有你有帮助,请购买下载,谢谢!
EI、EQ和EO的功能点数
本范例识别出来EI、EQ和EO功能点个数如下表所示。
复未调整的杂FP个数 度 EI FTR DET个数 员工信息的两个标签控件内容不是用户输入的,因此不算。共16个。 部门信息与员工信息中的部门字段重复,因添加员员工、部门、工资此一个都不算。 高 6 工信息 表 工资表中的员工ID和名称不能重复,因此只能算金额和单位,所以共2个。 18个 修改员员工、部门、工资工信息 表 删除员员工、部门、工资工信息 表 添加部部门 门信息 18个 同上 1个 员工ID 1个 一个标签控件的内容不是用户输入的,因此不算 1个 修改部部门 门信息 删除部部门 门信息 合计:25个 EQ FTR DET个数 一个标签控件的内容不是用户输入的,因此不算 1个 部门ID 低 3 低 3 高 6 中4 等 低 3 复未调整的FP个杂数 度 高 6 低 3 查询员工信息 员工、部门、20 工资表 2 合计:9个 查询部门信息 部门 EO FTR DET个数 复未调整的FP杂个数 度 19页
如有你有帮助,请购买下载,谢谢!
统计员工年员工、工资表 薪 员工ID、员工名称、年份、年薪、单位 低 4 共5个 本系统的通用系统特性及其影响程度如下表所示。 系统特性 数据通讯 分布式数据处理 性能 高强度配置 交易速度 在线数据输入 最终用户效率 在线更新 负责的处理 可复用性 易安装性 易操作性 多场地 支持变更 合计:19 调整因子 = 19 * 0.01 + 0.65 = 0.84
最终调整后的功能点数量为:
(19 + 25 + 9 + 5)* 0.84 = 48.72个 总结
功能点估算法是一个非常有用的对软件规模进行估算的国际通用技术,是项目管理人员必须掌握的工具。为了便于大家对功能点的技术进行理解和记忆,这里对其进行总结:
由于计算机软件就是为了实现无纸办公,那么在估算功能点时应该多以用户的纸质表单为依据,每个表单就是一个ILF或EIF,表单上显示的字段都是DET,一个表单上的“核心”内容不管是由几个数据表来分别存放数据的,每个表都是一个RET。
简单来讲,ILF和EIF可以被看作数据库中的数据表,但是主、从表将被视为一个ILF或EIF。那么,ILF和EIF的复杂度就是由数据表中的字段DET
分数 3 2 0 0 0 5 2 3 0 3 0 0 0 1 20页