031软件能力成熟度模型TCMM
软件能力成熟度模型等级和过程
软件能力成熟度模型(CMM)是一个用于评估和改进软件开发能力的框架,它通过定义五个不同的成熟度等级来帮助组织了解他们软件开发过程的状态,并提供指导他们改进的路径。
这五个等级分别是初始级、重复级、定义级、管理级和优化级。
在本文中,我将从这五个等级出发,深入探讨软件能力成熟度模型等级和过程,以期帮助读者更全面地理解这一主题。
### 1. 初始级在软件能力成熟度模型中,初始级是指组织在软件开发过程中缺乏一致性和可预测性。
在这个阶段,软件开发过程通常是不受控制的,因为缺乏标准化的过程和程序。
这意味着在初始级的组织中,软件开发过程是混乱的,不可靠的,并且难以管理和预测。
### 2. 重复级在重复级,组织开始意识到需要对软件开发过程进行一定程度的标准化和文档化,以确保在软件开发过程中能够重复使用成功的实践。
在这个阶段,组织可能会创建一些基本的流程,并且对这些流程进行持续改进,以确保在软件开发过程中的可预测性和一致性。
### 3. 定义级在定义级,组织已经实现了对软件开发过程的标准化,并且能够对这些过程进行量化和测量。
这意味着组织可以更好地控制和管理软件开发过程,并且能够更好地预测成果和生产力。
在这个阶段,组织通常会将标准化的软件开发过程进行文档化,并且建立一些度量指标来监控和改进这些过程。
### 4. 管理级在管理级,组织不仅能够量化和测量软件开发过程,还能够根据这些度量指标来进行持续改进和优化。
这意味着组织已经具有较高的管理水平,能够监控和控制软件开发过程,并且能够在持续改进中实现更高的成果和生产力。
在这个阶段,组织通常会建立一个持续改进的文化,并且不断提高对软件开发过程的认识和理解。
### 5. 优化级在优化级,组织已经实现了对软件开发过程的最高理解和控制。
这意味着组织能够根据对软件开发过程的深刻理解来实现最佳的成果和生产力,并且能够持续改进和优化软件开发过程。
在这个阶段,组织不断寻求创新和改进,以保持其在软件开发领域的领先地位。
软件能力成熟度模型体系
软件能力成熟度模型体系软件能力成熟度模型(Capability Maturity Model,简称CMM)是一种用于评估组织软件工程能力成熟度的模型。
它由美国卡内基梅隆大学的软件工程研究所(SEI)研发,主要用于评估软件开发和维护过程的管理能力和工程能力。
CMM模型将软件开发过程分为初始、重复、定义、管理和优化五个级别,每个级别都有不同的标准和要求。
初始级别是最低的级别,表示软件开发过程处于无序状态,没有明确的流程和规范;重复级别是第二个级别,表示软件开发过程开始有了一些基本的流程和规范,但仍然存在很多重复性的工作;定义级别是第三个级别,表示软件开发过程已经有了明确的流程和规范,并开始注重项目管理和质量保证;管理级别是第四个级别,表示软件开发过程已经有了完善的流程和规范,并开始注重团队协作和项目管理;优化级别是最高级别,表示软件开发过程已经非常成熟,并开始注重创新和改进。
CMM模型的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
它是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。
CMMI是CMM的升级版,也是由SEI开发的一种软件开发和维护过程成熟度评估模型。
CMMI 把软件开发过程分为初始、已管理、已定义、定量管理、优化五个阶段,每个阶段都有不同的标准和要求。
与CMM相比,CMMI更加注重定量管理和优化,强调通过数据分析和改进来提高软件开发和维护过程的效率和质量。
总之,软件能力成熟度模型体系是一种用于评估组织软件工程能力成熟度的模型,它包括CMM和CMMI两种模型,旨在帮助企业评估自己的软件开发和维护能力,识别改进的方向和方法,提高软件开发和维护过程的效率和质量。
软件过程及能力成熟度评估指南_概述说明
软件过程及能力成熟度评估指南概述说明1. 引言1.1 概述软件过程及能力成熟度评估是指通过对软件开发过程的分析和评估,以及对组织在软件开发中的能力和成熟度水平进行检查和衡量的一种方法。
在现代软件开发中,为了提高质量、控制风险并提高效率,评估和改进软件过程的能力和成熟度变得至关重要。
本篇文章旨在介绍软件过程及能力成熟度评估指南,它是一个用于帮助组织进行软件过程评估和提升的实用工具。
本文将涵盖以下内容:从介绍基本概念开始,重点解释了软件过程能力成熟度模型(如CMMI)以及相关的评估方法、流程等内容。
同时还会详细说明了评估前的准备工作、环境设置要点,以及整个评估步骤和方法,并且重点讲解了数据分析和结果报告部分。
1.2 文章结构本文共分为五个部分,具体内容如下:第一部分是引言,在这里我们对全文做出总体概述,并简要介绍文章的结构。
第二部分是关于软件过程能力成熟度评估的概念,我们将介绍软件过程能力成熟度模型以及评估的重要性和优势与应用场景。
第三部分是关于软件过程模型(例如CMMI)的介绍,我们将详细解释CMMI 的基本原则和结构,并说明五个成熟度级别的含义和要点。
此外,我们还会介绍CMMI评估方法及流程,帮助读者更好地理解和应用这一评估模型。
第四部分是对软件过程能力成熟度评估指南进行详解。
在这一部分中,我们将拓展论述评估前的准备工作和环境设置要点,接着详细介绍评估步骤和方法,并且通过实例讲解数据分析和结果报告要点。
最后一部分是结论及展望,在这一部分中我们将总结软件过程能力成熟度评估对软件开发的影响,并探讨未来发展方向,并以结束语作为全文的收尾。
1.3 目的本文旨在帮助读者全面理解软件过程及能力成熟度评估指南,并能够应用该指南进行有效的软件过程能力和成熟度评估。
通过评估和提升软件过程的能力和成熟度,组织能够更好地控制风险、提高产品质量和开发效率,并在竞争激烈的市场中取得可持续发展的优势。
2. 软件过程能力成熟度评估概念:2.1 软件过程能力成熟度模型介绍在软件开发领域,软件过程能力成熟度模型(Software Process Capability Maturity Model,简称SP-CMM或CMM)是一种用于评估组织的软件开发和管理能力的模型。
软件能力成熟度模型管理方案
软件能力成熟度模型管理方案
软件能力成熟度模型(Software Capability Maturity Model,CMM)是一种管理方案,用于评估和改进组织的软件开发和维护过程。
它是由美国卡内基梅隆大学软件工程研究所(SEI)开发的,旨在帮
助组织提高其软件开发能力,并确保交付的软件产品具有高质量和
可靠性。
软件能力成熟度模型管理方案主要包括以下几个方面:
1. 评估,组织可以通过软件能力成熟度模型对其软件开发过程
进行评估,了解当前的能力成熟度水平。
评估可以帮助组织识别现
有过程中的弱点和改进空间,为制定改进计划提供依据。
2. 改进计划,基于评估结果,组织可以制定针对性的软件过程
改进计划。
这些改进计划可以涉及流程优化、技术更新、人员培训
等方面,旨在提高软件开发过程的效率和质量。
3. 指导,软件能力成熟度模型提供了一套指导原则和最佳实践,帮助组织建立和改进其软件开发过程。
这些指导原则涵盖了组织管理、工程实践、过程改进等多个方面,可以帮助组织更好地管理和
执行软件开发项目。
4. 持续改进,软件能力成熟度模型强调持续改进的理念,组织
不断地进行自我评估和调整,以逐步提高其软件开发能力和成熟度
水平。
这种持续改进的文化有助于组织不断适应市场变化和技术发展,保持竞争优势。
总的来说,软件能力成熟度模型管理方案是一种系统性的方法,可以帮助组织评估、改进和管理其软件开发过程,从而提高软件交
付的质量和效率。
通过实施该管理方案,组织可以建立起稳定、可
靠的软件开发能力,更好地满足客户需求并在市场竞争中脱颖而出。
软件能力成熟度模型PPT课件
案例三:某大型企业的CMMI应用与效果
总结词
CMMI助力大型企业提升软件质量与竞争力
详细描述
某大型企业为了提高软件质量和竞争力,全面应用了CMMI。通过实施CMMI,该企业 规范了软件开发流程,提高了软件质量。同时,CMMI的应用还帮助该企业提高了团队 协作和项目管理能力,降低了软件开发成本和风险。这些改进使得该企业的软件产品更
评估结果与改进
反馈评估结果
将评估报告向相关干系人进行反馈,以便了解软件开发生命周期的成 熟度现状和改进方向。
制定改进计划
根据评估结果,制定针对性的改进计划,明确改进目标、措施、时间 表和责任人。
实施改进措施
按照改进计划,组织相关人员进行改进工作,确保改进措施的有效实 施。
监控与评审
对改进过程进行监控和评审,确保改进工作的顺利进行,并及时调整 改进计划以确保达成预期的改进目标。
企业如何持续改进软件能力成熟度
制定改进计划
企业应根据自身实际情况,制定具体 的改进目标和计划,明确改进的方向 和措施。
实施过程改进
企业应积极推行过程改进,通过优化 流程、提高团队能力、加强项目管理 等方面提升软件能力成熟度。
பைடு நூலகம்
持续监控与评估
企业应建立持续监控和评估机制,及 时发现和解决存在的问题,确保改进 效果的持续性和稳定性。
PART 04
CMMI实践案例
案例一:某软件开发公司的CMMI实施
总结词
成功实施CMMI,显著提升软件质量
详细描述
某软件开发公司为了提高软件质量,成功实施了CMMI。通过制定严格的软件开发流程和质量标准, 该公司减少了软件缺陷和错误,提高了软件的可维护性和可靠性。同时,CMMI的实施还帮助该公司 提高了团队协作和项目管理能力,从而提高了整体软件开发的效率和质量。
软件工程软件能力成熟模型
5
优化级
不断地改善软件过程
组织持续地改善过程能力
可视性与过程能力的比较
12.2 CMM的内部结构
CMM的每个等级都被分解为3个层次加以定义: 即关键过程域、公共特性和关键实践。
每个等级由几个关键过程域组成,这几个关键 过程域共同形成一种软件过程能力。
每个关键过程域按4个关键实践类加以组织;并 且都有一些特定的目标,通过相应的关键实践类来 实现。
等级 1
成熟度 初始级
可视性 有限的可视性
过程能力 一般达不到进度和成本的目标
2 可重复级 里程碑上具有管理可视性 由于基于过去的性能,项目开 发计划比较现实可行
3 已定义级 项目定义软件过程的活动具 基于已定义的软件过程,组织
有可视性
持续地改善过程能力
4 已管理级
定量地控制软件过程
基于对过程和产品的度量,组 织持续地改善过程能力
CMM认证已经成为世界公认的软件产品进入国 际市场的通行证。
CMM的主要用于: 1.软件过程评估SPA(Software Process Assessment) 2. 软件过程改进SPI(Software Process Improvement) 3. 软件能力评价SCE(Software Capability Evaluation)
Software,简称SW-CMM1.0版)。
目 前 ,CMM 已 经 发 展 到 CMMI ( Capability Maturity Model Integration),能力成熟度模型集成 阶段。
12.1 CMM概述
CMM侧重于软件开发过程的管理及工程能力的 提高与评估,是国际上流行的软件生产过程标准和 软件企业成熟度等级认证标准,它更代表了一种管 理哲学在软件企业中的应用。
基于CMM和TCMM的软件质量保证研究
审核 、 检查 、 证等 活 动 , 些 活 动在 传统 的测试 验 这
过 程 中曾是软件 验 收和确认 的活 动 。这样 就把 测 试 过程集 成到 了整个软 件开发 周期 中 。例 如把 测
试过 程集成 Nv 模 型 中后 , 修正后 的V模 型如 图1
所示。
时降低 管理 成本 , 高管理 效 率 。由此可 知 ,QA 提 S
些 人认 为的从代 码 阶段 才开 始进行 测试 。 以 , 所
人员 提供证 据 以确 立质 量功 能正 在按 需求运 行 的
需 求 指标 等等 都需 要 进行 检验 , 以确 保在 各 个环
节 上产 品质量都有 一个体 系作保 证 。成熟 的软件 测 试 过程 就是 贯穿 于 整个 软件 生 命 开发 周 期 中 , 它对 传统 的测试过 程进行 了扩充 , 包含 了评 审、 它
信心㈨ 。
笔者 将 软 件质 量 保 证 的定 义 总结 为 : 件 质 软
量保 证 是参 照一 定 的质 量标 准 、 目标 及各 项 软件
流程 、 规范 来监 督 、 管理 公 司产 品的质 量 。对 各种 质 量活动, S 如 QA、 审 、 试 等 制 定计 划 , 评 测 收集 和分 析质 量数 据 , 处理 发现 的 问题 。 过对开 发过 通 程 的量 化 度量 控 制 , 早 发 现 和解 决 项 目中存在 尽 的 问题 , 避免 项 目风 险 。有 效提 高软 件开发 的“ 可 视性 ” “ 、 可控 性” 项 目成功 率 和软件 产 品质量 。 、 同
包 括两 方面 的任务 : 一是对 软件 开发 过程 的保证 ,
收 稿 1 :0 60—8 3期 2 0 —30
要使 上 述过 程 能顺 利进 行 , 软件 开 发过 程 和
软件能力成熟度模型ppt课件
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
–软件项目跟踪和监督(SPTO:Software Project Tracking and Oversight)
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
4
CMM模型的可重复级
• CMM2级的关键过程域
4
CMM模型的可重复级
• CMM2级的关键过程域
CMM 2级的关键过程域的侧重点就是为软件项目 建立项目管理控制
• 它包括以下六个关键过程域:
–需求管理(RM:Requirements Management)
–软件项目计划(SPP:Software Project Planning),也称为软件开发计划(SDP: Software Development Plan)
行培训(执行能力)
认识到了贫困户贫困的根本原因,才 能开始 对症下 药,然 后药到 病除。 近年来 国家对 扶贫工 作高度 重视, 已经展 开了“ 精准扶 贫”项 目
4
CMM模型的可重复级
指过导程•关域C键 的MM利 SD2用P级S同D上P的级跟关管踪理活键动 部, 门过并 审程修 核改 组域定 估义 的和 基计 础划 上将 选被择转转包包的商工并作签在定能转力包评合
发展步骤:审核约定,制定 软件项目计划,估计大小、 工作量、资源,估计日期
软件成熟度模型总复习解读(大全)
软件成熟度模型总复习解读(大全)第一篇:软件成熟度模型总复习解读(大全)1.概述软件能力成熟度模型(CMM)的内部结构。
(2章28页)①CMM每个等级可分解为3 个层次:关键过程域、公共特性和关键实践②每个等级由几个关键过程域组成,这几个关键过程域共同形成一种软件过程能力③每个关键过程域按照5个关键实践类加以组织④每个关键过程域都有一些特定的目标,通过相应的关键实践类来实现这些目标。
解释以下术语:软件过程能力:描述了遵循某软件过程可能达到的预期结果的程度。
软件过程能力既可对整个软件开发组织而言,也可对一个软件项目组而言。
软件过程性能:表示一个过程所达到的实际结果的一种度量。
软件能力成熟度等级:①它是软件开发组织在走向成熟的过程中几个明确定义的表征软件过程能力成熟度的平台②每一个成熟等级为过程继续改进达到下一个等级提供一个基础③每一个等级包含一组过程目标,当其中一个目标达到时,就表明软件过程的一个重要成分得到实现,从而导致组织的软件过程能力增长。
关键过程域:它也称关键过程区域。
是指一系列相互关联的操作活动,这些活动反映了一个软件组织改进软件过程时所必须满足的条件。
关键过程域标识了达到某个成熟程度级别时所必须满足的条件。
CMM共有18个关键过程域,分布在第二至第五级中,是相互关联的若干软件实践活动和有关基础设施的一个集合。
关键实践:是指关键过程域中一些主要的实践活动,实施起关键作用的方针、规程、措施、活动以及相关基础设施的建立。
每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。
●组织的标准软件过程:过程成熟度的关注焦点从项目的管理转向组织的体系和管理。
全组织建立了软件开发和维护的标准过程,软件工程过程和软件管理过程,被综合为一个有机的整体,并且已经文档化。
在CMM中, 此标准过程被称为组织的标准软件过程。
组织的标准软件过程帮助软件负责人和技术人员工作得更有效。
当需要时, 可以利用组织积累的软件过程资源;对组织的标准软件过程进行修改, 使它运行得更有效。
软件能力成熟度模型一级申报条件
软件能力成熟度模型一级申报条件(实用版)目录一、软件能力成熟度模型概述1.CMM 的定义与背景2.CMM 的作用和意义二、CMM 的等级划分1.初级2.可重复级3.定义级4.管理级三、软件能力成熟度模型的申报条件1.一级申报条件2.二级申报条件3.三级申报条件四、CMM 对软件过程开发的管理1.CMM3 的核心理念2.软件过程的科学化和标准化3.商业目标的实现五、软件能力成熟度模型的应用及意义1.软件企业的发展与提高2.项目管理的有效性3.软件过程改进的途径正文一、软件能力成熟度模型概述软件能力成熟度模型(Capability Maturity Model,简称 CMM)是由美国卡内基梅隆大学的软件工程研究所(SEI)研发的一种软件开发成熟度评估方法。
CMM 主要用于评估软件开发组织的能力,并指导其改进过程,以提高软件开发质量和效率。
它将软件开发过程分为五个等级,从初级到管理级,反映了软件开发过程的成熟程度。
二、CMM 的等级划分1.初级:软件开发过程中偶尔出现混乱的现象,只有很少的工作过程是经过严格定义的。
开发成功往往依靠某个人的智慧和努力。
2.可重复级:建立了基本的项目管理过程。
对于相似的项目,可以重用以前已经开发成功的部分。
3.定义级:工程活动和关联活动都是文档化和标准化的。
4.管理级:软件开发过程和产品质量的测试细节都有很好的归纳,产品和开发过程都可以定量的分解和控制。
三、软件能力成熟度模型的申报条件软件能力成熟度模型的申报条件分为一级、二级和三级。
1.一级申报条件:软件开发组织需要具备基本的项目管理能力,能够完成简单的软件项目。
2.二级申报条件:软件开发组织需要具备一定的过程管理和质量控制能力,能够开发出高质量的软件产品。
3.三级申报条件:软件开发组织需要具备全面的过程管理和质量控制能力,能够大规模地开发和维护软件产品。
四、CMM 对软件过程开发的管理1.CMM3 的核心理念是将软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化。
2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)第72期
2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析B卷(带答案)一.综合题(共15题)1.单选题软件能力成熟度模型CMM (Capability Maturity Model)将软件能力成熟度自低到高依次划分为()。
问题1选项A.初始级、已定义级、可重复级、已管理级、优化级B.初始级、已定义级、已管理级、可重复级、优化级C.初始级、可重复级、已管理级、已定义级、优化级D.初始级、可重复级、已定义级、已管理级、优化级【答案】D【解析】软件能力成熟度模型CMM (Capability MCMM即软件能力成熟度模型,是目前国际上最流行、最实用的软件生产过程标准和软件企业成熟度的等级认证标准。
规定了软件研制和软件测试中的主要软件管理过程和工程过程的实践。
主要用于评价软件企业的质量保证能力。
软件能力成熟度模型CMM (Capability Maturity Model)将软件能力成熟度自低到高依次划分为初始级、可重复级、已定义级、已管理级、优化级。
答案为D。
2.单选题下列各种情况中,一定不会引起进程调度的操作是()。
问题1选项A.一个进程完成工作后被撤销B.一个进程从运行状态变成了阻塞状态或就绪状态C.一个进程从阻塞状态变成就绪状态D.一个进程从就绪状态变成运行状态【答案】C【解析】运行态——等待态等待使用资源,如等待外设传输,等待人工干预,会产生进程调度。
等待态——就绪态资源得到满足,如外设传输结束,人工干预完成,不产生进程调度。
运行态——就绪态运行时间片到,出现有更高优先权进程,会产生进程调度。
就绪态——运行态 CPU空闲时选择一个就绪进程,会产生进程调度。
3.单选题8086微处理器中执行单元负责指令的执行,它主要包括()。
问题1选项A.ALU运算器、输入输出控制电路、状态寄存器B.ALU运算器、通用寄存器、状态寄存器C.通用寄存器、输入输出控制电路、状态寄存器D.ALU运算器、输入输出控制电路、通用寄存器【答案】B【解析】微处理器是由一片或少数几片大规模集成电路组成的中央处理器CPU。
软件能力成熟度模
软件过程成熟度:是一个特定过程被明确的定义、 管理、测量、控制、并且是有效的程度。
在CMM中每个关键过程都被详细的定义和说明。包括: 执行约定、执行能力、执行的活动、测量和分析、验证 实施几个方面。 在成熟组织中通常通过文档和培训使全组织有关人员对 软件过程都能很好的了解,并且进行监督和改进。
3
ftp ftp.sei
第一章介绍CMM中涉及到的概念
CMM产生的相关背景:
软件开发者试图使用先进的软件工程方法和好的软件技术提 高软件生产率以及软件质量,但是经过20多年的努力并没有实 现该愿望. 于是工业界和政府组织意识到最根本的问题是软件开发过程 中不能很好的管理其软件过程。 通常在管理混乱的组织中也能生产出优质的项目,然而这些 项目的成功是组织中某个(些)人的努力和才能的体现而不 是组织的开发文化的体现。软件开发的重复只能体现在某个 (些)人的智慧的重复使用,而不是组织中经过验证的可重 复使用的开发方法和开发过程。这种重复很不稳定,不能长 期的为提高组织的开发效率和质量打下基础。 所以只有建立组织自己的不依赖某些个人的规范的、可重复 的、有效的开发和管理的过程实践,使之成为整个组织的长 期的开发制度和开发文化,才能有效的、长期的提高组织的 开发效率和软件质量。
等级3-----已定义级
管理活动和工程活动两方面的软件过程均已文档化、 标准化、并集成到组织的标准软件过程。全部项目 均采用供开发和维护软件用的组织标准软件过程的 一个经批准的剪裁版本。 在已定义级上,全组织的开发和维护软件的标准过 程已文档化,包括软件工程过程和软件管理过程, 而且这些过程被集成为一有机的整体。 组织在使其软件过程标准化时,利用有效的软件工 程实践,并存在一个负责组织的软件过程活动的组 如SEPG软件工程组。
软件工程第十二章软件能力成熟度模型
由于软件过程的建立和改进是一个渐进的、分轻重缓急 的、逐步完善的过程。所以,在总体目标已经确定的前提下, 还要制订近期目标和长期目标。
等级 1
成熟度 初始级
可视性 有限的可视性
过程能力 一般达不到进度和成本的目标
2 可重复级 里程碑上具有管理可视性 由于基于过去的性能,项目开 发计划比较现实可行
3 已定义级 项目定义软件过程的活动具 基于已定义的软件过程,组织
有可视性
持续地改善过程能力
4 已管理级
定量地控制软件过程
基于对过程和产品的度量,组 织持续地改善过程能力
如果已经具备了软件过程,则要对这个过程做内部评估, 对照CMM的要求,找出问题,然后对这个过程进行补充修改。 在具体实施的过程中,可以选择有一定代表性和完善性的项 目组或项目进行试点,跟踪、监督改进后的软件过程的实施 情况,执行改进活动的状态。
一个组织的软件过程能力为组织提供了预测软件项目开发的数据基础,提 供了全面的软件质量保证。
软件过程成熟度是指一个软件过程被明确定义、管理、度量和控制的有效程 度。成熟意味着软件过程能力持续改善的过程,成熟度代表软件过程能力改善的潜 力。
5
12.1.2 软件过程的成熟度等级
CMM将软件过程的成熟度分为5个级别(Maturity Levels), 如图所示,5个等级分别是:
3
12.1.1 CMM的基本概念
1. 什么是软件过程 一个软件过程是指人们开发和维护软件及其相关产品
所采取的一系列活动。
软件能力成熟度模型CMM CMMI
什么是CMMI?软件能力成熟度模型(Capability Maturity Model For Software ,简称SW-CMM/CMMI),是由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。
CMM/CMMI是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了国际软件产业界的认可,成为当今(企业)从事规模软件生产不可缺少的一项内容。
CMM/CMMI将软件过程的成熟度分为5个等级,以下是5个等级的基本特征:(1)初始级(initial)。
工作无序,项目进行过程中常放弃当初的计划。
管理无章法,缺乏健全的管理制度。
开发项目成效不稳定,项目成功主要依靠项目负责人的经验和能力,他一但离去,工作秩序面目全非。
(2)可重复级(Repeatable)。
管理制度化,建立了基本的管理制度和规程,管理工作有章可循。
初步实现标准化,开发工作比较好地按标准实施。
变更依法进行,做到基线化,稳定可跟踪,新项目的计划和管理基于过去的实践经验,具有重复以前成功项目的环境和条件。
(3)已定义级(Defined)。
开发过程,包括技术工作和管理工作,均已实现标准化、文档化。
建立了完善的培训制度和专家评审制度,全部技术活动和管理活动均可控制,对项目进行中的过程、岗位和职责均有共同的理解。
(4)已管理级(Managed)。
产品和过程已建立了定量的质量目标。
开发活动中的生产率和质量是可量度的。
已建立过程数据库。
已实现项目产品和过程的控制。
可预测过程和产品质量趋势,如预测偏差,实现及时纠正。
(5)优化级(Optimizing)。
软件测试之能力成熟度模型
信息工程学院 丁勇
能力成熟度模型
软件测试
为何 ISO 是必需的?
需要ISO的主要原因有:
– 世界范围的贸易自由化的发展 – 各个领域的相互渗透 – 世界范围的通信系统 – 新技术的全球性标准 – 发展中国家
信息工程学院 丁勇
能力成熟度模型
软件测试
ISO 的贡献 2-1
下面是已经被广泛采用的 ISO 标准,它们为 工业界、商业界和消费者都带来了显而易见 的利益。
5 级组织的软件过程能力可以概括为持续改 进的,因为这些组织为扩大其过程能力的范 围进行着不懈的努力,因而不断地提高其项 目的过程绩效。 通过对现有过程进行增量式改善,也通过采 用新技术、新方法的革新,使过程得以不断 改进。
信息工程学院 丁勇
能力成熟度模型
软件测试
国际标准化组织 (ISO)
ISO 是一个建立于 1947 年的非政府组织。 ISO的宗旨是:在全世界范围内促进标准化工 作及相关活动的发展,以便于国际物资和服 务的交流,并扩大在知识、科学、技术和经 济方面的合作。
软件测试
简介
“能力成熟度模型”是 SEI 在 1986 年开发
的过程,用于改善组织的软件技术的应用 过程。 这个过程分为五个定义良好的顺序提高的 等级:
– 初始级 – 可重复级 – 已定义级 – 已管理级 – 优化级
信息工程学院 丁勇
能力成熟度模型
软件测试
CMM的产生背景
当今的软件组织工作在一个竞争和变化日益加剧的 环境中。 成功的软件组织通过为现有产品开辟新的市场或满 足新的需求来积极有效地面对变化。 许多公司面对变化没能采取主动有效的措施,而被 其产品开发工作的缺乏控制所牵掣。 许多公司不能够正确地预测、控制和改进 特定产品或合同的利润空间、产品 装运日期或产品质量。
军用软件能力成熟度模型(CMM)二级评估的项目管理研究
军用软件能力成熟度模型(CMM)二级评估的项目管理研究
CMM是软件能力成熟度模型(Capability Maturity Model)的简称,自问世以来备受关注,在一些发达国家和地区得到了广泛应用,成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进上的工业标准[1]。
2003年,总装电子信息基础部提出了基于CMM的军用标准:军用软件能力成熟度模型(GJB5000 -2003)。
这部标准规定了军方用于评估组织的软件能力成熟度的模型,并规定了软件整个生命周期内的主要管理过程和工程过程。
通过军用软件能力成熟度模型(CMM)二级评估本身就是一个复杂的企业项目,牵涉到对企业现有软件过程的总结和改进。
本人在华东计算技术研究所(以下简称“华东所”)从事质量管理工作,作为SQAG的成员参与了企业CMM二级标准裁剪、制定以及贯标等活动。
对CMM二级贯标的过程有一定的了解,特别是从SQA角度审视整个实施过程,对SQA的工作和CMM过程的整合(例如ISO9000和CMM的整合)也有一些个人的见解。
因此,在行文结构上,本文将从介绍笔者所在单位实施CMM二级的过程,特别是对军用软件能力成熟度模型(GJB5000 -2003)裁剪,形成企业标准的过程入手,从每个关键域(KPA)的实施方针、关键活动以及实施过程三个主要方面论述企业实施CMM二级的框架体系,形成从GJB5000-2003到企业标准的研究产物输出。
并且从SQA和质量管理体系角度论述和其他关键域(KPA)之间的关系、关键活动以及使用的工具。
军用软件能力成熟度模型(CMM)二级评估具有较强的行业特点,因此本文在描述CMM二级实践的过程中加入适合军用软件开发的行业特殊性考虑和相应的解决方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在衡量软件企业的是研发和管理能力的是CMM以及后面推出的CMMI,很多公司通过CMM 的各个级别的认证,为企业承接项目添加了砝码,而对于软件测试行业来说,还没有出现一个认证机构,测评一个从事软件测试项目的企业具有的能力。
其实在几年前,已经推出的TMM(Testing Maturity Model),而我个人认为使用TCMM(Testing Capability Maturity Model)更为合适,TCMM也分为五级。
下面我们就看看是如何划分的,来评判一下各位同仁自己所在的公司,所在的级别。
TCMM Level 1:Initial(初始级)
测试处于一个混乱的状态,还不能把测试同调试分开,在编码完成后才进行测试工作,测试和调试交叉在一起,目的就是发现软件中的bug。
测试的目的是表明程序没有错。
软件产品发布后没有质量保证。
缺乏测试相应的测试资源、例如专职测试人员和测试工具,测试人员没有经过培训。
这种类型的公司属于这个阶段,处于这个阶段的公司在测试中缺乏成熟的测试目标,测试处于可无可有的地位。
TCMM Level 2:Phase Definition(阶段定义级)
测试同调试分开且把测试作做为编码后的一个阶段。
尽管测试别看做是一个有计划的行为,但是由于测试的不成熟仅在编码后制定测试计划,因为测试完全是针对于源代码的。
处于这个级别的公司测试的首要目的就是验证软件符合需求,会采用基本的测试技术和方法,由于测试处于软件生命周期的末尾环节,导致出现很多无法弥补的质量问题。
另外,在需求和设计阶段产生的很多问题被引入到编码中,但基于源代码的测试导致产生了很多的问题无法解决。
TCMM Level 3:Integration(集成级)
测试不再是编码后的一个阶段,而是把测试贯穿在整个软件生命周期中。
就象软件测试领域的V模型,在需求阶段软件测试就介入了,测试是建立在满足用户或客户的需求上,根据需求设计测试用例和作为测试的依据。
处于这个级别的公司测试工作由具有独立的部门负责,测试部门与开发部门分开,独立开展工作。
测试部门有自己的技术培训并且有测试工具辅助进行测试工作。
尽管处于这个阶段的公司认识到了评审在质量控制中的重要性,但是并没有建立起有效的评审制度,还不能在软件生命周期的各个阶段实施评审制度。
没有建立起质量控制和质量度量标准。
TCMM Level 4:Management and Measurement(管理和度量级)
测试是一个度量和质量控制过程。
在软件生命周期中评审作为测试和软件质量控制的一部分,被测试的软件产品标准包括可靠性、可用性和可维护性等。
在测试项目中设计的测试用例别保存在测试用例数据库中便于重用和回归测试。
使用缺陷管理系统管理软件缺陷并划分缺陷的级别。
但是处于这个阶段的公司还没有建立起缺陷预防机制,且缺乏自动地对测试中产生的数据进行收集和分析的手段。
TCMM Level 5:Optimization(优化级)
具有缺陷预防和质量控制的能力。
建立TCMM4基础上的测试公司已经建立起测试规范和流程,测试是受控的和被管理的。
而达到TCMM5的公司,则坚决贯彻落实测试规范和流程且不断地进行测试过程改进,在实践中运用缺陷预防和质量控制措施。
整个测试过程是被以往经验所驱动的,且是可信任和可靠的。
选择和评估测试工具存在一个既定的流程。
测试工具支持测试用例的运行和管理,辅助设计用例和维护测试相关资料,缺陷收集和分析,为缺陷预防和质量控制提供支持。
看了上面对于测试能力成熟度模型的分析,我们不难看出,目前我们国内从事软件测试的公司所处的级别,很多公司还处于2级或3级,这虽然与现在软件测试还是一个尚未成熟的行业有关,测试技术和测试工具还在发展之中,各个公司都在摸索阶段,从事测试外包的公司会好一些,这些公司为微软、IBM、Motorala等公司提供测试服务,基本上是按照委托方的要求或带领下进行测试工作,而国内做软件产品和承接软件开项目的公司,虽然有的建立了独立的测试团队,制定了测试规范和测试流程或者评审制度,但是测试工作还是在摸索阶段,大家几乎没有现成的经验可参考,所以目前急需建立软件测试的行业标准,推动测试行业的发展,让测试有依据可查。