功能点描述功能点估算法是软件项目管理众多知识中比较有技术含量的一个。在软件项目管理中项目计划制定的优劣直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要,如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义。项目范围的估算在CMMI的“MA”度量分析管理和“PP”项目计划中均有涉及,对软件项目范围的估算有很多种方法,常见的就是LOC代码行和FP功能点法,它们之间的区别和关系如下:1、 FP功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高,假如这个时候使用LOC代码行估算法,则误差会比较大。2、 使用FP功能点估算法无需懂得软件使用何种开发技术。LOC代码行估算法与软件开发技术密切相关。3、 FP功能点法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算的。4、 通过一些行业标准或企业自身度量的分析,FP功能点估算法是可以转换为LOC代码行的。在项目刚开始的时候进行功能点估算可以对项目的范围进行预测,在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同,因此在项目结束时还需要对项目的范围情况进行估算,这个时候估算的结果才能最准确反映项目的规模。功能点的公式:l 功能点的原始计算公式:FPCount=UFP*VAF l 新开发项目有时新开发的软件项目也需要与其他现存的软件系统进行整合,例如:一个企业新开发的MIS内部管理系统经常会与财务系统进行整合。这个时候除了考虑本身项目的功能点个数外,还要考虑系统整合或数据迁移部分的工作量,因此其功能点计算公式如下:FPCount=(UFP+CFP)*VAF 二次开发的项目有时新开发的软件项目是在原有基础上进行二次开发的,只是为了增加一些新的功能,因此其功能点计算公式如下:FPCount=ADD*VAF 术语英文中文含义ADDAddedfunctionality被添加的功能点个数CFPConversionfunctionality被转换的功能点个数CHGAUFPofchangedfunctionalityafterenhancement功能增强后所改动的功能所贡献的未调整的功能点个数DELDeletedfunctionality被删除的功能点个数UFPUnadjustedfunctionalpointcount未调整的功能点个数VAFValueadjustmentfactorVAF=(sumof(DI)*)+=(sumof(DI)*)+:未调整的功能点个数人机交互(程序复杂度)(1)、 EI:ExternalInput外部输入(2)、 EO:ExternalOutput外部输出(3)、 EQ:ExternalInquiry外部查询数据存储(数据库复杂度)1、 ILF:InternalLogicalFile内部逻辑文件2、 EIF:ExternalInterfaceFile外部接口文件识别功能点的重要原则ILF、EIF要与EI、EO、EQ分开计算。对ILF和EIF复杂度的计算可以简单理解为对数据库复杂度的计算。对EI、EO、EQ复杂度的计算可以理解为对程序开发复杂度的计算。一般软件项目都是由数据和程序构成的,因此计算ILF、EIF和计算EI、EO、EQ之间没有任何关系。参数介绍 :数据单元类型(DataElementType,DET)用户可识别的无递归、不重复的信息单元。记录单元类型(RecordElementType,RET)在ILF或EIF中,用户可识别的数据域的子集,可以通过检查数据中的各种逻辑分组来识别它们。引用文件类型(Referenced,FTR)被事务功能读取或维护的内部逻辑文件(ILF),或者是被事务功能读取的外部接口文件(EIF)。(1)EI、EQ和EO的技术复杂的计算复杂性取决于FTRs和DETs的数量。FTR是被一个事物操作读取或维护的一个ILF,或者是被一个事物操作读取的一个EIF。EI中识别FTR规则● 每一个ILF应该算做一个FTR。● 通过EI读取操作的每个ILF或EIF都应该被计算为一个FTR。● 即被EI维护又被读取的ILF仅计算一个FTR。EI中识别DET规则● 在EI的过程中,以用户角度识别的,通过应用系统边界输入系统内部的非重复的字段,那么该字段应算一个DET
整理功能点计算法 来自淘豆网m.daumloan.com转载请标明出处.