您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Primavera功能点方法与软件研发项目规模成本估算
Primavera软件系统中的功能点方法与软件研发项目规模成本估算上海普华科技发展有限公司胡晓俊Primavera系统中的功能点估算方法概述功能点估算的概念功能点估算是一种基于软件需求特性对软件项目的规模进行估测的方法。1979年IBM公司的AlanAlbrech首先开发了计算功能点的方法,这种方法是通过评估和计量软件产品所需的内部基本功能和外部基本功能数目,再根据技术复杂度因子(权重)对这些软件功能计数进行量化,得到软件研发项目规模的最终结果。并且这个结果与软件的成本估算有着密切的关系。另外功能点这种估算方法与实现产品所使用的编程语言和技术没有关系,可以用于各种软件开发项目的规模估算中,目前功能点的估算方法已经被广泛的认可在信息系统、数据库密集型、4GL应用系统开发的规模测量中。功能点的估算有两个目的:第一是作为软件规模的测量、对比和分析(如软件度量方法)的基础;第二,也是更重要的目标,是作为软件成本估计模型的输入,软件的成本估计则是基于功能点和工作量之间的经验成本估计关系(CER)进行的。Primavera系统是一个应用于多行业的企业级项目管理的综合平台,主要应用于企业的多项目时间进度的管理、资源角色管理、费用成本管理、沟通管理、综合管理等项目管理领域。功能点估算的功能可以在Primavera系统ProjectManagement组件中的一个自上而下估算的工具中实现。这个工具只是整个Primavera系统中的一小部分,但它将自上而下估算的方法和功能点估算的方法演绎成可实际操作应用的步骤,功能点估算的过程功能点的估算可以划分为三个步骤:统计未调整的功能点计数(UFP)、统计总影响度(TDI)和计算最终调整功能点计数(FP)。其中最终调整功能点计数就是我们功能点估算的最终结果。它是用来度量软件产品功能的标准单位,并可作为软件研发项目规模成本估算的基础。功能点的计算公式为:FP=UFC×TCF,TCF称为技术复杂度因子,是由总影响度TDI计算出来的:TCF=0.65+0.01×TDI。因此功能点的计算公式也可以表示为:FP=UFC×(0.65+0.01×TDI),如下图所示。过程示意图:第一步:计算未调整的功能点计数(UFP)计算输入:用于估算第三步最终功能点计数(FP)的计算统计未调整功能点计数(UFP)统计总影响度(TDI)计算最终调整功能点计数(FP)用于估算第一步的未调整功能点计数(UFP)的计算用于估算第二步的总影响度(TDI)的计算软件各种复杂度功能特性的计数各种复杂度的权重因子当前这种类型功能计数的加权总和所有类型功能计数的加权总和内部逻辑文件(ILF)是最终用户可以进行维护和识别的逻辑相关数据组,这些数据通过外部输入维护并完全保存在应用程序的内部。最低、平均和最高复杂度的权重分别为7、10和15。外部接口文件(EIF)外部接口文件是仅用于引用目的的逻辑相关数据的用户可识别的组。数据完全驻留在应用程序外部,由其它应用程序所维护。外部接口文件是其它应用程序的内部逻辑文件。最低、平均和最高复杂度的权重分别为5、7和10。外部输入(EI)外部输入是数据由外向内跨越边界的基本处理过程。数据可能来自于数据输入屏幕、电子输入或其它应用程序。数据可以是控制信息或业务信息。如果数据是业务信息,它用于维护一个或多个内部逻辑文件。如果数据是控制信息,它不必更新内部逻辑文件。最低、平均和最高复杂度的权重分别为3、4和6。外部输出(EO)外部输出是导出的数据由内向外跨越边界的基本处理过程。数据创建发送给其它应用的报表或输出文件。这些报表和文件由一个或多个内部逻辑文件和外部接口文件所创建。最低、平均和最高复杂度的权重分别为4、5和7。外部查询(EQ)外部查询是包括输入和输出构件的基本处理过程。输入和输出构件导致一个或多个内部逻辑文件和外部接口文件的数据检索。该信息被发送出应用程序边界。输入过程不会更新任何内部逻辑文件以及输出不包含导出的数据。最低、平均和最高复杂度的权重分别为3、4和6。计算输出:未调整的功能点计数(UFP)未调整的功能点计数是对各种复杂度的内部逻辑文件、外部接口文件、外部输入、外部输出和外部查询的加权合计。第二步:计算总影响度因子(TDI)计算输入:总影响度因子是14个系统特征值的累计总和,每个系统特征值采用0~5的分值进行计量,分别代表无影响(noinfluence)、偶尔影响(incidental)、适度影响(moderate)、平均影响(average)、重大影响(significant)和根本性影响(essential),具体的评分标准含义这里不详述了,使用Primavera系统的用户可以在功能点估算的系统特征对话框中找到每一个系统特征含义的说明和每一个系统特征取值的评分标准的说明,这些说明可以帮助实施功能点估算的人员进行判断和取值。确定分布式数据处理(DistributedDataProcessing)的分值,该值表明分布式数据和功能如何被处理。确定配置项负载(HeavilyUsedConfiguration)的分值,该值表明对当前的硬件平台的使用程度。确定性能(Performance)的分值,该值表明用户对响应时间或吞吐量是否有所要求。确定事务率(TransactionRate)的分值,该值表明事务执行的频繁程度。确定安装容易程度(InstallationEase)的分值,该值表明转换和安装的困难程度多大。确定在线更新(OnlineUpdate)的分值,该值表明多少内部逻辑文件会被在线的事务更新。确定复杂处理(ComplexProcessing)的分值,该值表明应用软件是否具有大量的逻辑或数学处理。确定操作容易程度(OperationalEase)的分值,该值表明应用软件在启动、当前选中系统特征的含义描述说明每个系统特征的每个分值得具体含义的说明备份和恢复的有效性/自动化程度。确定用户使用效率(End-UserEfficiency)的分值,该值表明应用软件是否就最终用户使用效率上有所设计。确定修改容易程度(FacilitateChange)的分值,该值表明应用软件是否被设计以方便于修改。确定多个地点(MultipleSites)的分值,该值表明应用软件是否设计支持多个地点场所/机构。确定重用性(Reusability)的分值,该值表明应用软件开发以满足一个或是多个用户的需要。确定在线数据项(On-lineDataEntry)的分值,该值表明百分之多少的信息是在线输入的。确定系统特征数据通讯(DataCommunications)的分值,该值表明系统具有多少数据通讯设备。计算输出:总影响度因子(TDI)是14个系统特征分值的累计总和。第三步:计算最终调整功能点计数(FP)最终调整功能点计数可以通过该公式进行计算,FP=UFC×(0.65+0.01×TDI)。即它由前面步骤中得出的未调整功能点计数(UFP)和总的影响度(TDI)来确定。如何通过Primavera实现软件研发项目规模成本估算Primavera软件中的自上而下的估算方法能够在项目计划编制的前期对其规模、进最终调整功能点(FP)的计算公式度和成本进行预估,这不仅可以对项目风险和投资赢利情况作一个预测,也对以后的项目计划编制提供了参考。相比其他的各种软件规模的估算方法,这种自上而下的估算方法所能获得的数据是较为精确的,但是如果直接手工的去进行估算,在算法上会较为费时费力,所以我们可以借助一些软件的工具来实现,例如在Primavera的项目管理解决方案中,我们就可以利用其中的自上而下估算功能(包括功能点估算)来实现软件研发项目早期的规模、成本、进度的预估。例如在某个公司在对财务软件系统的集成升级过程中就使用这种方法。该软件研发的项目计划是在04年8月份开始的。在其开始之前我们并不是急于编制实施计划,而是先对需要开发的这个系统的功能数量进行测量,并采用功能点这种标准单位来度量,以获得当前这个项目的规模情况,通过本公司的研发团队的平均产量等历史经验值将该软件规模的功能点折算成项目所需总的人工或非人工资源数量,以便我们今后的计划编制过程中确定每道作业的计划工期和每个资源的预算用量。另外通过Primavera软件系统也可以实现项目经验和方法的积累提炼和重复利用,这是在Primavera软件系统的MethodologyManagement组件中实现的。它可以将一些类似项目的历史数据和方法保存成可以供新项目参考利用模板,例如我们在这个财务系统的集成开发项目中就可以使用MethodologyManagement库中的某个类似的模板来快速建立一个成本、进度估算模型和框架。关于这方面的详细内容不在本文讨论范围内。我们接下来就以这个财务软件系统的集成项目为例,讨论一下通过Primavera系统进行软件研发项目规模成本及进度估算的具体实现。为了讨论的方便,我们简化了该项目进度计划的内容。1)估算软件研发项目的功能点计数软件项目的功能点估算的值是作为软件规模和成本估算的基础,因此我们首先对该软件研发项目的功能点做统计。实际上,在Primavera的自上而下估算方法中可以采用两种估算方法:第一种是直接利用先前的经验数据来做估算,即可以通过人为的经验判断来确定项目所需的人工或非人工资源数量,在人为判断的过程中也可以利用历史上类似项目的情况作参考,比如可以参考MethodologyManagement中相关的历史数据。这种方法较多的应用在传统的工程建设项目上,但不太适合于软件研发项目估算,因为其达不到软件开发项目对估算结果精确度的要求。第二种方法是基于功能点的估算来确定项目所需资源数量。这种方法因其独有的统计方式和计算方法仅针对软件研发项目,所以无法应用在别的类型项目的估算上。如下图,在使用Primavera软件的自上而下估算功能时,首先将估算方法调整为功能点的方法,通常功能点是要通过统计和计算得出的,继而得出项目所需的人工数量或非人工数量,因此这里我们需要先进入到功能点计算的界面中去。另外,简便期间,本案例中我们仅基于功能点来估算人工数量,事实上它也可以基于功能点估算非人工数量。我们还可以选择在整个财务系统集成项目中进行估算还是在该项目某一块特定的范围内进行估算,这里我们选择整个项目。根据之前的介绍,功能点的计算可以分为三个步骤:计算未调整功能点计数(UFP);计算总影响度(TDI);计算最终功能点计数(FP)。第一步:该软件研发项目的项目经理负责对功能点进行估计,并从该项目软件技术人员那里获取软件相关的计数项的统计。在对当前财务系统集成项目的目标软选择本次对人工资源估算基于功能点估算人工数估算范围为整个项目进入功能点的统计计算界面该按钮用于统计和计算未调整功能点计数(UFP)该按钮用于计算总影响度(TDI)系统将自动根据UFP和TDI计算出最终功能点计数(FP)件特性进行分析后可以统计出以下数据。复杂度各计数项简单中等复杂内部逻辑文件902外部接口文件523外部输入543外部输出661外部查询133这些数据可以直接作为Primavera功能点估算界面中未调整功能点计数的输入内容。计算方法即将统计出的各项乘以相应的权重求和,计算结果就是各项计数的加权总和(UFP=305)。第二步:根据系统特征确定软件的14个技术复杂度因子(TCF),假设这里的技术复杂度都为平均值。那么可以得出总的影响度TDI=∑Fi=42。其中Fi为14个技术复杂度因子的取值,它的取值范围为0~5,这里我们假设全部取平均值3。第三步:根据最终调整功能点计数的计算公式FP=UFC×(0.65+0.01×TDI),可以计算出最终功能点计数FP=326。这个值就是我们进行功能点估算的最终结果。2)估算项目所需的资源数量并按权重分摊在确定软件研发项目规模的功能点以后,可以根据当前企业的研发实力和效率将功能点的计数折算成该项目所需的人工或非人工资源数量,即我们希望知道以当前企业的实际生产率来完成这样规模的软件研发项目究竟需要投入多少人力和物力,并且在这里我们用工时或
本文标题:Primavera功能点方法与软件研发项目规模成本估算
链接地址:https://www.777doc.com/doc-755955 .html