FP功能点估算方法
IFPUG功能点估算基本方法

IFPUG功能点估算基本方法IFPUG(International Function Point Users Group)功能点估算基本方法是一种常用的软件开发项目估算方法,通过对软件的功能需求进行分析和量化,以功能点(Function Point,FP)作为衡量软件规模的指标,从而对软件项目的工作量、进度和成本进行估算和控制。
1. 需求分析:首先,需要从用户对软件系统的需求描述中找出功能性需求(External Input、External Output、External Inquiry)和非功能性需求(Internal Logical Files、External Interface Files),并进行详细的分析和理解。
2.功能点计算:根据需求分析的结果,按照IFPUG的规定,对每个功能要素进行计数。
- External Input(EI):输入功能要素,描述软件系统接收外部输入数据并对其进行处理的功能。
- External Output(EO):输出功能要素,描述软件系统生成的输出数据。
- External Inquiry(EQ):查询功能要素,描述软件系统提供给用户的查询功能。
- Internal Logical Files(ILF):内部逻辑文件,描述软件系统内部生成、维护和管理的数据文件。
- External Interface Files(EIF):外部接口文件,描述软件系统与外部系统交互的数据文件。
根据功能要素的计数和权重,可以计算出各个功能要素的功能点数。
3. 加权计算:根据软件的特定环境和特性,对功能点数进行加权计算,得出修正功能点数(developed function points,DFP)。
加权计算可以考虑以下一些因素:-数据处理复杂性:软件系统对数据进行处理的复杂程度。
-逻辑处理复杂性:软件系统的逻辑处理的复杂程度。
-用户界面复杂性:用户界面的复杂程度。
-数据存储复杂性:数据存储结构的复杂程度。
信息系统项目管理功能点估算(CMMI-FP)

选用了FP功能点分析作为项目主要的估算方法.因为FP方法中有大量项目经验数据可以从网络上获得,同时其数据功能TLF、EIF,以及事务功能EI、EO、EQ的计算对经验数据依赖不强,只需对概念理解正确一般就可以正确估算了.在估算成本的时候,因为公司以前的生产率数据是以LOC为单位的,我利用软件工程书籍中的“逆火”经验数据,将 LOC转换为功能点单位,当然,这里必然导致一些误差。
为了降低估算误差,最后使用Delphi专家分析法对估算结果进行了调整.功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。
如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
功能点估算法的特点项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及。
对软件项目范围的估算有很多种方法,常见的是LOC代码行和FP功能点法。
它们之间的区别和关系如下:∙功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高。
假如这个时候使用LOC代码行估算法,则误差会比较大。
∙使用功能点估算法无需懂得软件使用何种开发技术。
LOC代码行估算法则与软件开发技术密切相关。
∙功能点估算法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算。
∙通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC代码行的。
在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。
在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同。
因此,在项目结束时还需要对项目的范围情况重新进行估算,这个时候估算的结果才能最准确反映项目的规模。
功能点分析的步骤具体步骤包括:1. 识别功能点的类型。
2. 识别待估算应用程序的边界和范围。
功能点估算(csdn)-文档资料

工具的使用
• 软件成本估算培训_附件A_计算工具_V3.4.xlsx
子系统 总计 创建/新增 综合办公系统 子系统2 子系统3 内部数据/外部接口 是否计算 产生阶段 分 计 未 不 预算 招标 投标 校 类型 值 算 定 计 校验 创建 新增 新增 验 655 655 655 655 0 0 ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE EIF 15 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE EIF 15 1 TRUE 1 TRUE EIF 15 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE EIF 15 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE ILF 35 1 TRUE 1 TRUE 投标时软件 开发商填写 ILF/EIF法 投标 吻合 计数 度 35 3 35 3 15 3 35 3 35 3 35 3 35 3 35 3 35 3 15 3 15 3 35 3 35 3 35 3 35 3 15 3 35 3 35 3 35 3 35 3 35 3 479.0 分 数据/ 0.0 值 接口 46.0 46 10 31.0 31 10 11.0 11 7 22.0 22 10 35.0 35 10 27.0 27 10 22.0 22 10 22.0 22 10 28.0 28 10 11.0 11 7 11.0 11 7 22.0 22 10 18.0 18 10 10.0 10 10 22.0 22 10 11.0 11 7 26.0 26 10 26.0 26 10 26.0 26 10 26.0 26 10 26.0 26 10
软件估算方法

