简介: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的版本…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
招商蛇口 | 执笔CID,启幕低密生活新境
作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
