CMMI2.0配置管理工作及访谈学习笔记(续)

news2024/11/18 7:28:38

1. 配置管理岗位职责

  • 范围:组织级和项目级配置管理
  • 管理对象为过程和产品,产品为识别出的配置项
  • 建立配置库:为项目建立开发库(管理库)、基线库,建立配置库结构并分配权限(命名规范)
  • 基线管理,在每个阶段结束的时候,按配置管理计划建立基线库,以及变更基线
  • 版本管理,使用配置工具git进行版本管理,以及文档修订记录
  • 配置库备份,收权限
  • 编制配置管理计划,依据软件项目过程定义、项目计划、配置管理规程、过程资产库编制配置管理计划
  • 配置审计,包括功能设计和物理审计
  • 记录CM活动,撰写配置管理周期性工作报告
  • 为项目组提供SCM 理论和相关工具的培训,并提供技术支持

2. 基于CMMI配置管理体系结构

在CMMI2.0中对配置管理又有新的诠释和变化,例如:去掉了配置状态记录,重点强调了配置控制的方法,将配置控制明确为版本控制和变更控制。再如:对基线的阐述不仅仅有软件基线,2.0也新增了硬件基线,这给软硬件一体项目实施的组织提供了理论基础。
在这里插入图片描述

如何验证您正在使用和遵循这些流程?
我可以阅读,配置管理规则,命名规程,配置管理计划等规范,同时,QA会对我的配置管理工作进行审计,EPG和项目经理对我的工作检查。

如何评价对于过程的遵循度和过程的有效性?
QA会从过程和产品两个方面对我的工作进行检查,一般按项目阶段及配置管理计划进行检查;
EPG评估过程的有效性。

3. 配置项分级别、分类管理及标识:

3.1. 配置项分级别

按管理的严格程度,配置项一般分2个等级:
(1)基线配置项

  • 所有设计文档和源程序等【重要】
  • 基线配置项向开发人员开放读取和权限

(2)非基线配置项

  • 项目各类计划和报告等
  • 非基线配置项向PM、CCB及相关人员开放

另外参考,按管理的严格程度,配置项一般分3个等级:
(1)纳入基线管理的配置项
纳入基线管理的配置项是指变化时要走严格变更手续的配置项,需要做变更申请,要审批。审批一般分2种严格程度:
i) 项目经理或分CCB审批就可以,一般是局部的小的变更。
ii)变更控制委员会(CCB)审批
纳入基线前,一般要经过评审或测试(称为验证)和质量保证。
(2)没有纳入基线但是也不能随意变更的配置项,一般称为受控项
这类配置项不需要变更申请,但是要经过配置管理员或项目经理的允许才可以变更。
基线项与受控项写的权限要唯一,一般是CM或PM有唯一的写权限。
(3)非受控项
对变更不做控制。

3.2. 配置项分类

凡是纳入配置管理范畴的工作成果统称为配置项,配置项主要有两大类:

  • 一类是属于产品的组成部分,例如需求文档、设计文档、源代码、测试用例等;
  • 另一类是在管理过程中产生的文档,例如各种计划、报告。

3.3. 配置项标识

配置项标识是描述在项目软件管理过程的配置管理活动中如何对文件夹、文件名进行命名以及识别和标识配置项。

例如:配置项命名规范

  • 配置项:公司简称—项目简称—文件名—编号
  • 基线:项目简称——基线名—编号

4. 项目实践

4.1. 配置管理计划

职责定义,包括配置管理员、QA、项目经理、CCB组长、CCB成员。

配置库为gitlab

配置管理过程:

  • 配置库计划,包括权限表、库目录结构
  • 基线计划,包括基线名称、配置项、计划时间
  • 配置审计计划,包括审计时间、审计内容
  • 备份与恢复计划

状态报告,确定所有与配置管理相关的记录、生成频率,编写人及接收人。

配置管理计划维护,当需求或项目计划变更时,由配置管理员维护配置管理计划,并提交项目经理批准。

4.2. 基线及基线变更

序号基线名称版本号
1需求基线V1.0
1.1需求基线V1.1
2设计基线V1.0
3测试基线V1.0
3.1测试基线V1.1
4发布基线V1.0

如何重新生成基线?

4.3. 配置审计

CM进行功能审计和物理审计,主要是在基线建立和基线变更时进行审计。

  • 物理配置审计是用以验证所构建的配置项符合技术⽂档中对其的定义和描述,内容主要看配置项是否按计划正确入库、申请与发布是否一致,以及发布位置、版本、命名等基本信息是否正确。
  • 功能审计:主要是检查文件内容是否符合需求,符合模板。
    在这里插入图片描述