软件规模估算方法软件成本及工作量估算永远不会是一门精确的科学。
太多的变化——人员、技术、环境、策略——影响了软件的最终成本及开发所需的工作量。
不过,软件项目估算可以从神秘的技巧向一系列系统化的步骤的转变的过程中,估算出可接受的风险。
现在世界上比较流行的软件估算方法有:“模糊逻辑”法,功能点法,标准构件法,修改法,基于代码行(LOC)的估算方法,基于功能点(FP)的估算方法,基于过程的估算方法,基于COCOMO模型的估算方法,基于软件方程式的估算方法。
今天,一个软件成本估算模型如果能够达到以下结果就相当不错了:估算的软件开发成本与实际的成本相差不到20%,时间估算相差不到70%,而且是在它自己的地盘上(即,是它适用的项目类型)……这可能不象我们所期望的那么精确,但已经足以在软件工程经济分析及决策中提供很大的帮助了。
为了可靠地估算成本及工作量,结合雁联公司项目历史数据比较缺少的特点。
我们建议采用基于功能点(FP)的估算方法来估算工作量。
以下是基于功能点(FP)估算方法的估算流程及估算例子。
基于FP估算的分解是集中于信息域值,而不是软件功能。
根据功能点计算方法原理,项目经理要从软件的输入、输出、报表、接口、内部处理及其他六方面进行估算。
为了达到这个估算目的,我们假设复杂度加权因子都是平均的。
项目经理根据自己的经验,按要求填写好基于功能点(FP)估算方法的工作量估算表。
表格说明:1、功能点分解说明注:权重的基准值为1人天2、各生命周期工作量比例3、表格中估算计数为估算变量(规模)的期望值即EV(expected value),可以通过乐观值(S opt)、可能值(S m)、及悲观值(S pess)估算的加权平均值来计算:EV=(S opt+4S m+S pess)/6(公式)其中给予“可能值”估算以最大的权重,并遵循β概率分布。
4、表格中加权因子由估算人员根据其经验对软件的输入、输出、查询、文件、及外部接口五方面功能点复杂度和所花时间的加权。
软件项目功能点(FP)估算指南

软件项⽬功能点(FP)估算指南⽂件编号:KT/PM-PP-0X-V0.1应⽤软件项⽬功能点(FP)规模估算⽅法修改记录⽬录1前⾔ (3)1.1⽬的 (3)1.2适⽤范围 (3)1.3术语和缩略语 (3)2功能点定义 (3)2.1信息域特性 (3)2.1.1定义 (3)2.1.1.1外部输⼊EI (3)2.1.1.2外部输出EO (3)2.1.1.3外部查询EQ (3)2.1.1.4内部逻辑⽂件ILF (4)2.1.1.5外部接⼝EIF (4)2.1.2复杂度计算 (4)2.1.2.1事务类特性复杂度估算 (4)2.1.2.2数据存储类特性复杂度估算 (5)2.2基本系统特征 (6)2.2.1定义 (6)2.2.2复杂度计算 (6)3估算功能点的步骤 (7)3.1计算UFP (7)3.2计算TCF (7)3.3计算功能点数FP (7)4输出 (7)1前⾔1.1⽬的功能性度量⽅法是⼀种独⽴于编程语⾔的软件规模度量⽅式,使⽤这种⽅法可在早期根据明确功能需求来对最终产品的规模进⾏估算。
在对软件开发环境校准以后,功能性度量的结果可以为评估开发⼯作量和软件产品的成本提供很好的指标。
1.2适⽤范围应⽤软件项⽬⽣命周期中,从需求分析开始直⾄系统测试结束均可使⽤本⽅法进⾏软件规模估算与度量。
1.3术语和缩略语EI: External Input外部输⼊EO: External Output外部输出EQ: External Queries外部查询ILF: Internal Logical Files内部逻辑⽂件EIF: External Interface Files外部接⼝⽂件UFP: Unadjusted Function Points未调整功能点TCF: Technical Complex Factor技术复杂度因⼦2功能点定义功能点技术依据对软件信息域特性和基本系统特征的评估结果来估算软件规模。
根据软件信息域特性可计算出未调整功能点(UFP),根据基本系统特征可计算出软件复杂性因⼦(TCF),最后⽤公式FP=UFP×TCF得出功能点规模。
IFPUG功能点估算含示例

