简介:CMMI软件能力成熟度集成模型
前言
CMMI是英文Capability Maturity Model Integration的缩写。
CMMI认证简称软件能力成熟度集成模型,是鉴定企业在开发流程化和质量管理上的国际通行标准,全球软件生产标准大都以此为基点,并都努力争取成为CMMI认证队伍中的一分子。
对一个软件企业来说,达到CMMI2就基本上进入了规模开发,基本具备了一个现代化软件企业的基本架构和方法,具备了承接外包项目的能力。CMMI3评估则需要对大软件集成的把握,包括整体架构的整合。一般来说,通过CMMI认证的级别越高,其越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。
基本思想
1、解决软件项目过程改进难度增大问题。
2、实现软件工程的并行与多学科组合。
3、实现过程改进的最佳效益。
CMMI并不强调所有的软件企业都采用统一的管理模式和规范,而是提供一系列评估的指标,帮助企业在 原有基础上进一步实现规范化管理,比如企业的文档之间是否保持一致性、软件开发人员的管理是否严格、开发的软件是否经过严格测试等等。CMMI对企业的要求和帮助基于CMMI模型的软件成熟度实践要求企业尽量采用更加规范的开发标准和方法,使用更加科学和精确的度量手段,选择更便于管理和使用的开发工具。
因此,造成了整个工程的可重构性、可分解性和最优化,明确了整个项目中必要和不必要的工作,明确了整个项目的风险。
在实践域中,这些实践被分类到一组演进的等级中,分别称为第1级、第2级,以此类推。这样的等级划分为性能改进提供了一条途径。每个演进的等级都基于以前的等级,然后增加新的功能或熟练性,从而提高了能力。
双软企业
双软企业是集企业的软件开发、技术装备、开发环境、人员配置及学历构成、质量标准、服务体系、经营业绩等为一体的综合性标准。企业的软件著作权登记、软件检测、软件产品登记、软件企业认证四方面内容,是衡量企业软件研发能力与整体技术实力的重要标准,是软件企业证明自身IT实力的重要指标。
项目管理
文档附录(名称/要求)
需求(需求人员) 需求调研计划
1.需要包含客户的名称
需求调研记录(要求多份)
1.需要有项目中的具体业务的问题
2.一般会有多份调研记录
3.一般包含调研问卷、客户调查记录、需求调研报告等

用户需求
1.包含需求的优先级内容,形式可以为用户需求说明书/需求调研报告/用户需求清单等
2.需要包含:
(1)使用软件的情况描述(场景—拓扑图)
(2)使用软件功能方法(操作部分—业务流程图)
(3)功能描述
(4)性能要求(具体数字)
(5)接口(内外部接口)

需求确认单
1.此份材料为与用户完成确认需求的整句,需要有用户的签字

