功能点计算方法
- 格式:pptx
- 大小:371.84 KB
- 文档页数:34
软件工程功能点计算公式是一种用于估算软件项目工作量的方法。
功能点是软件功能的一种度量单位,根据软件项目的特性,将功能点转换为人力、时间等其他资源的需求。
功能点计算公式如下:
功能点= (未调整功能点数量× 软件类别调整因子) × 复用系数
其中,未调整功能点数量可以通过预估或估算的方式得出。
预估功能点计数方法包括内部逻辑文件数量(ILF)、外部接口文件数量(EIF)、外部输入数量(EI)、外部输出数量(EO)、外部查询数量(EQ)。
估算功能点计数方法也有类似的计算公式。
软件类别调整因子和复用系数则根据软件的复杂程度、复用程度等因素进行取值。
例如,对于定制软件开发内容包含多种软件类型的情况,原则上按照主体功能的类型取值;对于在已有软件系统或功能模块基础上进行优化完善或调整改造的,复用度调整系数默认取值为2/3。
在实际应用中,功能点计算公式可以结合具体的项目需求进行调整和优化。
一、什么是功能点,功能点估算有什么用?对于一个软件来说,功能点是一个可以作为标准的一个计量单位,功能点的多少代表着软件的规模大小,那么有了一个同一的量级的表现后,不同产品或者功能通过功能点来表示,就可以很好地反馈出产品或者功能的复杂程度,同时我们利用功能点来辅助计算效率、成本等也有很大作用。
使用禅道作为项目管理工具的小伙伴,也会在提需求的板块,看到有功能点的录入要求,这也是作为项目管理中,工作量的估算的重要性。
二、功能点估算方法与基本过程功能点的估算方法有IFPUG和NESMA等,下面主要是介绍NESMA 功能点估算法,NESMA估算法更多的在项目前期,可以快速的利用逻辑文件,给出预估的功能点数量,起到较好的指导作用。
NESMA估算法有三种类型的功能点估算,包括:指示功能点计数、估算功能点计数、详细功能点计数;分别对应项目的前期,中后期的功能点估算需求,同时估算出来的功能点也是越来越细化和精准。
当然操作难度和复杂度也是越来越高。
对于一般性的产品而言,我们主要是使用前两种(指示功能点计数、估算功能点计数)估算方法即可,两种方法的主要区别就在于计算公式的不同,一个粗放,一个则较精细,两种都可以使用,可以根据自身项目的具体要求和所处阶段来进行选择。
指示功能点计数:ILF*35+EIF *15估算功能点计数:UFP=(7* ILF+5* EIL+4* EI+5* EO+4* EQ)下面就来介绍上面的公式中用到的因子以及查找方法。
三、两个逻辑文件与三个基本过程上面的估算方法中提到的ILF、EIF、EI、EO、EQ代表着什么呢?只要弄明白了这几个计算因子,那么带入公式就可以很快知道我们的这个产品或者功能的软件规模有多大了,所需多少开发量,也就有了较为准确的参考标准。
1. 两个逻辑文件:ILF和EIF首先我们理解一下逻辑文件是个什么东西。
功能点估算法,我们是从产品的角度,用户的视角来进行估算的。
那么逻辑文件的概念,也就是从用户的视角出发,来进行定义的一类对用户有意义的信息。
功能点基础知识点总结一、什么是功能点?功能点是指软件系统中的一个具有独立功能的部分。
在软件开发项目中,通常使用功能点来测量软件系统的大小和复杂度。
功能点可以用来衡量软件系统的规模,评估开发工作量,进行成本估算,进行项目管理和控制等。
二、功能点的主要分类在软件系统中,功能点可以按照不同的特性进行分类,主要包括以下几类:1、业务功能点业务功能点是指软件系统中与业务功能相关的部分,包括用户交互界面、业务逻辑处理、数据存储和检索等。
业务功能点是软件系统的核心功能,也是用户最关注的部分。
在开发软件系统时,通常会根据业务需求划分业务功能点。
2、非功能点非功能点是指软件系统中除了业务功能之外的其他部分,包括性能、安全、可靠性、可用性、可维护性等方面。
非功能点对于软件系统的整体质量和性能具有重要的影响,需要在整个软件开发过程中进行充分的考虑和测试。
3、支持功能点支持功能点是指软件系统的辅助功能,包括系统管理、用户权限控制、日志记录、报表生成等。
支持功能点通常不直接与业务功能相关,但是对于系统的整体运行和管理具有重要的作用。
4、界面功能点界面功能点是指软件系统中的用户界面部分,包括图形界面、命令行界面、移动端界面等。
界面功能点是用户与系统进行交互的重要部分,对于系统的易用性和用户体验具有重要的影响。
三、功能点的计算方法在软件开发项目中,常用的功能点计算方法包括以下几种:1、IFPUG方法IFPUG方法是指国际功能点用户组织(IFPUG)提出的功能点计算方法。
IFPUG方法以用户视角对软件系统的功能进行度量,主要包括逻辑文件、数据输入、数据输出和查询等部分。
通过对软件系统的功能进行分类和计算,可以得到软件系统的功能点数。
COSMIC方法是指COSMIC功能点计量国际组织提出的功能点计算方法。
COSMIC方法通过对软件系统的功能进行详细的描述和量化,可以得到更加精确的功能点数。
COSMIC方法对软件系统的功能进行了更细致的划分和计算,可以更好地反映软件系统的复杂度和规模。
IFPUG 功能点估算基本方法Function Point Estimation 功能点估算是一种用来估算项目大小的技术。
项目经理从已经界定的软件范围开始,并根据该陈述将软件分解为可以被单独估算的功能单元,然后估算每一个功能的FP值。
这种分析方法是按照功能为估算单元进行分解,同样如果以其它元素作为估算单元,例如类、对象、业务过程,以下都以功能分解进行讨论。
注意:功能单元是指分解到的最小可估算单元。
FP值是按照经验,使用复杂度参数进行估算调整过的量化的数值。
估算的基本过程:a) 界定项目范围;b) 分解项目到可以被估算的最小功能单元;c) 识别功能单元的类型,估算复杂度;d) 计算总体系统特征值;e) 计算调整因子;f) 应用公式计算FP值。
1. 界定项目范围界定项目范围这次不讨论。
2. 分解项目到可以被估算的最小功能单元系统用5种信息域特征进行描述:事务(Transaction):外部输入( External Input EI)外部输出(External Output EO)外部查询(External Inquiry EQ)数据存储:内部逻辑文件(Internal Logical File ILF)外部接口文件(External Interface File EIF)。
内部文件(ILF)指每个逻辑主文件(即数据的一个逻辑组合,它可能是某大型数据库的一部分或者是一个独立的文件),例如数据库表。
注意不是一个数据库表就是一个ILF,例如合同数据可以包括合同信息、合同条款、合同付款计划。
外部接口:所有机器可读的接口,是不由本系统维护的逻辑文件,是其它系统的ILF。
例如:web service取回的数据,一个人工维护的Excel表格。
3. 估算功能点的复杂度数据元素类型(Data Element Types DET)是一个用户可识别的、唯一性的、非递归的域。
记录元素类型(Record Element Types RET)是ILF或者EIF中用户能够识别的数据元素小组。
电子政务工程软件项目费用构成及概算方法(V1.0)(征求意见稿)为规范电子政务工程项目软件的价格行为,维护价格公平竞争,同时为电子政务软件项目进行经费概算提供科学可信的依据,广东软件行业协会组织有关专家和企业,经过多次研究和修订,提出以下电子政务工程软件项目费用构成及概算方法。
一、名词解释开发阶段:开发阶段是指从软件项目启动到项目实施前的这一时间段。
因此,开发阶段的工作包括详细需求分析、系统设计、编码、测试等方面的工作。
实施阶段:实施阶段是指软件项目从实施开始到项目正式验收的这一时间段。
因此,实施阶段的工作包括系统安装、系统调试、用户培训等方面的工作,但不包括各实施点的本地化开发工作。
运行维护阶段:运行维护阶段是指从软件项目正式验收到合同规定的一年项目维护期结束的这一时间段。
因此,维护阶段的工作包括系统在维护期内所需要提供的原系统完善性修改和服务等工作(不包括新增需求和原功能的重大变更)。
功能点:功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。
功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。
成本系数:成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,因此成本系数的单位为:人工时/FP。
如开发阶段的成本系数,则是指一个功能点(FP)需要完成“详细需求分析”、“系统设计”、“编码”和“测试”等工作所需要投入的人工时。
其他如实施阶段成本系数、运行维护阶段成本系数的定义以此类推。
软件人员月人工费用:软件人员月人工费用是指一个软件人员工作一个月平均需要的所有成本开销(包括工资、奖金、福利、办公成本、国家各种税费、管理费用等等)及软件企业合理利润的总和。
二、软件项目费用构成电子政务软件项目的费用构成因素很多,为准确描述,我们依据软件工程理论,从角色和项目阶段两个维度来描述项目的费用构成。
从角色维度来看,电子政务工程项目建设中主要包括建设方、承建方、第三方测试机构和监理方四个主体;从项目阶段维度来看,可以分为前期咨询、开发、实施、验收、维护五个阶段。
FPA(功能点分析)是一种用来度量软件系统规模的方法,它从用户视角来度量产品规模,不注重产品的内部结构和技术复杂度。
FPA估算模型中,任何一个软件系统都被看作是由五种要素组成,分别是:外部输入处理(EI)、外部查询处理(EQ)、外部输出处理(EO)、内部逻辑文件(ILF)和外部参照文件(ER)。
通过估算系统中这五种要素的个数,并乘以适当的权值(权值即为每个要素的功能点数)就可以计算出系统的功能点数,进而估算出系统的规模。
在FPA中,功能点数可以通过以下步骤来估算:
1.确定系统中的功能区域:首先根据系统的主要功能,将系统划分为若干个功能
区域。
每个功能区域对应一个或多个功能。
2.确定功能区域的规模:每个功能区域的规模可以根据其涉及的数据量、处理的
数据复杂度、用户数量等因素来确定。
3.计算功能区域的功能点数:根据每个功能区域的规模和复杂度,计算出每个功
能区域的功能点数。
4.确定功能区域的权重因子:根据每个功能区域的重要性和复杂度,确定每个功
能区域的权重因子。
5.计算总的功能点数:将每个功能区域的功能点数乘以对应的权重因子,然后将
这些结果相加,就可以得到总的功能点数。
FPA标准是国际功能点用户组(IFPUG)维护和推动的,它不定期发布Counting Practices Manual来统一不同公司和产品的功能点计算模型。
这个模型基于大量已完成项目的分析数据,非常全面和精确。
对于同一个产品,不同的公司,不同的人参照CPM计算出来的功能点数应当是一样的。
功能点描述功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及,对软件项目范围的估算有很多种方法,常见的就是LOC代码行和FP功能点法,它们之间的区别和关系如下:1、FP功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高,假如这个时候使用LOC代码行估算法,则误差会比较大。
2、使用FP功能点估算法无需懂得软件使用何种开发技术。
LOC代码行估算法与软件开发技术密切相关。
3、FP功能点法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算的。
4、通过一些行业标准或企业自身度量的分析,FP功能点估算法是可以转换为LOC代码行的。
在项目刚开始的时候进行功能点估算可以对项目的范围进行预测,在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同,因此在项目结束时还需要对项目的范围情况进行估算,这个时候估算的结果才能最准确反映项目的规模。
功能点的公式:●功能点的原始计算公式:FP Count =UFP * VAF●新开发项目有时新开发的软件项目也需要与其他现存的软件系统进行整合,例如:一个企业新开发的MIS 内部管理系统经常会与财务系统进行整合。
这个时候除了考虑本身项目的功能点个数外,还要考虑系统整合或数据迁移部分的工作量,因此其功能点计算公式如下:FP Count =(UFP+CFP)* VAF●二次开发的项目有时新开发的软件项目是在原有基础上进行二次开发的,只是为了增加一些新的功能,因此其功能点计算公式如下:FP Count = ADD * VAFUFP:未调整的功能点个数1、人机交互(程序复杂度)(1)、EI: External Input外部输入(2)、EO: External Output外部输出(3)、EQ: External Inquiry外部查询2、数据存储(数据库复杂度)1、ILF:Internal Logical File内部逻辑文件2、EIF: External Interface File外部接口文件识别功能点的重要原则ILF、EIF要与EI、EO、EQ分开计算。
功能点描述功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及,对软件项目范围的估算有很多种方法,常见的就是LO C代码行和F P功能点法,它们之间的区别和关系如下:1、FP功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高,假如这个时候使用LOC代码行估算法,则误差会比较大。
2、使用FP功能点估算法无需懂得软件使用何种开发技术。
LOC代码行估算法与软件开发技术密切相关。
3、FP功能点法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算的。
4、通过一些行业标准或企业自身度量的分析,FP功能点估算法是可以转换为LOC代码行的。
在项目刚开始的时候进行功能点估算可以对项目的范围进行预测,在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同,因此在项目结束时还需要对项目的范围情况进行估算,这个时候估算的结果才能最准确反映项目的规模。
功能点的公式:●功能点的原始计算公式:FP Count =UFP * VAF●新开发项目有时新开发的软件项目也需要与其他现存的软件系统进行整合,例如:一个企业新开发的MIS内部管理系统经常会与财务系统进行整合。
这个时候除了考虑本身项目的功能点个数外,还要考虑系统整合或数据迁移部分的工作量,因此其功能点计算公式如下:FP Count =(UFP+CFP)* VAF●二次开发的项目有时新开发的软件项目是在原有基础上进行二次开发的,只是为了增加一些新的功能,因此其功能点计算公式如下:FP Count = ADD * VAFUFP:未调整的功能点个数1、人机交互(程序复杂度)(1)、EI: Externa l Input外部输入(2)、EO: Externa l Output外部输出(3)、EQ: Externa l Inquiry外部查询2、数据存储(数据库复杂度)1、ILF:Interna l Logical File内部逻辑文件2、EIF: Externa l Interfa ce File外部接口文件识别功能点的重要原则ILF、EIF要与EI、EO、EQ分开计算。
功能点计算方法范文功能点计算方法是一种用于评估和估算软件开发项目的工作量和进度的方法。
它能够协助项目经理和开发团队制定合理的计划,并为项目的成功提供参考和指导。
在实际的软件开发过程中,功能点计算方法被广泛使用,可以帮助项目团队更好地管理和控制项目进展。
功能点法是最常用的功能点计算方法之一,通过对软件的功能进行划分和评估,计算出软件的功能点数目。
功能点数是根据软件功能的复杂程度和实现难度来评估的,不同类型的功能点有不同的权重,可以根据项目实际情况进行调整。
功能点法的优点是简单明了,易于理解和使用,适用于各种规模和类型的软件开发项目。
COCOMO质量模型是一种通过对软件开发过程中的各个环节进行评估和估算,计算出软件的工作量和进度的方法。
COCOMO质量模型分为三个层次:基本模型、中级模型和高级模型,每个层次都包含一些评估因素和权重,可以根据项目实际情况进行调整。
COCOMO质量模型的优点是细致入微,能够准确地评估和估算软件开发项目的工作量和进度,但需要较高的专业知识和经验。
帕金森法则是一种通过对软件开发过程中不同阶段的功能点数目进行估算,计算出工作量和进度的方法。
帕金森法则认为,在软件开发过程中,不同阶段的功能点数目呈指数增长的趋势,开发人员的工作量和进度也会随之增加。
帕金森法则的优点是简单易用,能够较为准确地预测软件开发项目的工作量和进度,但需要根据项目实际情况进行调整。
在实际使用过程中,功能点计算方法可以根据项目的不同需求和特点进行灵活调整和组合,以适应不同的软件开发项目。
通过合理地选择和应用功能点计算方法,可以帮助项目团队更好地评估和控制项目的进展,提高项目的成功率和效率。