第 5 章 基本COCOMO模型ppt课件_第1页
第 5 章 基本COCOMO模型ppt课件_第2页
第 5 章 基本COCOMO模型ppt课件_第3页
第 5 章 基本COCOMO模型ppt课件_第4页
第 5 章 基本COCOMO模型ppt课件_第5页
已阅读5页,还剩25页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基本COCOMO模型 引言定义与假设开发的工作量和进度阶段分布正常项目轮廓雷利分布插值法基本软件维护量估算 软件工程经济学所关注的是软件工程关联的经济学问题 其中的核心内容是关于软件工程的成本与进度估算 本章内容讨论应用 构造性成本模型 COCOMO模型 估算软件成本的基本问题并介绍基本COCOMO模型 内容包括 基本COCOMO模型 引言一些估算公式和问题 本章介绍了根据软件产品中交付的源指令千行数 KDSI 来估算最普遍软件产品开发所需人月 MM 的公式 MM 2 4 KDSI 1 05 5 1 还介绍了以月为单位来估算开发进度 TDEV 的公式 TDEV 2 5 MM 0 38 5 2 在将这些公式应用于实际之前 我们还需要解决许多重要的定义性问题 例如 哪些指令可被视为交付的源指令 哪些人月数应该包含在估算中 哪些阶段应该包含到开发中 什么类型的项目能使用这些估算公式 基本COCOMO模型 引言COCOMO模型的版本 本书所给出的构造性成本模型 COCOMO模型 存在于一个详细度和精确度不断递增的层次结构中 上述公式描述了顶层模型 基本COCOMO模型 该版本的模型适用于绝大多数软件项目 在熟悉的内部软件开发环境 开发者对于软件问题的系统要求等非常了解 中开发的中小型产品 后面三章将讲述基本COCOMO模型的其余方面 包括工作量 进度及活动的阶段分布基本COCOMO模型适用于快速 早期 粗数量级的软件成本估算 但由于其未考虑硬件约束 人员素质和经验 现代化工具和技术的使用以及对软件成本有着重大影响的其它已知项目属性之间的差异的作用 它们必然影响软件成本 其精确性必然有限 后面部分介绍的中等COCOMO模型考虑了相关因素的影响 本书最后将介绍详细COCOMO模型 它考虑了相关因素的生命周期阶段影响 基本COCOMO模型 定义与假设在上一章已经介绍了COCOMO模型中所用到的软件生命周期阶段和活动的定义 下面是一些附加的定义和假设 它们是COCOMO模型应用的基础基本的成本驱动因子是项目开发中交付的源指令数 DSI 其定义如下 交付 delivered 这个术语通常意味着必须排除不可交付的支持软件 如测试驱动程序 然而 如果这些软件的开发需要付出与交付软件相同的努力 有其自身的评审 测试计划 文档等等 那么 它们也应该计算在内源指令 sourceunstruction 该术语包括由项目组成员编写的并能由预处理程序 编译程序和汇编程序转换为机器代码的所有程序指令 它不包括注释和未经修改的公用软件 含作业控制语言 格式控制语句和数据声明 按代码行计算 基本COCOMO模型 定义与假设COCOMO成本估算所涵盖的开发期开始于产品设计阶段之初 对软件需求评审的成功完成 见表4 1 结束于集成与测试阶段之末 软件验收评审的成功完成 其它阶段的成本和进度单独进行估算COCOMO模型成本估算包含并且仅仅包含图4 6b所示的那些软件工作分解结构 WBS 所显示的活动 因此 开发估算包括管理和文档贬值的工作量 但不包括在开发期间发生的诸如用户培训 安装计划制定 移植计划制定之类的工作量COCOMO估算包括上述假设3中说明的 在项目里的所有直接计费劳动力的活动 因此 他们应包含项目管理员和程序库管理员 的相关劳动 但不包括计算机中心操作员 人事部门职员 秘书 高层管理人员 房屋管理员等 的相关劳动 基本COCOMO模型 定义与假设一个COCOMO人月由152小时的工作时间组成 为了将以人约为单位的COCOMO估算转换成其它单位 使用如下方法 人时 乘以152人日 乘以19人年 除以12COCOMO估算假设项目能够得到开发人员和客户两方面的良好管理 例如 非生产性的闲散时间由管理人员和用户控制得很小COCOMO假设需求规格说明书在计划与需求分析阶段完成之后不需要很大的改变 某些改进和重新说明是不可避免的 但任何重大的修改或新增的性能应该由修订的成本估算来反映 基本COCOMO模型 定义与假设详细COCOMO模型假设软件成本驱动因子的影响是依赖于阶段的 基本COCOMO模型和中等COCOMO模型假设除了区分开发和维护阶段之外不再作该假设阶段成本包括在该阶段发生的所有成本 因此 正如图5 1所表示的 更新集成与测试计划以及完成验收测试计划的成本 都包含在详细设计的阶段成本中图5 1还总结了COCOMO所假设的基础软件开发过程模型将被项目所采用 该过程强调以下主要特征 在整个系统设计的重要工作开始之前 先让相对较少的人员对软件需求规格说明书进行仔细的定义和确认在详细设计和编码的重要工作开始之前 由稍多一些担任相对较少的一组人员对软件系统设计进行直至单元级别 见表4 1 的仔细定义和确认 基本COCOMO模型 定义与假设由较多的一组程序员并行地执行详细设计 编码和单元测试 在一个基线稳定的系统设计框架内 通常依据计划好的增量开发过程来进行每个增量的集成及测试都是基于大量的早期测试计划而进行的 并且几乎所有的错误排除都要经过走查 人工跟踪程序的执行 和单元测试的过程为了给用户 和开发人员 提供产品运行性能的某些早期反馈 大量的文档编制工作 例如 起草用户手册 在早期就开始进行人月估算与美元估算 COCOMO模型避免以美元为单位估算劳动力成本 因为在劳动力成本中应该包括哪些项 是否承担管理费用 包括退休金计划 办公室租金 利润 的问题上 各机构之间存在巨大差异 而且 比起美元 考虑到现行通货膨胀率和国际货币波动 人月是一个更加稳定的量 基本COCOMO模型 定义与假设为了把COCOMO模型人月估算转换为美元估算 在简单性和准确性之间的最佳折衷方案是对每一主要阶段采用不同的每人月平均美元数 以便说明通货膨胀和每一阶段中员工的薪金水平见的差异 例如 在计划与需求分析阶段 产品设计阶段 平均每人月可能需要6000美元的成本 在详细设计 编码和单元测试阶段 可能是5000美元 而在集成与测试 维护阶段则可能是5500美元 基本COCOMO模型 开发的工作量和进度在前面的相关讨论中 已经确立了一个很好的软件生命周期定义框架 它可以使我们在开始着手进行软件成本估算时 对要被估算的对象有一个明确的概念下面介绍适用于最常见软件项目类型的基本COCOMO模型估算工作量和进度的公式 在熟悉的 内部的 组织型模式的软件开发环境中 开发中小型软件产品对于这种组织型模式的软件开发方式 下面的讨论还给出了工作量和进度是如何按阶段分布的估算表格基本COCOMO模型的工作量和进度估算公式 组织型模式 对于组织型模式的软件项目 其基本工作量估算公式为 MM 2 4 KDSI 1 05 5 1 其中的KDSI的值是指软件产品中交付源指令的千行数 基本COCOMO模型 开发的工作量和进度公式 5 1 中MM的值是在前面给出的定义和假设的条件下对生命周期中软件开发阶段估算的人月数 图5 2给出了根据基本工作量估算公式做出的估算图形 图略 P47 和以DSI MM为单位的相应生产率的估算对于组织型开发模式的软件项目 其基本进度公式为 TDEV 2 5 MM 0 38 5 2 其中 TDEV是对软件开发所需月数的估算值 该公式采用了与基本工作量公式相同的定义和假设 由基本进度公式做出的估算图形如图5 3所示 图略 P47 估算示例 DuBridge化学品公司是一家大型化工产品公司 公司计划开发一个新的计算机程序 用以跟踪原材料的使用情况 这个程序由一个公司内部的程序员和系统分析员组成的团队负责开发 他们已有多年类似程序的开发经验 基本COCOMO模型 开发的工作量和进度这是一个组织型软件项目开发的很好实例最初的研究确定程序的规模大约是32000条交付的源指令 32KDSI 由基本公式 可估算出项目的如下特征 工作量MM 2 4 32 1 05 91人月生产率32000DSI 91MM 352DSI MM进度TDEV 2 5 91 0 38 14个月平均配置人员91人月 14个月 6 5FSP数量FSP Full time equivalentSoftwarePersonnel 代表的是相当于全职的软件人员 用以度量在某一给定时间为某项目工作的等价人员数 基本COCOMO模型 开发的工作量和进度项目轮廓 表5 1给出了对于一组标准规模的 组织型模式开发项目的相似轮廓 小型 2000DSI中小型 8000DSI中型 32000DSI大型 128000DSI由表5 1可以看出 小型项目实质上是一个人员的任务 基本COCOMO模型 阶段分布表5 2介绍了表4 1和图5 1所定义的开发周期阶段中基本软件工作量和进度的百分比分布 此阶段分布是软件产品规模的函数 随着规模的不同而变化 更大型的软件项目需要相对更多的时间和工作量来完成集成和测试阶段的相关活动 且能够通过使更多的人员并行编码来压缩进度中的编程部分 较小的软件项目在整个开发周期中有着更加一致且平坦的劳动力分配曲线 并且有相对较多的资源可用与集成和测试以外的阶段作为表5 2的使用实例 考察中等规模 32KDSI 的DuBridge化工产品公司原材料库存项目 我们从前面的基本COCOMO模型工作量和进度公式可以确定该项目需要91人月的工作量和14个月的进度假设我们徐要求该项目在编码阶段的时间量 工作量和相当于全职的软件人员 FSP 平均数的估算值 则基于表5 2中的数据 可按下述规则算出 基本COCOMO模型 阶段分布根据表5 2的工作量部分的数据可知 编码阶段所需的工作量要占中工作量的62 则有 0 62 91人月 56人月根据表5 2的进度部分的数据可知 编码阶段所需的进度要占中工作量的55 则有 0 55 14个月 7 7个月编码阶段所需的人员 FSP 平均数是 56MM 7 7个月 7 3FSP 基本COCOMO模型 正常项目轮廓类似地 我们能够使用表5 2中的百分比来计算中等规模 32KDSI 项目中其他阶段的工作量 进度和平均FSP 这些信息和其他规模项目的对应信息在表5 3中介绍表5 3种基本项目轮廓还包括许多附加信息 如以FSP为单位的项目平均工作量 以项目平均工作量百分比为单位的每阶段平均工作量和项目总体生产率 以人月为单位的DSI总数或总的开发工作量 从表5 3中 我们开始感觉到 不同阶段和项目的相关规模 以及从较小型到更大型项目发展所带来的一些影响 例如 如果我们计划开发比迄今为止所开发的最大项目还大四倍的一个产品 即32KDSI与8KDSI的比值 我们应该预见到以DSI MM为单位的项目总体生产率会降至以前 已知的最大规模项目的 项目整体生产率的94 以下 352DSI MM与376DSI MM的比值 基本COCOMO模型 正常项目轮廓经济学术语中 把在更大项目中生产率降低称为规模不经济 diseconomyofscale 较大的软件产品出现规模不经济的主要原因如下 为了编制能支持更多程序员并行工作所需的单元级的完整说明书 相对需要进行更多的产品设计成本 这种成本上升的比例高出规模的比例许多 基本COCOMO模型 正常项目轮廓验证与确认更多的需求规格说明书和产品设计说明书相对需要更多的工作量且这种增长与规模的增长是不成比例的 工作量的增长比例高于规模增长比例即使有彻底定义的说明书 在较大型项目中 程序员仍然需要花相对较多的时间进行交流于解决接口问题为集成单元模块 需要相对较多的集成活动一般来说 验证与确认软件产品相对需要较多的广泛测试 规模增大 通常意味着软件问题涉及到更多的数据对象 更复杂的对象关联 更复杂的数据处理操要求以及更复杂的操作 对象关联 管理项目需要相对较多的工作量从表5 3中的百分比部分可知 在编程阶段 大项目比小项目有更高的并行工作量峰值 图5 4 图略 P51 对之给予了描述 并将多种规模项目进行了比较 基本COCOMO模型 基本COCOMO模型 雷利分布在式 5 3 中 变量t代表要计算FSP的月份 数量tD代表项目达到工作量峰值时的月份雷利分布的提出为许多类型的研究和开发活动提供了良好的劳动力分布近似值 人们对于软件开发的相关研究表明 雷里分部队大量的软件项目的劳动力分布也提供了相当好的近似值 人们还根据对雷利分布的分析推导出了软件开发工作量和软件开发进度之间的关系 后续的第6章和第27章对之进行了相应的讨论 应用于组织型模式的软件开发项目 图5 5 图略 P52 显示了计算中型 32KDSI 的DuBridge化学品公司软件开发项目的雷利分布曲线 其中MM 91 tD 7个月或者为所估算的14个月开发时间的一半图5 5种雷利分布的形状显然与图5 4所示的任何组织型模式的软件项目的劳动力分布的形状并不相似 基本COCOMO模型 基本COCOMO模型 雷利分布正如在图5 6中所看到的 该公式提供了从基本COCOMO模型估算中型32KDSI的DuBridge项目过程中得到的对平滑劳动力分布的相当好的近似值 可以感觉到的唯一差别是雷利分布在项目结束处较慢地减少 并且对于许多项目 这种缓慢减少是一种恰当的方法 因此 式 5 4 可被作为一种合理而有效的手段 用与估算在一个组织型模式的软件开发项目中任何一个指定点的人员级别 基本COCOMO模型 插值法假设我们正在极花一个项目的编码阶段能产生规模为12800DSI的软件产品 总的开发工作量和进度分别为 工作量 2 4 12 8 1 05 35人月进度 2 5 35 0 38 9 7个月为了得出编码阶段的估算值 可以使用表5 2 由于该项目不是表中所含项目 因此 必须在表5 2中进行插值来得到我们所需的值问题确定了12 8KDSI规模的项目是位于8KDSI的中小型项目至32KDSI的中型项目的20 处 依靠线性插值 12 8KDSI项目的编程工作量在其中工作量总的比值将处于从8KDSI项目的65 处至32KDSI项目62 处的20 的位置 即64 4 见图5 7 图略 P53 基本COCOMO模型 基本COCOMO模型 插值法特别地 在少于2000DSI的产品中使用COCOMO模型或任何算法的成本估算模型必须非常慎重 因为在小型项目中个体的差异会超过任何其他

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论