简介: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 百度网盘下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/446625.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动静态库

inode inode用于管理文件属性和内容 一个文件只能有一个inode,一个inode可以对应多个文件名 Linux进程中,打开的每一个文件都有对应的文件inode属性和文件页缓冲区(内存和磁盘的缓冲区) 软硬链接 硬链接 多个文件指向同一个i…

Gradle模块化最佳实践

一,模块化的原因及意义 模块化是一种将大型的软件系统拆分成相互独立的模块的方法。具有以下优势: 代码复用:不同的模块可以共享相同的代码。这样可以避免重复编写相同的代码,提高开发效率。模块独立性:每个模块都可…

【安装教程】windows下安装Faiss-GPU

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 【安装教程】windows下安装Faiss-GPU 查看安装指令 查看安装指令 登录网站:https://anaconda.org/ , 然后搜索faiss-gpu会进入如下界面,或…

Vue 3中的reactive:响应式状态的全面管理

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

讲解Python3内置模块之json编码解码方法

简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成&#…

web前端框架

目前比较火热的几门框架: React React是由Facebook(脸书)开发和创建的开源框架。React 用于开发丰富的用户界面,特别是当您需要构建单页应用程序时。它是最强大的前端框架。 弊端: 您不具备 JavaScript 的实践知识,则建议不要使用 React。同样&#x…

MIT6.828LAB4 (3)

LAB3_Part B: Copy-on-Write Fork 文章目录 LAB3_Part B: Copy-on-Write Fork前言练习8练习9练习10练习11练习12总结 前言 记录一下自己的学习过程 实验内容翻译: https://gitee.com/cherrydance/mit6.828 该翻译仅供参考 练习8 实现sys_env_set_pgfault_upcall系统…

内存映射mmap拓展

第一个是上一篇博客中用mmap实现任意两个进程间相互通信,前几篇博客也用管道实现了进程间通信 这里有个问题,管道是基于缓冲区环形队列的,实验也表明读过的数据不能在读利用命名管道实现任意进程间的通信 那么mmap多个读写操作时会是什么情况…

关于GPU显卡的介绍

一.关于英伟达历代产品架构 显卡是一种计算机硬件设备,也被称为显示适配器或图形处理器。目前的硬件部分主要由主板、芯片、存储器、散热器(散热片、风扇)等部分。显卡的主要芯片是显卡的主要处理单元。显卡上也有和计算机存储器相似的存储器&#xff0…

Mysql数据库-基本表操作

1.表操作 创建表:CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; field 表示列名 datatype 表示列的类型 character set 字符集,如果没有指定字符集&#xff…

python学习笔记------集合(set)

集合定义格式 基本语法: #定义集合字面量 {元素,元素,元素......,元素} #定义集合变量 变量名称{元素,元素,元素......,元素} #定义空集合 变量名称set() #定义集合字面量 {元素&#…

【AI辅助研发】-趋势:大势已来,行业变革

【AI辅助研发】-趋势:大势已来,行业变革 引言 在科技日新月异的今天,人工智能(AI)技术已逐渐渗透到各行各业,其中软件研发行业更是受益匪浅。AI辅助研发已成为大势所趋,不仅提高了软件开发的效…

登录凭证------

为什么需要登录凭证? web开发中,我们使用的协议http是无状态协议,http每次请求都是一个单独的请求,和之前的请求没有关系,服务器就不知道上一步你做了什么操作,我们需要一个办法证明我没登录过 制作登录凭…

免费无水印视频素材哪里下载?这几个地方您要知道

哟哟,切克闹,视频剪辑达人们,是不是在视频素材的海洋里迷航了?别着急,今天我就给大家分享几个超实用的无水印短视频素材合集网,让你的创作更加得心应手,从此素材不再是你的烦恼 1,蛙…

鸿蒙原生应用元服务开发-WebGL网页图形库开发概述

WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素对象中使用,无需使用插件,支持跨平台。WebGL程序是由JavaScr…

Hudi入门

一、Hudi编译安装 1.下载 https://archive.apache.org/dist/hudi/0.9.0/hudi-0.9.0.src.tgz2.maven编译 mvn clean install -DskipTests -Dscala2.12 -Dspark33.配置spark与hudi依赖包 [rootmaster hudi-spark-jars]# ll total 37876 -rw-r--r-- 1 root root 38615211 Oct …

【Python从入门到进阶】50、当当网Scrapy项目实战(三)

接上篇《49、当当网Scrapy项目实战(二)》 上一篇我们讲解了的Spider与item之间的关系,以及如何使用item,以及使用pipelines管道进行数据下载的操作,本篇我们来讲解Scrapy的多页面下载如何实现。 一、多页面下载原理分…

【Leetcode每日一刷】滑动窗口:209.长度最小的子数组

一、209.长度最小的子数组 1.1:题目 题目链接 1.2:解题思路 题型:滑动窗口;时间复杂度:O(n) 🪧 滑动窗口本质也是双指针的一种技巧,特别适用于字串问题 ❗❗核心思想/ 关键:左右…

A5自媒体wordpress主题模板

一个简洁的wordpress个人博客主题,适合做个人博客,SEO优化效果挺不错的。 https://www.wpniu.com/themes/204.html

前端学习之行内和块级标签

行内标签 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>span</title> </head> <body><!-- 行内标签特点&#xff1a;1、不换行,一行可以放多个2、默认宽度内容撑开代表&#…