CMMI 基础知识

一、 基础信息介绍:

  1. CMMI――Capability Maturity Model Integration( 集成能力成熟度模型);
  2. CMMI 是由卡耐基梅隆大学软件工程学院(SEI)制定的;
  3. CMMI 集成了四个知识领域的应用:
  • Software Engineering ( 软件工程)、
  • System Engineering ( 系统工程)、
  • Integrated Product and Process Development (集成的产品与过程开发)、
  • Supplier Sourcing ( 外包开发) Newegg 引入

CMMI主要使用在两个知识领域:Software Engineering (软件工程) 和System Engineering (系统工程) 1.4 CMMI 模型在表现方式上分为2种:分阶段表述和连续性表述,我们通常所说的CMMI的等级是指在分阶段表述下的成熟度等级(ML)。

[@more@]

CMMI 构成介绍:

2.1 CMMI 模型组建图

2.2 专有名词介绍:

l 成熟度等级(Maturity Level, ML :在CMMI分阶段表述中一组经过定义的渐进式过程改善指标,达到每一个成熟度等级则代表组织过程的某重要部分有稳固的基础,一共分为五级。

l 过程域(Process Area, PA) 是一组同属某过程领域而彼此相关的执行方法,当共同执行这些方法时,可以达成一组目标,而这些目标对该领域的重大改善是重要的。

l 特定目标(Specific Goal, SG) 适用于单一的过程域,并强调其独有的特征,此特征用来说明必须要执行什么以满足过程域。

l 特定实践(Specific Practice, SP) 是一种活动,它对达成相关的特定目标是重要的,特定执行方法说明一组活动,这组活动被期望可某过程域的特定目标。

l 一般目标(Generic Goal, GG): 是指该目标可用于多个过程域,分阶段表述的每个过程域只有一个一般目标。达成某过程域的一般目标,代表该过程域相关过程的计划和实施获得控制和改善;也象征这些过程是有效的、可重复的以及可持续的。

l 一般实践(Generic Practice, GP): 提供制度化的方法,以确保过程域的相关过程是有效的、可重复的以及可持续的。

三、 重要概念介绍

3.1 成熟度等级介绍:

成熟度等级在 2 级以上(包括2级)才需要进行评估。对每个等级进行评估时,需要保证满足该级别和该级别以下级别的所有要求,例如对ML3级进行评估时,需要组织同时满足27PA的要求和314PA的要求。

成熟度等级(ML

等级名称

等级详述

1

初始级

过程通常是特殊而混乱的,而且组织通常没有提供稳定的环境。这些组织的成功,往往是依赖组织成员的能力于英雄主义,而不是使用一套经过验证的过程。项目进行中容易发生项目的超预算和延期等情况。

2

管理级

在成熟度二级,组织的项目已经确保需求是被管理的,而且过程是经过计划、执行、度量及控制的;在执行方法适合的情况下,项目的执行和管理依照计划进行;需求、过程、工作产品及服务是受管理的,管理层都可以了解工作产品的状况和服务的交付情况;在二级,需要建立相关关键人员的承诺,并根据情况修改;管控工作产品与关键人员共同审查工作产品和服务可棉珠其特定需求、标准和目标。

3

定义级

过程都已经详细的说明于解释,并用标准、程序、工具及方法来表现。组织标准过程为第三级的基础,需要定制并持续改善以此建立整个组织的一致性,项目按照裁剪指南,根据项目特性,进行组织标准过程的裁剪,以此建立项目的已定义过程。管理层以此基础,建立过程的目标并确保这些目标已经适当的说明。

4

量化管理级

选定对整体过程绩效有重大影响的子过程,并使用统计和其他的量化技术来控制这些子过程;建立质量和过程绩效的量化目标,并以该目标为管理过程时的准则。

5

最佳化级

根据对过程变化的共同原因的量化分析,持续进行过程改进。成熟度5级专注于持续改善过程绩效,已经建立组织的量化过程改善目标,并持续修改晚上,以翻译持续改变的经营目标。

3.2 过程域分类

所有过程域(PA)分为以下四类:

过程域(PA)类型

所属的PA

项目管理类Project Management

项目计划 Project Planning ,PP项目监督与控制 Project Monitoring and Control ,PMC供应商合同管理 Supplier Agreement Management ,SAM集成项目管理 Integrated Project Management ,IPM风险管理 Risk Management ,RSKM集成组 Integrated Teaming ,IT集成供应商管理 Integrated Supplier Mannagement ,ISM量化项目管理 Quantitative Project Management ,QPM

组织过程类Process Management

组织过程焦点Organizational Process Focus ,OPF组织过程定义Organizational Process Definition ,OPD组织培训Organizational Training ,OT组织过程性能Organizational Process Performance ,OPP组织改善与实施Organizational Innovation and Deployment ,OIP

工程类Engineering

需求开发 Requirements Development ,RD需求管理 Requirements Management ,REQM技术解决方案 Technical Solution ,TS产品集成 Product Integration ,PI验证 Verification ,VER确认 Validation ,VAL

支持类
(Support)

配置管理 Configuration Management ,CM过程和产品质量保证 Process and Product Quality Assurance ,PPQA度量与分析 Measurement and Analysis ,MA组织集成环境Organizational Environment for Integration ,OEI决策分析和解决方案 Decision Analysis and Resolution ,DAR原因分析和解决方案 Causal Analysis and Resolution ,CAR

3.3 成熟度等级与过程域

成熟度级别

关注重点

过程域(PA)数量

过程域(PA)类型

ML 2 管理级

项目基本管理

7

PP 项目计划

PMC 项目监督与控制

SAM 供应商合同管理

REQM 需求管理

CM 配置管理

PPQA 过程和产品质量保证

MA 度量和分析

ML 3 定义级

组织级过程定义

14

IPM 集成项目管理

<>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/212824/viewspace-982324/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/212824/viewspace-982324/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SQA(软件质量保证)是指在软件开发过程中,通过制定各种测试策略和方法,对软件进行全面的测试和评估,以确保软件质量的一项工作。尽管SQA领域的知识非常广泛,但以下是SQA所需的基础知识: 1. 软件开发生命周期(SDLC):了解SDLC的各个阶段,例如需求分析、设计、编码、测试和部署等。对于每个阶段的活动和交付物有一定的了解可以更好地定位SQA的职责和活动。 2. 软件测试基础知识:具备软件测试的基本概念、原则和方法。了解不同类型的测试(如单元测试、集成测试、系统测试、验收测试),以及测试活动中的规划、设计、执行和报告等方面的知识。 3. 编程和脚本语言知识:熟悉至少一种编程语言,例如Java、Python或C #等。同时理解脚本语言(如Shell或JavaScript)对于自动化测试和工具脚本编写非常有帮助。 4. 软件质量标准和规范:了解软件质量相关的标准和规范,例如ISO 9000系列、CMMI、IEEE标准等。这些标准可以指导SQA活动和过程,确保软件开发符合最佳实践。 5. 软件配置管理:了解软件配置管理的基本原理和方法。在SQA中,配置管理起着关键的作用,确保软件版本控制、配置项管理和问题跟踪等工作的有效性。 6. 软件缺陷管理:了解缺陷管理的基本概念和流程。了解如何有效地识别、跟踪、修复和验证软件缺陷,以提高软件质量。 7. 软件度量和报告:了解如何制定和收集有关软件质量和测试活动的度量指标。同时,能够使用适当的工具和技术生成高质量的测试报告。 除了上述基础知识外,还需要有良好的问题解决和分析能力,以及团队合作和沟通能力,能够有效地与开发人员、业务用户和其他相关部门进行合作。SQA的工作也需要保持学习和持续改进的态度,以跟随不断发展的软件开发和测试技术。 ### 回答2: SQA(软件质量保证)是一种保证软件开发过程中质量的方法。需要掌握一些基础知识才能有效地进行SQA工作。 首先,对软件开发生命周期有一定的了解是很重要的。熟悉从需求分析、设计、编码、测试到部署的整个过程,能够理解每个阶段的目标和活动,为SQA工作提供基础。 其次,对软件质量标准和规范要有一定的了解。例如ISO 9001、CMMI和IEEE标准等,了解常用的质量标准和要求,能够根据实际情况进行适配和实施。 此外,需要了解测试的基本原理和方法。掌握测试的各种技术和工具,包括黑盒测试、白盒测试、性能测试、回归测试等。还需要了解测试的策略和计划制定,以及测试用例的编写和执行。 此外,对软件缺陷管理和追踪工具也需要有所了解。熟悉使用常见的缺陷管理工具,能够进行缺陷的跟踪和分析,协助开发人员和测试人员进行问题的解决。 最后,沟通和协作能力也是进行SQA工作所需的基础知识之一。需要与开发人员、测试人员和其他相关团队进行有效的沟通和合作,以便及时解决问题和保证项目的顺利进行。 总而言之,进行SQA工作需要掌握软件开发生命周期、质量标准和规范、测试原理和方法、缺陷管理工具以及良好的沟通和协作能力。这些基础知识能够帮助SQA工程师提高工作效率和质量,保证项目的成功。 ### 回答3: Software Quality Assurance (SQA) 是软件开发过程中确保软件质量的关键环节,需要掌握以下基础知识: 1. 软件开发生命周期:对软件开发过程及其各个阶段的了解,包括需求收集、分析、设计、编码、测试和维护等。 2. 测试方法学:熟悉各种测试方法和技术,例如黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。 3. 编程知识:了解至少一种编程语言,以便能够理解和阅读代码,编写自动化测试脚本,并与开发人员进行有效的沟通。 4. 软件质量标准和准则:了解关于软件质量的标准和最佳实践,例如ISO 9000系列,CMMI和IEEE标准等。 5. 缺陷管理:熟悉如何报告、跟踪和解决软件缺陷,使用缺陷跟踪工具来记录和监控缺陷的状态。 6. 测试工具和环境:掌握一些常见的测试工具和环境,如测试管理工具、自动化测试工具、性能测试工具和虚拟化工具等。 7. 配置管理:了解软件配置管理的概念和方法,包括版本控制、变更管理和发布管理等。 8. 软件安全知识:理解软件安全的基本概念,如鉴权、认证、授权、安全漏洞和威胁模型等。 9. 团队合作和沟通能力:作为SQA人员,需要具备与开发人员、项目经理和其他相关利益相关者进行有效沟通和合作的能力。 10. 持续学习和改进意识:软件行业发展迅速,SQA人员需要不断学习和更新知识,关注最新的测试趋势和工具,以提高自身的专业能力。 总之,SQA需要全面了解软件开发生命周期、测试方法学,具备编程、软件质量标准和缺陷管理的知识,并且要掌握各种测试工具和环境。同时,团队合作和沟通能力,以及持续学习和改进的意识也是SQA人员必备的基础知识

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值