产品需求(《需求规格说明书》)
1.内容中包含需求的具体规格信息,包括功能、性能、接口等
2.如在用户需求文档中已包含此类信息,可进行合并,但内容须齐全
需求承诺书
1.此份材料为项目团队内部对完成需求的承诺,需要项目组成员签字
需求跟踪矩阵
1.包含完整的业务模块(功能需求)、性能要求、接口要求的跟踪信息
2.须包含以下阶段的内容:用户需求、产品需求、设计(可以是概设详设分开)、源代码、测试用例
3.需求跟踪一定要有代码部分,类名/方法名/代码的具体路径都可以
4.此文档按照项目推进的各个阶段同步交由此阶段负责人进行跟踪信息维护
需求评审记录
1.需要包含:
(1)评审准备表
(2)评审检查单
(3)评审报告
2.评审方式必须与过程组合中的方式、项目已定义过程表内容一致
3.评审发现的问题数量至少3个以上,须和组织的基线(PPB)一致
4.评审检查单,需要核对需求的场景、操作、完整性、一致性、可实现性、与需求的不一致问题等内容
需求变更记录
1.需求基线建立之后的变更记录,通常不少于三次变更
2.包含变更汇总表、变更申请单等材料;
3.变更申请单中,需要包含:
(1)变更的影响分析
(2)变更涉及的文档及具体模块
(3)涉及到设计文档中的内容
4.需求变更记录与配置中的配置项记录有关联,即配置项变更中,涉及需求变更的部分,在需求变更记录中须体现
需求沟通记录
1.就需求内容与客户沟通的记录,以客户接受/客户妥协为标准
2.鉴于与需求变更相结合,最终客户接受/客户妥协记录,可以有多种形式,包括会议纪要、与客户沟通的邮件记录等
设计(设计人员) 技术解决方案
1.需要包含
(1)不同的技术选型
(2)选择的方法及结果
(3)候选方案的选择方式、方案说明、优缺点
技术决策过程记录
1.选择技术方案的记录文档
2.决策分析的报告
设计说明书
1.需要包含:
(1)概要设计文档
(2)详细设计文档
(3)接口设计文档
(4)其他设计文档(数据库设计和界面设计等)
复用分析
1.按模块整理的复用分析,一般要说明具体复用的部分和复用的程度
设计评审记录
1.需要包含:
(1)评审检查单
(2)评审准备表
(3)评审报告……
技术文档清单
1.一般是设计基线中所包含的文档部分,可以是一个单独的文档,里面是具体的文档名称的清单
编码(编码人员)
源代码
1.说明:源代码的编译截图
代码走查记录
1.代码走查检查单
单元测试记录
1.单元测试用例
Bug记录
1.代码走查
2.单元测试的Bug记录
用户手册
集成(编码人员) 集成记录
1.需要包含:
(1)集成计划:包含集成的策略、顺序、集成方法、集成入口和出口的准则
(2)接口检查单
(3)集成环境检查单
(4)集成报告
集成测试记录
1.需要包含:
(1)集成测试计划
(2)集成测试用例
(3)集成测试报告
Bug记录
测试(测试人员) 系统测试记录
1.需要包含:
(1)计划
(2)用例
(3)Bug表
(4)报告
2.需要包含功能和性能两类测试
Bug记录
性能测试记录
1.需要包含:
(1)性能测试计划
(2)性能测试报告/压力测试报告
交付(测试人员) 试运行记录
1.需要包含:
(1)计划
(2)日志
(3)报告
移交记录(项目经理、测试人员)
1.需要包含:
(1)计划
(2)移交清单
(3)移交确认单
(4)移交产品的培训记录
计划(项目经理) 估算表
1.为业务模块的规模估算,需要包含:
(1)估算的方法
(2)模块功能点的计算方法(代码行时,需要说明什么样的代码算有效代码)
(3)估算的方法(专家估算法、三点估算法等)
(4)由规模计算得到工作量、工期、成本
2.估算表中的工作两部分,需要来自项目的量化管理预测之后得到
项目已定义过程表
1.需要包含:
(1)生命周期、过程、产出的选择
(2)剪裁或调整的部分,需要明确具体的理由
(3)所包含文档部分,和实际产出的文档一致
(4)评审的方式,与计划及产出的文档一致
2.与过程结合相关的部分,内容要和组合的结果一致:例如组合在前、剪裁在后,项目已定义过程文档,是先把组合的结果放进来,再剪裁其他的部分
项目计划
进度计划
1.可以是Project文档形式,也可以使Excel文档形式,需要包含:
(1)项目中所有的活动,包括管理和工程
(2)每个活动安排具体的人员
(3)工期和工作量应该与估算表得到的结论一致
计划评审记录
1.需要包含:
(1)评审检查单
(2)评审准备表
(3)评审报告
计划承诺书
1.需要包含:
(1)项目组所有成员的签字,并且需要明确说明,可以按计划中的时间完成相应的内容,同意之后进行签字
监控(项目经理) 例会会议纪要
1.会议纪要评率须与项目计划中的要求一致,一般为周例会会议纪要,内容包含:
(1)对应时间点的问题单和风险表中的内容
(2)对问题的处理
项目周报
1.即每周的周报,需要包含:
(1)进度的跟踪情况、工作量的跟踪情况、工期的跟踪情况,计划的数字要和估算表一致,实际进度不能和计划的完全一样(会有偏差)
(2)问题的跟踪
(3)风险的跟踪
(4)原因分析启动的跟踪
(5)评审活动的跟踪
(6)干系人及关键以来的跟踪
(7)度量数据检查
(8)度量数据异常跟踪
2.周报中的数字,需要和里程碑报告的数字一致
里程碑记录
1.需要包括:
(1)里程碑会议纪要
(2)里程碑报告
2.里程碑报告,需要包含:
(1)周报里面的信息汇总
(2)发现问题及解决问题的数量
(3)本阶段的改进建议、执行的改进、应用的组织资产、可以提交给组织的资产
问题记录
1.需要包含:
(1)管理类的问题
(2)工程方面的问题
(3)度量数据的问题
(4)需要进行原因分析的问题
(5)量化管理中的问题
2.项目问题表中,问题部分要和周报、会议纪要一致;问题的数量要和里程碑报告、项目度量表一致
原因分析记录
1.需要包含:
(1)原因分析过程,例如问题部分、分析原因(例如鱼骨图列出所有可能的原因,并筛选、确定原因)
(2)收集解决措施(即针对确定之后的原因给出解决措施)
(3)选择解决措施
(4)执行记录(包含收集措施执行后的数据、会议纪要和周报里面的跟踪)
(5)效果分析
(6)提出的改进建议(包括标准过程、指南、模板或技术、工具等方面)
2.需要包含:
(1)项目管理类型的内容
(2)类型化缺陷方面的内容
(3)度量数据方面的内容
(4)量化管理方面的内容(目标不达标、关键数据异常、不满足组织基线等)
度量(项目经理) 项目度量计划
1.需要包含:
(1)来自业务目标的度量信息
(2)度量的操作定义和度量的方法
(3)使用的技术及工具
度量数据检查单
1.需要包含判断度量数据异常的标准
项目度量表
1.数据需要和项目周报、里程碑报告中的数据一致
2.分析的部分,要和度量计划中要求的方法一致,需要有对应的折线图、直方图、饼图、控制图(可以在量化管理里面)
3.要有异常的数据(例如偏差大于20%的情况),并有对应的原因分析
4.工作量、工期、规模的部分,要和估算一致,数据要和里程碑报告一致
5.缺陷的部分,要和对应Bug记录一致
风险(项目经理) 风险管理计划与跟踪表
1.需要包含风险和机会两部分内容:
(1)风险的分类
(2)识别方式
(3)处理机制
(4)识别出来的风险清单、系数、应对及结果
(5)周期性跟踪的记录
2.需要包含:
(1)管理类风险
(2)工程类风险
(3)量化风险
3.风险识别和跟踪,与周报中的一致,同时在项目例会中体现识别和跟踪的情况
评审(项目经理、需求人员)
评审计划(包含评审对象及评审方法)
1.需要包含:
(1)评审对象
(2)评审方法
评审检查单
计划评审
1.需要包含:
(1)评审准备表(预审记录)
(2)评审报告
需求评审(需求人员)
1.需要包含:
(1)评审准备表(预审记录)
(2)评审报告
设计评审(设计人员)
1.需要包含:
(1)评审准备表(预审记录)
(2)评审报告
用例评审
1.需要包含:
(1)评审准备表(预审记录)
(2)评审报告
支持文档评审
1.需要包含:
(1)评审准备表(预审记录)
(2)评审报告
(3)用户手册评审
评审数据汇总表
1.评审效率、发现缺陷密度通常和组织的极限数据一致;
2.当出现数据不一致时,需要有相应的原因分析报告,作为原因分析和度量数据异常的处理证据
决策(项目经理、设计人员) 决策分析计划
1.可以包含在项目计划中,需要说明:
(1)启动决策的时间
(2)决策权限的划分方式
管理决策
1.需要包含:
(1)候选方案
(2)决策准则
(3)决策方法
(4)决策打分表
(5)决策结果
技术决策(设计人员)
1.技术决策与设计阶段的决策对应,需要包含:
(1)候选方案
(2)决策准则
(3)决策方法
(4)决策打分表
(5)决策结果
量化管理(项目经理) 项目QPPO
1.需要包含:
(1)组织的性能目标要求
(2)项目根据规模得到的过程和性能目标(工作量、进度、成本目标)
(3)过程组合的结果
(4)目标达成率分析的结果
项目量化管理表
1.需要包含:
(1)立项时的过程组合
(2)可控因子调整
(3)项目的关键子过程选择方法和结果
(4)监控性能度量项的选择方法和结果
(5)统计和量化技术的选择结果(监控的分析方法)
(6)度量数据的采集频率
2.项目的量化监控预测管理表,针对阶段目标达成率分析、关键子过程性能监控的数据分析,这两项中的异常,要有对应的原因分析记录
原因分析记录(量化部分)
1.需要包含:
(1)原因分析过程,例如问题部分、分析原因(例如鱼骨图列出所有可能的原因,并筛选、确定原因)
(2)收集解决措施(即针对确定之后的原因给出解决措施)
(3)选择解决措施
(4)执行记录(包含收集措施执行后的数据、会议纪要和周报里面的跟踪)
(5)效果分析
(6)提出的改进建议(包括标准过程、指南、模板或技术、工具等方面)
2.需要包含:
(1)项目管理类型的内容
(2)类型化缺陷方面的内容
(3)度量数据方面的内容
(4)量化管理方面的内容(目标不达标、关键数据异常、不满足组织基线等)
质量保证(质量保证人员) 质量保证计划
检查单
1.每次检查会产生一个检查单
2.检查单类型分别为:过程检查单和产品检查单
不一致问题跟踪表
1.对检查单中的问题的汇总
2.问题部分与检查单一一对应
质量报告
配置管理(配置管理人员) 配置管理计划
1.需要说明内容如下:
(1)配置项的确定方法
(2)配置项的定义
(3)配置管理系统和变更管理系统的构成
(4)基线建立过程
(5)变更过程
(6)防止不正当变更的方法
2.配置项可以包含基线项,资料项与配置项应该是互斥的
3.源代码基线需按模块建立
4.配置计划制定时,只需要说明需要建立哪些基线即可
基线申请单
配置审计
状态报告
变更记录
1.变更记录包含需求变更、注意测试轮次、对测试Bug的修改、需要进行代码基线的变更
发布通知
1.一般使用基线申请单或变更申请单代替
项目基线(配置管理人员) 需求基线
1.根据基线申请单中的配置项内容建立对应的基线(文档可以是对应文档复制过来,须注意文档的版本修订记录)
2.每次需求变更的时候,都需要有对应的基线的版本
设计基线
1.根据基线申请单中的配置项内容建立对应的基线(文档可以是对应文档复制过来,须注意文档的版本修订记录)
编码基线
1.根据基线申请单中的配置项内容建立对应的基线(文档可以是对应文档复制过来,须注意文档的版本修订记录)
2.需要兼顾测试申请
3.源代码的基线版本要和对应代码部分的测试轮次一致
4.编码基线按模块建立,每个模块有各自的变更版本
交付基线
1.根据基线申请单中的配置项内容建立对应的基线(文档可以是对应文档复制过来,须注意文档的版本修订记录)
参见:
CMMI Institute - CMMI Content Release
CMMI模型2.0_中文 PDF 百度网盘下载
相关文章:

