代码量估计的多种方法

上传人:宝路 文档编号:47149781 上传时间:2018-06-30 格式:PPT 页数:72 大小:399.97KB
返回 下载 相关 举报
代码量估计的多种方法_第1页
第1页 / 共72页
代码量估计的多种方法_第2页
第2页 / 共72页
代码量估计的多种方法_第3页
第3页 / 共72页
代码量估计的多种方法_第4页
第4页 / 共72页
代码量估计的多种方法_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《代码量估计的多种方法》由会员分享,可在线阅读,更多相关《代码量估计的多种方法(72页珍藏版)》请在金锄头文库上搜索。

1、第二部分 第5章 软件项目计划厦门大学软件学院 林坤辉第5章 软件项目计划5.1 软件项目估算的概念合理的计划是建立在对要完成的工作做出一 个比较实际的估计,以及对完成该工作建立 一些必要的约定的基础上的。项目计划中的第一个活动是估算。无论何时 进行估算,我们都是在预测未来,并会接受 某种程度的不确定性。估算的基础是对软件相应项目的度量。估算一个软件开发工作的资源、成本及进度 需要经验、需要了解以前的有用信息、以及 当仅存在定性的数据时进行定量测量的勇气 。估算具有与生俱来的风险,而正是这种风险 导致了估算的不确定性。估算的风险有四个方面:5.2 软件估算风险1、项目复杂性 项目复杂性对计划中

2、固有的不确定性产生重 大影响,不过,复杂性是一个受到对以前工作 的熟悉程度影响的相对的测量。2、项目规模 项目规模是另一个影响估算准确性的因素。随着规模的增长,软件中各个元素之间的 相互依赖性也迅速增加,项目规模的增长会对项目的成本及进度产 生几何级数级的影响。3、结构不确定性的程度 结构不确定性的程度也会对估算的风险产生 影响。 结构化程度越高,对功能等的分解程度越容 易,估算的精度越高、风险越小。4、历史信息的可用程度 历史信息的可用程度也决定了估算的风险。当存在大量可用的关于过去的类似项目的 软件度量时,估算就会有更大的保证;总体风 险也会降低。5.3 估算的步骤 1、估算的注意点估算的

3、前提是系统的规模可通过功能点、复杂 度或代码行等技术确定;估算的主要内容是工作量和成本估算;估算的范围包括,软件生命周期的各阶段;如果有类似项目的开发经验(即历史基线完备 ),则生产率等数据可直接使用这些数据;如果没有类似项目的开发经验,则生产率等 数据可由历史基线的平均值得出,或者用专 家问卷的方法(即Delphi法)得到;Delphi法是一种利用调查表,充分利用群体知 识和经验的一种估算方法.为了反映通货膨胀、项目复杂性增加、新员 工较多等的影响,应随时修正平均生产率的 度量值。估算的各种假设、条件等均应记入文档,并 通过评审。PERT 估算方法PERT: Program Evaluati

4、on 参照类似项目历史基线的工作量分配比例,确 定各个阶段的工作量以及管理工作量和附加工 作量;5.4 工作量的估算如果没有类似项目历史基线可参照,通过 Delphi 或PERT方法确定,或者参照已有项 目历史基线的平均值;考虑项目的特定因素(如:加缓冲时间等 )修正估算。方法二:将待开发的项目进行分解,直到每个任务 可用功能点、复杂度或代码行等进行估算 。参照类似项目的历史基线,确定每个任务 的工作量;参照类似项目历史基线的工作量分配比例 ,确定各个阶段的工作量以及管理工作量 和附加工作量等,最后获得整体工作量;如果没有类似项目历史基线可参照,通过 Delphi 或PERT方法确定,或者参照

5、已有项 目历史基线的平均值;考虑项目的特定因素(如:加缓冲时间等 )修正估算。方法三:一些公司开发出的经验模型方法四:简单直观的“分解累计”方法方法五:专家评定方法方法六:灵活运用LOC和FP数据在估算中的使 用 在软件项目估算中,在两个方面使用了 LOC和FP数据: 把LOC和FP数据当做一个估算变量 ,用于量度软件每一个元素的规模。 LOC和FP数据作为从过去项目中收 集到的基线数据,与其它估算变量联 合使用, 进行成本和工作量的估算。LOC和FP是两个不同的估算技术。两者的 共性在于: 项目计划人员 给出一个有界的软件范围的叙述; 由此叙述尝试把软件分解成一些小的可 分别独立进行估算的子