4.4. 变更申请

变更申请由(需求、发布)申请变更和基线变更申请两部组成。

首先,是发起修改申请,从配置库签出文档和源代码;
其次,是发起配置项入库变更申请,从开发库签入到基线库。

例如,申请需求变更时,如何管理文档和源代码的变更?
1.需求基线检出:依据审批通过的需求变更申请,我先把相关文档从基线签出到开发库中,再由项目经理基于签出的文档组织修改变更;
2.需求基线变更CCB审批:需求变更需要重新生成需求基线,对于需要纳入需求的基线的文档,需经过评审,由需求开发者向CCB提出需求基线变更申请,CCB审批通过;
3. 需求产品重建基线:
产品入库检查,协助QA进行功能审计,并进行物理审计;
产品入库,使用Git工具提交生成基线;
发布基线,发布需求变更基线,我(CM)通知相关人员已完成变更。

在这里插入图片描述

4.5. 配置项登记表

在这里插入图片描述

5. 总结

配置管理工作范围,包括组织级配置管理和项目级配置管理。

配置管理活动覆盖了整个软件生命周期,也覆盖了生命周期中所有的工作产品,所以这个活动会涉及很多的干系人,配置管理主要活动有:配置管理计划、基线管理、变更管理、配置库管理、版本管理、配置审计。

从另一个维度来说,配置管理就是识别配置项、管理配置项,通过技术或其他手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。

6. 附件,Gitlab操作补充

6.1. 增加项目成员

在这里插入图片描述

6.2. 修改项目成员权限

在这里插入图片描述

6.3. gitlab备份与恢复

基于CentOS 下搭建Gitlab+Gitlab-runner,实现如下功能:

  • 每日整体备份;
  • 备份保存30天;
  • 备份数据恢复测试;

具体安装、配置详解《 gitlab备份与恢复》。

参考:

肖永威. CMMI2.0配置管理工作及访谈学习笔记. CSDN博客. 2022.12
麦哲思科技任甲林. 配置项管理的3个等级. CSDN博客. 2009.12
xiaodaiwang. gitlab备份与恢复. CSDN博客. 2022.10

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

猿如意中的【DBeaver】工具详情介绍

猿如意中的【DBeaver】工具详情介绍一、工具名称二、下载安装渠道2.1 什么是猿如意?2.2 如何下载猿如意?2.3 如何在猿如意中下载开发工具?三、工具介绍四、DBeaver功能介绍五、软件截图六、DBeaver安装过程6.1 在猿如意中下载DBeaver6.2 选择…

道路裂缝坑洼图像开源数据集汇总

CrackForest数据集 数据集下载链接:http://suo.nz/2wdNdX CrackForest数据集是一个带注释的道路裂缝图像数据库,可以大致反映城市路面状况。 道路裂缝坑洼图像数据集 数据集下载链接:http://suo.nz/3eEDlj 这个数据集是一个极具挑战性的集…

67、INGeo:利用占用网格先验加速/减少迭代次数

简介 论文地址:INGeo: Accelerating Instant Neural Scene Reconstruction with Noisy Geometry Priors 首先我们知道Instant-ngp利用最先进的射线推进技术(指数步进、空白跳过、样本压缩)实现密集网格自剪枝的采样策略,这种采样…

代码随想录训练营第48天|LeetCode 198.打家劫舍、213.打家劫舍II、 337.打家劫舍III

参考 代码随想录 题目一:LeetCode 198.打家劫舍 确定dp数组下标及其含义 dp[i]:考虑下标i(包括i)以内的房屋,可以偷窃的最大金额为dp[i]。确定递推公式 如果当前的第i个房间不偷,那么dp[i] dp[i-1].如…

干货收藏 |关键词优化攻略!(附11款关键词检索工具)

关键字搜索是买家查找产品的方式,一个高质量的关键词可以帮助卖家快速增加曝光率。简而言之,利用好关键词机理,能让我们的产品产生更有利的排名因素。 那如何找到合适的关键字,设置关键字时应该注意什么? 今天从产品的…

libcrypto-1_1.dll丢失,要怎么处理?

一般出现这个libcrypto-1_1.dll丢失的问题,我看绝大部分都是出在刺客信条这边的人,很多人吐槽 在运行刺客信条3游戏的时候遇到提示缺少libcef.dll文件的问题。其实遇到这问题还是比较好解决的。 libcrypto-1_1.dll丢失的处理方法 第一种,首…