简介:CMMI软件能力成熟度集成模型
前言 CMMI是英文Capability Maturity Model Integration的缩写。 CMMI认证简称软件能力成熟度集成模型,是鉴定企业在开发流程化和质量管理上的国际通行标准,全球软件生产标准大都以此为基点,并都努力争取成为CMMI认证队伍中的一分子。 对一个…...
mysql的其他问题
1.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。 b. 选择合适的表字段数据类型和存储引擎…...

数据结构---复杂度(2)
1.斐波那契数列的时间复杂度问题 每一行分别是2^0---2^1---2^2-----2^3-------------------------------------------2^(n-2) 利用错位相减法,可以得到结果是,2^(n-1)-1,其实还是要减去右下角的灰色部分,我们可以拿简单的数字进行举例子&…...
【设计模式】设计原则和常见的23种经典设计模式
设计模式 1. 设计原则(记忆口诀:SOLID)【记忆口诀:单开里依接迪合(单开礼仪接地和)】 (1)单一职责原则(Single Responsibility Principle, SRP) ÿ…...

Spring Cloud Gateway自定义断言
问题:Spring Cloud Gateway自带的断言(Predicate)不满足业务怎么办?可以自定义断言! 先看Spring Cloud Gateway是如何实现断言的 Gateway中断言的整体架构如下: public abstract class AbstractRoutePred…...