6、功能; 对每一个子功能估算其LOC或FP把基线 生产率度量(如LOCPM或FPPM, PM指人月)用做特定的估算变量,导出 子功能的成本或工作量; 将子功能的估算进行综合后就能得到整 个项目的总估算。LOC或FP估算技术对于分解所需要的详 细程度是不同的。用LOC做为估算变量时,必须进行功能分 解, 且需要达到很详细的程度。而估算FP 时需要的数据是宏观的量,当把FP当做估 算变量时不需分解得很详细。LOC是直接估算的, 而FP是通过估计输入 、输出、数据文件、查询和外部接口的数 目,以及14种复杂性校正值间接地确定的 。项目计划人员可对每一个分解的功能提 出一个有代表性的估算值范围。利用历史

7、数据或凭实际经验(当其它的 方法失效时),对每个功能分别按最佳 的、可能的、悲观的三种情况给出LOC 或FP估计值。记作a、m、b。接着计算LOC或FP的期望值 E。E (a4mb)6 所有子功能的总估算变量值除以相应于该 估算变量的平均生产率度量得到项目的总 工作量。例如,若假定总的FP估算值是310,基于 过去项目的平均FP生产率是5.5FPPM ,则项目的总工作量是:工作量 3105.5 56 PM 作为LOC和FP估算技术的实例,考察一个 为计算机辅助设计(CAD)应用而开发的 软件包。系统定义评审指明:CAD软件包是在一个工作站上运行, 其接口必须使用各种计算机图形设备,包 括鼠标器

8、、数字化仪、高分辩率彩色显示 器和激光打印机。在这个实例中,使用LOC做为估算变量 。根据系统规格说明, 软件范围的初步叙述 如下: 软件将从操作员那里接收2维或3维几何数据 ; 操作员通过用户界面与 CAD系统交互并控制 它,这种用户界面将表现出很好的人机接口设 计特性;所有的几何数据和其它支持信息保存在一个 CAD数据库内;要开发一些设计分析模块以产生在各种图形设 备上显示的输出;软件要设计得能控制并与能各种外部设备,包 括鼠标器、数字化仪、激光打印机和绘图仪交 互。经过分解, 识别出下列主要软件功能: 用户界面和控制功能 二维几何分析 三维几何分析 数据库管理 计算机图形显示功能 外设控

9、制PC 设计分析模块通过分解,可得到如下估算表估算表估算表从历史的基线数据求出生产率度量, 即行PM和元行。需要根据复杂性程度的不同,对各功 能使用不同的生产率度量值。在表中的成本 = LOC的期望值 E与元行相乘 ,工作量 = 用LOC 的期望值 E与行 PM相除。因此可得,该项目总成本的估算值为 657,000元,总工作量的估算值为 145人月(PM)。采用FP法进行估算调整因子最后得出FP的估算值;FP=总计数值X0.650.01 x SUM(Fi)372使用功能点法进行规范化的历史数据表明,这 类系统的平均生产率是 65 FPPM。如果一个劳 动力价格是每月 8 000美元,则每个 F

10、P的成本是 1230美元。可以得到,总的项目成本估算是: 457560美元,工作量估算是 58PM。工作量估算工作量估算是估算任何工程开发项目 成本的最普遍使用的技术。每一项目任务的解决都需要花费若干 工作量 (人日、人月或人年)。每一个工作量单位都对应于一定的货 币成本,从而可以由此做出成本估算 。工作量估算开始于从软件项目范围抽 出软件功能。接着给出为实现每一软件功能所必须 执行的一系列软件工程任务,包括需 求分析、设计、编码和测试。针对每一软件功能,估算完成各个软 件工程任务所需要的工作量(如人月 )。同时,把劳动费用率(即成本 单位工作量)加到每个软件工程任务 上。对于每个软件工程任务

