功能点计算方法.ppt
功能点计算方法,IFPUG起源,IFPUG起源1979 IBM提出需求:以一种独立于计算机语言的方法来评估软件开发成果20世纪80年代初,正式的FP使用指南发布20世纪80年代末,IFPUG成立1988 FP CPM release 2.01990 FP CPM release 3.01994 FP CPM release 4.01999 FP CPM release 4.12003 加入ISO/IEC标准2004 FP CPM release 4.2,功能点标准概述,什么是功能点功能点(Function Points)是度量软件规模的一个标准度量单元一个软件的大小可以通过交付给用户的功能点数来度量,成为一种国际标准。在软件度量中广泛应用,将系统分解成更小的模块,便于理解和分析为项目范围、工作量、资源、时间等因素进行估算提供了依据,FP与LOC的区别,常见的方法FP功能点法LOC代码行估算时间FP法常用在项目开始或项目需求基本明确时使用,估算的结果准确性较高而使用LOC代码行估算法则误差较大开发技术相关性使用FP法无需懂得软件的开发技术LOC法则与开发技术密切相关估算角度FP法以用户为角度进行估算LOC法则以技术为角度进行估算,FP的特点,简单快速、甲方易理解、可开展行业比对、完整估算方案、有明确定义:存在多个兼容的国际标准、不同的估算者误差在10%以内,有利于:需求分析、需求管理、绩效评价。给我们一种视角来审视项目。,FP的适用范围,功能点:国际最流行的规模度量方法功能点成功应用:从固定价格改为按功能点付费哪些软件适用:以数据和交互处理为中心的;以功能多少为主要工作量和造价制约因素。例如:电子政务、银行、电信、办公自动化等开发技术相关性不合用的软件:数据处理过程复杂、创意型软件、对性能或质量有特殊要求的,例如:杀毒软件、网络游戏、航空航天软件、视频和图形处理软件,功能点标准概述,功能点标准概述,功能点分析,功能点分析功能点分析(Function Point Analysis)是从用户角度度量软件开发的一种标准方法。功能点分析基于用户的逻辑功能需求,而不考虑应用的物理实现,功能点计算步骤,项目,确定项目类型,开发项目首次开发完成并安装使用应用程序本身的功能点+数据转换带来的功能点升级项目对现有应用程序修改:新增、删除和改变功能也可能含转换功能点应用系统已安装的应用程序评估应用程序目前为最终用户提供的功能,目前正被使用和维护的所有应用程序功能点的和,识别项目的范围和边界,功能点分析方法,把用户的业务功能需求分为数据功能需求和处理数据的事务功能需求数据分为应用内部逻辑数据和应用外部的接口数据,事务分为对数据的外部输入、输出和查询分别分析这些组成部分的功能点,确定功能点类型,数据类型的功能点ILF 内部逻辑文件(Internal Logical File)EIF 外部接口文件(External Interface File)对ILF和EIF复杂度的计算可简单理解为对业务数据复杂度的计算。复杂性由数据元素类型(DET)和记录元素类型(RET)人机交互类型(事务)的功能点EI 外部输入(External Input)EO 外部输出(External Output)EQ 外部查询(External Inquiry)对EIEOEQ复杂度的计算可理解对为业务实现复杂度的计算,复杂性由数据元素类型(DET)和文件引用类型(FTR)决定,识别数据功能和识别事务功能,ILF概念,ILF(Internal Logical Files)内部逻辑文件概念:用户可识别的系统边界以内的一组逻辑关联的数据或者控制信息,ILF由系统的基本处理过程来维护ILF识别规则:须满足以下条件:数据和控制信息集合是逻辑的并且是用户可识别的数据集合在系统边界内部由基本处理过程维护,EIF概念,EIF(External Interface Files)外部接口文件用户可识别的,由其它系统维护,在本系统引用的一组逻辑相关数据或控制信息,由本系统的基本处理过程引用。是其它系统的内部逻辑文件EIF识别规则:须满足以下条件数据和控制信息集合是逻辑的并且是用户可识别的数据组是从系统外部被引用的数据组不被系统维护数据组被另外一个系统作为ILF维护,快速功能点计算方法,功能点计算:规模=10*ILF(内部逻辑文件)+7*EIF(外部逻辑文件)+4*EL(输入)+5*EO(输出)+4*EQ(查询)标准功能点数偏差在10%需求文档和设计文档,可做功能点数计算快速功能点的计算:规模=35*ILF(内部逻辑文件)+15*EIF(外部逻辑文件)快速功能点方法偏差20%快速功能点方法:在招投标之前做估算或是需求提出阶段时,快速功能点计算方法,逻辑文件计数次数:任何逻辑文件仅被计数一次:多个模块重复操作一个ILF只识别1次多个模块重复操作一个EIF只识别1次优先计算ILF,权值比较高(用模板操作的时候,正好是反过来)配置信息(编码文件):配置文件、配置菜单、配置表等不属于文件,EI,EI(External Inputs)外部输入EI是指一个处理来自本应用边界之外的一组数据或者控制信息的基本处理过程。外部输入的基本目的是为了维护(包括增加、修改及删除数据等)一个内部逻辑文件(ILF)或者改变系统的行为。,EO,EO(External Outputs)外部输出EO是指一个向应用边界之外或用户提供经过加工处理的数据或者控制信息的基本处理过程。外部输出的基本目的是为了向用户展示一组经过了除了提取之外的其它逻辑处理的数据或者控制信息。这里的其它处理包括至少一个数学演算或者对衍生数据的生成。EO输出可以有两种方式,提供给应用外的数据以及给用户展示的数据。比较典型的输出就是系统产生的各种报表,EQ,EQ(External Inquiries)外部查询EQ是指一个向应用边界之外发送数据或者控制信息的基本处理过程。外部查询的基本目的是为了向用户展示提取的数据或者控制信息。外部查询的逻辑处理里面不包含数学公式或者计算、不会修改ILF、也不改变系统行为,功能点标准概述,数据功能(Data Function)ILFEIF,功能点标准概述,事务功能(Transaction Function)EI,功能点标准概述,事务功能(Transaction Function)EO,功能点标准概述,事务功能EQ,功能点标准概述,确定系统的14个特征值FPA方法认为有14个因素影响FP的个数这14个特征值根据SRS的内容来判断非功能需求设计约束根据每个特征值的特点,决定它的取值,取值范围介于0到5之间,功能点标准概述,调整因子,计算调整系数VAF=(TDI*0.01)+0.65TDI(TOTAL DEGREE OF INFLUENCE)0.65VAF1.35基本公式:FP=UFP*VAF计算功能点FPC=UFP*VAF,谢谢!,