智能测径仪在胶管行业的应用
关键字:胶管外径尺寸测量,胶管检测仪器,胶管外径检测,高温胶管外径检测,软硬胶管检测, 智能测径仪在家胶管行业中的应用主要体现在对胶管外径的精确测量和控制上。在胶管生产过程中,外径的大小直…...

vue自定义主题皮肤方案
方案一:CSS变量换肤(推荐) 利用css定义变量的方法,用var在全局定义颜色变量(需将变量提升到全局即伪类选择器 :root)然后利用js操作css变量,document.getElementsByTagName(‘body’)[0].style…...
iOS中使用schema协议调用APP和使用iframe打开APP的例子
大家好我是咕噜美乐蒂,很高兴又和大家见面了! 当调用自定义 URL scheme 或使用 iframe 打开应用程序时,可以采取以下详细步骤: 使用自定义 URL scheme 协议调用应用程序 1.首先,确认目标应用程序已经注册了自定义 U…...

2024.3.11
提示并输入一个字符串,统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 #include <iostream> #include<string> using namespace std;int main() {cout << "please input a string:" << endl;string str;g…...
Web服务器需要警惕的一些安全隐患
Web服务器需要警惕的一些安全隐患有哪些,今天德迅云安全就带您来了解下。熟悉了解了就知道怎么规避风险。不过无论是什么漏洞,都体现着安全是一个整体的真理,考虑Web服务器的安全性,必须要考虑到与之相配合的操作系统。 1.物理路径…...

