💻
QMMMS的笔记
博客
  • QMMMS的笔记
  • agent
    • MCP的背景、原理和开发
    • Agent 历史与背景
    • Agentic Workflows
    • 环境检查与基础工具
    • Tool Call
    • 工具与运行时的值
    • temp
    • 处理 Tool Call error
    • trick
  • algorithm
    • 线性结构
    • 二叉树
    • 图
    • 查找
    • 排序
    • 动态规划
    • 优化方法
    • 数学
    • 迁移至Java
  • computer_composition
    • 系统总线
    • 存储器
    • 输入输出系统
    • 计算机的运算方法
    • 指令系统
    • 补充
  • computer_network
    • 引入
    • 应用层
    • 传输层
    • 网络层(数据平面)
    • 网络层(控制平面)
    • 链路层
    • 常见问答
    • 实验
  • database
    • SQL实战
    • 关系代数
    • 数据库设计
    • 规范化
    • 数据库基本概念
    • 查询原理
    • 数据库恢复技术
    • 并发控制
  • dev_tools
    • Git
    • Nginx
    • Spring
    • LangChain
    • PyTorch Cheat Sheet
    • MyBatis
    • MySQL Cheat Sheet
    • MySQL 补充
    • Redis
    • Docker
    • RocketMQ
    • Chrome
  • linux
    • Linux基础命令与使用
    • 文件与权限
    • 文件与目录操作
    • 权限属性高级
    • 命令与文件的查找
    • 文件压缩和打包
    • vim编辑器
    • shell变量
    • 命令补充
    • 数据流重定向
    • 管道命令
    • shell脚本
    • 用户管理
    • 用户间交流
    • 计划任务
    • 进程管理
    • 软件管理
    • 认识系统服务
    • 运维常用命令
    • 常用命令
  • llm
    • 大规模语言模型概述
    • 分布式训练概述
    • 有监督微调概述
    • 强化学习与LLM
    • LLM评估概述
    • 大模型应用
    • 理解大模型
    • 量化
    • 预训练
    • 上下文学习
  • machine_learning
    • 引入
    • 大致正确学习
    • 一致收敛
    • 偏差还是过拟合?
    • 可学习的充要条件
    • 非均匀可学习性
    • 计算复杂性
  • mathematics
    • 概率与统计基础
    • 线性代数基础
  • operating_system
    • 操作系统基本概念
    • 进程和线程
    • 同步,互斥与死锁
    • 内存管理
    • 文件系统
    • I/O系统
    • 保护与安全
    • 《现代操作系统》
  • statistical_learning
    • 统计学习引入
    • 线性回归
    • 分类
    • 重抽样方法
    • 线性模型选择与正则化
    • 非线性模型
    • 基于树的方法
    • 支持向量机
    • 无指导学习
    • 马尔科夫链和蒙托卡罗方法简明理解
    • R语言速查
  • deep_learning
    • basic_concepts
      • 逻辑回归与损失函数
      • 神经网络
      • 正则化、预处理、权重初始化
      • 优化算法
      • 机器学习策略
      • 复习:从计算机视觉的角度
      • 卷积神经网络
      • 深度卷积网络示例
      • 计算机视觉任务
      • 循环神经网络
      • 自然语言处理任务
      • 注意力
      • Transformers 家族
      • 显卡扫盲
      • 强化学习概述
    • semi-supervise
      • 半监督学习简介
      • Consistency Regularization
      • Proxy-label Methods
      • Holistic Methods
      • Generative Models
      • Graph-Based SSL
      • Self-Supervision for SSL
      • Other SSL methods
  • programming
    • cpp
      • STL
      • C++基础
      • 内存管理
      • 面向对象
    • java
      • 环境和介绍
      • 注释
      • String
      • 面向对象思想
      • Object
      • 包
      • 访问权限修饰符
      • 初始化块
      • 接口
      • 内部类
      • 注解
      • 枚举
      • 集合框架
      • List
      • Map
      • 泛型
      • 迭代
      • IO与流
      • 序列化
      • 异常
      • Lambda
      • Stream流
      • Socket
      • 缓冲
      • 命名规范
      • 拆箱装箱
      • 值传递
      • 深拷贝
      • 反射
      • JVM
      • 并发编程基础
    • python
      • 并发编程
      • 环境管理
  • software_engineering
    • basic_concepts
      • 系统分析与设计概述
      • 规划
      • 需求分析与原型设计
      • 项目管理
      • 建模
      • 数据库设计
      • 架构
      • 配置管理
      • 测试管理
      • 安全
      • 编码原则
      • 微服务
      • 补充内容
    • software_testing
      • CMMI基础
      • PPQA与SQA
      • 软件测试基础
      • 黑盒测试
      • 白盒测试
      • 集成测试
      • 系统测试
      • 测开面试补充
