ファンクションポイント法の説明はどれか。
平成25年度 春期 ITパスポート試験 問48
这道题的解析和你的作答记录。
問 48
- ア
正解 正确答案是ア「基于外部输入、外部输出等功能的数量与难易度来估算开发规模」。功能点法(FP 法)着眼于即将开发的软件向用户提供的功能本身,把功能的量数值化,从而估算开发规模。具体来说,是把系统的功能分类计数:从界面或文件接收数据的「外部输入」、向报表和界面等输出数据的「外部输出」、检索已积累的数据并作出应答的「外部查询」、系统内部保存的数据集合「内部逻辑文件」,以及与其他系统交换数据的「外部接口文件」。此外,即使同样是 1 件外部输入,由于处理的数据项个数和引用的文件数不同,实现的难易也不同,因此要按照简单、普通、复杂这样的难易度(复杂度)区分给出加权分值,再把它们合计起来,求出以功能点为单位的规模。把这样得到的规模乘以各开发语言、各开发环境的生产率(每 1 功能点所需的工时),就能进一步推算出工时、工期和费用。由于以用户可见的功能为基准,因此不易受程序写法和所采用语言的影响,能在需求定义阶段等较早的时期进行估算,而且便于向用户说明估算的依据,这些都是它的优点。作为设问所问的功能点法的说明,正确的是ア。
错误イ
基于过去同类项目的实绩来估算规模,这是类推估算法(类推法)的说明,而不是功能点法。类推估算法是选取在目的、规模、业务内容上与本次项目相似的过去项目,以其实绩值为出发点,再把与本次的差异(功能的增减、所采用的技术、人员的熟练程度等)考虑进去加以调整的方法。只要有过去的实绩,就能在短时间内得出概算;但另一方面,估算精度在很大程度上依赖过去数据的积累量和负责人的经验,而且不具备清点功能这样的客观步骤,因此与依据功能的数量和难易度来计算规模的功能点法在思路上不同。
错误ウ
基于源代码的行数来估算工时,这是 LOC 法(程序步数法、SLOC 法)的说明,而不是功能点法。LOC 法是预测所要编写的程序的行数(步数),再乘以每行的生产率来求出工时的方法,其特点是容易与实现阶段的工作量挂钩。但是行数会因所使用的程序设计语言、开发工具以及程序员的写法而大幅变动,而且在设计阶段本身就难以准确预测行数。与此相对,功能点法清点的不是实现方式,而是向用户提供的功能的量,因此不依赖语言和实现方式,这正是二者本质上的区别。
错误エ
把项目的工作分解到最细的作业单元、分别估算各自的工时,再累加求出整体,这是自下而上估算法(累加法)的说明,而不是功能点法。这种方法用 WBS(工作分解结构)把交付物和作业分层细分,由负责人对末端的每项作业估算工时并汇总,容易防止作业的遗漏、精度也较高;但如果作业内容还没有具体到能够编制 WBS 的程度就无法使用,而且估算工作本身也很费工夫。它所着眼的是「作业」而不是「功能的数量和难易度」,在这一点上与功能点法不同。
- 功能点法是这样一种估算技术:清点外部输入、外部输出、外部查询、内部逻辑文件、外部接口文件等用户可见功能的数量,按各自的难易度乘以权重后合计,从而求出开发规模。它不受程序设计语言和实现方法的影响,能在需求定义等早期阶段就进行估算,而且便于向用户说明估算依据,这些都是它的优点。
- 软件开发的估算技术要对比着记。功能点法由功能的数量和难易度求出规模,LOC 法(程序步数法)由源代码的行数求出工时,类推估算法依据过去同类项目的实绩来估算,自下而上估算法(累加法)则把用 WBS 分解出的各项作业的工时汇总起来。只要抓住每种技术清点的究竟是什么,就能从说明文判断出它是哪一种技术。