软件开发成本估算的经验模精编版

上传人:ahu****ng1 文档编号:144931976 上传时间:2020-09-14 格式:PPTX 页数:47 大小:484.35KB
返回 下载 相关 举报
软件开发成本估算的经验模精编版_第1页
第1页 / 共47页
软件开发成本估算的经验模精编版_第2页
第2页 / 共47页
软件开发成本估算的经验模精编版_第3页
第3页 / 共47页
软件开发成本估算的经验模精编版_第4页
第4页 / 共47页
软件开发成本估算的经验模精编版_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《软件开发成本估算的经验模精编版》由会员分享,可在线阅读,更多相关《软件开发成本估算的经验模精编版(47页珍藏版)》请在金锄头文库上搜索。

1、软件开发成本估算的经验模补充资料,软件开发成本估算的经验模型,软件开发成本估算是依据开发成本估算模型进行估算的。 开发成本估算模型通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据。 用以支持大多数模型的经验数据都是从有限的一些项目样本中得到的。,IBM模型,E 5.2L0.91 D 4.1L0.36 14.47E0.35 S 0.54E0.6 DOC 49L1.01 L 是源代码行数 (KLOC),E 是工作量 (PM),D 是项目持续时间(月),S 是人员需要量 (人),DOC是文档数量 (页)。,IBM模型是静态单变量模型。 在此模型中,一般指一条机器指令为一行源代码。 一

2、个软件的源代码行数不包括程序注释、作业命令、调试程序在内。 对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。,转换系数表,定义: 转换系数机器指令条数非机器语言执行步数。,Putnam模型,Putnam模型是一种动态多变量模型。适用于大型项目,但也可以应用在一些较小的软件项目中。 它是假定在软件开发的整个生存期中工作量有特定的分布。 大型软件项目的开发工作量分布可以用Rayleigh-Norden曲线表示。,用Rayleigh-Norden曲线可以导出一个“软件方程” td 是开发持续时间 (年), K是软件开发与维护在内的整个生存期所花费的工作量 (

3、人年),L是源代码行数 (LOC),Ck是技术状态常数,因开发环境而异。,技术状态常数Ck的取值,COCOMO模型 (COnstructive COst MOdel),结构型成本估算模型是一种精确、易于使用的成本估算方法。 DSI(源指令条数)定义为代码的源程序行数。若一行有两个语句,则算做一条指令。它包括作业控制语句和格式语句,但不包括注释语句。KDSI1000DSI。,MM(度量单位为人月)表示开发工作量。 TDEV(度量单位为月)表示开发进度。它由工作量决定。 软件开发项目的分类软件开发项目的总体类型: 组织型 嵌入型 半独立型,COCOMO模型的分类COCOMO模型按其详细程度分成三级

4、: 基本COCOMO模型 中间COCOMO模型 详细COCOMO模型 基本COCOMO模型是静态单变量模型,用源代码行数(LOC) 为自变量的经验函数计算软件开发工作量。,中间COCOMO模型在用LOC为自变量的函数计算软件开发工作量(称为名义工作量)的基础上,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量估算。 详细COCOMO模型包括中间CO COMO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。,基本COCOMO模型,基本COCOMO模型的工作量和进度公式,中间COCOMO模型,进一步考虑15种影响软件工作量的因素,

5、通过定下乘法因子,修正COCOMO工作量公式和进度公式,可以更合理地估算软件(各阶段)的工作量和进度。 中间COCOMO模型的名义工作量与进度公式如下所示。,中间COCOMO模型的名义工作量 与进度公式,15种影响软件工作量的因素 fi,产品因素:软件可靠性、数据库规模、产品复杂性 硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间 人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验 项目因素:现代程序设计技术、软件工具的使用、开发进度限制,此时,工作量计算公式改成 例1. 一个32KDSI的声音输入系统是一个输入原型,或是一个可行性表演模型。所需可

6、靠性非常低。把此模型看做半独立型软件。则有 MM 3.0(32)1.12 146又查表知 f10.75,其它 fi1.00,则最终有MM 1460.75 110.,例14. 一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行成本估算。 程序名义工作量 MM 2.8 (10)1.20 44.38(MM) 程序实际工作量 MM 44.38 44.381.17 51.5(MM),开发所用时间 TDEV 2.5 (51.5)0.32 8.9 (月) 如果分析员与程序员的工资都按每月6,000美元计算,则该项目的开发人员的工资总额为 51.56,000 309,000 (

7、美元) 做为对比,现在用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模型,详细COCOMO模型的名义工作量公式和进度公式与中间COCOMO模型相同。 工作量因素分级表分层、分阶段给出。针对每一个影响因素,按模块层、子系统层、系统层,有三张工作量因素分级表,供不同层次的估算使用。每一张表中工作量因素又按开发各个不同阶段给出。,例如,关于软件可靠性(RELY)要求的工作量因素分级表(子系统层),如表所示。 使用这些表格,可以比中间COCO MO模型更方便

8、、更准确地估算软件开发工作量。,软件可靠性工作量因素分级表(子系统层),进度安排,软件开发项目的进度安排有两种方式:(1)系统最终交付日期已经确定,软件开发部门必须在规定期限内完成;(2)系统最终交付日期只确定了大致的年限,最後交付日期由软件开发部门确定。,进度安排落空,会导致市场机会的丧失,使用户不满意,而且也会导致成本的增加。 因此,在考虑进度安排时,要把工作量与花费时间联系起来,合理分配工作量, 利用进度安排的有效分析方法严密监控软件开发的进展情况,使软件开发进度不致拖延。,软件开发小组人数与软件生产率的关系,当几个人共同承担软件开发项目中的某一任务时,人与人之间必须通过交流来解决各自承

