Cocomo模型例题
COCOMO模型在软件维护成本及进度估算中的应用
个 方面 分析 了影 响 软件 维护 成本 的十二 条 因素 , 以表 格 的方 式 列 出 了影 响 维护成 本 因素的 工 作 量权 重 ; 出 了软件 维护 基本 成本模 型和改 进成 本模 型 ; 给 最后 给 出了半分 离式 维护进 度估 算
公 式及 维护进 度 曲 线 。
关 键词 : Oc C 0MO; 软件 维护 ; 成本 估 算 ; 度估 算 进
维普资讯
第2 8卷 第 1期
2007年 3月
渤 海 大 学 学报 ( 自然 科 学版 )
J u n lo o a ie st ( t r l ce c iin o r a fB h iUn v r iy Na u a in e Edt ) S o
维护、 ②适 应性 维 护 、 改 正性维 护 。在软 件 ⑧ 应用 初 期 , 试 和 验 收 时没 有 发 现 的错 误 会 测 出 现较 多 , 时 的改 正 性 维 护 工 作 量 较 多 , 此 随着 软件 的运 行 , 这种 错误 会 越来越 少 , 改正 性 维 护 的工 作量也 会 越来 越少 。适 应性维 护
软件工程练习试卷3(题后含答案及解析)
软件工程练习试卷3(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
1.通常软件项目管理活动包括项目的计划、调度、通信、费用估算、资源分配以及质量控制等。
软件生产是智力密集型的活动,其产品无物理外形,生产状态也“不可见”,因而难于检查和驾驭。
软件项目管理工具就是要使这种生产过程成为可见、可控的过程。
因此,软件项目管理工具应具备______。
A.软件生产周期内各活动的识别和分配B.对工作计划的安排、评审和检查C.对软件设计计划、技术和文档内容进行管理D.与软件开发工具相匹配正确答案:B解析:软件项目管理工具就是要使软件生产过程成为可见、可控的过程。
使用它能帮助进行成本估算、作业调度和任务分配,并制定出成本较低、风险较小的项目开发计划;同时能设法在预计工期和经费之内适当调整项目的安排,以节省时间和人力,从而对软件生产的各个环节进行严格、科学的管理,使项目开发活动获得最佳的进程。
由于项目管理工具要能对项目的任务调度、成本估算、资源分配、预算跟踪、人时统计、配置控制等活动给予帮助,因此它需要具有的某些特征如下。
①覆盖整个软件生存周期。
②为项目调度提供多种有效手段。
③支持多个项目和子项目的管理。
④对工作计划的安排、评审和检查。
⑤确定关键路径、松弛时间、超前时间和滞后时间。
⑥利用估算模型对软件费用和工作量进行估算。
⑦对项目组成员和项目任务之间的通信给予辅助。
⑧跟踪资源的使用。
⑨自动进行资源平衡。
⑩生成固定格式的报表和剪裁项目报告。
知识模块:软件工程2.使用自动项目管理工具与使用手工方法管理相比有许多优点,但是______不属于自动项目管理工具的优点。
A.能对大型项目进行精确跟踪,使项目经理能及时掌握实际工作进展和资源的实际消耗情况B.能指导设计人员采用软件生存周期各阶段的适用技术,进行设计和控制工作进度C.能辅助开发,PERT、CPM(关键路径方法)和WBS(工作分解结构),自动更新活动网络图和Gantt图D.能自动计算、自动积累数据、自动生成图形和报表来取代人工计算、调度、统计和文档工作,提高管理工作效率正确答案:B解析:项目管理工具用来辅助软件的项目管理活动。
《软件项目管理》课程习题参考
《软件项⽬管理》课程习题参考《软件项⽬管理》参考习题序-软件项⽬管理概述⼀、回答问题:1. 集成项⽬管理(Integration Project Management)是什么?项⽬管理⼀定要协调各⽅⾯,不能只顾局部的利益和细节,所以需要集成管理,即是集成项⽬管理。
2. 项⽬管理九⼤知识域是什么?项⽬集成管理、项⽬范围管理、项⽬时间、项⽬成本、项⽬质量、项⽬⼈⼒资源、项⽬沟通、项⽬风险、项⽬采购管理。
3. 项⽬成本管理(Project Cost management)包括哪些过程?资源计划编制、成本估算、成本预算、成本控制。
4. 项⽬管理的五个过程组是什么?启动、计划、执⾏、控制、收尾过程。
⼆、判断题:5. 判断下⾯活动哪些是项⽬?上课λ×野餐活动λ√集体婚礼λ√社区保安λ×开发微软的操作系统λ√每天的卫⽣保洁λ×神州飞船计划λ√6. 项⽬开发过程中可以⽆限制地使⽤资源。
(×)7. 项⽬具有暂时的特征。
(√)8. 项⽬管理核⼼的三⾓形是范围、进度、风险。
(×)9. 过程管理与项⽬管理在软件组织中是两项很重要的管理,项⽬管理⽤于保证项⽬的成功,⽽过程管理⽤于管理最佳实践。
(√)10. 运作管理(Operation Management)是从宏观上帮助企业明确和把握企业发展⽅向的管理。
(×)习题:第⼀章-软件项⽬初始过程⼀、名词解释1. 项⽬章程确认项⽬存在的⽂件,包括对项⽬的确认、对项⽬经理的授权和项⽬⽬标的概述等。
2. 项⽬建议书⼆、选择题3. 项⽬建议书是哪个阶段开发的⽂档(C )A. 项⽬执⾏阶段B. 项⽬结尾阶段C. 项⽬初始阶段4. 项⽬章程(A )A. 明确了项⽬经理B. 确定了项⽬的质量标准C. 明确了团队的纪律D. 定义了项⽬需求5. 对于风险⽐较⼤的项⽬,最好选择(C )⽣存期模型,A. 瀑布模型B. 原型C. 螺旋模型D. V模型6. 开发项⽬建议书的⽬的是为了(C)A. 验收B. 竞标或者签署合同C. 编写计划D. 跟踪控制项⽬三、判断题7. 项⽬经理是⼀个综合的⾓⾊(√)8. 软件项⽬都是需要签署合同的(√)9. 增量式模型可以避免⼀次性投资太多带来的风险(√)10. 项⽬章程类似⼀个项⽬授权书()11. 在甲⼄合同项⽬中,提出需求的⼀⽅是⼄⽅(×)12. 如果是内部项⽬,在项⽬初始阶段可以不提交招标书(√)习题:第⼆章-软件项⽬范围计划⼀、选择题1. 需求分析是回答系统必须(A)的问题A. 做什么B. 怎么做C. 何时做D. 为谁做2. W BS(⼯作分解结构)⾮常重要,因为下列原因,除了(B )A. 帮助组织⼯作B. 防⽌遗漏⼯作C. 为项⽬估算提供依据D. 确定团队成员责任A. 只在项⽬开始时重要B. 在授权项⽬的合同或者其他⽂件得以批准后就不再重要了C. 从项⽬概念阶段到收尾阶段都应该加以管理和控制D. 是在项⽬执⾏阶段通过变更控制步骤进⾏处理的问题4. 为了有效地管理项⽬,应该将⼯作分解为更⼩的部分,以下各项中,哪⼀项不能说明任务应该分解到什么程度?(A )A. 可以在80⼩时内完成B. 不能再进⼀步进⾏逻辑细分了C. 可由⼀个⼈完成D. 可以进⾏实际估算5. 范围变更是指(C )A. 修改技术规格B. 对范围陈述进⾏修订C. 对批准后的WBS进⾏修改D. 以上都不是6. 下⾯哪个不是需求管理的过程(A )A. 需求设计B. 需求获取C. 需求分析D. 需求变更7. 下⾯那个不是创建WBS的⽅法(A)A. ⾃顶向下B. ⾃底向上C. 控制⽅法D. 模版指导8. 任务分解可以(B),它是范围变更的⼀项重要输⼊A. 提供项⽬成本估算结果B. 提供项⽬范围基线C. 规定项⽬采⽤的过程D. 提供项⽬的关键路径9. 范围基线由(B )组成A. 项⽬章程、批准的详细的项⽬范围说明书和W BSB. 批准的详细项⽬范围说明书、W BS和W BS字典C. 项⽬章程、项⽬⼯作说明书和WBSD. W BS⼆、判断题10. 需求分析过程是确定项⽬如何实现的过程,并确定项⽬的技术⽅案(×)11. 对于⼀个重来没有做过的项⽬,开发WBS时,可以采⽤⽤⾃底向上的⽅法(DUI )习题:第三章-软件项⽬进度计划⼀、选择题1. 快速跟进是指()A. 采⽤并⾏执⾏任务,加速项⽬进展B. ⽤⼀个任务取代另外的任务C. 如有可能,减少任务数量D. 减轻项⽬风险2. 赶⼯⼀个任务时,你应该关注()A. 尽可能多的任务B. ⾮关键任务C. 加速执⾏关键路径上的任务D. 通过成本最低化加速执⾏任务3. “软件编码完成之后,我才可以对它进⾏软件测试”,这句话说明了哪种依赖关系?()A. 强制性依赖关系B. 软逻辑关系C. 外部依赖关系D. ⾥程碑4. 如果⽤户提供的环境设备需要5⽉10⽇到位,所以环境测试安排在5⽉10⽇以后,这种活动安排的依赖依据是:()A. 强制性依赖关系B. 软逻辑关系C. 外部依赖关系D. ⾥程碑5. 对⼀个任务进⾏进度估算时,A是乐观者,估计是6天完成,B是悲观者,估计是24天完成,C是有经验者认为最有可能是12天完成,那么这个任务的历时估算是介于10天到16天的概率是()A. 50%B. 68.3%C. 70%D. 99.7%6. 下⾯哪项可能延长项⽬的进度?()A. LagB. LeadC. 赶⼯D. 快速跟进7. 关于浮动,下⾯除了哪个都是不正确的?()A. 每个任务都有浮动B. 只有复杂的项⽬有浮动C. 浮动是在不增加项⽬成本的条件下,⼀个活动可以延迟的时间量D. 浮动是在不影响项⽬完成时间的前提下,⼀个活动可以延迟的时间量8. 关于⽹络图,下⾯哪个是不正确的?()A. ⽹络图可⽤于安排计划B. ⽹络图展⽰任务之间的逻辑关系C. ⽹络图可⽤于跟踪项⽬D. ⽹络图可⽤于详细的时间管理9. 资源平衡最好⽤于()活动A. 时间很紧的B. 按时的C. ⾮关键路径D. 关键路径10. 下⾯哪项可以决定进度的灵活性( )A. PER TB. Total floatC. ADMD. 赶⼯⼆、计算题11. 根据图3-21计算项⽬在20天内完成的概率,其中任务1的最乐观、最悲观和最可能的历时估计是8天,10天,24天, 任务2的最乐观、最悲观和最可能的历时估计是1天,5天,9天?习题:第四章-软件项⽬成本计划⼀、选择题1. ()是⽤系统的功能数量来测量其规模,与实现产品所使⽤的语⾔和技术没有关系的。
软件项目管理实验三-项目规模成本估算-软件0801何飞
软件项目管理课程设计实验报告学院:计算机科学与技术学院专业:软件工程班级:0801班学号:2008001468姓名:何飞指导教师:林福平时间:2011年11月 25 日实验三: 项目规模成本估算一、实验目的:1.了解项目成本估算包含的内容;2.掌握项目成本的估算方法。
二、实验内容:1.按标准估值法(1)聘请了5位专家,他们对开发成本的最小规模、最大规模及最可能规模的估值如下表。
(2)由于采用B/S结构,通过计算,修正系数为1。
25。
开发成本采用最有可能规模进行计算:最小规模平均值A=(190000+195000+180000+185000+175000)/5=185000(元)最大规模平均值B=(230000+235000+200000+220000+240000)/5=225000(元)最可能规模平均值M=(210000+215000+190000+205000+220000)/5=208000(元)由此可得:开发成本=修正系数*(A+4*M+B)/6 =1。
25*207000=258750(元)管理成本和质量成本=开发成本*管理质量系数=258750*0.28=72450(元)项目直接成本=开发成本+管理成本+质量成本=258750+72450=331200(元)项目间接成本=直接成本*间接成本系数=331200*0。
25=82800(元)项目总估算成本=直接成本+间接成本=331200+82800=414000(元)由此可得:利润=项目总估算成本* 0.3=414000*0。
3=124200(元)项目的报价=项目总估算成本+利润=414000+124200=538200(元)2.按COCOMO模型法(1)代码行估算大约在5KLOC;(2)属于组织型项目;(3)符合中级COCOMO模型;(4)开发费用为1.2万元/人月;(5)考虑成本因素。
开发成本=总计人月数*人月单价=19*1。
2=22。
软件项目管理-功能点和CoCoMO
C. 计算功能点
FP = UFP * (0.65+0.01*TCF)
D. 功能点与代码行的转换
编程语言
LOC/FP
C
128
Cobol
105
FORTRAN
105
PASCAL
90
Ada
70
4GL
25
代码生成器
15
电子表格
6
案例分析
某学院安装了一个工资系统,人事处要求创建一个 子系统来分析每门课程的人力资源成本。要求该子系统 提供查询每门课程人力资源成本的功能。每名教师所得工 资的细节可以通过工资系统中的文件得到,教师花在教每 门课上的小时数可通过一个基于计算机的计时表系统中的 文件得到。该子系统将计算结果存放到由总会计系统读取 的一个文件中,并产生一个报告,来显示每名教师每门课 的课时数及这些课时数相应的成本。
TCF = F1+F2 + … + F14
技术因子有: F1: 可靠的备份和恢复 F2: 数据通信 F3: 分布式功能 F4: 性能要求 F5: 操作环境 F6: 联机数据输入 F7: 多屏输入
取值范围: 0:不需要或没有影响 1:偶有影响 2:轻微影响
F8: 联机更新 F9: 接口复杂度 F10: 可复用性 F11: 处理复杂性 F12: 安装的方便性 F13: 多站点 F14: 使用方便性
数量
加权因子
测量元素 简单 平均 复杂 简单 平均 复杂
用户输入
3
4
6
用户输出
4
5
6
用户查询
3
4
6
数据文件
7
10 15
第 5 章 基本COCOMO模型
软件工程经济学所关注的是软件工程关联的经济学问题, 软件工程经济学所关注的是软件工程关联的经济学问题,其 中的核心内容是关于软件工程的成本与进度估算。 中的核心内容是关于软件工程的成本与进度估算。本章内容讨 论应用“构造性成本模型” COCOMO模型 模型) 论应用“构造性成本模型” (COCOMO模型)估算软件成本 的基本问题并介绍基本COCOMO模型 内容包括: 模型。 的基本问题并介绍基本COCOMO模型。内容包括:
基本 COCOMO 模型
基本 COCOMO 模型
定义与假设
在上一章已经介绍了COCOMO模型中所用到的软件 在上一章已经介绍了COCOMO模型中所用到的软件生 模型中所用到的软件生 命周期阶段和活动的定义 下面是一些附加 定义和假设, 的定义。 附加的 命周期阶段和活动的定义。下面是一些附加的定义和假设, 它们是COCOMO模型应用的基础 它们是COCOMO模型应用的基础 基本的成本驱动因子是项目开发中交付的源指令 成本驱动因子是项目开发中交付的源指令数 基本的成本驱动因子是项目开发中交付的源指令数( DSI) 其定义如下: DSI)。其定义如下: 交付(delivered) 交付(delivered)— 这个术语通常意味着必须排 不可交付的支持软件 如测试驱动程序。然而, 支持软件, 除不可交付的支持软件,如测试驱动程序。然而,如 果这些软件的开发需要付出与交付软件相同的努力, 果这些软件的开发需要付出与交付软件相同的努力, 有其自身的评审、测试计划、文档等等,那么, 有其自身的评审、测试计划、文档等等,那么,它们 也应该计算在内 源指令( unstruction) 源指令(source unstruction)— 该术语包括由项 目组成员编写的并能由预处理程序、 目组成员编写的并能由预处理程序、编译程序和汇编 程序转换为机器代码的所有程序指令。 程序转换为机器代码的所有程序指令。它不包括注释 和未经修改的公用软件。含作业控制语言、 和未经修改的公用软件。含作业控制语言、格式控制 语句和数据声明。 代码行计算 语句和数据声明。按代码行计算
中间COCOMO模型估算方程
K :人的工作量(人-年)
Ck :技术状况有关的常数
对于差的开发环境 Ck = 2500 对于好的开发环境 Ck = 10000 对于优的开发环境 Ck = 12500
5、基于代码行的成本估算方法
模型: Le (a 4m b) / 6
Ld
n (b a)2 i1 6
a:极好情况下的源代码估算行数期望值 b:正常情况下的源代码估算行数期望值 c:较差情况下的源代码估算行数期望值
可能的影响 2 3 2 3 2
RMMM
表 风险预测表样本
资金流失
预算风险Biblioteka 40%1需求改变
产品规模
80%
2
技术达不到预期效果
技术风险
30%
1
缺少对于工具的培训
人力风险
80%
3
人员缺乏经验 人员流 动频繁
人力风险
30%
2
人力风险
60%
2
3、COCOMO模型 (1)基本COCOMO模型
估算方程: ED rS c TD a(ED)b
ED:总的开发工作量 TD:开发时间 S:源指令数 r,c,a,b:经验常数,取决于项目的总体类型
项目的总体类型:
结构型:在本机内部的开发环境中的小规模产 品。
嵌入型:计算机开发环境往往受到严格限制, 例如时间与空间的限制, 因此对同样的软件规模, 其开发难度要大些,估算工作量要大得多,生产率 将低得多。
半独立型介于结构型与嵌入型之间。
3、COCOMO模型 (2)中间COCOMO模型
估算方程: ED rS c TD a(ED)b
ED:总的开发工作量 TD:开发时间 S:源指令数 r,c,a,b:经验常数,取决于项目的总体类型
第 5 章 基本COCOMO模型
基本 COCOMO 模型
引言
COCOMO 模型的版本 — 本书所给出的构造性成本模 COCOMO模型 存在于一个详细度 精确度不断 模型) 详细度和 不断递增 型(COCOMO模型)存在于一个详细度和精确度不断递增 的层次结构中。上述公式描述了顶层模型—基本COCOMO 的层次结构中。上述公式描述了顶层模型—基本COCOMO 模型,该版本的模型适用于绝大多数软件项目: 模型,该版本的模型适用于绝大多数软件项目:在熟悉的 内部软件开发环境( 内部软件开发环境(开发者对于软件问题的系统要求等非 常了解)中开发的中小型产品。 常了解)中开发的中小型产品。后面三章将讲述基本 COCOMO模型的其余方面 包括工作量、 COCOMO模型的其余方面,包括工作量、进度及活动的阶 模型的其余方面, 段分布 基本COCOMO模型适用于快速、早期、粗数量级的软 模型适用于快速 基本COCOMO模型适用于快速、早期、粗数量级的软 硬件约束、 件成本估算,但由于其未考虑硬件约束 件成本估算,但由于其未考虑硬件约束、人员素质和经验 现代化工具和技术的使用以及对软件成本有着重大影响 、现代化工具和技术的使用以及对软件成本有着重大影响 其它已知项目属性之间的差异的作用 之间的差异的作用( 的其它已知项目属性之间的差异的作用(它们必然影响软 必然有限。 件成本), 精确性必然有限 ),其 件成本),其精确性必然有限。后面部分介绍的中等 COCOMO模型考虑了相关因素的影响 COCOMO模型考虑了相关因素的影响。本书最后将介绍详 模型考虑了相关因素的影响。 COCOMO模型 它考虑了相关因素的生命周期阶段 模型, 生命周期阶段影响 细COCOMO模型,它考虑了相关因素的生命周期阶段影响
基本 COCOMO 模型
定义与假设
在上一章已经介绍了COCOMO模型中所用到的软件 在上一章已经介绍了COCOMO模型中所用到的软件生 模型中所用到的软件生 命周期阶段和活动的定义 下面是一些附加 定义和假设, 的定义。 附加的 命周期阶段和活动的定义。下面是一些附加的定义和假设, 它们是COCOMO模型应用的基础 它们是COCOMO模型应用的基础 基本的成本驱动因子是项目开发中交付的源指令 成本驱动因子是项目开发中交付的源指令数 基本的成本驱动因子是项目开发中交付的源指令数( DSI) 其定义如下: DSI)。其定义如下: 交付(delivered) 交付(delivered)— 这个术语通常意味着必须排 不可交付的支持软件 如测试驱动程序。然而, 支持软件, 除不可交付的支持软件,如测试驱动程序。然而,如 果这些软件的开发需要付出与交付软件相同的努力, 果这些软件的开发需要付出与交付软件相同的努力, 有其自身的评审、测试计划、文档等等,那么, 有其自身的评审、测试计划、文档等等,那么,它们 也应该计算在内 源指令( unstruction) 源指令(source unstruction)— 该术语包括由项 目组成员编写的并能由预处理程序、 目组成员编写的并能由预处理程序、编译程序和汇编 程序转换为机器代码的所有程序指令。 程序转换为机器代码的所有程序指令。它不包括注释 和未经修改的公用软件。含作业控制语言、 和未经修改的公用软件。含作业控制语言、格式控制 语句和数据声明。 代码行计算 语句和数据声明。按代码行计算
第3章 软件项目成本管理(习题)
第三章软件项目成本管理(习题)一、选择题1. ( A )是用系统的功能数量来测量其规模,与实现产品所使用的语言和技术没有关系的。
()A. 功能点B. 对象点C. 代码行D. 用例点2. 如果你是某项目的项目经理,你已经估算出每个单元的成本是¥129。
这个项目一共有1200单元,你采用什么估算方法?( D )A. 自下而上估算法B. 类比估算法C. 专家估算法D. 参数估算法3. 在项目初期,进行竞标合同的时候,一般采用的成本估算方法是(B)A. 参数估算法B. 类比估算法C. 专家估算法D. 功能点估算4. 在成本管理过程中,项目经理确定的每个时间段,各个工作单元的成本是(b)A. 估算B. 预算C. 直接成本D. 间接成本二、判断题1. 间接成本是与一个具体的项目相关的成本(×)2. 软件项目的估算结果是比较准确的(×)3. 在进行软件项目估算的时候,可以按照其它企业的模型进行项目估算(×)4. COCOMO有3个等级的模型: 基本(basic)模型、中等(intermediate)模型、高级(详细(detailed))模型。
(√)三、计算题1. 如果某软件公司正在进行一个项目,预计有50KLOC的代码量,项目是中等规模的半嵌入式类型的项目,采用中等COCOMO模型,项目属性中只有可靠性为很高级别(即取值为1.3),其他属性为正常,计算项目是多少人月的规模?如果2万元/人月,则项目的费用是多少。
------ 311.8人月,623. 6万。
2. 项目经理正在进行一个媒体信息查询系统项目的估算,他采用的delphi的成本估算方法,邀请2位专家估算,第一个专家给出1万,8万,9万的估算值,第二个专家给出了4万,6万,万8 万的估算,计算这是成本的估算值是多少?----- 6.5万四、简答题1.成本估算方法有哪几种?2.软件项目估算涉及到软件开发中的哪些资源?3.简单说明软件项目估算的LOC和FP两种技术区别与相同处?4.影响软件生产率的因素有哪些?5.什么是软件生产率数据?有哪些主要因素影响这些数据?为什么要重视这些数据?这些数据对软件开发有什么意义?6.软件项目成本估算的方法主要有哪几类,列举几个常用的方法并简单说明它们的估算过程;7.COCOMO模型与Putnam模型的联系与区别是什么?8.怎样具体进行软件成本估算?他们分哪几步?9.成本估算需要的数据和资源有哪些?影响软件成本的主要因素有哪些具体方面?。
项目管理-2-软件工作量估算
练习
学生要求每学期写一篇有关IT的报告,如果你想建立一个估算学生完成这样一份报告的模型,你用什么来衡量报告的大小,什么因素会影响学生完成报告的难度? 字数 材料能否获取 对主题的熟悉程度 宽度/深度 技术难度
该方法特别是在对原由系统进行替换时有用,评估者对影响的代码的比例进行分析,从而得到工作量评估。
5
软件工作量估算困难的原因
1
某些人试图建立一个过去项目的全软件业的数据库,但是许多词汇意义的不明确使得这种努力没有效果,例如“测试”阶段究竟包括哪些活动就不明确。
2
估计的主观性:人们容易低估小项目的工作量,而过分夸大大项目的工作量
3
估计的政治因素:不同的人有不同的目标,如项目经理会高估项目工作量,许多机构采用独立的估算小组,但是将项目经理和项目成员吸收进估算小组,能够增强他们的责任感。
自下而上:各个部分的工作量先估算出来,然后进行合成
软件工作量估计技术
该方法首先将项目分成部件任务,然后估算每个任务所需的工作量。
01
在大型的项目中,分解任务的过程是一个叠代的过程,直到最下面的任务不可分解,产生WBS。
02
该方法适合于项目规划的后期。如果应用在前期,那么必须对最终的系统作出一些假设,例如对软件模块的数量和大小进行假设。
特征点(Feature Points):除了考虑普通功能点的内容外,还考虑了算法的特征(矩阵转换,字符串解析,处理中断等都是算法的例子)
功能点的其它扩展
功能点转化为工作量
对于原来的项目,计算生产率: 生产率=功能点数目/工作量(人日) 则,对于新项目,功能点计算出来后,工作量为: 工作量=功能点数目/生产率 更复杂的方法:最小二乘法 即工作量=系数1+功能点数×系数2
COCOMOMO模型
COCOMO模型在软件项目成本估算中的应用05软件(一)班肖凯0510321112摘要:软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。
COCOMO模型作为一个优秀的估算工具,定义了自己独有的且很使用的变量和这些变量之间的计算公式。
在组织型、嵌入型、半独立型这些类型的项目开发中COCOMO模型分别定义出了各自相关的准确的计算。
关键词成本估算工作量COCOMO模型项目类型组织模型ABSTRACT:Software development cost estimates mainly refers to software development costs in the process of the workload and the corresponding price. COCOMO model as an excellent tool for the estimation, the definition of its unique and very variable and the use of these variables between the calculation formula. In tissue-type, embedded, semi-independent of these types of project development in the definition of COCOMO model were related to their accurate calculation.引言:软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。
软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。
在项目管理过程中,为了使时间、费用和工作范围内的资源得到最佳利用,人们开发出了不少成本估算方法,以尽量得到较好的估算。
软件开发成本估算模型
软件开发成本估算模型软件开发成本估算模型是为了在项目启动阶段评估和预测软件开发过程中可能涉及的成本而设计的。
这些模型旨在考虑各种因素,包括项目规模、复杂性、开发人员的经验、所采用的技术等。
以下是一些常见的软件开发成本估算模型:1. COCOMO 模型(Constructive Cost Model):• COCOMO 是一种经验模型,最初由Barry Boehm在1981年提出。
它根据项目的规模、复杂性和开发环境等因素,使用不同的参数进行估算。
COCOMO分为三个级别:基本COCOMO、中级COCOMO和高级COCOMO。
2. Function Point 模型:•这个模型基于应用程序的功能点数量来估算软件开发成本。
功能点是根据用户需求的不同功能来计算的,包括输入、输出、查询和文件。
3. PERT 模型(Program Evaluation and Review Technique):• PERT 是一种项目管理技术,但也可以用于软件开发成本估算。
它使用概率分布来估算不同任务的持续时间,并计算整体项目的概率。
4. Expert Judgment:•专家判断是一种直观的估算方法,通过依赖经验丰富的团队成员的专业意见来估算成本。
这通常结合了历史数据和专家的直觉。
5. Monte Carlo 模拟:• Monte Carlo 模拟是一种基于概率的估算方法,通过多次随机抽样来模拟不同的项目情景,并计算出可能的成本范围。
6. 比较法:•通过比较相似项目的成本数据,可以估算新项目的成本。
这要求找到和新项目相似的历史项目,并调整以适应新项目的特定情况。
7. 成本估算工具:•有一些成本估算工具和软件,如Estimate, COCOMO II等,它们使用算法和模型来帮助项目经理和开发团队进行成本估算。
需要注意的是,这些模型和方法都是估算工具,实际项目成本可能会受到各种未知因素的影响。
因此,在项目进行过程中,成本估算通常需要根据实际情况进行调整。
面向军用软件的COCOMOⅡ改进模型研究
Ab s t r a c t I n o r d e r t o a d a p t t o t h e d y n a mi c c h a n g e s O f mi l i t a r y s o f t wa r e r e q u i r e me n t a n d d e v e l o p me n t e n v i r o n me n t ,
p e r t j u d g me n t a n d De l p h i me t h o d , wh i c h r e s u l t s i n t h e r e f i n e me n t o f C OC ( ) M( ) I I mo d e 1 .F u r t h e r mo r e a c a l i b r a t i o n p r o c e d u r e i s d e s i g n e d t o r e f l e c t t h e e v o l u t i o n o f s o f t wa r e r e q u i r e me n t .B y a p p l y i n g t h e i mp r o v e d mo d e l t O a mi l i t a r y p r o j e c t ,we c a n s h o w t h a t i t c a n p r o v i d e mo r e a c c u r a t e c o s t e s t i ma t i o n a n d mo r e c o mp r e h e n s i v e d e c i s i o n s u p p o r t t o p r o j e c t ma n a g e me n t a n d
Cocomo模型例题
例题20
COCOMO模型能够依据待开发软件的规模来估计软件开发的工期。
若COCOMO模型公式为:。
其中,KDSI为预计应交付的源程序千行数,MM为开发该软件所需的人月数。
设软件开发的生产率为每个人月能编写的最终能交付的源程序千行数(KDSI/MM),则根据上述COCOMO模型可以看出,软件开发的生产率随软件开发规模而变化的趋势如图(30)所示。
例题20分析
这是一个简单的计算题。
根据试题中给出的公式,可以得到:
由上述公式可以看出,开发规模(由KDSI反映)越大,软件开发生产率越低。
因此,正确答案需要在C和D中选择。
显然,上述函数是一个下凸函数,因此,第(30)空的正确答案为D。
说明,如果考生不知道上/下凸函数的定义,则可随机选取几个点,画出上述函数的图形,也可判别。
例题20答案
(30)D。
第 8 章 中等COCOMO模型 — 产品级估算
中等COCOMO模型:产品级估算
引言
将与各成本驱动因子属性对应的乘数应用到一个标称 COCOMO开发工作量估算值(以之去影响最终获得的开发 工作量估算值),就可以得到对软件开发工作量的精确估 算值(这是用相应乘数修正估算值产生的)
➢ 很低 — 软件失效仅给用户带来某种(某些)不便
➢ 低 — 软件失效仅给用户带来易于恢复的损失
➢ 中等 —软件失效仅给用户带来可恢复的损失
➢ 高 — 软件失效将给用户带来高额的财务损失
➢ 很高 — 软件失效将给用户带来危及生命的祸患
数据库规模反映软件产品中数据库的实际容量、复杂 性等对于软件开发工作量的影响。在COCOMO模型中 ,以D/P(D:以字节或字为单位的数据库规模,P:以 DSI为单位的程序规模)来度量数据库规模并相应地将 其分等为“低” 、“中” 、“高”和“很高”
“数据库规模”成本驱动因子属性的等级划分为:
➢ 低 — (D/P)<10 ➢ 中 — 10< (D/P)<100 ➢ 高 — 100 < (D/P)<1000 ➢ 很高 —(D/P)>1000
很显然,这里的等级划分是基于经验的
中等COCOMO模型:产品级估算
中等COCOMO模型:软件开发工作量估算
软件产品的复杂性 — 由软件工程的相关知识、结合 相应的实践可知,不同软件产品的复杂性是不同的,它 与软件的规模保持相对独立。总体上讲,软件产品的复 杂性来源于其所关联的软件问题的复杂性,这既包括了 软件问题中数据对象、处理操作间关联的复杂性(主要 指向这种关联的非规整性),也包括了实践对于软件产 品特性要求的复杂性。表8 – 4中例举了这种复杂性并分 等级地描述了它们,在该表中将软件产品的复杂性归纳 为四个方面(事实上,还可列出许多方面),即“控制 操作”的复杂性、“计算操作”的复杂性、“依赖设备 的操作”的复杂性以及“数据管理操作”的复杂性。针 对软件产品这些方面需求的等级差异(以及其它方面的 复杂性分等级地度量),可将软件产品的复杂性划分为 “很低” 、“低” 、“标称” 、“高” 、“很高”和 “极高”等6个等级并相应地给出了“软件开发工作量 乘数” (见表8 - 2)
面向军用软件的COCOMOⅡ改进模型研究
面向军用软件的COCOMOⅡ改进模型研究一、绪论1.1 研究背景和意义1.2 国内外相关研究现状1.3 研究内容和目的1.4 研究方法和步骤二、COCOMOⅡ模型基础及其局限性分析2.1 COCOMOⅡ模型的构成和原理2.2 COCOMOⅡ模型的适用性和局限性2.3 COCOMOⅡ模型的不足之处三、COCOMOⅡ模型改进理论探究3.1 结合军用软件特点进行模型定制3.2 基于风险管理的模型改进3.3 软件质量特性考虑的模型改进四、COCOMOⅡ模型改进实践研究4.1 军用软件开发项目案例及其基本情况4.2 基于改进模型的军用软件开发项目量化估算4.3 模型改进结果分析和评价五、结论与展望5.1 研究成果及其贡献5.2 研究不足和展望5.3 实践建议参考文献第一章概述1.1 研究背景和意义随着信息化发展的不断推进,军用软件的应用范围和数量不断扩大,军用软件工程面临着越来越复杂的开发和维护环境,也面临着严格的质量和安全要求。
如何提高军用软件工程中开发效率、降低开发成本、保证软件质量以及提高安全性,是军用软件工程领域需要解决的难题。
软件开发过程中,准确的成本估算和时间规划是重要的环节。
而COCOMOⅡ模型是一种广泛应用于软件开发领域的成本估算模型,它可以帮助评估所需要的软件开发过程的工作量和时间。
COCOMOⅡ模型提供了一种可量化的方法,以便进行制定计划、管理项目和分配资源等操作,有效地提高了软件生产的效率。
然而,传统的COCOMOⅡ模型无法完全适应军用软件的复杂性和特殊性,因此一种针对军用软件的COCOMOⅡ改进模型是必要的。
1.2 国内外相关研究现状近年来,国内外关于COCOMOⅡ模型的改进研究已经开始逐步发展。
国外COCOMOⅡ模型改进的研究主要包括结合软件过程改进方法、基于风险管理的COCOMOⅡ等。
国内学者主要从军用软件的研究出发,提出适用于军用软件的COCOMOⅡ改进模型的研究。
因此,本研究基于国内外COCOMOⅡ模型的研究成果,结合军用软件特征,针对军用软件工程的实际情况,提出一种可行的COCOMOⅡ改进模型,以便更好地满足军用软件工程的实际需求。
COCOMO估算模型
COCOMO估算模型COCOMO模型是由TRW公司开发,Boehm提出的结构化成本估算模型。
是⼀种精确的、易于使⽤的成本估算⽅法。
基本COCOMO模型,中间COCOMO模型,详细COCOMO模型模型。
其中基本COCOMO模模型按其详细程度可以分为三级:基本型是是⼀个静态单变量模型,它⽤⼀个以已估算出来的原代码⾏数(LOC)为⾃变量的经验函数计算软件开发⼯作量。
中级COCOMO模型在基本COCOMO模型的基础上,再⽤涉及产品、硬件、⼈员、项⽬等⽅⾯的影响因素调整⼯作量的估算。
详细COCOMO模型包括中间COCOMO模型的所有特性,但更进⼀步考虑了软件⼯程中每⼀步骤(如分析、设计)的影响。
模型中,考虑开发环境,软件开发项⽬的类型可以分为3种:1. 组织型(organic):相对较⼩、较简单的软件项⽬。
开发⼈员对开发⽬标理解⽐较充分,与软件系统相关的⼯作经验丰富,对软件的使⽤环境很熟悉,受硬件的约束较⼩,程序的规模不是很⼤(<50000⾏)2. 嵌⼊型(embedded): 要求在紧密联系的硬件、软件和操作的限制条件下运⾏,通常与某种复杂的硬件设备紧密结合在⼀起。
对接⼝,数据结构,算法的要求⾼。
软件规模任意。
如⼤⽽复杂的事务处理系统,⼤型/超⼤型操作系统,航天⽤控制系统,⼤型指挥系统等。
3. 半独⽴型(semidetached):介于上述两种软件之间。
规模和复杂度都属于中等或更⾼。
最⼤可达30万⾏。
COCOMO模型中我们定义以下变量:L-------源指令条数。
不包括注释。
1KDSI = 1000DSI。
E-------开发⼯作量(以⼈⽉计) 1MM = 19 ⼈⽇ = 152 ⼈时 =1/12 ⼈年D-----开发进度。
(以⽉计)根据以上定义,我们分别对基本COCOMO模型,中间COCOMO模型,详细COCOMO模型的应⽤做出解释如下:基本COCOMO模型1. 我们知道,COCOMO模型是⼀种基于代码⾏估算的成本分析⽅法,因此我们⾸先估算出软件的代码⾏规模L(单位是kLoc,即千⾏代码)2. 然后我们根据公式E = a*L^b , D = c*E^d 得到估算出的⼯作量和开发时间。
基于功能点的COCOMOⅡ估算模型研究和应用
complexity
also
getting higher
a
and
higher.Cost management of software
is
becoming
an
important part of
computer software project management.Only by
doing this aspect of the gate in order to guarantee the quality and to reduce costs of
ale
the improved COCOMO II model
cost estimates of sinail
and
Function Point
Analysis
more suitable for
and medium.sized
software companies.
Key Words:Cost estimation;COCOMO II;Function Point Analysis.
The
thesis currently studies COCOM0 II
cost of software.In view of
are
model—one of successful methods
current
for estimating the
the features of that the
domestic
作用,并根据国内中小企业的情况增加驱动因子。
(2)选取功能点估算法作为软件规模估算方法,针对我国软件行业的特点进 行了调整。 (3)结合具体实例通过改进后的基于功能点的COCOMOII估算模型估算出规 模和工作量,与该软件项目的实际工作量做比较,对模型进行了评估, 同时对结果进行分析说明。
COCOMO2模型_实用软件工程_[共2页]
288 响应时间)、联机更新等,在表8-2中列出了全部技术因素,并用F i(1≤i≤14)代表这些因素。
根据软件特点,为每个因素分配一个从0(不存在或对软件规模无影响)到5(有很大影响)的值。
然后,用下式计算技术因素对软件规模的综合影响程度DI。
14
1
i
i
DI F
=
=∑
TCF由下式计算:
TCF = 0.65 + 0.01×DI
因为DI的值为0~70,所以TCF的值为0.65~1.35。
表8-2 技术因素
(3)计算功能点数(FP)。
FP由下式计算。
FP=UFP×TCF
功能点数与所用的编程语言无关,因此,功能点技术比代码行技术更合理一些。
但是,在判断信息域特性复杂级别及技术因素的影响程度时,存在相当大的主观因素。
8.2.4 COCOMO2模型
COCOMO是构造性成本模型(Constructive Cost Model)的英文缩写。
1981年Boehm首次提出了COCOMO模型。
1997年Boehm等提出的COCOMO2模型,是原始的COCOMO模型的修订版,它反映了十多年来在成本估计方面所积累的经验。
COCOMO2给出了3个层次的软件开发工作量估算模型,这3个层次的模型在估算工作量时,对软件细节考虑的详尽程度逐级增加。
这些模型既可以用于不同类型的项目,也可以用于同一个项目的不同开发阶段。
这3个层次的估算模型分别介绍如下。
(1)应用系统组成模型:用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例题20
COCOMO模型能够依据待开发软件的规模来估计软件开发的工期。
若COCOMO模型公式为:。
其中,KDSI为预计应交付的源程序千行数,MM为开发该软件所需的人月数。
设软件开发的生产率为每个人月能编写的最终能交付的源程序千行数(KDSI/MM),则根据上述COCOMO模型可以看出,软件开发的生产率随软件开发规模而变化的趋势如图(30)所示。
例题20分析
这是一个简单的计算题。
根据试题中给出的公式,可以得到:
由上述公式可以看出,开发规模(由KDSI反映)越大,软件开发生产率越低。
因此,正确答案需要在C和D中选择。
显然,上述函数是一个下凸函数,因此,第(30)空的正确答案为D。
说明,如果考生不知道上/下凸函数的定义,则可随机选取几个点,画出上述函数的图形,也可判别。
例题20答案
(30)D。