软件工程化和CMM.ppt
《软件工程化和CMM.ppt》由会员分享,可在线阅读,更多相关《软件工程化和CMM.ppt(49页珍藏版)》请在三一文库上搜索。
1、软件工程化和CMM 解决软件危机的一种方法 1 软件危机的产生 s1.正在运行的计算机软件的数量正以惊人的速 度急剧膨胀,软件规模庞大,耗资巨大。 s2.微电子技术的进步,计算机软件已经成为限 制计算机系统发展的关键因素。 s3.在计算机系统开发早期时代所形成的一些错 误观点和做法,已严重的影响了计算机的开发 ,更严重的是用错误的方法开发出来的许多大 型软件几乎根本无法维护,只好提前报废,造 成大量人力、物力的浪费。 2 软件危机的具体表现 1.对软件开发成本和进度的估计常常很不准确。 2.用户对“已完成的”软件系统不满意的情况经常 发生。 3.软件产品质量往往靠不住。 4.软件常常是不可维护
2、的。 5.软件通常没有适当的文档资料。 6.软件成本在计算机系统总成本中所占的比例逐年 上升。 7.软件开发成本生产率提高速度远跟不上计算机应 用迅速普及深入的趋势。 3 由于软件所引起的后果 s海湾战争中,一枚飞毛腿导弹刺入爱国者反导弹的 外壳中,打中了位于沙特的一座军营,造成28名美 国军人死亡,98人受伤,其原因是爱国者导弹的软 件包含一个累加计时故障,其导弹在设计时规定运 行几小时,时钟将复位。该故障从未产生重大影响 ,因而没有被发现,而在战争中,此导弹的电池连 续运行100多个小时,这使累计时间差变的太大,导 致系统错误。 s在战争期间,美军将爱国者导弹运往以色列,防卫 飞毛腿导弹。
3、以色列军队8小时就发现了此错误,立 即向美国导弹生产商报告。后者以最快的速度修正 了错误,但新软件在军营被飞毛腿导弹击中后一天 才到达。 4 软件工程的基本原理 s1.用分阶段的生命周期计划严格管理 s2.坚持进行阶段评审 s3.实行严格的产品控制 s4.采用现代程序设计技术 s5.结果应能清楚的审查 s6.开发小组的人员应该少而精 s7.承认不断改进软件工程实践的必要性 5 软件生命周期模型 s1.边做边改模型 s2.瀑布模型 s3.快速原型模型 s4.增量模型 s5.螺旋模型 6 软件工程研究的新领域 s1.CASE s2.CMM s3.软件构件技术 s4.面向对象技术 s5.UML s6
4、.XML s7.可移植软件系统的开发 7 工程化软件的开发与研究 8 软件工程化产生的背景 解决软件危机的有效途径 传统建模方法的弊端 软件工程化研究的内容 软件工程化的研究意义 9 失之毫厘,谬之千里 由于软件开发过程中存在错 误而导致的积累与放大效应 原始要求 正确的规格说明 错误的规格说明 需求 分析 设计正确的设计 错误的设计 对错误说明的设计 编码 正确编码 对错误说明的编码 错误编码 对错误设计的编码 测试正确功能 潜伏的错误 不可改正的错误 可改正的错误 不完善的软件 10 软件危机的形成 高 中 低 分析 设计 编程 测试 维护 修改错误的 阶段 代价(成本、质量、效率) 原始
5、要求 正确的规格说明 错误的规格说明 需求 分析 设计正确的设计 错误的设计 对错误说明的设计 编码正确编码 对错误说明的编码错误编码对错误设计的编码 测试正确功能 潜伏的错误 不可改正的错误 可改正的错误 不完善的软件 软件危机的 形成 11 实体- 关系图 数据流图 设计 方案 分析 结果 OO 程序 非OO 设计方案 传统建模方法面临严重困境 三条难以逾越的鸿沟 12 4软件产业自身的特点 4我国软件产业的现状 4解决传统的软件开发的弊端 4解决软件危机的需要 软件工程化产生的背景 作用 13 4软件复用技术 4工程环境技术 4软件实用技术 4软件规范化技术 4软件过程化技术 软件工程化
6、的研究内容 典型应用 14 CMM 软件能力成熟度模型 15 软件能力成熟度模型 概念 产生的背景 研究CMM的意义 国外的发展现状 国内的发展现状 16 国外发展现状 sCMM分为五个等级,目前世界上通过CMM 认证的软件企业共有400多家,其中通过 s二级认证有243个 s三级认证的有100个 s四级认证的有60个 s五级认证的有13个 返回 17 国内发展现状 s目前,我国的软件企业通过CMM二级认 证的软件企业不超过10家,而通过三级 认证的企业仅有1家(由IBM公司和清华 大学共同支柱的鼎新软件开发公司), 同印度的软件企业相比,我们虽然比他 们早起步了10年,但是目前我国的软件 产
7、品出口仅为印度的1%。印度有7家软 件企业通过了五级认证。 返回 18 产生的背景 sCMM在1996年由Carnegie-Mellon大学软 件工程研究所SEI的Watts Humpherey提出 的。CMM的基本思想是:由于许多的软 件开发过程中的问题是由管理软件过程 方法引起的,所以新软件的技术的运用 不会自动提高生产率和利润率。 19 1987年诞生于美国; 5层的分层进化结构; 使用过程成熟度的概念 来标志软件组织开发软 件产品的能力; 1初始级 1初始级 过程能力不可预知 5优化级 软件过程持续改进 2可重复级 可以重复以前的成功 3已定义级 组织的标准软件过程 4 定量管理级 软
8、件过程可预测和控制 返回 20 引进CMM的目的 s1.在软件生命周期的维护阶段花费的比例 接近70%。(HP公司大约有60%-80%的 研究人员和开发人员都涉及到维护工作 ) s2.软件产品的特殊性。 s3.目前世界范围内的的软件开发现状(维 护费用高、软件开发周期过长、软件产 品不能按期的交付使用) 返回 21 软件能力成熟度模型的概念 sCMM(Capability Maturity Model)。它 与传统的软件生命周期模型不同,它不 是一个软件生命周期模型,而是一种改 进软件过程的策略。它与实际的使用的 模型无关。 22 s1.CMM明确的定义了五个不同的成熟的等 级。(国外的情况)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 CMM
链接地址:https://www.31doc.com/p-3302026.html