功能点计算方法

合集下载

功能点计算方法

功能点计算方法

来填写上面的表格
分数(0-5) 0 3 3 3 3 3 3 0 3 3 3 3 0 3 33 116
理由
FP转换成SLOC
注意: 1.如果你可以用历史数据,我们建议你使用它。例如,当你设定影响因数时,你可以参考一些 史的项目。 2.如果你的项目可以分成几个子项目,那你应对每个子项目分别来填写上面的表格
复杂个数 0 0 0 0 10 100
大小估算 - FP
操作 外部输入(EI) 外部输入(BO) 外部查询(EQ) 内部逻辑文件(ILF) 部接口文件(EIF 未调整FP个数(UFP)
简单个数 1 0 0 0 0 3
一般个数 0 1 0 1 0 15
事物 Data Communications(数据通信 Distributed Functions(分布式数据处理 Performance(系统响应速度及处理能力) Heavily Used(大量使用) Transaction Rate(事务比率) Online Data Entry(在线数据输入) End-user Efficiency(用户友好度) Online Update(在线升级) Complex Processing(复杂处理) Reusability(复用性) Installation Ease(易安装性) perational Ease(易运行性) Multiple Sites(多站点支持) Change(易改变性) 总分 调整的FP合计 根据公式计算: VAF = (TDI*0.01)+0.65 FP=UFP*VAF TDI:总的影响程度UFP:未调整的功能点 VAF:价值调整因素
简单系数 一般系数 复杂系数 3 4 6 4 5 7 3 4 6 7 10 15 5 7 10

软件工程功能点计算公式

软件工程功能点计算公式

软件工程功能点计算公式是一种用于估算软件项目工作量的方法。

功能点是软件功能的一种度量单位,根据软件项目的特性,将功能点转换为人力、时间等其他资源的需求。

功能点计算公式如下:
功能点= (未调整功能点数量× 软件类别调整因子) × 复用系数
其中,未调整功能点数量可以通过预估或估算的方式得出。

预估功能点计数方法包括内部逻辑文件数量(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. 计算调整后的功能点数量。

NESMA功能点估算法

NESMA功能点估算法

一、什么是功能点,功能点估算有什么用?对于一个软件来说,功能点是一个可以作为标准的一个计量单位,功能点的多少代表着软件的规模大小,那么有了一个同一的量级的表现后,不同产品或者功能通过功能点来表示,就可以很好地反馈出产品或者功能的复杂程度,同时我们利用功能点来辅助计算效率、成本等也有很大作用。

使用禅道作为项目管理工具的小伙伴,也会在提需求的板块,看到有功能点的录入要求,这也是作为项目管理中,工作量的估算的重要性。

二、功能点估算方法与基本过程功能点的估算方法有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 缺点
依赖开发人员的经验水平、对大型复杂项目 有一定局限性。
功能点计算方法的应用案例
某公司采用IFPUG方法对新开发的软件进行功能点评估,为项目规划提供参 考和决策依据。
通过功能点计算方法,该公司成功实现了项目资源的合理配置和进度的准确 控制。
《功能点计算方法》PPT 课件
欢迎大家参加《功能点计算方法》PPT课件,本次课件将带你深入了解功能点 计算方法的定义、背景和作用,以及它在实际应用中的价值和优缺点。
功能点计算方法的定义和背景
功能点计算方法是一种用于估算软件开发中功能模块规模的方法,采用不同的标准和计算公式,对软件项目的 功能进行量化评估。
该方法的背景是为了解决软件开发过程中难以准确估计工作量和进度的问题,使项目管理和规划更加科学和可 靠。
功能点计算方法的作用和价值
功能点计算方法可以帮助软件项目管理者评估开发资源、人力需求和项目进度。 通过准确估算功能点数量,可以提前发现潜在风险和问题,并制定合理的开发计划和资源调配策略。
Байду номын сангаас
常用的功能点计算方法
IFPUG方法
International Function Point Users Group,是最广泛使用的功能点计算方法。
COSMIC方法
Common Software Measurement International Consortium,注重需求和功能的完 整性、复杂度等。
Nesma方法
Netherlands Software Metrics Association,适合对软件量化进行精确度较高的估算。

功能点估算法

功能点估算法

功能点估算法功能点估算法是一种推断开发者所需完成的工作量的测算方法。

它通过计算软件系统实际功能所需要的数量,来估算软件开发项目所需要的工作量。

这类测算方法经常用于估算软件研发预算,以帮助管理人员更好地掌握软件研发项目的实施过程,更有效地控制开发成本。

在新系统开发项目中,由于缺乏项目的相关信息,无法采用其他的估算方法,所以采用功能点估算法会比较实用。

它可以根据软件系统的功能需求,通过统计分析和对比,对项目的实施过程进行估算。

换句话说,功能点估算法是根据软件系统的功能特性,采用质量控制的原则,对软件开发的工作量进行估算和控制。

功能点估算法的具体实施过程,首先要明确项目所需要实现的功能点,并对每个功能点进行细化,明确功能点的分类划分。

在功能点定义之后,要根据项目的功能和目标,进行功能点估算,确定每个功能点所需要实现的工作量,并将这些数据汇总起来,作为项目的工作量估算基准。

此外,在进行功能点估算时,还要结合项目的复杂性,适当的考虑系统中所需的技术支持、测试和文档等活动,以准确估算项目所需的工作量。

软件系统开发项目在估算阶段,采用功能点估算法可以使估算更加准确,从而更好地掌握项目的进度,减少开发时间和成本。

功能点估算不仅可以帮助开发者规划开发任务和工作负荷,而且还可以帮助客户评估项目的性价比,确保项目的经济效益。

同时,功能点估算还可以为开发者建立一套科学的计划,从而更精确地控制开发的时间和成本,提高开发效率。

总之,功能点估算法是一种实用的、灵活的估算方法,它可以帮助开发者更加精确地估算软件研发项目的工作量,从而更好地控制开发成本,提高项目的经济效益。

它既便于项目管理者和客户,也有利于开发者,是软件系统开发项目必不可少的一环。

IFPUG功能点估算含示例

IFPUG功能点估算含示例

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方法对软件系统的功能进行了更细致的划分和计算,可以更好地反映软件系统的复杂度和规模。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


EI是指一个处理来自本应用边界之外的一组数 据或者控制信息的基本处理过程。 外部输入的基本目的是为了维护(包括增加、 修改及删除数据等)一个内部逻辑文件(ILF) 或者改变系统的行为。
EO

EO(External Outputs)外部输出



EO是指一个向应用边界之外或用户提供经过加 工处理的数据或者控制信息的基本处理过程。 外部输出的基本目的是为了向用户展示一组经 过了除了提取之外的其它逻辑处理的数据或者 控制信息。这里的其它处理包括至少一个数学 演算或者对衍生数据的生成。 EO输出可以有两种方式,提供给应用外的数据 以及给用户展示的数据。比较典型的输出就是 系统产生的各种报表

用户可识别的,由其它系统维护,在本系统引用的一组逻辑相关 数据或控制信息,由本系统的基本处理过程引用。是其它系统的 内部逻辑文件

EIF识别规则:须满足以下条件

数据和控制信息集合是逻辑的并且是用户可识别的 数据组是从系统外部被引用的 数据组不被系统维护 数据组被另外一个系统作为ILF维护
谢谢!
识别数据功能和识别事务功能
事务功能 外部输入EI 外部输出EO 外部查询EQ
Application A file file file Application B file
内部逻辑文件ILF 数据功能
外部接口文件EIF
ILF概念

ILF(Internal Logical Files)内部逻辑文 件
功能点标准概述
功能点标准概述
2
功能点分析
功能点分析

功能点分析


功能点分析(Function Point Analysis)是从用 户角度度量软件开发的一种标准方法。 功能点分析基于用户的逻辑功能需求,而不考 虑应用的物理实现
功能点计算步骤
项目
确定项目类型

开发项目

首次开发完成并安装使用 应用程序本身的功能点+数据转换带来的功能点 对现有应用程序修改:新增、删除和改变功能 也可能含转换功能点 已安装的应用程序 评估应用程序目前为最终用户提供的功能,目前正 被使用和维护的所有应用程序功能点的和


人机交互类型(事务)的功能点

EI 外部输入( External Input) EO 外部输出(External Output) EQ 外部查询(External Inquiry) 对EI\EO\EQ复杂度的计算可理解对为业务实现复杂度的计算, 复杂性由数据元素类型(DET)和文件引用类型(FTR)决 定

事务功能(Transaction Function)

EI
1 to 4 DET 5 to 15 DET Low(3) Average(4) High(6) 16 or more DET Average(4) High(6) High(6)
0 to 1 FTR 2 FTR 3 or more FTR
Low(3) Low(3) Average(4)
功能点标准概述

事务功能(Transaction Function)

EO
1 to 5 DET 0 to 1 FTR 2 to 3 FTR 4 or more FTR Low(4) Low(4) Average(5)
6 to 19 DET Low(4) Average(5) High(7)

升级项目


应用系统

识别项目的范围和边界
功能点分析方法



把用户的业务功能需求分为数据功能需求 和处理数据的事务功能需求 数据分为应用内部逻辑数据和应用外部的 接口数据,事务分为对数据的外部输入、 输出和查询 分别分析这些组成部分的功能点
确定功能点类型

数据类型的功能点
ILF 内部逻辑文件(Internal Logical File) EIF 外部接口文件(External Interface File) 对ILF和EIF复杂度的计算可简单理解为对业务数据复杂度的计 算。复杂性由数据元素类型(DET)和记录元素类型(RET)

ILF
1 to 19 DET 20 to 50 DET Low(7) 51 or more DET Average(10) Low(7) Low(7)
1RET 2 to 5 RET
Average(10) High(15)
6 or more RET

Average(10)
High(15)
High(15)
EIF
1 to 19 DET 20 to 50 DET 51 or more DET
1RET
2 to 5 RET 6 or more RET
Low(5)
Low(5) Average(7)
Low(5)
Average(7) High(10)
Average(7)
High(10) High(10)
功能点标准概述
功能点标准概述

什么是功能点




功能点(Function Points)是度量软件规模的 一个标准度量单元 一个软件的大小可以通过交付给用户的功能点 数来度量,成为一种国际标准。 在软件度量中广泛应用,将系统分解成更小的 模块,便于理解和分析 为项目范围、工作量、资源、时间等因素进行 估算提供了依据
功能点计算方法
1 2 3 4
功能点概述 功能点分析 功能点计算 工作量预估
1
功能点概述
IFPUG起源

IFPUG起源

1979 IBM提出需求:以一种独立于计算机语言的 方法来评估软件开发成果 20世纪80年代初,正式的FP使用指南发布 20世纪80年代末,IFPUG成立 1988 FP CPM release 2.0 1990 FP CPM release 3.0 1994 FP CPM release 4.0 1999 FP CPM release 4.1 2003 加入ISO/IEC标准 2004 FP CPM release 4.2
EQ

EQ(External Inquiries)外部查询



EQ是指一个向应用边界之外发送数据或者控制 信息的基本处理过程。 外部查询的基本目的是为了向用户展示提取的 数据或者控制信息。 外部查询的逻辑处理里面不包含数学公式或者 计算、不会修改ILF、也不改变系统行为
功能点标准概述

数据功能(Data Function)
FP与LOC的区别

常见的方法



估算时间

FP功能点法 LOC代码行
FP法常用在项目开始或项目需求基本明确时使用,估算的结果 准确性较高 而使用LOC代码行估算法则误差较大 使用FP法无需懂得软件的开发技术 LOC法则与开发技术密切相关 FP法以用户为角度进行估算 LOC法则以技术为角度进行估算
Low(3) Low(3) Average(4)
功能点标准概述

确定系统的14个特征值

FPA方法认为有14个因素影响FP的个数 这14个特征值根据SRS的内容来判断

非功能需求 设计约束

根据每个特征值的特点,决定它的取值,取值范围 介于0到5之间
功能点标准概述
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 调整系数计算表 系统特征值类型 得分(0-5) 数据通讯 分布式数据处理 性能 运行设备 事务处理量 在线数据输入 用户界面友好程度 数据在线更新 算法 可重用性 安装容易程度 操作容易程度 多点运行 客户化程度 理由/备注




概念:用户可识别的系统边界以内的一组逻辑 关联的数据或者控制信息,ILF由系统的基本处 理过程来维护 ILF识别规则:须满足以下条件: 数据和控制信息集合是逻辑的并且是用户可识 别的 数据集合在系统边界内部由基本处理过程维护
EIF概念

EIF(External Interface Files)外部接口 文件

开发技术相关性


估算角度

FP的特点



简单快速、易理解、 可开展行业比对、完整估算方案、 有明确定义: 存在多个兼容的国际标准、 不同的估算者误差在10%以内, 有利于:需求分析、需求管理、绩效评价。 给我们一种视角来审视项目。
FP的适用范围



功能点:国际最流行的规模度量方法 功能点成功应用:从固定价格改为按功能点付 费 哪些软件适用:以数据和交互处理为中心的; 以功能多少为主要工作量和造价制约因素。例 如:电子政务、银行、电信、办公自动化等开 发技术相关性 不合用的软件:数据处理过程复杂、创意型软 件、对性能或质量有特殊要求的,例如:杀毒 软件、网络游戏、航空航天软件、视频和图形 处理软件
20 or more DET Average(5) High(7) High(7)
功能点标准概述

事务功能

EQ
1 to 5 DET 6 to 19 DET
Low(3) Average(4) High(6)
20 or more DET
Average(4) High(6) High(6)
0 to 1 FTR 2 FTR 3 or more FTR
4
工作量预估
工作量预估

进行大小估算,得出FP数(FP)

采用快速计算方法

根据FP数,得出总行数(SLOC)

总行数 = FP * LPFP
工作量 = 总行数(SLOC) / LPD
相关文档
最新文档