11、,劳动费用率 都可能不同。高级技术人员主要投入 到需求分析和早期的设计任务中,而 初级技术人员则进行后期设计任务、 编码和早期测试工作,他们所需成本 比较低。最后一个步骤就是计算每一个功能及 软件工程任务的工作量和成本。为了说明工作量估算的使用,考虑上 面所介绍的CAD软件。与每个软件工程任务相关的劳动费用 率记入表中费用率(元)这一行,这 些数据反映了“负担”的劳动成本,即包 括公司开销在内的劳动成本。在此例中,需求分析的劳动成本为 5,200元PM,比编码和单元测试的 劳动成本高出22。工作量估算表工作量估算表软件开发成本估算软件开发成本主要是指软件开发过程 中所花费的工作量及相应的代价。

12、它 不包括原材料和能源的消耗,主要是 人的劳动的消耗。人的劳动消耗所需代价就是软件产品 的开发成本。软件产品开发成本的计算方法不同于 其它物理产品成本的计算。软件的开发成本是以一次性开发过程 所花费的代价来计算的。软件开发成本的估算,应是从软件计 划、需求分析、设计、编码、单元测 试、组装测试到确认测试,整个软件 开发全过程所花费的代价作为依据的 。成本估算与工作量估算密不可分。在历史数据完整的情况下,利用类似项目的 数据可得到工作量的估算值和单位工作量所 需的成本,总成本就相应得到。成本主要包括:直接费用间接费用设备费用差旅费用5.5 成本的估算项目成本的常用估算方法成本建模技术专家判定技术

13、类比评估技术自顶向下估算法自底向上估算法赢利定价法自顶向下的估算方法这种方法的主要思想是从项目的整体 出发,进行类推。估算人员根据以前已完成项目所消耗 的总成本(或总工作量),推算将要 开发的软件的总成本(或总工作量) ,然后按比例将它分配到各开发任务 单元中去,再来检验它是否能满足要 求。这种方法的优点是估算工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算 出来的成本盲目性大,有时会遗漏被开发软 件的某些部分。自底向上的估计 法 这种方法的主要思想是把待开发的软 件细分,直到每一个子任务都已经明 确所需要的开发工作量,然后把它们 加起来,得到软件开发的总工作量。它的优点是估算各个部分

14、的准确性高 。缺点是缺少各项子任务之间相互联 系所需要的工作量,还缺少许多与软 件开发有关的系统级工作量.差别估计法这种方法综合了上述两种方法的优点, 其主要思想是把待开发的软件项目与过 去已完成的软件项目进行类比,从其开 发的各个子任务中区分出类似的部分和 不同的部分。类似的部分按实际量进行计算,不同的 部分则采用相应方法进行估算。这种的方法的优点是可以提高估算的准 确程度,缺点是不容易明确“类似”的界 限。专家判定技术由多位专家进行成本估算单独一位专家可能会有种种偏见,譬如有乐 观的、悲观的、要求在竞争中取胜的、让大 家都高兴的种种愿望及政治因素等。最好由多位专家进行估算,取得多个估算值

15、。有多种方法把这些估算值合成一个估算值。一种方法是简单地求各估算值的中值或平均值 。其优点是简便。缺点是可能会由于受一、二 个极端估算值的影响而产生严重的偏差。一种方法是召开小组会,使各位专家们统一于 或至少同意某一个估算值。优点是可以摈弃蒙 昧无知的估算值,缺点是一些组员可能会受权 威或政治因素的影响。Delphi技 术标准Delphi技术 组织者发给每位专家一份软件系统规格 说明书和一张记录估算值的表格,请他们进 行估算。 专家详细研究软件规格说明书的内容, 对该软件提出三个规模的估算值,即:ai(最小) mi(可能) bi(最大) 无记名地填写表格在填表的过程中,专家互相不进行讨论但 可

16、以向组织者提问。 组织者对专家们填在表格中的答复进行 整理:a. 计算各位专家估算的期望值 Ei;b. 对专家的估算结果分类摘要。 专家对此估算值另做一次估算。 在综合专家估算结果的基础上,组织专 家再次无记名地填写表格。 比较两次估算 的结果。若差异很大,则要通过查询找出 差异的原因。 上述过程可重复多次。最终可获得一 个得到多数专家共识的软件规模(源代码 行数)。在此过程中不得进行小组讨论。最后,通过与历史资料进行类比,根据过 去完成软件项目的规模和成本等信息,推 算出该软件每行源代码所需要的成本。然 后再乘以该软件源代码行数的估算值,就 可得到该软件的成本估算值。软件开发成本估算的经验模 型软件开发成本估算是依据开发成本估算 模型进行估算

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号