功能点估算(CMMI-FP)含示例(内容来自互联网仅学习共享)功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。
如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
功能点估算法的特点项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及。
对软件项目范围的估算有很多种方法,常见的是LOC代码行和FP功能点法。
它们之间的区别和关系如下:∙功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高。
假如这个时候使用LOC代码行估算法,则误差会比较大。
∙使用功能点估算法无需懂得软件使用何种开发技术。
LOC代码行估算法则与软件开发技术密切相关。
∙功能点估算法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算。
∙通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC代码行的。
在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。
在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同。
因此,在项目结束时还需要对项目的范围情况重新进行估算,这个时候估算的结果才能最准确反映项目的规模。
功能点分析的步骤本文将以国际标准IFPUG(International Function Point Users Group)组织提供的功能点估算法V4.1.1为基础进行讲解。
如下图所示,首先大家应该了解功能点估算法的使用步骤。
图1功能点估算法的步骤具体步骤包括:1.识别功能点的类型。
2.识别待估算应用程序的边界和范围。
3.计算数据类型功能点所提供的未调整的功能点数量。
4.计算人机交互功能所提供的未调整的功能点数量。
5.确定调整因子。
6.计算调整后的功能点数量。
FP估算-功能点说明
Function Point Counting Procedure Diagram
Count Data Functions 计算数据功 能点 Count Transactional Functions 计算事务功能 能点 Determine unadjusted function point count 确定未调整 的功能点
ILF是指一组以用户角度识别的、在应用程序边界内且被维护的逻辑相关 数据或控制信息。ILF的主要目的是通过应用程序的一个或多个基本处理 过程来维护数据。
External Interface Files (EIF)
An external interface file (EIF) is a user identifiable group of logically related data or control information referenced by the application, but maintained within the boundary of another application. The primary intent of an EIF is to hold data referenced through one or more elementary processes within the boundary of the application counted. This means an EIF counted for an application must be in an ILF in another application.
Human Resources Applications 人事系统 Employee Information 员工信息(ILF)
荐功能点估算有实例介绍
功能点估算(CMMI-FP)功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。
如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
一、功能点估算法的特点项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及。
对软件项目范围的估算有很多种方法,常见的是LOC代码行和FP 功能点法。
它们之间的区别和关系如下:功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高。
假如这个时候使用LOC代码行估算法,则误差会比较大。
使用功能点估算法无需懂得软件使用何种开发技术。
LOC代码行估算法则与软件开发技术密切相关。
功能点估算法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算。
通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC代码行的。
在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。
在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同。
因此,在项目结束时还需要对项目的范围情况重新进行估算,这个时候估算的结果才能最准确反映项目的规模。
二、功能点分析的步骤本文将以国际标准IFPUG(International Function Point Users Group)组织提供的功能点估算法为基础进行讲解。
如下图所示,首先大家应该了解功能点估算法的使用步骤。
图1 功能点估算法的步骤具体步骤包括:1. 识别功能点的类型。
2. 识别待估算应用程序的边界和范围。
3. 计算数据类型功能点所提供的未调整的功能点数量。
4. 计算人机交互功能所提供的未调整的功能点数量。
5. 确定调整因子。
6. 计算调整后的功能点数量。
三、识别项目的类型国际IFPUG组织将软件项目分为三类,功能点估算法适用于任何一类项目:新开发项目二次开发的项目功能增强的项目四、识别项目的范围和边界使用UML的“UseCase”用例图是以用户角度进行识别项目范围和边界的最好方法,在画用例图时就必须明确系统的边界。
五点法工作量评估
五点法工作量评估是一种软件开发工作量估算方法,也称为初步功能点法。
它是根据确定的内部文件(ILF)、外部文件(EIF)、用户输入(EI)、用户输出(EO)、用户查询(EQ)的个数来计算工作量的。
具体计算公式为:*FP=∑(15ILF+10EIF+4EI+5EO+4EQ)**。
其中,FP 表示功能点数,ILF表示内部文件,EIF表示外部文件,EI表示用户输入,EO表示用户输出,EQ表示用户查询。
这种方法纳入了五要素,并给予了不同的权重,比快速功能点法更进了一步,评估工作量变大,评估结果通常更准确一些。
五点法工作量评估的优点是简单易行,可以快速估算软件开发工作量。
但是,由于它是基于功能点来计算的,因此可能无法考虑到一些非功能性需求,如性能、安全性等方面的要求。
此外,五点法工作量评估还需要根据项目的实际情况进行调整和修正,以确保评估结果的准确性。
功能点估算法
功能点是基于软件信息领域的可计算的(直接的)测量及对其复杂性的评估而导出的。
功能计算如图1所示。
针对每个功能确定了外部输出数、外部输入数、文件数、用户查询数和外部接口数等五个信息域特征,每个信息域特征值按下列方式定义。
1)用户输出数计算每个用户输出,外部输出是为用户提供的面向应用的输出信息,这些信息通常包括报告、屏幕信息、错误信息等方面的内容。
每一个外部输出数据都要进行计数,获得外部输出数。
2)用户输人数计算每个用户输入,它们向软件提供面向应用的数据。
外部输入是每个用户输入的面向不同应用的输入数据,输入应该与查询区分开来,分别计算。
3)文件数计算每个逻辑的主文件。
逻辑文件是软件修改或保存的逻辑记录集合,它可以是一个大的数据库的一部分,也可以是一个独立的文件。
4)用户查询数一个查询被定义为一次联机输入,它引发软件以联机方式产生某种即时响应,是软件以联机输出方式产生的独立查询信息。
每一个不同的查询都要计算。
5)外部接口数外部接口是所有用来将信息与其他系统进行交互或共享的端口(如磁带或磁盘上的数据文件),利用这些接口可以将信息从一个系统传送到另一个系统。
收集到以上五个信息域特征值后,就将每个计数与一个复杂度值(加权因子)关联上。
采用功能点的组织建立了一个标准,以确定某个特定条目是简单的、平均的还是复杂的。
不过复杂的确定多少有些主观。
每个功能的总计数值可以作为这个功能的功能点使用,以估算该功能的成本和工作量。
整个项目的估算还应考虑一些全局性的因素,并不是所以功能总计数值的简单相加。
整个项目的功能点计算采用下面的公式:总FP=∑每个功能的总计数值×(0.65+0.01×∑Fi)其中,Fi(i=1,2,…,14)是基于对图2中问题的回答而得到的“复杂度调整值(0~5)”。
等式中的常数是根据经验确定的。
Fi的取值在0~5之间:Fi:(1)系统需要可靠的备份和复原吗?(2)需要数据通信吗?(3)有分布处理功能吗?(4)性能很关键吗?(5)系统在一个已有的、很实用的操作环境中运行吗?(6)系统需要联机数据项吗?(7)联机数据项是否需要在多个屏幕或多个操作之间切换以完成输入?(8)需要联机更新主文件吗?(9)输入、输出、文件或查询很复杂吗?(10)内部处理复杂吗?(11)代码需要被设计成可复用的吗?(12)设计中需要包括转换及安装吗?(13)系统的设计支持不同组织的多次安装吗?(14)应用的设计方便用户修改和使用吗?一旦计箕出功能点,则可以使用它以规范软件生产率、质量及其他属性的测量和估算,也可以类似于LOC的方法来对每个功能点的错误数、每个功能点的缺陷数、每个功能点的成本、每个功能点的文档页数、每人月完成的功能点数进行估算。