




已阅读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)的数量。它的定义如下:已交付)该术语通常意味着必须排除不可交付的支持软件,如测试驱动程序。然而,如果这些软件的开发需要与软件交付相同的努力,有自己的评审、测试计划、文档等。那么它们也应该被计算在源指令中这个术语包括由项目组成员编写的所有程序指令,它们可以被预处理器、编译器和汇编器转换成机器代码。它不包括注释和未修改的通用软件。包括作业控制语言、格式控制语句和数据声明。根据代码行,基本的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模型中的MM值、开发的工作量和进度公式(5-1)指在上述条件下估算生命周期中软件开发阶段的人员图5-2显示了根据基本工作量估算公式(草图,P47)做出的估算图,以及相应生产率的估算,单位为DSI/mm。对于具有组织开发模式的软件项目,基本进度公式为:TDEV=2.5(MM)0.38(5-2),其中TDEV是软件开发所需月数的估算值,该公式采用与基本工作量公式相同的定义和假设。图5-3显示了一个由基本进度公式(图略,P47)做出的估算示例杜布里奇化学公司是一家大型化学产品公司,计划开发一个新的计算机程序来跟踪原材料的使用情况。这个程序是由公司内部的一组程序员和系统分析师开发的。他们有多年开发类似程序的经验。基本的COCOMO模型、开发的工作量和进度是组织软件项目开发的一个很好的例子。根据基本公式,最初的研究确定程序大小约为32,000条交付的源代码指令(32KDSI)。项目的以下特征可以估计:工作量MM=2.4(32)1.05=91人月生产率32000DSI/91MM=352DSI/MM进度TDEV=2.5(91)0.38=14个月平均人员配备91人月/14个月=6.5FSP数量FSP(全职-相当于工作人员)代表相当于全职软件人员,用于测量在给定时间为项目工作的相当人员数量。基本COCOMO模型,开发项目的工作量和进度概况-表51给出了一组标准规模和组织类型的开发项目的类似概况:小型:2000DSI中型:8000DSI中型:32000DSI大型:128000DSI从表5-1可以看出,小型项目本质上是一项人员任务。基本COCOMO模型和阶段分布表52介绍了表41和图51中定义的开发周期阶段中基本软件工作负载和进度的百分比分布。这一阶段的分布是软件产品规模的函数,并随规模而变化。较大的软件项目需要相对更多的时间和精力来完成集成和测试阶段的相关活动,并且可以通过让更多的人并行编码来压缩编程部分的进度。较小的软件项目在整个开发周期内具有更加一致和平坦的劳动力分布曲线,并且有相对更多的可用资源,除了集成和测试之外的阶段被作为表5-2中的使用示例来检查中等规模的杜布里奇化学产品公司(32KDSI)的原材料库存项目。从以前的基本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.3名工作人员,基于COCOMO模型,正常的项目概况是相似的。同样,我们可以使用表52中的百分比来计算中型(32KDSI)项目中其他阶段的工作量、进度和平均FSP。该信息和其他规模项目的相应信息见表5-3。表5-3基本项目大纲还包括许多附加信息,如FSP单位的平均项目工作量、每个阶段的平均项目工作量(以平均项目工作量百分比表示)和总项目生产率(以人工月或总开发工作量表示的总DSI)。从表5-3中,我们开始感受到不同阶段和项目的相关规模,以及从小项目发展到大项目所带来的一些影响。例如,如果我们计划开发一个比迄今为止开发的最大项目(即32KDSI与8KDSI之比)大四倍的产品,我们应该预计到以DSI/MM为单位的总项目生产率将低于先前(已知最大项目)总项目生产率的94%(352 DSI/MM与376DSI/MM之比)。嘿。基本的COCOMO模型,即正常的项目概况个人资本,称较大项目的生产率下降为不经济规模。大型软件产品规模不经济的主要原因如下:为了准备完整的单元级指令,支持更多的程序员并行工作,相对需要进行更多的产品设计成本(这种成本增加的比例远远高于规模的比例),基本的COCOMO模型,正常的项目大纲验证和确认需要更多的工作量,需要更多的需求规格和产品设计规格,并且这种增加与规模的增加不成比例。工作量的增加高于规模的增加。即使有明确定义的规范,在较大的项目中,程序员仍然需要花费相对更多的时间进行沟通,以解决作为集成单元模块的接口问题,这需要相对更多的集成活动。一般来说,软件产品的验证和确认需要相对更广泛的测试(规模的增加通常意味着软件问题涉及更多的数据对象、更复杂的对象关联、更复杂的数据处理操作需求和更复杂的操作对象关联)。管理项目需要相对更多的工作量。从表5-3中的百分比部分可以看出,在编程阶段,大型项目比小型项目具有更高的并行工作量峰值。图5-4(草图,P51)描述了它并比较了不同比例的项目。基本COCOMO模型、基本COCOMO模型、瑞利分布如等式(5-3)所示。变量t代表计算FSP的月份。数量tD代表项目达到最大工作量的月份。瑞利分布的提议为许多类型的研究和开发活动提供了劳动力分布的良好近似。人们对软件开发的相关研究表明,李雷军队中大量软件项目的劳动力分布也提供了一个相当好的近似值。根据瑞利分布的分析,软件开发工作量和软件开发进度之间的关系也被推导出来(这将在接下来的第6章和第27章中讨论),并以组织模式应用于软件开发项目。图5-5(图5,P52)显示了杜布里奇化工有限公司软件开发项目的瑞利分布曲线,计算中型(32KDSI),其中MM=91。TD=7个月或估计14个月开发时间的一半。图5-4中的5-5瑞利分布的形状明显不同于图5-4所示的任何组织模型软件项目中的劳动力分布的形状。基本COCOMO模型、基本COCOMO模型、瑞利分布如图5-6所示,该公式在估算中型32KDSI的杜布里奇项目时,提供了从基本COCOMO模型获得的平滑劳动力分布的相当好的近似。唯一可以感觉到的不同是,瑞利分布在项目结束时缓慢下降,对于许多项目来说,这种缓慢下降是一种合适的方法。因此,等式(5-4)可以用作在组织模型软件开发项目的任何给定点使用和估计人员水平的合理和有效的手段。基本的COCOMO模型和插值方法假设我们花费项目的编码阶段来生产一个12800DSI的软件产品。总开发工作量和进度分别为:工作量=2.4(12.8)1.05=35人月进度=2.5(35)0.38=9.7个月。为了获得编码阶段的估计值,可以使用表5-2。由于该项目不包括在表中,因此必须在表52中进行插值,以获得我们需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度股权质押与房地产投资合作协议
- 二零二五年智能化生产设备租赁协议
- 二零二五年度企业办公家具定制设计与采购合同
- 二零二五版高端铝合金模板施工安装质量保证合同
- 二零二五年度抗滑桩施工设计与施工图审查合同
- 2025至2030年中国光盘驱动器行业发展潜力分析及投资方向研究报告
- 二零二五年度河砂、碎石生态农业材料采购协议
- 二零二五年度新能源汽车用柴油供应合作协议
- 二零二五年度新型防火门窗采购合同范本
- 二零二五年度化肥行业供应链金融服务合作协议
- 零星维修工程施工方案
- 结直肠腺瘤中西医结合防治指南-公示稿
- 电动车充电应急处置预案
- 入学测试卷(一)(试题)-2024-2025学年五年级上册数学苏教版
- 医疗护理员培训机构申报表
- 半导体器件的干法刻蚀技术考核试卷
- 农商行贷款合同(2024版)
- 2024-2030年中国共享换电柜市场应用前景规模与投资战略研究研究报告
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- 第四单元《光现象》单元概述-大单元教学2023-2024学年八年级物理上册同步备课系列(人教版)
- HG/T 6313-2024 化工园区智慧化评价导则(正式版)
评论
0/150
提交评论