由 GitBook 提供支持
在本页
  • Maturity Level
  • Initial Level
  • Managed Level
  • Defined Level
  • Quantitatively Managed Level
  • Optimizing Level
  • Capability Level
在GitHub上编辑
  1. software_engineering
  2. software_testing

CMMI基础

上一页software_testing下一页PPQA与SQA

最后更新于10个月前

CMMI的全称是Capability Maturity Model Integration,即能力成熟度模型集成。

CMMI最初是由美国国防部创建,旨在评估软件承包商的质量和能力。随着时间的推移,CMMI的应用范围从软件工程扩展到其他行业,帮助组织建立、改进和衡量其能力,提高性能。CMMI模型包括多个视图,其中开发视图应用最为广泛。它为项目管理过程提供了标准化的方法,以提升软件质量。CMMI认证包括五个级别,每个级别代表不同的能力成熟度水平。


CMMI存在3个互补的部分,存在16个共同的核心过程域(Process Area, PA)

  • CMMI for Development:涵盖适用于产品和服务的开发和维护活动。

  • CMMI for Acquisition(ACQ):专注于启动和管理满足客户需求的产品和服务的活动。

  • CMMI for Services:涵盖建立,交付和管理服务所需的活动。


CMMI提供了两种表示:

  • 连续式(Continuous)表述。注重单一过程域重点改进。

  • 阶段式(Staged)表述。整体改善。


一个过程域是一个领域中相关实践的集群,包括如下部分:

因果分析、解决、验证(Verification)、集成项目管理例子:

在软件质量管理过程中,V&V 指的是:验证和确认。验证(Verification)是指确认产品是否符合规格和需求,即是否正确地构建了产品。确认(Validation)是指确认产品是否符合最终用户的期望和需求,即是否构建了正确的产品。

Maturity Level

成熟度等级是一个定义明确的进化平台, 是成为成熟组织的路径。是阶段式(Staged)表述。

Initial Level

  • 软件过程是黑匣子,在该过程中,对项目过程的可见性有限。

  • 由于活动的定义很少,因此很难确定项目的进度和活动状况。

  • 问题导致危机情况和赶工。

  • 成功取决于人们从事这项工作的能力。

  • 其特征是没有合理的管理实践。

Managed Level

  • 利用以前成功项目的经验计划和管理新项目。

  • 已经建立了组织政策,用于管理一个软件项目和实施这些政策的程序。

  • 构建软件的过程是一系列黑匣子,在预定义的检查点(例如,里程碑)可以提供可见性。

  • 管理层以受控的方式对问题发生反应。

Defined Level

  • 构建用于开发和/或维护软件的标准过程或一组流程,然后在整个组织中使用。

  • 在组织中创建一个负责软件流程活动的组,有时称为软件工程过程组(Software Engineering Process Group, SEPG)。

  • 每个黑匣子(即任务)的内部结构可见。

  • 管理层主动为可能出现的风险做准备。

Quantitatively Managed Level

  • 为软件流程和产品设定定量质量目标。

  • 建立一个整个组织的软件流程数据库,以收集,分析和存储项目中的数据。

  • 使用测量来建立定量基础,以评估软件流程和产品。

  • 黑匣子中的软件过程现在被定量进行仪器和控制。

Optimizing Level

  • 可以识别弱点并积极应对。

  • 拥有将缺陷预防能力的软件团队。

  • 现在可以删除黑匣子,并可以引入新的和改进的黑匣子。

  • 管理人员能够有效估计,然后跟踪变化的影响和有效性。

Capability Level

Capability Level对应于CMMI的连续式(Continuous)表述。注重单一过程域重点改进,描述了某个过程域的能力。有六个级别。每个级别都是连续式过程改进的基础中的一层。

  • 5 Optimizing

  • 4 Quantitatively Managed

  • 3 Defined

  • 2 Managed

  • 1 Performed

  • 0 Incomplete

例子:

  • http://www.sei.cmu.edu/cmmi/ (main CMMI site)

  • http://seir.sei.cmu.edu/seir/ (Software Engineering Information Repository)

  • http://dtic.mil/ndia (annual CMMI Technology Conferences)

  • http://seir.sei.cmu.edu/pars (publicly released SCAMPI appraisal summaries)