云存储--1

背景 这一板块主要是讲诉云计算中的存储板块。 那么云存储主要分为三大类:块存储、文件存储、对象存储。 那么,这一章我们来了解一下什么是块存储,以及块存储在云计算当中的使用场景。 1、 什么是块存储? 我们来思考一个场景&a…

Spring Boot集成MyBatis

1.整合Durid数据源 1、引入Jar包 2.application.yml配置 3.读取配置类DruidConfig 总结:其实没有必要一个个手动去配置, druid 启动starter druid 自动配置类 2.整合MyBatis 2.1生成MyBatis代码: pom.xml generatorConfig.xml 运行插件—…

java计算机毕业设计ssm余庆金阳驾校管理系统75wh9(附源码、数据库)

java计算机毕业设计ssm余庆金阳驾校管理系统75wh9(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#…

看完这篇,轻松编写Markdown

攻城狮为什么要会Markdown Markdown是什么 Markdown是一种轻量级标记语言,创始人为约翰格鲁伯(John Gruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。这种语…

【网络攻防】Linux提权(待更)

Linux提权 文章目录Linux提权1.利用suid提权(1)如何设置suid(2)如何找到设置了suid的程序(3) suid提权2.利用环境变量提权(1)创建拥有 suid 权限的程序(2)劫持…

vue innerHTML 绑定单击事件不生效

在使用 vue时候对 innerHTML进行绑定单击事件&#xff0c;绑定后事件不生效 原代码 div.innerHTML "<el-button sizemini typetext clickhandleUpdate1("JSON.stringify(warnCntItem)") stylecolor: #f56c6c> "warnCntItem.warnCnt"</el-b…

【云计算与大数据技术】分布式协同系统Chubby锁、ZooKeeper在HDFS中的使用讲解(图文解释 超详细)

阿里云Kuafa RPC系统 夸父(Kuafu)是飞天平台内核中负责网络通信的模块&#xff0c;它提供了一 个 RPC 的接口 , 简化编写基于网络的分布式应用 夸父的设计目标是提供高可用(724小时)、大吞吐量(Gigabyte)、高效率、易用(简明 API、多种协议和编程接口)的 RPC服务 Hadoop IPC…

【软件测试】资深测试的建议。初入测试行的小伙伴,准备起航吧......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 大部分初级的岗位&a…

Java面试题总结-抽象类和接口的区别

抽象类是用来捕捉子类的通用特性的。接口是抽象方法的集合。 从设计层面来说&#xff0c;抽象类是对类的抽象&#xff0c;是一种模板设计&#xff0c;接口是行为的抽象&#xff0c;是一种行为的规范。 想要了解抽象类和接口的区别&#xff0c;我们首先要想清楚抽象类和接口的相…

Word控件Spire.Doc 【超链接】教程(3):在C#中查找word文档中的超链接

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

服务端监控工具:Nmon使用方法

目录&#xff1a;导读 一、认识nmon 二、检查安装环境 三、nmon下载安装 四、运行nmon 五、采集数据 总结 写在最后 一、认识nmon 1、简介 nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具&#xff0c;它能在系统运行过程中实时地捕捉系统资源的使用情…

再学C语言1:开发环境

重新把C语言梳理一遍&#xff0c;学习在VSCode中进行C语言编程。 因此第一步是把环境配置起来。 步骤一&#xff1a;下载、安装VSCode 官网下载即可&#xff0c;地址&#xff1a;https://code.visualstudio.com/Visual Studio Code is a code editor redefined and optimize…

Docker:docker安装nginx

目录 一、容器之间相互通信 1、两个容器在同一网段 2、两个容器在不同网段 二、安装Nginx 1.nginx是什么 2. 安装nginx 三、部署前端项目 2.nginx.conf讲解 一、容器之间相互通信 1、两个容器在同一网段 查看docker中已安装的所有网络 docker network ls 查看自定义网络myn…

springboot+java农家乐系统-住宿-美食-活动vue

目 录 摘 要 1 Abstract 1 1 系统概述 4 1.1 概述 4 1.2课题意义 4 1.3 主要内容 4 2 系统开发环境 5 2.1 JAVA简介 5 2.2 B/S架构 5 2.3系统对MySQL数据库的两种连接方式 6 2.4 MySql数据库 6 3 需求分析 7 3.1技术可行性&#xff1a…