软件项目工作量评估法——功能点估算(FPA)(一)初识

首先在认识FPA之前,应该先了解一下软件工作量评估的用途以及诸多方法

软件项目工作量是软件项目成本评估、软件项目工作量估算和合理策划项目进度的基础。可为后期报价、投标、项目管理、规划起到决定性作用。

软件项目工作量评估方法很多,如代码法、类比法、WBS、故事点、用例点、NESMA、FPA、cosmic、COCOMOⅡ等。现在我们主要对功能点估算方法(FPA)进行学习。



功能点方法(FPA):
      (Function Point Analysis) 功能点分析法,简称FPA,与代码行分析法是近年来最流行的两种基础软件规模估算和度量方法。是从用户角度出发度量软件规模的一种方法。它从用户的角度出发,将系统分为数据功能事物功能两大类,分别根据具体的规则来计算功能点,最后结合系统的特征因子来调整功能点数, 从而得到最终的系统规模。

       功能点分析方法(FPA)作为一种理解和交流系统规模的手段,针对用户功能、性能的需求进行度量,具有可在 项目早期进行度量,不依赖于项目的语言和技术等特点

  FPA 较适用于商业数据处理、管理信息系统的估算,因为它能更好地反映系统需求上的复杂度和数量。从满足客户需求的角度讲,FPA 具有阶段性,对用户早期参与项目管理、项目经理制定项目计划更有意义。

为什么使用功能点分析法
       FPA可以应用于所有的软件项目和软件身,包括新开发项目,升级项目,应用程序,维护项目等。FPA的基本目的有两个:

  • l  度量用户要求和接收到的功能
  • l  为软件的开发和维护而度量其技术独立度。

一、 功能点分析法的定义

官方文档IFPUG CPM 4.2.1给出功能点分析法的定义是:Function point analysis is a standard method for measuring software development from the user’s point of view.
具体来说,FPA有这么几个特点:

  • l  它是一种适用于软件开发的度量方法。
  • l  它是一种标准的度量方法,由国际功能点用户组(IFPUG)维护和推动。
  • l  它从用户视角来度量产品规模。
  • l  它不注重产品的内部结构和技术复杂度。不过也并非完全无视这些因素。