MinGW-w64的下载与安装
文章目录 1 下载2 安装3 配置环境变量4 验证 1 下载 官网地址:https://www.mingw-w64.org/github地址:https://github.com/niXman/mingw-builds-binaries/releases windows下载 跳转github下载 版本号选择:13.2.0是GCC的版本号;…...
docker使用笔记
查看本机上所有镜像 docker images打包项目(打包完成后自动载入镜像) The command docker build -t search-server . you provided is a standard way to build a Docker image. The -t flag tags the resulting image, and search-server is the tag …...

新规正式发布 | 百度深度参编《生成式人工智能服务安全基本要求》
2024年2月29日,全国网络安全标准化技术委员会( TC260 )正式发布《生成式人工智能服务安全基本要求》(以下简称《基本要求》)。《基本要求》规定了生成式人工智能服务在安全方面的基本要求,包括语料安全、模…...
2024年AI辅助研发的趋势和影响
摘要:随着人工智能技术的迅猛发展,2024年AI辅助研发正成为科技界和工业界的瞩目焦点。本文将探讨AI辅助研发在各个领域的应用和影响,并展望2024年AI辅助研发的趋势。 引言 随着人工智能技术的不断进步,AI辅助研发正逐渐渗透到各…...
2k_Day1:今天是设计模式的大白话1
大白话: 原则有一点很难做到,就是定义好的类,只能加不能改(开放-关闭原则) 1.工厂模式就是,比如你定了一个汽车接口,然后小车、中车、大车都继承这个接口,这时,定一个汽…...

面试官:说说你对事件循环的理解
一、事件循环是什么 首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有的任务都可以分为 同步任务&#…...

【SpringCloud微服务实战03】Nacos 注册中心
一、Nacos安装 官方文档安装Nacos教程:Nacos 快速开始 这里安装的是1.4.7版本,安装之后访问http://127.0.0.1:8848/nacos 管理界面如下:(用户名:nacos,密码:nacos) 二、Nacos服务注册和发现 1、在父工程中配置文件pom.xml 中添加spring-cloud-alilbaba的管理依赖:…...

FLatten Transformer_ Vision Transformer using Focused Linear Attention
paper: https://arxiv.org/abs/2308.00442 code: https://github.com/LeapLabTHU/FLatten-Transformer 摘要 当将transformer模型应用于视觉任务时,自注意的二次计算复杂度( n 2 n^2 n2)一直是一个持续存在的挑战。另一方面,线性注意通过精心设计的映射…...

STM32CubeMX学习笔记17--- FSMC
1.1 TFTLCD简介 TFT-LCD(thin film transistor-liquid crystal display)即薄膜晶体管液晶显示器。液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),每个像素都可以通过点脉冲直接控制,因而每个节点都…...
【MogDB】实战MogDB数据库适配Halo博客系统1.6版本(基于springframework+hibernate+HikariPool)
前言 前一篇文章说了MogDB适配Halo,【MogDB】将流行的博客系统Halo后端的数据库设置为MogDB,但是适配的是2.x版本,由于2.x版本已经引入了对postgresql的支持,而MogDB对于postgresql有很好的兼容性,因此适配起来很简单。但是由于halo2.x的版本…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...

沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...