




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 目的本文档规定了XX公司研发项目的软件估算过程,规范项目的软件估算过程,为项目计划过程提供软件估算方法。2. 适用范围本文档适用于XX公司范围内的研发项目。3. 参考资料 无。4. 术语定义术语定义技术专家估算中的技术专家包括技术经理,软件工程师或者其他技术专家5. 角色与职责无。6. 软件估算技术6.1 功能点技术 功能点计数的标准由IFPUG(International Function Point Users Group,国际功能点用户组)负责维护,可以在他们的网站找到该标准。 程序中的功能点数是根据下列对象的数量和复杂度得到的:外部输入:外部输入(Ext
2、ernal Input - EI)是指一个处理来自本应用边界之外的一组数据或者控制信息的基本处理。外部输入的基本目的是为了维护一个内部逻辑文件(ILF)或者改变系统的行为。具体为最终用户或其它程序用来增加、删除或改变程序数据的屏幕、表单、对话框或控制信号。外部输出:外部输出(External Output - EO)是指一个向应用边界之外发送数据或者控制信息的基本处理。外部输出的基本目的是为了向用户展示一组经过了除了提取之外的其他逻辑处理的数据或者控制信息。这里得其他处理包括至少一个数学演算或者对衍生数据的生成。外部输出也可能包括对内部逻辑文件(ILF)的维护或者对系统行为的改变。具体为程序生
3、成供最终用户或其它程序使用的屏幕、报表、图表或控制信号。外部查询:外部查询(External Query - EQ)是指是指一个向应用边界之外发送数据或者控制信息的基本处理。外部查询的基本目的是为了向用户展示提取的数据估算软件产品的规模主要依靠过去相关的经验,估算人员应当具有相似系统的开发经验,利用自上而下(top-down)或者自下而上(bottom-up)方式进行软件规模的估算。具体为输入/输出组合,其中一个输入引出一个即时的简单输出。内部逻辑文件(Internal Logical File):完全由程序控制的存在逻辑关联的一组最终用户数据或控制信息。逻辑文件可能是一个平面文件(flat
4、file),也可能是关系数据库中一个表。外部接口文件(External Interface File):受其它程序控制的文件,而且正在计算功能点的程序就是与该文件进行交互的。例如,进入或离开程序的所有存在逻辑关联的一组数据或控制信息。下表说明了将对输入和输出等的计数转换成原始功能点计数值的方法。这些数值的和就是原始功能点计数值。功能点程序特性低复杂度中复杂度高复杂度外部输入_*3_*4_*6外部输出_*4_*5_*7外部查询_*3_*4_*6内部逻辑文件_*7_*10_*15外部接口文件_*5_*7_*10计算出原始功能点计数值后,可以根据14个因素对程序的影响计算出影响力乘数。这些因素包括数
5、据通信、在线数据录入、处理复杂度、安装简易度等。影响力乘数的取值范围是0.65-1.35。使用原始功能点计数值乘以影响力乘数,可以得到调整后的功能点计数值。下表提供了一个计算最终的调整后功能点总数的例子。表中显示的输入、输出、查询、内部逻辑文件和外部接口文件的特定数量仅仅是用来解释计算方法的。计算功能点数如下:功能点程序特性低复杂度中复杂度高复杂度外部输入6_*32_*43_*6外部输出7_*47_*50_*7外部查询0_*32_*44_*6内部逻辑文件0_*72_*103_*15外部接口文件2_*50_*77_*10原始功能点总数284影响力乘数1.0调整后功能点总数2846.2 代码行技术
6、代码行技术是一种简单而直观的软件规模估算方法,它从过去开发类似产品的经验和历史数据出发,估算出所开发软件的代码行数。开发人员需要给出软件的范围描述,并进一步将软件分解成一些尽量小且可分别独立估算的子功能,通过估算每一个子功能并将其代码行数累加得到整个系统的代码行数。 估算时,要求评估人员给出乐观的( a )、可能的( m )、悲观的( b )三种情况,并采用以下公式计算估算结果,其中 L 是软件的代码行数,单位是行代码 LOC 或千行代码 kLOC 。 L ( a 4m b ) 6 举例:某软件系统中有一个指定窗口对象,开发人员估算处理该窗口编辑所需的支持代码在 200 400 行之间,并且认
7、为接近 200 行,这时最终的估算结果可能是: 266 LOC 计算代码行应遵循以下原则: 保证每个计算的“源代码行”只包含一个源语句; 计算所有交付的、可执行的语句; 数据定义只计算一次; 不计算注释行; 不计算诸如测试行、测试用例、开发工具、原型工具等使用的调试代码或临时代码; 在每一个出现的地方,每条宏的调用、激活或包含都作为源代码的一部分。 代码行技术的优点是简单方便,在历史数据可靠的情况下可以很快估算出比较准确的代码行数;其缺点是这种方法需要依赖比较详细的功能分解结果,难以在开发初期进行估算,其估算结果与所用的开发语言紧密相关,且无法适用于非过程语言。7. 软件估算方法7.1 自上而
8、下估算法该方法首先对整个系统进行总工作量估算,再考虑子系统,把总工作量逐步分解为各组成部分的工作量,并考虑到开发该软件所需要的资源、人员、质量保证、系统集成安装等的工作量。优点:估算的工作量小,速度快。缺点:对项目中的特殊困难估算不足,估算出来的工作量盲目性大,有时会遗漏被开发软件的某些部分。例如:接到一个周期为6个月的项目,项目经理可能做如下估算: 一个月:需求分析 一个月:设计 两个月:编码 两个月:测试再根据这个估算对每个阶段进一步估算和规划。7.2 自下而上估算法该方法是按组件划分,先对每个组件的工作量估算,然后总计得到整个项目的规模和工作量。优点:估算各个部分的准确性高,能提高参与人
9、的责任心;缺点:缺少各项子任务间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量。所以往往估算值偏低,必须用其它方法进行检验和校正。7.3 Delphi法在组织没有历史经验数据可供参考的情况下,或者历史经验数据库中有少于3 个类似项目的经验数据时,选择使用Delphi 法。Delphi 法可以使用会议形式或者独立估算形式。Delphi 法是最流行的专家估算技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别。尽管Delphi 技术可以减轻这种偏差,但专家“专”的程度及对项目的理解程度是工作中的难点。Delphi 法鼓励参加者就问题相互讨论。这个技
10、术,要求有多种软件相关经验人的参与,互相说服对方。Delphi 法通过多次独立的估算,使最终的结果趋于一致,从而得到最后的结果。Delphi 法估算出来的规模采用源代码代码行(SLOC)为单位,不利于采用不同开发语言的软件产品之间进行比较。Delphi法的估算过程:(1)协调人向各专家提供项目规格和估算表格;(2)协调人召集小组会各专家讨论与规模相关的因素;(3)各专家匿名填写迭代表格;(4)协调人整理出一个估算总结,以迭代表的形式返回专家;(5)协调人召集小组会,讨论较大的估算差异;(6)专家复查估算总结并在迭代表上提交另一个匿名估算;(7)重复4-6,知道达到一个最低和最高估算的一致。7.
11、4 类比法如果组织已经建立了历史经验数据库,并且历史经验数据库中有多于3 个(包括3 个)类似项目的经验数据时,则由程序经理根据历史经验数据库中的类似项目的数据进行估算。类比法适用于估算一些与历史项目在应用领域、环境和复杂度上相似的项目,通过新项目与历史项目的比较得到规模估算。类比法估算结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。基本的类比估算过程:(1)获取以前相似项目详细的规模、工作量和成本结果数据。如果可能的话,应按照特性领域、工作分解结构(WBS)类别或其他分解方案分解后的信息进行
12、获取;(2)逐个部分地比较新项目和旧项目的规模;(3)根据新项目相对旧项目的比例估算其规模;(4)根据新项目规模相对旧项目规模的情况计算工作量估算值;(5)检查新旧两个项目中的假设是否一致。7.5 专家判断法到目前为止,专家的个人判断是实践中最常用的估算方法。对单个任务的专家判断估算构成了自底向上的估算的基础。7.6 挣值管理法 挣值管理(EVM)术语表2000版术语说明解释1996版术语说明PVPlanned Value(计划值)应该完成多少工作BCWS(计划工作的预算成本)计划工作预算成本EVEarned Value(挣值)完成了多少预算工作BCWP(完成工作的预算成本)完成工作预算成本A
13、CActual Cost(实际成本)完成工作的实际成本ACWP(完成工作的实际成本)完成工作的实际成本BACBudget at Completion(完工预算)全部工作的预算Budget at Completion(完工预算)全部工作的预算EACEstimate at Completion(完工估算)全部工作的成本Estimate at Completion(完工估算)全部工作的成本ETCEstimate to Complete(完工尚需估算)全部工作在当前预计的成本Estimate to Complete(完工尚需估算)全部工作在当前预计的成本计划成本(BCWS:Budgeted Cost
14、of Work scheduled): 当前报告期结束时所有预计要完成任务的成本的总和。进度预算(BCWP:Budgeted Cost of Work Performed): 当前报告期结束时已经完成任务的预算成本之和。实际成本(ACWP:Actual Cost of Work Performed): 已经完成任务的实际成本之和。成本偏差(CV): 成本偏差=BCWP-ACWP “+”有利;“-”不利 CV(%)=(CV)*100/BCWP成本绩效系数: CPI=(BCWP/ACWP) 1有利;1不利进度偏差(SV): 进度偏差=BCWP-BCWS “+”有利;“-”不利 SV(%)=(SV)
15、*100/BCWS进度绩效系数: SPI=(BCWP/BCWS) 1有利;1不利其它度量完工尚需估算: ETC=EAC-ACWP完工估算: EAC=BAC/CPI EAC=ACWP+(BAC-BCWP)/CPI其它挣值性能度量数据日程性能指数(SPI): SPI=BCWP/BCWS 1.0表示项目进度领先于日程表;1.0表示项目进度落后于日程表成本性能指数(CPI): CPI=BCWP/ACWP 1.0表示项目在预算之内;1.0表示项目超出预算8. 软件估算项8.1 估算软件规模 可以采用Delphi法、自上而下估算法、自下而上估算法估算软件规模。8.2 估算成本和工作量项目工作量估算在项目规
16、模估算的基础上,估算完成这些工作需要的时间,使用人日表示。推荐使用类比估算法和专家评定法。估算方法如下:1、在规模估算记录表格中,首先为每个工作产品组件估算其工作量;2、估算每个工作产品组件的工作量时,应包括该组件所需的需求调研、设计、编码、测试及文档的工作量,即开发此组件的开发工作量;3、估算工作量时需要考虑到风险,建议对估算结果加上一个冗余值;4、在工作量及成本估算过程记录表格中,项目开发的工作量为每个组件工作量的总和,项目管理的工作量预设为项目开发工作量的30%,该数据可以由项目经理修订,但需要说明原因;5、对于经过修改可以重用的组件也需要估算修改的工作量。项目成本估算1、估算项目支持活
17、动的成本,使用下面公式分别估算配置管理、质量保证的工作量:配置管理工作量 = 软件的工作量* 5%质量管理工作量 = 软件的工作量* 5%2、项目组应和SCM和SQA组讨论对CM、QA活动建立总体的估算。对于在最初使用该估算的项目,其估算大约为开发工作量5%,然后将此工作量分配到各自WBS的具体活动中。随着历史数据的不断积累,可重新定义其占有开发工作量的比例,也可先对具体WBS活动进行估算,此时可采用Delphi方法及类比法。3、估算出培训项目组的工作量,大概是软件工作量的3%。4、估算出项目管理活动的工作量,近似于软件工作量的15%20%。采用专家判断法(见7.5)。8.3 制定进度表正常情
18、况下,项目的完成时间和主要里程碑是根据软件项目的工作量和可分配资源的数量来决定的,但有时在项目的早期主要里程碑的时间就已经确定了,这样就需要增加可分配的资源来满足,这项工作必须由有丰富经验的人来完成。进度的估算可以按下面的步骤进行:1、 进度表的估算和安排是由项目经理或委托的专门人员来负责完成的。依据是估算的工作量和人员资源的可用性,项目经理按照如下过程完成进度表的估算。2、 最开始是估算每个活动的时间段,对大多数活动来说,应当用估算的工作量除以用于该活动的资源的比率来计算时间段。一般来说,一个全职的工作组成员用70%-80%的时间直接进行项目活动。因此如果标准的工作周是40 个小时,你应当使用30小时/周的比率作为估算时间段的基准。一些活动,例如代码检查,可能需要指定的共同时间来完成;在这种情况应使用预计的公用实践作为时间段。3、 下一步是项目经理确定活动之间的所有关系。如果使用Excel,这一步需要用文本记录每个活动开始前所必须完成的活动。可以通过画一个网络图表并给每一个活动标明起始日期和截止日期,如果使用Project工具,项目经理需要定义每一个任务的属性和任务间的关系,Project工具会自动建立工作网络图和关键路径以及其他有用的信息。这可以用项目进度表的Project文件来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理说课:电除颤
- 商品质量验货合同(2篇)
- 感控专职人员培训课件
- 教科版(2017)科学五年下册《热在金属中的传递》说课(附反思、板书)课件
- 汽车洗车美容服务协议
- 户外广告合同
- 仓库管理员年终总结
- D模型设计服务协议
- 护理安全不良事件
- 抗体专利培训
- 中学生人生规划调查表
- 四川省宜宾市2022-2023学年八年级下学期期末数学试题( 含答案解析 )
- 黄斑水肿护理查房
- 创业带动就业补贴花名册
- 特种设备作业人员体检表(叉车)
- 正己烷-危险化学品安全标签
- 永磁同步电机矢量控制方法的研究毕业论文(设计)
- FMEA潜在失效模式及分析标准表格模版
- 停车场月租卡办理登记表
- 项目六建筑工程项目成本管理
- 深基坑格构柱塔吊基础专项施工方案
评论
0/150
提交评论