软件开发成本估算的经验模.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件开发成本估算的经验模 补充资料;软件开发成本估算的经验模型;IBM模型;IBM模型是静态单变量模型。 在此模型中,一般指一条机器指令为一行源代码。 一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。 对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。 ;转换系数表;Putnam模型;7;用Rayleigh-Norden曲线可以导出一个“软件方程” td 是开发持续时间 (年), K是软件开发与维护在内的整个生存期所花费的工作量 (人年),L是源代码行??? (LOC),Ck是技术状态常数,因开发环境而异。;技术状态常数Ck的取值;COCOMO模型 (COnstructive COst MOdel);MM(度量单位为人月)表示开发工作量。 TDEV(度量单位为月)表示开发进度。它由工作量决定。 软件开发项目的分类 软件开发项目的总体类型: 组织型 嵌入型 半独立型;COCOMO模型的分类 COCOMO模型按其详细程度分成三级: 基本COCOMO模型 中间COCOMO模型 详细COCOMO模型 基本COCOMO模型是静态单变量模型,用源代码行数(LOC) 为自变量的经验函数计算软件开发工作量。;中间COCOMO模型在用LOC为自变量的函数计算软件开发工作量(称为名义工作量)的基础上,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量估算。 详细COCOMO模型包括中间CO COMO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。;基本COCOMO模型;中间COCOMO模型;中间COCOMO模型的名义工作量 与进度公式;15种影响软件工作量的因素 fi;18;此时,工作量计算公式改成 例1. 一个32KDSI的声音输入系统是一个输入原型,或是一个可行性表演模型。所需可靠性非常低。把此模型看做半独立型软件。则有 MM = 3.0(32)1.12 = 146 又查表知 f1=0.75,其它 fi=1.00,则最终有MM = 146×0.75 = 110. ;例14. 一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行成本估算。 程序名义工作量 MM = 2.8 (10)1.20 = 44.38(MM) 程序实际工作量 MM = 44.38× = 44.38×1.17 = 51.5(MM);开发所用时间 TDEV = 2.5 (51.5)0.32 = 8.9 (月) 如果分析员与程序员的工资都按每月6,000美元计算,则该项目的开发人员的工资总额为 51.5×6,000 = 309,000 (美元) 做为对比,现在用IBM模型计算: PM = 5.2 (10)0.91 = 42.27 (人月) D = 4.1 (10)0.38 =9.84 (月) S = 0.54 (42.27)0.60 = 5.1 (人);详细COCOMO模型;例如,关于软件可靠性(RELY)要求的工作量因素分级表(子系统层),如表所示。 使用这些表格,可以比中间COCO MO模型更方便、更准确地估算软件开发工作量。;软件可靠性工作量因素分级表(子系统层);进度安排;进度安排落空,会导致市场机会的丧失,使用户不满意,而且也会导致成本的增加。 因此,在考虑进度安排时,要把工作量与花费时间联系起来,合理分配工作量, 利用进度安排的有效分析方法严密监控软件开发的进展情况,使软件开发进度不致拖延。;软件开发小组人数与软件生产率的关系;若两个人之间需要通信,则称在这两个人之间存在一条通信路径。如果一个软件开发小组有 n 个人,每两人之间都需要通信,则总的通信路径有 n(n-1)/2 (条)。;设一个人单独开发软件,生产率是5000行/人年。若 4 个人组成一个小组共同开发这个软件,则需要 6条通信路径。若在每条通信路径上耗费的工作量是 250 行/人年。则小组中每个人的软件生产率降低为 5000-6×250/4 = = 5000-375 = = 4625 行/人年。;从上述分析可知,一个软件任务由一个人单独开发,生产率最高;而对于一个稍大型的软件项目,一个人单独开发,时间太长。因此软件开发小组是必要的。 但是,开发小组不宜太大,成员之间避免太多的通信路径。 在开发进程中,切忌中途加人,避免太多的生产率损失。;任务的确定与并行性;32;因为并行任务是同时发生的,所以进度计划表必须决定任务之间的从属关系,确定各个任务的先后次序和衔接,确定各个任务完成的持续时间。 项目负责人应注意构成

文档评论(0)

sxjctywd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档