9、担任务之间的接口问题,即所谓通信问题。通信需花费时间和代价,会引起软件错误增加,降低软件生产率。,若两个人之间需要通信,则称在这两个人之间存在一条通信路径。如果一个软件开发小组有 n 个人,每两人之间都需要通信,则总的通信路径有 n(n-1)/2 (条)。,设一个人单独开发软件,生产率是5000行人年。若 4 个人组成一个小组共同开发这个软件,则需要 6条通信路径。若在每条通信路径上耗费的工作量是 250 行人年。则小组中每个人的软件生产率降低为 500062504 = 5000375 = 4625 行人年。,从上述分析可知,一个软件任务由一个人单独开发,生产率最高;而对于一个稍大型的软件项目

10、,一个人单独开发,时间太长。因此软件开发小组是必要的。 但是,开发小组不宜太大,成员之间避免太多的通信路径。 在开发进程中,切忌中途加人,避免太多的生产率损失。,任务的确定与并行性,当参加同一软件工程项目的人数不止一人的时候,开发工作就会出现并行情形。 软件开发进程中设置许多里程碑。里程碑为管理人员提供了指示项目进度的可靠依据。 软件工程项目的并行性提出了一系列的进度要求。,因为并行任务是同时发生的,所以进度计划表必须决定任务之间的从属关系,确定各个任务的先后次序和衔接,确定各个任务完成的持续时间。 项目负责人应注意构成关键路径的任务,即若要保证整个项目能按进度要求完成,就必须保证这些任务要按

11、进度要求完成。,制定开发进度计划,402040规则 在整个软件开发过程中,编码工作量仅占 20,编码前工作量占40,编码后工作量占 40。 402040 规则只应用来做为 一个指南。实际的工作量分配比例必须按照各项目的特点来决定。,COCOMO模型 开发进度TDEV与工作量MM的关系: TDEV a(MM)b 如果想要缩短开发时间,或想要保证开发进度,必须考虑影响工作量的那些因素。按可减小工作量的因素取值。,按此比例确定各个阶段工作量的分配,从而进一步确定每一阶段所需的开发时间,然后在每个阶段,进行任务分解,对各个任务再进行工作量和开发时间的分配。,进度安排的方法,可以把用于一般开发项目的进度

12、安排的技术和工具应用于软件项目。 为监控软件项目的进度计划和工作的实际进展情况,为表现各项任务之间进度的相互依赖关系,需要采用图示的方法。 在图示方法中,必须明确标明:,各个任务的计划开始时间,完成时间; 各个任务完成标志(即文档编写和评审); 各个任务与参与工作的人数,各个任务与工作量之间的衔接情况; 完成各个任务所需的物理资源和数据资源。,(1) 甘特图(Gantt Chart),在甘特图中,每一任务完成的标准,不是以能否继续下一阶段任务为标准,而是以必须交付应交付的文档与通过评审为标准。因此在甘特图中,文档编制与评审是软件开发进度的里程碑。,(2) PERT技术和CPM方法,PERT技术

13、叫做计划评审技术,CPM方法叫做关键路径法,它们都是安排开发进度,制定软件开发计划的最常用的方法。 它们都采用网络图来描述一个项目的任务网络,也就是从一个项目的开始到结束,把应当完成的任务用图或表的形式表示出来。,三个模块开发的网络图,通常用两张表来定义网络图。 一张表给出与一特定软件项目有关的所有任务(也称为任务分解结构WorkBreakdown Structure); 另一张表给出应当按照什么样的次序来完成这些任务(有时称为限制表RestrictionList)。PERT技术和CPM方法都为项目计划人员提供了一些定量的工具。,确定关键路径,即决定项目开发时间的任务链。在关键路径上的各个任务

14、都是时间余量为零的关键任务,不能有任何时间延误。 应用统计模型,对每一个单独的任务确定最可能的开发持续时间的估算值。 计算边界时间,以便为具体的任务定义时间窗口。,1、有时候读书是一种巧妙地避开思考的方法。20.9.1420.9.14Monday, September 14, 2020 2、阅读一切好书如同和过去最杰出的人谈话。16:31:1916:31:1916:319/14/2020 4:31:19 PM 3、越是没有本领的就越加自命不凡。20.9.1416:31:1916:31Sep-2014-Sep-20 4、越是无能的人,越喜欢挑剔别人的错儿。16:31:1916:31:1916:3

15、1Monday, September 14, 2020 5、知人者智,自知者明。胜人者有力,自胜者强。20.9.1420.9.1416:31:1916:31:19September 14, 2020 6、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2020年9月14日星期一下午4时31分19秒16:31:1920.9.14 7、最具挑战性的挑战莫过于提升自我。2020年9月下午4时31分20.9.1416:31September 14, 2020 8、业余生活要有意义,不要越轨。2020年9月14日星期一4时31分19秒16:31:1914 September 2020 9、一个人即使已登

16、上顶峰,也仍要自强不息。下午4时31分19秒下午4时31分16:31:1920.9.14 10、你要做多大的事情,就该承受多大的压力。9/14/2020 4:31:19 PM16:31:192020/9/14 11、自己要先看得起自己,别人才会看得起你。9/14/2020 4:31 PM9/14/2020 4:31 PM20.9.1420.9.14 12、这一秒不放弃,下一秒就会有希望。14-Sep-2014 September 202020.9.14 13、无论才能知识多么卓著,如果缺乏热情,则无异纸上画饼充饥,无补于事。Monday, September 14, 202014-Sep-2020.9.14 14、我只是自己不放过自己而已,现在我不会再逼自己眷恋了。20.9.1416:31:1914 September 202016:31,谢谢大家,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

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