功能点计算方法
- 格式:pptx
- 大小:526.59 KB
- 文档页数:38
软件工程功能点计算公式是一种用于估算软件项目工作量的方法。
功能点是软件功能的一种度量单位,根据软件项目的特性,将功能点转换为人力、时间等其他资源的需求。
功能点计算公式如下:
功能点= (未调整功能点数量× 软件类别调整因子) × 复用系数
其中,未调整功能点数量可以通过预估或估算的方式得出。
预估功能点计数方法包括内部逻辑文件数量(ILF)、外部接口文件数量(EIF)、外部输入数量(EI)、外部输出数量(EO)、外部查询数量(EQ)。
估算功能点计数方法也有类似的计算公式。
软件类别调整因子和复用系数则根据软件的复杂程度、复用程度等因素进行取值。
例如,对于定制软件开发内容包含多种软件类型的情况,原则上按照主体功能的类型取值;对于在已有软件系统或功能模块基础上进行优化完善或调整改造的,复用度调整系数默认取值为2/3。
在实际应用中,功能点计算公式可以结合具体的项目需求进行调整和优化。
一、功能点估算法识别项目范围和数据复杂度功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。
如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
功能点估算法的特点项目范围的估算在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. 计算调整后的功能点数量。
一、什么是功能点,功能点估算有什么用?对于一个软件来说,功能点是一个可以作为标准的一个计量单位,功能点的多少代表着软件的规模大小,那么有了一个同一的量级的表现后,不同产品或者功能通过功能点来表示,就可以很好地反馈出产品或者功能的复杂程度,同时我们利用功能点来辅助计算效率、成本等也有很大作用。
使用禅道作为项目管理工具的小伙伴,也会在提需求的板块,看到有功能点的录入要求,这也是作为项目管理中,工作量的估算的重要性。
二、功能点估算方法与基本过程功能点的估算方法有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首先我们理解一下逻辑文件是个什么东西。
功能点估算法,我们是从产品的角度,用户的视角来进行估算的。
那么逻辑文件的概念,也就是从用户的视角出发,来进行定义的一类对用户有意义的信息。
功能点估算法功能点估算法是一种推断开发者所需完成的工作量的测算方法。
它通过计算软件系统实际功能所需要的数量,来估算软件开发项目所需要的工作量。
这类测算方法经常用于估算软件研发预算,以帮助管理人员更好地掌握软件研发项目的实施过程,更有效地控制开发成本。
在新系统开发项目中,由于缺乏项目的相关信息,无法采用其他的估算方法,所以采用功能点估算法会比较实用。
它可以根据软件系统的功能需求,通过统计分析和对比,对项目的实施过程进行估算。
换句话说,功能点估算法是根据软件系统的功能特性,采用质量控制的原则,对软件开发的工作量进行估算和控制。
功能点估算法的具体实施过程,首先要明确项目所需要实现的功能点,并对每个功能点进行细化,明确功能点的分类划分。
在功能点定义之后,要根据项目的功能和目标,进行功能点估算,确定每个功能点所需要实现的工作量,并将这些数据汇总起来,作为项目的工作量估算基准。
此外,在进行功能点估算时,还要结合项目的复杂性,适当的考虑系统中所需的技术支持、测试和文档等活动,以准确估算项目所需的工作量。
软件系统开发项目在估算阶段,采用功能点估算法可以使估算更加准确,从而更好地掌握项目的进度,减少开发时间和成本。
功能点估算不仅可以帮助开发者规划开发任务和工作负荷,而且还可以帮助客户评估项目的性价比,确保项目的经济效益。
同时,功能点估算还可以为开发者建立一套科学的计划,从而更精确地控制开发的时间和成本,提高开发效率。
总之,功能点估算法是一种实用的、灵活的估算方法,它可以帮助开发者更加精确地估算软件研发项目的工作量,从而更好地控制开发成本,提高项目的经济效益。
它既便于项目管理者和客户,也有利于开发者,是软件系统开发项目必不可少的一环。
IFPUG功能点估算含示例IFPUG(International Function Point Users Group)功能点估算是一种常用的软件度量方法,它通过对软件的功能进行分类和量化来估算软件的规模和复杂度。
功能点估算可以帮助软件开发团队更好地理解项目的规模和工作量,有助于项目管理和项目成本的预测。
IFPUG功能点估算的核心思想是将软件的功能进行分类,然后将每个功能点按照一定的规则进行加权,并与标准功能点系数相乘得出最终的功能点数。
这样可以对不同的软件进行可比较的度量,并且提供了一个基准来评估相对规模和复杂度。
1.功能性功能点包括以下四个子类:-输入(EI)功能点:表示软件接收外部输入并处理的功能。
例如,一个图书管理系统可以接收读者的借书请求并进行处理。
-输出(EO)功能点:表示软件向外部输出信息的功能。
例如,一个图书管理系统可以向读者输出图书的归还日期。
-查询(EQ)功能点:表示软件进行内部或外部查询的功能。
例如,一个图书管理系统可以查询图书的借阅记录。
-文件(F)功能点:表示软件维护的逻辑文件(包括输入和输出文件)的功能。
例如,一个图书管理系统可以维护图书的借阅记录文件。
2.非功能性功能点包括以下三个子类:-外部接口文件(EIF)功能点:表示软件与外部系统进行数据交换的功能。
例如,一个图书管理系统可以与图书供应商的系统进行数据交换。
-外部查询文件(EQF)功能点:表示软件使用的外部查询文件的功能。
例如,一个图书管理系统可以使用图书供应商的系统提供的查询功能。
-内部逻辑文件(ILF)功能点:表示软件内部维护的逻辑文件的功能。
例如,一个图书管理系统可以维护图书的库存信息。
在IFPUG功能点估算中,每个功能点都有一个权重或复杂度,可以根据软件的特点和相对复杂度进行调整。
例如,一个图书管理系统的输入功能点可能比输出功能点更复杂,因此输入功能点的权重可能更高。
下面是一个示例,用于说明如何进行IFPUG功能点估算:假设我们要开发一个学生管理系统,该系统可以记录学生的基本信息、课程成绩和考试安排等。
功能点基础知识点总结一、什么是功能点?功能点是指软件系统中的一个具有独立功能的部分。
在软件开发项目中,通常使用功能点来测量软件系统的大小和复杂度。
功能点可以用来衡量软件系统的规模,评估开发工作量,进行成本估算,进行项目管理和控制等。
二、功能点的主要分类在软件系统中,功能点可以按照不同的特性进行分类,主要包括以下几类:1、业务功能点业务功能点是指软件系统中与业务功能相关的部分,包括用户交互界面、业务逻辑处理、数据存储和检索等。
业务功能点是软件系统的核心功能,也是用户最关注的部分。
在开发软件系统时,通常会根据业务需求划分业务功能点。
2、非功能点非功能点是指软件系统中除了业务功能之外的其他部分,包括性能、安全、可靠性、可用性、可维护性等方面。
非功能点对于软件系统的整体质量和性能具有重要的影响,需要在整个软件开发过程中进行充分的考虑和测试。
3、支持功能点支持功能点是指软件系统的辅助功能,包括系统管理、用户权限控制、日志记录、报表生成等。
支持功能点通常不直接与业务功能相关,但是对于系统的整体运行和管理具有重要的作用。
4、界面功能点界面功能点是指软件系统中的用户界面部分,包括图形界面、命令行界面、移动端界面等。
界面功能点是用户与系统进行交互的重要部分,对于系统的易用性和用户体验具有重要的影响。
三、功能点的计算方法在软件开发项目中,常用的功能点计算方法包括以下几种:1、IFPUG方法IFPUG方法是指国际功能点用户组织(IFPUG)提出的功能点计算方法。
IFPUG方法以用户视角对软件系统的功能进行度量,主要包括逻辑文件、数据输入、数据输出和查询等部分。
通过对软件系统的功能进行分类和计算,可以得到软件系统的功能点数。
COSMIC方法是指COSMIC功能点计量国际组织提出的功能点计算方法。
COSMIC方法通过对软件系统的功能进行详细的描述和量化,可以得到更加精确的功能点数。
COSMIC方法对软件系统的功能进行了更细致的划分和计算,可以更好地反映软件系统的复杂度和规模。
功能点描述功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
项目范围的估算在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质量模型的优点是细致入微,能够准确地评估和估算软件开发项目的工作量和进度,但需要较高的专业知识和经验。
帕金森法则是一种通过对软件开发过程中不同阶段的功能点数目进行估算,计算出工作量和进度的方法。
帕金森法则认为,在软件开发过程中,不同阶段的功能点数目呈指数增长的趋势,开发人员的工作量和进度也会随之增加。
帕金森法则的优点是简单易用,能够较为准确地预测软件开发项目的工作量和进度,但需要根据项目实际情况进行调整。
在实际使用过程中,功能点计算方法可以根据项目的不同需求和特点进行灵活调整和组合,以适应不同的软件开发项目。
通过合理地选择和应用功能点计算方法,可以帮助项目团队更好地评估和控制项目的进展,提高项目的成功率和效率。
I F P U G功能点估算方法使用指南排版整理:旦丰目录1. 引言 (1)1.1.目的 (1)1.2.预期读者 (1)1.3.术语表 (1)1.4.参考资料 (2)2. 功能点分析法概论 (2)2.1.功能点分析方法的目标 (2)2.2.功能点方法的收益 (2)2.3.功能点分析法的步骤 (2)2.3.1. 决定分析的类型 (2)2.3.2. 识别分析范围和应用边界 (3)2.3.3. 确定未经调整的功能点数(Unadjusted Function Point Count -- UFPC) (3)3. 分析流程 (5)3.1.决定分析的类型 (5)3.1.1. 定义:功能点分析的类型 (5)3.2.识别分析范围和应用边界 (6)3.2.1. 识别分析范围和应用边界中的定义 (6)3.2.2. 定义应用边界 (7)3.3.分析范围以及应用边界的规则和流程 (7)3.3.1. 边界识别的规则 (8)3.3.2. 分析范围和应用边界流程: (8)3.3.3. 边界识别的一些技巧: (8)3.4.计数数据功能 (8)3.4.1. 定义 (9)3.4.2. 计数流程概述 (9)3.4.3. ILF识别规则 (10)3.4.4. EIF识别规则 (10)3.4.5. 复杂度和贡献的定义和规则 (10)3.4.6. ILF/EIF计数流程 (11)3.4.7. 复杂度和贡献确定流程 (12)3.4.8. 数据功能计数技巧 (13)3.5.计数交易功能 (14)3.5.1. 定义 (14)3.5.2. EI,EO,EQ计数规则 (18)3.5.3. 复杂度和贡献的定义和规则 (20)3.5.4. EI,EO,EQ的计数流程 (22)3.5.5. 复杂度和贡献确定流程 (23)3.5.6. 交易功能计数技巧 (25)3.6.决定调整系数 (27)3.6.1. 调整系数的决定 (27)3.6.2. 确定VAF的流程 (27)3.6.3. 通用系统特性及其影响程度的评定 (28)3.7.计算调整功能点 (37)3.7.1. 开发项目功能点的计算 (37)3.7.2. 升级项目功能点的计算 (38)3.7.3. 应用功能点的计算 (39)1. 引言1.1. 目的本文档描述功能点估算的方法。