简化功能点系列之一:什么是功能点

这是简化功能点系列的第一篇。

目标

功能点的目标,是估算工作量,进而估算成本和造价。

俗话说:“店大欺客,客大欺店”,银行这么大的客遇上IBM这么大的店,会发生什么呢?那就是功能点。

大约在1979年左右,IBM发布了对功能点的基本定义,后来随着业界的发展,逐渐成为当前唯一被广泛认可的软件规模度量标准。

功能点最大的特点,就是它和工作量的比例关系很好(应该是,功能点就是为了这个目标而设置的,因此这个不是偶然)。

什么是功能点

和我们平时说的“功能点”不同的是,标准功能点(Function Point)是一个被严格定义的概念,不会因为估算人员差异产生显著差别。

下面的图展示了功能点中的“计数单元”,就是可以被数为功能点的东西。


内部逻辑文件ILF,就是用户的业务数据,类似于UML中的Entity,或者业务类Business Class,或者数据库中的某些“主表”。

外部接口文件EIF,就是要访问的外部数据(注意不是外部系统,而是外部系统中的一个ILF)。

外部输入EI,主要目的是使ILF数据变化的一种操作,简单说增删改都是EI;还有一种“使行为发生变化”的EI,如“开始杀毒”。

外部查询EQ,主要目的是查看原始数据,比如查看流水帐,查看余额。

外部输出输出,主要目的是查看计算和派生的数据,比如查看年度报表;还有一种是“穿越系统界面”的,比如打印。

这些功能点的定义,核心是“客户可以理解并识别”,比如图中灰色的那些“数据”和“操作”,是客户看不到的,因此不能计算为功能点。

在计数过程中,各种功能点标准都做了一些细节定义,防止出现错误估算的情况。比如:

1. “查询”有很多条件,算几个?

2. 输出之前要先输入(输入查询日期范围),算几个?

3. 有的复杂有的简单,怎么数?

……等等,总之各种一望而知的和想都想不到的问题,都能找到依据(但有的依据很难掌握)。

IFPUG曾有报告指出,若两个人经过了标准功能点的培训,那么这两个独立计数相差不到10%。

功能点标准

现在世界上有5个功能点的ISO标准(值得注意的是,除了功能点,没有任何其他比如代码行、故事点、用例点……形成标准),分别是 (下面是俗称):

IFPUG(澳大利亚,最大的功能点组织),NESMA(荷兰,世界第二大功能点组织,代表欧洲),MarkII,COSMIC(能用到嵌入式),FiSMA(芬兰)。

功能点有各种简化方法,但基本上都“与功能点兼容”,就是说借用了功能点的定义和数值。

各种组织、咨询公司收集的功能点项目数据在5万左右(其中一家就达到2万多),粗略估计企业内部的功能点数据可能超过50万。

每年还能看到各种功能点的对比数据报告,这个也是其他估算方法所不能比拟的。

标准功能点的局限性

尽管功能点是一种“与技术无关”的“只需要需求就能数的”东西,但却很难在某些场景中应用,比如:
1. 功能点的复杂度依赖于某些细节,无法早期获得。
具体包括字段数DETs、影响到的表的数量FTRs、字段的排列组合情况RETs等信息,而这些信息只有在很详细的界面设计和数据库设计出现后,才能计算清楚。
比如那个RETs,我本人现在还搞不懂。我可是不但听过功能点课程,还翻译过国外的课程(PPT加口译,还仔细查阅了英文原文中的定义),还和外国讲师额外请教了很多,搭上了去颐和园划船的时间,还是不能给出严格区分的方法。

2. 功能点的很多概念与日常需求分析和描述差别很大

一个资深产品经理,本来需求写的好好的,也足以给测试人员写用例,给设计人员写设计,做出来的产品客户也很满意,就差一个估算和度量不太懂,于是他就参加标准功能点培训……突然,他就像小学生误入微积分课堂一样,听到一大堆完全陌生的词汇、定义和判断准则,感觉自己完全像一个基础为零的菜鸟一样。

实际上,需求分析资深人士和外行学功能点的速度一样快……或者说,一样慢,因为前面的积累几乎用不上。


之后的几篇博客,将会介绍如何以一种无为而治的方法,对已有的需求描述方法略作改进,就能从中自动计数功能点。

一篇看似平淡无奇的Word文档(甚至里边全是标题不需要文字),可以在几秒钟后算出功能点数值;而多数项目(2人年以下的),几个小时就能做完。

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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: 词汇表:.
Eclipse 是一款备受欢迎的 Java 集成开发环境,它能够大大提高开发效率。对于许多开发人员来说,Eclipse 已成为日常开发的标配工具。Eclipse 一直在不断地升级,不断地推出新版本,并且每次的升级都会为开发人员带来全新的体验。下面就为大家介绍一下 Eclipse2022 新版中的新功能。 1、图形界面的升级 Eclipse2022 是一款全新的 IDE,它的图形界面进行了全面升级。相比旧版本,新版本的界面更简洁、更现代化,更加美观。新的运动模糊效果、日间深色模式以及其他跟随全球最新 UI 设计潮流的特色功能可以让用户更加舒适和方便地进行开发。 2、新的代码编辑体验 作为一款 IDE,代码编辑器是它最常用的功能之一。Eclipse2022 在编辑器方面进行了一系列大幅度的改进。新版增加了很多实用的代码提示和代码补全功能;大大增强了代码导航和代码重构能力;增强了代码着色与高亮,可以在编辑代码时使更好的视觉效果,降低出错率。 3、重度集成 DDA Eclipse2022 支持重度集成 DDA(Deployment, Debugging and Analysis),不但简化了开发流程,还降低了开发者日常的调试的复杂度。DDA 核心功能与相关工具集成,提供深入调试和性能分析支持。 4、全面适用云环境 Eclipse2022 还支持全新的云端开发,也就是说,你可以轻松地在不同的计算机或系统之间同步开发。不管你是在本地还是在远程云服务器上进行工作,你都可以享受到相同的优秀开发体验。 总体来说,Eclipse2022 的功能非常强大,集成性和用户友好性优秀,不仅提高了开发效率,也为一个更加舒适愉悦的开发体验提供了便利。 Eclispe 现在得到越来越多开发者的追捧,Eclipse2022 更是道别了之前的不便而更加进化到一个高度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值