精华内容
下载资源
问答
  • 软件项目工作量评估法——功能点估算(FPA)(一)初识
    千次阅读
    2022-03-10 09:51:44

    首先在认识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知识简单假设全部是部分的和,没有考虑系统集成带来的额外开销。

    更多相关内容
  • 2. 功能点估算法的用途 3. 适用功能点估算法的软件 3.1. 适合 3.2. 不适合 4. 功能点估算法优势 4.1. 功能点方法简单、实用 4.2. 能够在项目早期进行规模度量 4.3. 比其他度量方法更为客观 4.4. 提高软件...
  • FPA功能点估算法实例

    2015-12-31 17:25:45
    FPA功能点估算法实例,FPA功能点估算法实例,这是一个很简单的例子
  • 功能点估算,IFPUG,原理和实例,精心制作PPT,逻辑清晰
  • 功能点估算

    2013-07-24 17:27:14
    功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识...
  • 功能点分析法应用在软件测试中,它最核心的价值究竟是什么呢?让我们先看看软件开发,这是跟测试离得最近的工作类型。开发工程师工作大致可以分为“设计”和“编码”两步。设计一般是使用UML语言,借助类似于Rose这样...
  • FP功能点估算方法,FP功能点估算方法课件,FP功能点估算方法PPT
  • IFPUG功能点估算方法使用指南,用于估算软件的工程量
  • 功能点估算使用指南

    2013-02-28 15:14:40
    本文档描述了IFPUG功能点估算的使用方法,预期的读者是想使用功能点方法进行规模估算的及想了解这种估算方法的人员
  • 详解功能点估算方法中的事务功能

    千次阅读 2020-05-26 13:21:56
    软件成本评估中的功能点估算法将功能点分为5类:ILF(Internal Logical File,内部逻辑文件)、EIF(External Interface File,外部接口文件)、EI(External Input,外部输入)、EO(External Output,外部输出)和...

    软件成本评估中的功能点估算法将功能点分为5类:ILF(Internal Logical File,内部逻辑文件)、EIF(External Interface File,外部接口文件)、EI(External Input,外部输入)、EO(External Output,外部输出)和EQ(External Inquiry,外部查询)。ILF和EIF属于数据类型的功能点,EI、EO、EQ属于事务类型的功能点。

    EI、EO、EQ的比较

    EI是处理来自系统边界外部的一组数据输入,它的主要目的是维护一个或多个ILF,以及/或者更改系统的行为。对业务对象的增、删、改等操作通常都是EI。

    EO是输送数据到系统边界外部的过程。它的主要目的是通过逻辑处理过程向用户呈现信息。该处理过程必须包含至少一个数学公式或计算方法,或生成派生数据。一个EO也可以维护一个或多个ILF,并/或改变系统行为。

    EQ是向系统边界外发送数据基本处理的过程。其主要目的是从ILF或EIF中通过恢复数据信息来向用户呈现。该处理逻辑不包括任何数学公式或计算方法,也不会生成任何派生数据。EQ不会维护任何一个ILF,也不会改变应用程序的系统行为。

    EO和EQ的共同点是,其主要目的都是通过基本操作过程展现数据给用户。EI、EO、EQ的比较见下表。
    EI、EO、EQ的主要目的
    EI、EO、EQ的主要目的

    EI、EO、EQ的主要行为
    EI、EO、EQ的主要行为

    事务类型功能点的计算规则

    事务功能又称为交易功能,代表提供给用户的处理数据的功能,每一个事务功能都是一个完整的基本过程,一个基本过程应该是业务上的原子操作,并产生基本的业务价值,基本过程必然穿越系统边界。

    EI的计算规则
    
    1. 从系统边界之外收到数据。
    2. 如果进入系统边界内的数据不是一个改变系统行为的控制信息,那么至少一个ILF应该被改变。
    3. 对于已识别的处理过程,至少满足下面三个条件之一:
    

    • 该基本处理过程的逻辑与本应用系统中其它基本处理过程的逻辑不同。该基本处理过程应该具有唯一性。例如:不能存在两个完全一模一样的存盘操作。
      • 在应用程序边界内,该基本处理过程所使用的这组数据应该与其他基本处理过程所使用的数据不同。
      • 在系统边界内,基本处理过程所引用的ILF或EIF是不同于其它基本处理过程所引用的ILF或EIF。

    EO和EQ通用计算规则
    
    必须全部满足以下内容才能被视为一个EO或EQ:
    1. 从外部发送数据或控制信息到系统边界内。
    2. 为了识别这个过程,以下三点必须满足一个:
    

    • 该基本处理过程逻辑上必须是唯一的,该唯一性是指其在系统中与其他EO或EQ在逻辑性上保持唯一。
      • 该基本处理过程所使用的数据应该是唯一的,该唯一性是指其在系统中与其他EO或EQ所使用的数据不同。
      • 该基本处理过程所引用的ILF或EIF文件应该是唯一的,该唯一性是指其在系统中与其他EO或EQ所引用的ILF或EIF文件不同。

    EO补充的计算规则
    
    除了要满足上面的通用规则外,还要满足下面其中一条:
    

    • 在基本操作过程中至少包含一个数学公式或计算方法
      • 在基本操作过程中要产生派生数据
      • 在基本操作过程中至少要维护一个ILF
      • 在基本操作过程中要改变系统的行为。

    EQ补充的计算规则
    
    除了要满足上面的通用规则外,还要满足下面其中一条:
    

    • 基本操作过程从ILF或EIF中获取数据。
      • 基本操作过程不能包含数学公式或计算方法。
      • 基本操作过程不能生成派生数据
      • 基本操作过程不能维护任何一个ILF
      • 基本操作过程不能改变系统的行为

    EI、EQ和EO的技术复杂性计算

    复杂性取决于FIRs和DETs的数量。FTR是被一个事物读取或维护的ILF,或者是被一个事物读取的EIF。

    EI中识别FTR规则
    

    • 每一个ILF应该算做一个FTR。
      • 通过EI读取的每个ILF或EIF都应该计算为一个FTR。
      • 既被EI维护又被读取的ILF仅计算为一个FTR。

    EI中识别DET规则
    

    • 在EI的过程中,以用户角度识别的、通过应用系统边界输入系统内部的非重复字段,应算作一个DET。
      • 在EI的过程中,只要没有通过系统边界输入,即使它存在于系统内的一个ILF中,也不能算为一个DET。
    例如,外贸订单系统中,订单的金额是被单价和数量自动计算的,那么金额是没有通过系统边界输入的,因此在EI操作中就不应该算做一个DET。
      • 在应用程序的EI操作时,系统提示的错误信息或完成操作的信息,应该被分别计算为一个DET。
    例如,在网站注册用户信息时,由于输入错误系统会显示提示信息,那么这些提示信息应该被逐个计算为一个DET。
    再如,当EI操作完成时系统提示并显示出来的信息,应该被计算为一个DET。
      • 在EI操作中,如果遇到主外键的字段,应该算作一个DET。

    EO和EQ计算FTR的规则
    
    1. 通用规则:
    

    • 每个在EO/EQ处理过程中读取的ILF和EIF算一个FTR

    2. EO额外的FTR计算规则
    

    • 在EO处理过程中每个被维护的ILF算一个FTR
      • 在EO处理过程中既被读取又被维护的ILF算一个FTR

    EO和EQ计算DET的通用规则
    

    • 用户可识别的非重复字段,进入系统边界并指明处理什么、何时处理或处理方式,并且由EO/EQ返回或产生,那么这样的每个字段算一个DET。
    例如,报表中的每个字段都是一个DET。
      • 在系统边界内以用户角度识别的非重复字段算一个DET。
    例如,在报表中起到解释或备注作用的文字信息,不管是一个字、一个词或一段话,都当作一个DET。
    再如,某种编号或日期,即使它被物理存储在不同字段中,但从用户角度看是一个整体的信息,因此被算作一个DET。
    还有,在饼图中百分比和分类算作不同的DET。
      • 在EO或EQ操作中,如果对系统进行输入或读取操作时,相同的字段只计算一个DET。
    例如,在报表查询时,输入的字段在报表上也有显示,那么将算作同一个DET。
      • 在系统的EO或EQ操作时,系统提示的错误信息或完成操作的信息,应该被计算为DET。
    例如,用户查询一个列表时被拒绝,那么拒绝的提示信息就算为一个DET。
      • 在EO或EQ操作中如果遇到主外键的字段,应该算作一个DET。
      • 在EO或EQ过程中,只要没有通过系统边界输入,就算它存在于系统内的一个ILF中,也不能算为一个DET。
    例如,在公司发工资的时候,员工对应的状态信息被更新,但这个状态信息的更新是没有通过系统边界输入的,因此也不能算做一个DET。
      • 页面的标题等类似信息不计算DET。
      • 系统字段生成的记号不能被算作一个DET。
    例如,页码、位置信息、时间、上一页和下一页等信息,都不能算作一个DET。

    展开全文
  • 功能点估算方法 英文版 Part 1Process and Rules,用于审计时对软件功能点进行软件概算和成本计算。
  • FP功能点估算PPT

    2014-02-19 17:53:11
    为公司培训做的FP培训材料,内容比较全面,一定会对你有用答。
  • CMMI功能点估算-入门级别,适合完全不知道功能点事什么的同学。
  • 功能点估算方法 Part 2 Counting ractices,
  • 软件功能点估算

    千次阅读 2020-12-30 18:20:54
    为了能更好地理解和掌握软件功能点估算的一些规则,本文通过介绍一个需求实例来展开软件功能点估算的介绍,欢迎各位专家批评指正。新增需求:实现一个订单的录入,更新,删除、查询、打印、导出功能,其中用户界面...

    为了能更好地理解和掌握软件功能点估算的一些规则,本文通过介绍一个需求实例来展开软件功能点估算的介绍,欢迎各位专家批评指正。

    新增需求:实现一个订单的录入,更新,删除、查询、打印、导出功能,其中用户界面如下。订单明细包含了订购的具体产品及数量的情况,明细记录数原则不限。导出、打印、更新、删除订单记录应先从图2的查询界面查出记录,再鼠标双击某记录进入图1的增、删、改界面,也可以选择修改或删除菜单后输入订单号进入图1的增、删、改界面,新增时订单编号自动产生,更新时订单编号不能修改。订单的明细记录在增、删、改界面可进行删除或添加处理,要添加时通过鼠标定位在编辑区按右键选择添加功能,然有会弹出一个产品列表来供操作者选择,材料代码和材料名称及单价是通过选择后自动添加的,不能人工修改,操作者只能修改订单数量,要删除时也通过鼠标定位在编辑区的某产品上按右键选择删除功能即可。打印版面通过打印模板定制并打印到打印机、导出版面也通过excel模板定制并输出到excel文件。

    其他说明:

    1、用户表和产品数据表本次不变,订单功能开发仅仅是引用这些数据。

    2、暂不考虑其它特殊业务逻辑和权限,如:不写日志、功能按钮不根据权限加以屏蔽。

    功能界面情况如下:

    图1:增、删、改界面

    图2:查询界面

    功能点分析:

    1、首先我们来确定本功能涉及到哪些用户数据(ILF,EIF)

    因为新增需求是订单管理,故订单信息属于一个,另外在需求中提到用户表和产品数据表本次不变,订单功能开发仅仅是引用这些数据,所以用户信息和产品信息也是系统的ILF或EIF,只不过本次新增需求时不计算它的ILF或EIF功能点,因为它没有改变,相信引用它的方式与以前一样,但在EI、EO、EQ中引用需要考虑其FTR复杂度。另外,需求又要求打印和导出需要使用版面模板,故应该有三个模本文件。订单类型没有提及需要动态从系统内部获取,根据一般经验应该是一个在程序中做死的下拉选择列表,到此这个新增需求涉及的ILF,EIF应为如下内容:

    用户数据列表

    文件描述

    类型

    DET

    RET

    功能点数

    备注

    订单信息

    ILF

    查询结果导出excel模板

    ILF

    通过其他编辑程序修改,本系统仅引用

    订单导出excel模板

    ILF

    通过其他编辑程序修改,本系统仅引用

    订单打印模板

    ILF

    通过其他编辑程序修改,本系统仅引用

    产品信息

    ILF

    本新增功能不计算其功能点

    客户信息

    ILF

    本新增功能不计算其功能点

    2、然后我们再来确定本功能涉及到哪些用户事务(EI、EO、EQ)

    通过需求描述和界面我们不难发现,它们有新增、查询、修改、删除、打印和导出功能,只不过导出又分查询结果导出和订单导出,因为它们的内容和版面都不同,而查询结果没有提及需要打印输出,故无查询结果打印功能,查询又分批量查询和根据订单号查询。再分析我们又会发现客户名称是通过下拉列表选择的,而需求明确提到有一客户信息供引用,故界面中出现的客户名称选择应是一个EQ,尽管在两个界面都出现,但它们的输入、输出和处理都一样故只算一个。另外,产品添加时也是通过弹出一个产品列表来选择的,故产品列表提取也是一个EQ。订购时间、订单类型不是从系统内部动态获取的过只能算DET。

    到此这个新增需求涉及的EI、EO、EQ应为如下内容:

    用户事务列表

    事务名

    类型

    DET

    FTR

    功能点数

    备注

    订单添加

    EI

    订单修改

    EI

    订单删除

    EI

    订单打印

    EQ

    假定仅引用模板输出没有加工处理

    订单导出

    EQ

    假定仅引用模板输出没有加工处理

    根据订单号查询

    EQ

    订单批量查询

    EQ

    批量查询结果导出

    EQ

    假定仅引用模板输出没有加工处理

    客户查询

    EQ

    产品查询

    EQ

    3、分析完五大估算要素(EIF、ILF、EI、EO、EQ)后,下面我们就来分析ILF的复杂度,即它的DET和RET。

    订单信息:

    从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、订购数量八个属性,其中材料代码、订购数量属于可重复的属性,故属于一个RET,因此本信息有2个RET,8个DET。

    查询结果导出excel模板:

    从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间六个属性,并且无子逻辑,因此本信息只有1个RET,6个DET。

    订单导出excel模板

    从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、材料名称、单价、订购数量十个属性,其中材料代码、材料名称、单价、订购数量属于可重复的属性,故属于一个RET,因此本信息有2个RET,10个DET。

    订单打印模板

    从需求文字和界面中只能分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、材料名称、单价、订购数量十个属性,其中材料代码、材料名称、单价、订购数量属于可重复的属性,故属于一个RET,因此本信息有2个RET,10个DET。

    用户数据列表

    文件描述

    类型

    DET

    RET

    功能点数

    备注

    订单信息

    ILF

    8

    2

    7

    查询结果导出excel模板

    EIF

    6

    1

    5

    通过其他编辑程序修改,本系统仅引用

    订单导出excel模板

    EIF

    10

    2

    5

    通过其他编辑程序修改,本系统仅引用

    订单打印模板

    EIF

    10

    2

    5

    通过其他编辑程序修改,本系统仅引用

    产品信息

    ILF

    0

    本新增功能不计算其功能点

    客户信息

    ILF

    0

    本新增功能不计算其功能点

    EIF、ILF的复杂度分析

    4、分析完ILF的复杂度后,接着分析EI、EO、EQ的复杂度,即它的DET和FTR。

    订单添加:

    从需求文字和界面中可分析出订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码+材料名称+单价、订购数量、保存按钮九个DET,其中材料代码+材料名称+单价、订购数量属于重复项,只计算一次,材料代码+材料名称+单价是通过执行查询产品(EQ)信息后填入的,查询产品信息已独立算作一个EQ,故其结果不算从内到外穿越边界,而其材料代码在保存时需写入订单中,故只算一个DET。客户名称也是通过查询客户信息后填入的,故本功能实际只涉及9个DET和订单信息一个ILF。所以本功能是:9个DET,1个FTR。

    订单修改:

    从需求文字和界面中可分析出订单编号(代表订单查询结果的DET)、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码+材料名称+单价、订购数量、保存按钮九个DET,其中材料代码+材料名称+单价、订购数量属于重复项,只计算一次,材料代码+材料名称+单价是通过查询产品信息后填入的,查询产品信息已独立算作一个EQ,故其结果只算一个DET。客户名称也是通过查询客户信息后填入的,故本功能实际只涉及订单信息一个ILF。所以本功能是:9个DET,1个FTR。

    订单删除:

    从需求文字和界面中可分析出订单编号(代表订单查询结果的DET)、删除按钮2个DET,其中其他属性都是订单查询的结果,只计一个DET,并且穿越外部到内部的数据也只要是订单编号即可。修改的ILF也只是订单信息。所以本功能是:2个DET,1个FTR。

    订单打印:

    从需求文字和界面中可分析出订单打印模板中的10个DET(穿越外部到内部)、打印按钮11个DET。访问的ILF只有订单打印模板,所以本功能是:11个DET,1个FTR。

    订单导出:

    从需求文字和界面中可分析出订单导出模板中的10个DET(穿越外部到内部)、导出按钮11个DET。访问的ILF只有订单导出模板。所以本功能是:11个DET,1个FTR。

    根据订单号查询:

    根据订单号查询有两个地方调用,一个是从菜单中选择修改或删除后会提示输入订单号时调用,还有一个是在批量查询界面中鼠标双击某记录中调用,因为它们的DET、FTR以及处理逻辑都相同,故只算一个EQ。从需求文字和界面中可分析出订订单编号、订单名称、订单类型、客户名称、发送地址、订购时间、材料代码、材料名称、单价、订购数量、确定/鼠标双击按钮11个DET,其中材料代码、材料名称、单价、订购数量属于重复项,只计算一次。访问的ILF有订单信息、产品信息(因客户名称直接写入订单中,故这里不在考虑访问客户信息ILF)。所以本功能是:11个DET,2个FTR。

    订单批量查询:

    从需求文字和界面中可分析出订单号、订单名称、客户名称、订单类型、订购时间、发运地址、查询按钮7个DET。访问的ILF只有订单信息(因控制信息中的客户名称另算为一个EQ,故算一个DET,不算访问FTR,另外,过滤条件中的订单编号、订单名称、订单类型、客户名称、订购时间始、订购时间终属于重复字段)。所以本功能是:7个DET,1个FTR。

    批量查询结果导出:

    从需求文字和界面中可分析出查询结果导出excel模板中的6个DET(穿越外部到内部)、导出按钮7个DET。访问的ILF只有查询结果导出excel模板。所以本功能是:7个DET,1个FTR。

    客户查询:

    从需求文字和界面中可分析出客户名称、选中键2个DET。访问的ILF只有客户信息。所以本功能是:2个DET,1个FTR。

    产品查询:

    从需求文字和界面中可分析出材料编号、材料名称、单价、选中键4个DET。访问的ILF只有产品信息。所以本功能是:4个DET,1个FTR。

    用户事务列表

    事务名

    类型

    DET

    FTR

    功能点数

    备注

    订单添加

    EI

    9

    1

    3

    订单修改

    EI

    9

    1

    3

    订单删除

    EI

    2

    1

    3

    订单打印

    EQ

    11

    1

    3

    订单导出

    EQ

    11

    1

    3

    根据订单号查询

    EQ

    11

    2

    4

    订单批量查询

    EQ

    13

    1

    3

    批量查询结果导出

    EQ

    7

    1

    3

    客户查询

    EQ

    2

    1

    3

    产品查询

    EQ

    4

    1

    3

    EI、EO、EQ的复杂度分析

    思考:

    从以上分析发现,找全和找对软件功能点估算的EIF、ILF、EI、EO和EQ五类要素最关键,一般它们的复杂度都为简单。而分析DET和RET或FTR的过程工作量大效果差,所以在时间紧任务重的情况下,我们只要分析出EIF、ILF、EI、EO和EQ五类要素后采用快速估算法即可。快速估算法就是把所有要素都定为简单或一般。

    展开全文
  • 规模估算主要有代码行估算功能点估算两种方法。 1 代码行数估算LOC:根据历史项目经验推测。PERT加权平均法。 预期规模E=(a+4b+c)/6,标准差SD=(c-a)/6。1sd的概率为68%,2sd的概率为95,3sd的概率为99。此方法...

    在进行软件开发之前,需要进行软件成本估算,计算项目的经济可行性。成本估算是立项的依据,是项目计划的基础。

    软件估算方法包括:规模估算、工作量估算、进度估算和成本估算。

    本节主要介绍规模估算。软件成本、进度等估算方法请参见下一篇文章。

    规模估算

    规模估算主要有代码行估算和功能点估算两种方法。

    1 代码行数估算LOC:根据历史项目经验推测。PERT加权平均法。

    预期规模E=(a+4b+c)/6,标准差SD=(c-a)/6。1sd的概率为68%,2sd的概率为95,3sd的概率为99。此方法估值偏低。

    2 功能点数估算FP::IFPUG

    功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。在2013年由工业和信息化部发布的行业标准《软件研发成本度量规范》中也推荐使用功能点方法进行软件规模度量,进而对软件项目工作量、工期、成本进行估算。

    2.1 估算流程:需求-》WBS分解-》功能点(代码行数)-》经验系数(复杂度、技术难度、生产率等)-》工作量(人月)-》进度-》成本。

    1)根据软件需求进行WBS分解,获得工作项。

    2)然后划分类别。

    3)计算工作任务涉及的数据项和数据文件数目,据此估算每个需求的功能点权重(功能点数)。

    4)再根据调整系数(经验得出)计算最后的功能点总数。

    2.2 估算参数

    1)任务类别:EI,EO,EQ,ILF,EIF。

    EI:外部数据输入系统,如录入、修改、插入等。

    EO:系统向外部输出,如打印,现实、导出等。

    EQ:系统向外部提供查询输出,如查询。

    ILF:输入的业务数据。由外部输入维护的系统相关数据,如程序配置文件,账户信息等。

    EIF:引用的接口数据。由外部系统提供的接口数据,如接口文件,外部参数等。

    2)功能点数计算:功能点计算依据涉及的数据和文件,进行复杂度计算,分为数据处理和事物处理,分值根据企业经验确定,以下为示例。

    界面录入:具体的录入项(包括按钮、复选框等)

    文件存储:存储文件的数据项的数目。

    EI估计

    EO和EQ估计

    ILF和EIF估计

    将以上所有功能点数加和,便得到原始功能点数(未调整的功能点数UFP)

    在实际使用中,为了简化操作(如项目初期,不可能计算涉及的数据项和文件),采用功能复杂度代替上述数据项和文件数(也可以采用CMMI的标准,进行准确的复杂度和涉及项之间的映射转换)。

    使用公式判定功能点数的excel公式:

    =IF(AND(J7="EI",I7="简单"),3,IF(AND(J7="EI",I7="普通"),4,IF(AND(J7="EI",I7="复杂"),6,IF(AND(J7="EO",I7="简单"),4,IF(AND(J7="EO",I7="普通"),5,IF(AND(J7="EO",I7="复杂"),7,IF(AND(J7="EQ",I7="简单"),3,IF(AND(J7="EQ",I7="普通"),4,IF(AND(J7="EQ",I7="复杂"),6,IF(AND(J7="ILF",I7="简单"),7,IF(AND(J7="ILF",I7="普通"),10,IF(AND(J7="ILF",I7="复杂"),15,IF(AND(J7="EIF",I7="简单"),5,IF(AND(J7="EIF",I7="普通"),7,IF(AND(J7="EIF",I7="复杂"),10,0)))))))))))))))

    展开全文
  • 功能点方法的核心思想 功能点方法的核心思想是把软件系统按照组件进行分解,从而确定系统的功能点数量。功能点方法是一种预测软件系统总规模的方法。通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑...
  • FP功能点估算法的特点项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及,对软件项目范围的估算有很多种方法,常见的就是LOC代码行和FP功能点法,它们之间的区别和关系如下:FP功能点估算法常用...
  • FPA功能点估算工具

    热门讨论 2009-03-20 09:19:40
    FPA功能点估算工具,从国外网站拔的免费工具
  • 功能点估算法识别项目范围和数据复杂度.doc
  • 成本估算概述 估算不是精确的科学计算,尤其软件项目更是如此,软件项目中存在太多的不确定性... 项目规模通俗而言就是工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任
  • 功能点估算方法

    2012-12-21 09:52:01
    功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目 计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。如果项目负责人对项目的规模没有一个比较客观的...
  • 功能点分析是从用户的角度度量软件功能规模的一种方法。本文首先对功能点分析(FPA)现有的半形式化模型进行了扩充,然后形式化描述了外部查询(EQ)的4条规则,并提出了基于源代码的逆向工程技术方法来处理这4条规则,...
  • 软件估算功能点估算方法 软件估算功能点估算方法

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,460
精华内容 28,984
关键字:

功能点估算

友情链接: SBM_ELASTIC_DIS_BC.zip