当前位置:文档之家› 软件能力成熟度模型CMM

软件能力成熟度模型CMM

相对于硬件 面临的问题
❖软件成本高 ❖软件开发的进度难于控
制 ❖估计软件工作量很困难 ❖软件质量难于保证 ❖修正维护软件困难
20
40
60
80
百 分 比
硬件
软件
55 60 65 70 75 80 85 90 95 2000年代
图1.1 软硬件费用之比
1.1 软件与软件产业的发展过程
v 软件开发技术状况
❖ 软件产业与CMM的提出
目前国际上最流行的、使用最广泛的是专门针对 软件产业制定的CMM认证体系
世界上软件发展的水平参差不齐
❖美国、欧洲、日本和印度等国家:水平高、质量好、 规模大
❖我国
进展显著 发展速度相对落后
1 绪论
v
v CMM的发展过程
v CMM与软件产业
1.2 CMM的发展过程
❖ CMM概况
❖ W. Edward Deming(现代质量思想理论的 鼻祖)提出了丹明链式反应的现象
1. 一个企业改进他的生产过程并坚持不懈地按此 运动
2. 质量改进了
3. 因为减少了返工、错误和延迟,设计得更好, 更有效地使用资源,成本下降了
4. 因为上升了的质量及降低了的售价,产品的市 场占有率提高了
5. 利润增加了
❖目的:研究如何有效地对软件开发项目进行 管理,以便按照进度和预算完成软件项目计 划,实现预期的经济效益和社会效益
❖包括:成本估计、进度计划、人员组织、质 量保证等
1.1 软件与软件产业的发展过程
v 软件产业与CMM的提出
软件产业的发展
图1.3 软件产业发展过程
Continue
1.1 软件与软件产业的发展过程
开发方法 功能性程序设计技术;依赖于才智与技巧; 以“软件工程”来解决“软件危机”
70年代 处理对象 程序设计=数据结构+算法,“小规模系统
程序的设计”
用途
非数值计算的商业事务应用,以及之能领域 的应用
环境与目的 发展了应用系统的基础设施;确定数据结构
及相应算法
Continue
开发方法 1、程序中分离出数据结构和算法
2、结构化分析与设计
形成了系统软件与应用软件;开始提出软 件开发模型——”瀑布模型”
80年代 处理对象 大规模系统的程序设计
用途 以数据库为中心的计算机信息系统
环境与目的 网络、分布系统和个人计算机的普及,软 件系统规模扩大;CASE及相应的集成化 工具
开发方法
重点转向构造系统的方法;强调开发组的 协作;技术上:关系数据库的客户/服务器 计算,COCOMO和CMM的提出,面向对 象技术
CMM的用途包括:软件过程改进;软件过程评估; 软件组织开发能力评价.
CMM不是特定的软件开发技术。
1.2 CMM的发展过程
❖ CMM的理论基础
“丹明链” “全面质量管理” “质量管理顾问公司(质量研究所)”
1.2 CMM的发展过程
❖ 20世纪30年代,Walter Shewart公布了统 计质量控制原理
1.2 CMM的发展过程
❖ 全面质量管理(TQM,Total Quality Management)
CMM产生的理论基础 CMM是TQM在软件业应用中的升华 目标:满足现在和将来的客户需求
项目A
机构 项目B
项目C
项目X
系统
硬件
软件
TQM
过程管理 CMM
CMM的发展过程
❖ “质量管理顾问公司(质量研究所)”
质量管理学家克罗斯比在1979年成立了一家名为 质量管理顾问的公司(质量研究所)
IBM公司的罗恩.拉德斯和瓦茨.汉弗莱
1.2 CMM的发展过程
v CMM的发展
1987年9月 SEI 软件能力成熟度框架和软件成熟度问卷
1991年 SEI推出了CMM 1.0版本
1993年 SEI推出了CMM 1.0版本
图1.2 软件发展趋势
Continue
年代
软件开发技术的状况
40年代 处理对象 机器码
~
用途 科学计算;军事应用
50年代 环境与目的 裸机;确定计算机硬件的动作序列
开发方法 逻辑能力
60年代 处理对象 多种符号语言(独立于机器的)
用途 科学计算;商业、银行等领域
环境与目的 高效的程序设计语言;确定程序设计人员定 义的动作序列
目前 CMMI(Capability Maturity Model Integration)
计划 CMM 2.0
图1.4 CMM的发展过程
1.2 CMM的发展过程
❖ CMM的发展方向
CMM的主要特点
❖基于实际实践 ❖最好的反映了实践的情况
Continue
1.1 软件与软件产业的发展过程
❖ 软件工程与软件过程管理
软件过程管理
❖对软件开发全过程规范化及标准化的管理
❖软件过程管理技术包括:软件管理学和软件 工程经济学
❖目前,国外普遍采用的软件过程管理方法是: 美国卡内基•梅隆大学软件工程研究所(SEI) 提出的软件能力成熟度模型(SW-CMM)
90年代 处理对象 多媒体
用途 网络
环境与目的 Internet;信息共享,协同工作
开发方法 Internet的遍布,出现了JAVA;强调集成 和可重复性,复用经验,以及过程管理
1.1 软件与软件产业的发展过程
❖ 软件工程与软件过程管理
软件工程( Software Engineering)
❖指导计算机软件开发和维护的工程科学
❖旨在确定软件开发技术规范,其中软件开发 技术包含:软件开发方法学、软件工具和软 件工程环境
❖应用计算机科学(用于构造模型预算法)、 工程科学(用于制定规范、设计模型、评估 成本及权衡利弊)和管理科学(用于计划、 资源、质量、成本等管理)的基本原理
❖与其他工程的区别:产品是程序
❖特点:规范化、文档化
摘要
❖ 绪论 ❖ CMM体系结构 ❖ 可重复级(第2级) ❖ 已定义级(第3级) ❖ 已管理级(第4级) ❖ 优化级(第5级) ❖ CMM过程控制和ISO9000评价标准的区别
1 绪论
❖ 软件与软件产业的发展过程 ❖ CMM的发展过程 ❖ CMM与软件产业
1.1 软件与软件产业的发展过程
❖ 软件
解决“软件危机”
CMM工作最初是应美国联邦政府的要求提供一 种评估软件承包商能力的方法而进行的。
Capability Maturity Model For Software (SW—CMM),软件能力成熟度模型是由美国 卡内基梅隆大学的软件工程研究所 (Software Engineering Institute SEI) 在1991年推出的。
相关主题