FPA标准的维护组织是国际功能点用户组IFPUG (http://www.ifpug.org),它不定期的发布Counting Practices Manual,简称CPM来统一不同公司和产品的功能点计算模型。这套模型基于大量已完成项目的分析数据,非常全面和精确。对于同一个产品,不同的公司,不同的人,参照CPM计算出来的功能点数应当是一样的。目前最新版本是2005的CPM 4.2.1,现在三年未更新,计算模型已相当成熟。

二、功能点的定义

什么是功能点?就是客户提出的一条条的需求吗?答案是否定的。在FPA中,客户提出的需求,是功能,功能组和产品;但不是功能点。

  • l  功能点是一个的度量单位,用于度量工作产品的规模。就像公斤和千米一样,仅仅是一个抽象化的单位。
  • l  功能点不直接度量软件的内部架构和技术复杂度。
  • l  单个功能点对用户没有意义,但一个功能包含多少个功能点对用户有意义。
  • l  一个系统,一个功能包含多少个功能点,是由一系列可见的要素分析计算得来,而不是拍脑袋的经验数字。

功能点分为两种:未调整功能点调整功能点未调整功能点是只记用户可见功能的中间结果,调整功能点是最终结果,在未调整后功能点基础上加入了系统实现和内部架构方面的因素。一般说一个系统包含多少个功能点,是指调整功能点。

简而汇之,如下功能是用户可见的。

  • l  GUI,如页面和窗体。
  • l  报表。
  • l  主要文件。
  • l  参考文件,引用文件。
  • l  控制文件。
  • l  数据输入。

三、功能点分析法的用途

软件度量的用途非常广泛,从客户,老板,管理人员,到程序员,都需要软件度量数据。FPA作为一种软件度量方法,主要有三方面的用途:持续的过程改进,软件资产管理,项目管理

1、 持续的过程改进

       FPA支持用于软件质量分析生产力分析的量化指标,比如每功能点的平均bug数,每功能点的平均人天数,等等。
      分析这些量化指标,可以找到过程改进的机会;可以度量改进的效果。无论是组织还是个人,都需要持续的过程改进。具体来说,FPA可这个过程中发挥如下作用:

  • 为现状提供基线数据。
  • 为改进决策提指明方向。
  • 为具体行动提供指南。
  • 度量改进的结果。
  • 将改进的结果基线化,进入下一轮改进。

2、软件资产管理

FPA为组织的软件资产提供了量化的指标。

  • l  软件资产的总规模
  • l  软件资产的增长率
  • l  软件资产的维护成本
  • l  软件资产的代换成本

对于软件开发和服务组织,这些指标可为软件资产的维护策略提供决策依据:是重新开发,重构系统,重写代码但不改结构,还是继续维护。
对于使用软件的组织,这些指标可作为采购的参考:是自行开发,还是采购?采购的合理价格区间,目标采购包的功能符合度。
FPA为应用软件之间的功能比较提供了规范化指标

3、项目管理

  • (1)    估算开发或维护的成本,资源,为项目计划提供依据。
  • (2)    估算需求变更的成本和对项目的影响。
  • (3)    控制需求范围。

四、功能点分析法的优/缺点

优点:

  • l  基于定义良好的计算标准。
  • l  基于客户视角。容易理解和接受。
  • l  可应用于新项目,升级项目和维护项目。
  • l  与技术和计算机语言无关。
  • l  简单,易于计算,只需花费较少的工作量。
  • l  一致的规模度量尺度。可用来比较不同组织和技术之间的比较。

缺点:

  • l  只考虑可见部分的复杂度,对系统内部复杂性考虑太少。
  • l  功能复杂度三级划分比较武断。对一些比较复杂的功能,统计误差较大。
  • l  FPA知识简单假设全部是部分的和,没有考虑系统集成带来的额外开销。

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: FPA功能分析)是一种软件工程中常用的工作量评估,旨在量化软件开发过程中的功能和业务需求。FPA工作量评估通过对软件功能进行计量,进而确定项目工作量、资源分配和进度规划。 FPA工作量评估的核心是对软件功能进行计算。功能分为内部逻辑文件(ILF)和外部接口文件(EIF),分别代表软件内部存储的数据和与外部系统交互的数据。用户需求会根据复杂性和功能数量来确定功能的数量。通过对功能进行评估,可以对软件开发的工作量有一个大致的估计。 FPA工作量评估的好处是能够提供一个客观的指标来估计软件项目的规模和工作量,帮助项目团队预估项目的时间和资源需求。同时,FPA还可以用于评估不同方案或开发策略的可行性,帮助项目管理者做出决策。此外,FPA还能够提供一个衡量软件开发过程中工作质量的指标,用于评估软件的稳定性和可靠性。 FPA工作量评估需要项目团队对软件的需求和功能进行仔细的分析和评估,因此需要一定的专业知识和经验。同时,FPA也要求评估者具备良好的沟通能力,以便更好地理解用户需求和功能的复杂性。 综上所述,FPA工作量评估是一种基于功能计算的软件工作量估算。它能够提供客观的工作量估计指标,帮助项目团队进行时间和资源的规划。通过FPA工作量评估,可以更好地掌握软件开发过程中的工作质量和项目进度,从而提高软件开发项目的成功率。 ### 回答2: FPA功能分析)工作量评估是一种软件开发过程中常用的衡量软件复杂度和工作量的方。它通过对软件所需功能的分类、统计和评估来预测开发所需的工作量和资源需求。 在进行FPA工作量评估时,通常需要使用一些参考书籍或指南,以便正确理解和应用FPA的方。以下是一些常用的书籍: 1. IFPUG《软件功能分析计数实践指南》:这是由国际功能用户组(IFPUG)编写的权威指南,在FPA工作量评估中被广泛使用。该指南详细介绍了功能的定义和分类方,并提供了详细的计数规则和案例。 2. Robert M. Grady《功能分析:范例实践》:这本书为初学者提供了一个系统的FPA学习框架。它介绍了FPA的基本概念、技术和应用,以及如何应用FPA进行软件工作量评估项目管理。 3. Carol A. Dekkers《软件功能分析:实用方和案例研究》:这本书探讨了FPA在不同情境下的实践方和应用案例。它详细介绍了如何使用FPA进行软件规模和工作量估算,并通过案例研究展示了其实际应用。 以上这些书籍是FPA工作量评估的辅助指导材料,能够帮助软件开发团队更好地理解和运用FPA的方。当然,除了书籍,参与过实际项目、具备经验的专业人员的支持和指导也是非常重要的。通过学习和实践结合,可以更准确地进行FPA工作量评估,提高软件开发的效率和质量。 ### 回答3: FPA功能分析)是一种常用于软件开发领域的工作量评估技术。书籍介绍了FPA的基本概念、原理和应用方,帮助读者理解和掌握该技术。 首先,书籍详细介绍了FPA的基本概念,包括功能的定义和分类。它解释了功能软件中可独立完成的功能单元,如输入、输出、查询等,并提供了实际案例来说明。 其次,书籍介绍了FPA的计算方。它详细说明了不同功能的计算规则和权重,如简单逻辑文件、外部接口文件、数据查询等。通过它,读者可以了解如何根据软件功能需求量化工作量。 此外,书籍还讲解了FPA的应用方。它介绍了如何在软件开发过程中进行FPA评估和管理,以及如何将FPA与其他项目管理结合使用。同时,它还探讨了FPA软件质量保证、进度控制等之间的关系。 值得一提的是,书籍还提供了大量的实际应用案例和实践经验。通过这些案例,读者可以更好地理解FPA的实际应用场景,并学习如何根据不同情况进行准确的工作量评估。 总结来说,这本书籍通过对FPA的详细介绍、计算方和应用方的讲解,为读者提供了全面了解和掌握FPA工作量评估技术的机会。无论是软件开发人员还是项目管理人员,都可以从中获得宝贵的知识和指导,提升工作效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三十九。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值