功能点计算方法
功能点计算方法
来填写上面的表格
分数(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功能点估算法
一、什么是功能点,功能点估算有什么用?对于一个软件来说,功能点是一个可以作为标准的一个计量单位,功能点的多少代表着软件的规模大小,那么有了一个同一的量级的表现后,不同产品或者功能通过功能点来表示,就可以很好地反馈出产品或者功能的复杂程度,同时我们利用功能点来辅助计算效率、成本等也有很大作用。
使用禅道作为项目管理工具的小伙伴,也会在提需求的板块,看到有功能点的录入要求,这也是作为项目管理中,工作量的估算的重要性。
二、功能点估算方法与基本过程功能点的估算方法有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(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方法对软件系统的功能进行了更细致的划分和计算,可以更好地反映软件系统的复杂度和规模。
功能点估算(csdn)
THANKS FOR YOUR ATTENTION
工具的使用
• 软件成本估算培训_附件A_计算工具_V3.4.xlsx
子系统 总计 创建/新增 综合办公系统
子系统2 公文管理子系统
子系统3 发文管理
会议管理系统
收文管理 会议管理
领导办公系统 领导待处理事务子系统 领导日程安排管理子系统 领导关注信息管理子系统
内部数据/外部接口
公文(发文) 收文单位 电子签名 流转环节 公文(收文) 督查督办单 会议 会议申请 会议纪要 会议单位 通知邮件 会议材料归档 参会角色 待处理事务 工作项目 人员信息(含领导和员工) 工作计划(日周月一体) 日计划 周计划 月计划 关注信息
理解文件——EIF识别
• 理解EIF
– 本系统引用 – 是一个“逻辑”上的文件 – 在系统外部维护
• 区分ILF/EIF的直觉方法
– 此娄数据是否是客户(尤其是此系统)的业务数据?
• 即用户单位的日常工作是否就是通过对这些业务数据进行操 作完成的?
理解文件——练习
• 练习说明
阅读某甲方协同办公子系统的需求, 请识别出需求中ILF和EIF的数量。
TRUE 15 3
ILF 35 1
TRUE 1
TRUE 35 3
ILF 35 1
TRUE 1
TRUE 35 3
ILF 35 1
TRUE 1
TRUE 35 3
ILF 35 1
TRUE 1
TRUE 35 3
ILF 35 1
TRUE 1
TRUE 35 3
投标时软件开发商填写 ILF/EIF/EI/EO/EQ法
EO、 EO、EQ的区分
• EI
《功能点计算方法》课件
准确性原则
数据来源
确保功能点计算所依据的数据来源准确可靠 ,避免误差和歧义。
准确性验证
对功能点计算结果进行准确性验证,确保计 算结果符合实际情况和预期目标。
03
功能点计算的方法与步骤
确定功能类型
要点一
功能类型
确定功能点计算中的功能类型,如输入、输出、查询、处 理等。
要点二
功能类型分类
根据功能类型的特点,将其分为基本功能和可选功能,以 便于后续计算。
确定功能规模
功能规模
衡量功能的规模或复杂度,通常采用输入数据量、处理数据量、输出数据量等指标进行 评估。
规模分类
根据功能规模的大小,将其分为小型、中型和大型,以便于后续计算。
确定功能复杂度
功能复杂度
衡量功能的复杂程度,包括数据处理、逻辑处理、界面 交互等方面的复杂度。
评估软件开发复杂度
功能点计算可以反映软件的功能复杂度,帮助评估开 发难度和风险,为项目管理和决策提供支持。
软件产品定价
确定软件产品价格
基于功能点计算,可以估算软件产品的价值,为产品 定价提供参考。
制定价格策略
通过功能点计算,可以制定差异化的价格策略,满足不 同用户需求和市场竞争。
软件项目投资回报率预测
复杂度分类
根据功能复杂度的大小,将其分为简单、中等和复杂, 以便于后续计算。
确定功能点值
功能点值
根据功能类型、规模和复杂度,计算出每个 功能的点值。
点值计算公式
根据功能类型、规模和复杂度的权重,采用 相应的计算公式得出每个功能的点值。
04
功能点计算的应用场景
FPA功能点算法
按开发方式 软件
套装软件 由开发商开发的成型软件(一般不作定制或定制少) 定制软件 按用户需求定制开发的软件(一般交由外部厂商开发)
我们通常所指的软件度量,主要指定制软件的度量
7
软件的生命周期
按照ISO12207对软件工程生命周期的划分,软件的生命周期分为6个阶段
16
功能点分析方法内容 软件
功能点方法由5个仅取决 于需求规格说明的要素组成
内部逻 辑文件
外部接口 文件
外部 输入
外部 输出
外部 查询
17
功能点的五类要素
下列五要素中,前两种属于文件;后三种属于事务处理,它们涵盖 了终端用户和信息系统对象之间存在的所有可能的交互内容。
内部逻辑文件ILF (Internal Logical File),在信息系 统内部,为了完成相关功能使用的逻辑文件,包括顺序 文件、数据库表等 外部接口文件EIF (External Interface File),该系统 和外部其他信息系统为了交换数据而使用的接口文件 外部输入处理 EI (External Input),是获得数据的过 程,对终端用户的输入进行相关的处理 外部输出处理 EO (External Output),是反馈数据的过 程,完成对票据、报表等的输出 外部查询处理 EQ(External Inquiry),针对终端用户的 查询请求,输出相应的检索结果
反映
14
功能点标准概述
IFPUG
IFPUG (International Function Points Users’ Group)即国际功能点用户组是一个致 力于功能点分析研究的非营利性组织。 1986年IFPUG组织成立,后续的FP指南都是由 IFPUG组织所发布的Function Point Counting Practices Manual 系列版本
功能点计算方法(共34张PPT)
对现有应用程序修改:新增、删除和改变功能 也可能含转换功能点
应用系统
已安装的应用程序 评估应用程序目前为最终用户提供的功能,目前正被使用和
维护的所有应用程序功能点的和
识别项目的范围和边界
2003 加入ISO/IEC标准 LOC法则与开发技术密切相关 数据和控制信息集合是逻辑的并且是用户可识别的 3 or more FTR Application B LOC法则与开发技术密切相关 用户可识别的,由其它系统维护,在本系统引用的一组逻辑相关数据或控制信息,由本系统的基本处理过程引用。 为项目范围、工作量、资源、时间等因素进行估算提供了依据 事务功能(Transaction Function) 外部输入的基本目的是为了维护(包括增加、修改及删除数据等)一个内部逻辑文件(ILF)或者改变系统的行为。 20 to 50 DET EI(External Inputs)外部输入 标准功能点数偏差在10% 6 to 19 DET 外部输入的基本目的是为了维护(包括增加、修改及删除数据等)一个内部逻辑文件(ILF)或者改变系统的行为。 20 or more DET 以功能多少为主要工作量和造价制约因素。 功能点分析 以功能多少为主要工作量和造价制约因素。 5 to 15 DET
2
功能点分析
功能点分析
功能点分析
功能点分析(Function Point Analysis)是从用户角度度量软 件开发的一种标准方法。
功能点分析基于用户的逻辑功能需求,而不考虑应用的物理 实现
功能点计算步骤
项目
确定项目类型
开发项目
首次开发完成并安装使用 应用程序本身的功能点+数据转换带来的功能点
1 to 19 DET Low(5) Low(5) Average(7)
整理的功能点计算法
功能点描述功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
项目范围的估算在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分开计算。
FP功能点估算方法(共68张PPT)
FP的应用
✓ 工作量估算 项目功能点/生产率=项目工作量
✓ 人力成本预算 资源个数*平均工资=资源成本
生产率
工资
FP
平均成本
项目能否按期交付? 项目的收益?
2.FP估算过程
FP估算步骤
确定项目的计数范围
• 新开发项目 • 开发并交付软件应用的第一个正式版本项目
• 如:导出、报表、打印、出错信息。
• EQ: External Queries外部查询 • 系统向边界外发送数据,该数据未 经加工。
• 如:查询
• ILF: Internal Logical Files内部逻辑
文件
• 用户角度识别的,被系统边界内 维护的数据或控制信息。
• 数据库的表、独立的文件
• 用户看到的一个完整业务逻辑对象, 在系统内部可能对应多个数据表。
✓ IFPUG功能规模度量(Functional Size Measurement,FSM)
是用功能点分析(FPA)方法来度量软件功能规模的活动。
FP的目的
• 一个成功的软件项目首先要有一个好的起点,也就是一个合理的项 目计划;一个好的项目计划,离不开一个准确的、可信的、客观
的项目估算数据作为基础。 • 之所以要先制定项目计划,目的就是为了让项目更加可控。 • 加班是对不负责任的进度承诺的惩罚。
小结
FP计算过程
• 收集可得到的文档 • 确定计数范围和边界,识别功能用户需求 • 度量数据功能 • 度量事务功能
• 调整因子,计算功能规模
数据功能度量过程
• 识别数据功能(借助识别规则) • 分类数据功能ILF\EIF
• 判断RET和DET(借助计算规则) • 根据复杂度判定表计算复杂度
整理的功能点计算法
功能点描述功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
项目范围的估算在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质量模型的优点是细致入微,能够准确地评估和估算软件开发项目的工作量和进度,但需要较高的专业知识和经验。
帕金森法则是一种通过对软件开发过程中不同阶段的功能点数目进行估算,计算出工作量和进度的方法。
帕金森法则认为,在软件开发过程中,不同阶段的功能点数目呈指数增长的趋势,开发人员的工作量和进度也会随之增加。
帕金森法则的优点是简单易用,能够较为准确地预测软件开发项目的工作量和进度,但需要根据项目实际情况进行调整。
在实际使用过程中,功能点计算方法可以根据项目的不同需求和特点进行灵活调整和组合,以适应不同的软件开发项目。
通过合理地选择和应用功能点计算方法,可以帮助项目团队更好地评估和控制项目的进展,提高项目的成功率和效率。
IFPUG功能点估算方法使用指南
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. 目的本文档描述功能点估算的方法。
功能点估算法介绍及应用
一、功能点估算法识别项目范围和数据复杂度功能点估算法是软件项目管理众多知识中比较有技术含量的一个。
在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。
如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。
功能点估算法的特点项目范围的估算在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. 计算调整后的功能点数量。
功能点估算
若用C++语言编写,查阅前表得C++的功能点置换为53 行,则代码量为:
LOC 36 . 45 53 1931 . 85
16
1
功能点方法
计算公式:
未调整功能点数
技术复杂度因子
FP=UFC×TCF
2
功能点方法—未调功能项的加权和
输入、输出、查询、 外部文件、内部文件 功能点的复 杂度权重
3
功能点方法
功能点的复杂度权重 功能项 输入 输出 查询 外部文件 内部文件 权 重 范例:现假设一项 目的功能项中只含 两个简单的输入和 三个复杂的输出, 则原始功能点为 UFC=2 ×3 +3 ×7 =27
13
功能点转化为工作量
根据项目特性,查询相关资料将功能点转化为工作量 (一般是代码行数) 最为简单的方法:程序语言表格(见下页表)
14
程序设计语言 ACCEL Access EXCEL 1-2 EXCEL 3-4 EXCEL 5 JAVA ORACLE Oracle Developer/2000 C C++ dBase III dBase IV
9
功能点方法—技术复杂度因子
TCF共有14个组成部分,每个部分按照其对系统的重 要程度分为6个级别,有影响、影响很小、有一定影 响、重要、比较重要和很重要,相应赋予0-5的数值:
TCF ( 0 . 65 0 . 01
A i)
其中Ai为复杂度调整值,取值0-5
FP UFC ( 0 . 65 0 . 01
A i)
10
功能点方法—技术复杂度因子(续)
复杂度调整表
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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