【愚公系列】软考中级-软件设计师 044-软件工程基础(项目管理-软件配置管理)

举报
愚公搬代码 发表于 2024/02/24 17:42:49 2024/02/24
【摘要】 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。🏆《博客内容...

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏


🚀前言

在项目管理中,软件配置管理(Software Configuration Management,SCM)是管理和控制软件开发过程中软件配置项的活动。软件配置项是指软件产品中独立管理和可识别的组成部分,例如源代码、可执行文件、文档、测试脚本等。

软件配置管理涉及以下方面:

序号 关键点 内容
1 版本控制 管理和跟踪不同版本的软件配置项,确保团队成员能够协同开发,而不会互相干扰。版本控制工具如Git和SVN等可以帮助管理代码的不同版本和分支。
2 配置标识 为每个软件配置项分配唯一的标识符,以便能够准确地识别和跟踪它们。这些标识符可以是数字、字母或其他形式的符号。
3 变更控制 管理和跟踪对软件配置项的变更,确保变更经过适当的审核和批准,并记录变更的详细信息。变更控制工具可以帮助记录和管理变更请求和审批流程。
4 配置管理计划 定义软件配置管理的策略、过程和工具,确保所有团队成员遵循相同的配置管理标准和方法。
5 配置审计 对软件配置项进行定期审计,以确保它们与配置管理计划一致,并检查是否存在未经授权的变更或其他问题。
6 构建和部署管理 管理软件构建过程和部署到不同环境的过程,确保构建的版本和部署的软件与所需的配置一致。

软件配置管理的目标是确保软件配置项的可追溯性、可控制性和可复用性,以便有效地管理软件开发过程和维护活动,并减少风险和错误。

🚀一、软件配置管理

🔎1.概念

软件配置管理(Software Configuration Management,SCM)是一种管理和控制软件开发过程中的配置项的活动。它涉及到对软件配置项进行标识、控制、跟踪、审查和审核,以确保软件开发过程中的变更和更新得到有效管理。

SCM的目标是确保软件配置项的正确性、一致性和完整性,以及改变和更新的可追溯性和可控制性。通过SCM,开发团队可以有效地管理和追踪软件的各个版本、组件和配置,确保代码的可维护性和可重用性,并最大限度地减少错误和风险。

根据GB/T11457-2006,"配置管理"被正式定义为:应用技术和管理的指导和监控方法,用于标识和说明配置项的功能和物理特征,控制这些特征的变更记录和报告变更处理和实现状态,并验证其符合规定需求的遵循性。

🔎2.活动

配置管理包括6个主要活动 :制订配置管理计划 、配置标识 、配置控制 、配置状态报告 、配置审计 、发布管理和交付:

配置管理活动 描述
制订配置管理计划 定义配置管理的策略、过程和工具,确保团队成员遵循统一的配置管理标准和方法。
配置标识 为每个软件配置项分配唯一的标识符,以便准确地识别和跟踪它们。
配置控制 管理和跟踪对软件配置项的变更,确保变更经过适当的审核和批准,并记录变更的详细信息。
配置状态报告 定期报告软件配置项的状态,包括变更情况、当前版本和分支等信息,以便项目管理和决策。
配置审计 定期审计软件配置项,验证其与配置管理计划的一致性,检查是否存在未经授权的变更或其他问题。
发布管理和交付 管理软件构建和部署的过程,确保构建的版本和部署的软件与所需配置一致,并交付给相应的环境和团队。

🔎3.配置项

配置项:GB/T11457-2006对配置项的定义为: " 为配置管理设计的硬件、软件或二者的集合 , 在配置管理过程中作为一个单个实体来对待" 。

🦋3.1 配置项相关概念

1、可以作为配置项进行管理

外部交付的软件产品和数据 、指定的内部软件工作产品和数据 、指定的用于创建或支持软件产品的支持 工具 供方/供应商提供的软件和客户提供的设备/软件。

2、典型配置项包括

项目计划书、需求文档 、设计文档 、源代码 、可执行代码 、测试用例 、运行软件所需的各种数据 , 它们经评审和检查通过后进入配置管理 。

3、每个配置项的主要属性有

名称 、标识符 、 文件状态 、 版本 、 作者 、 日期等 。

配置项可以分为基线配置项和非基线配置项两类 , 例如 , 基线配置项可能包括所有的设计文档和源程序等; 非基线配置项可能包括项目的各类计划和报告等。

所有配置项的操作权限应由CMO (配置管理员) 严格管理 ,基本原则是 :基线配置项向开发人员开放读取的权限; 非基线配置项向PM 、CCB及相关人员开放。

配置项的状态可分为"草稿"“正式"和"修改"三种。配置项刚建立时 ,其状态为"草稿” 。配置项通过评审后 , 其状态变为 “正式” 。此后若更改配置项 , 则其状态变为 “修改” 。当配置项修改完毕并重新通过评审时, 其状态又变为 “正式”

🦋3.2 配置项版本号

(1) 处于"草稿"状态的配置项的版本号格式为0.Y.Z,YZ的数字范围为01~99 。随着草稿的修正,YZ的取值应递增。YZ的初值和增幅由用户自己把握。

(2) 处于"正式"状态的配置项的版本号格式为X.Y ,X为主版本号,取值范围为1~9。Y为次版本号,取值范围为0~9 。配置项第一次成为 "正式"文件时,版本号为 1.0。如果配置项升级幅度比较小 ,可以将变动部分制作成配置项的附件, 附件版本依次为 1.0,1.1,…。当附件的变动积累到一定程度时,配置项的Y值可适量增加,Y值增加一定程度时,X值将适量增加。当配置项升级幅度比较大时,才允许直接增大X值。

(3) 处于 "修改"状态的配置项的版本号格式为X.Y.Z 。配置项正在修改时, 一般只增大Z值 。X.Y值保持不变。当配置项修改完毕,状态成为正式时,将Z值设置为0,增加X.Y值。

🦋3.3 配置项版本管理

在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来。对配置项的任何修改都将产生新的版本。 由于我们不能保证新版本一定比旧版本 "好 ,所以不能抛弃旧版本。版本管理的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象 , 并且可以快速准确地查找到配置项的任何版本 。

🔎4.配置基线

配置基线(常简称为基线)由一组配置项组成,这些配置项构成一个相对稳定的逻辑实体 。基线中的配置项被"冻结" 了,不能再被任何人随意修改 。对基线的变更必须遵循正式的变更控制程序。

基线通常对应于开发过程中的里程碑,一个产品可以有多个基线、也可以只有一个基线 。交付给外部顾客的基线一般称为发行基线 ( Release ) , 内部开发使用的基线一般称为构造基线 (Build)。

一组拥有唯一标识号的需求、设计、源代码文卷以及相应的可执行代码、构造文卷和用户文档构成一条基线。

对于每一个基线,要定义下列内容: 建立基线的事件、受控的配置项、建立和变更基线的程序 、批准变更基线所需的权限 。在项目实施过程中,每个基线都要纳入配置控制,对这些基线的更新只能采用正式的变更控制程序 。

建立基线还可以有如下好处:

① 基线为开发工作提供了 一个定点和快照。
② 新项目可以在基线提供的定点上建立 。新项目作为 一个单独分支 ,将与随后对原始项目 (在主要分支上) 所进行的变更进行隔离 。
③ 当认为更新不稳定或不可信时,基线为团队提供一种取消变更的方法。
④ 可以利用基线重新建立基于某个特定发布版本的配置, 以重现已报告的错误 。

🔎5.配置数据库

存放配置项并记录与配置项相关的所有信息 ,是配置管理的有力工具 。主要作用 :

① 记录与配置相关的所有信息, 其中存放受控的软件配置项是很重要的内容。
② 利用库中的信息评价变更的后果 ,这对变更控制有着重要的意义 。
③ 从库中可提取各种配置管理过程的管理信息。

使用配置库可以帮助配置管理员把信息系统开发过程的各种工作产品 , 包括半成品或阶段产品和最终产品管理得井井有条,使其不致管乱 、管混 、管丢 。

配置数据库可以分开发库、受控库、产品库3种类型:

类型 说明 特点
开发库 保存正在开发的实体 - 保存新模块、文档、数据元素或修改已有元素
- 配置项被置于版本管理之下
- 开发人员个人工作区,由开发人员自行控制
- 可以任意修改,无需配置控制
受控库 包含基线和变更 - 包含当前的基线和对基线的变更
- 配置项被置于完全的配置管理之下
- 存入受控库后可修改,需要走变更流程
产品库 包含已发布的基线 - 包含已发布使用的各种基线的存档
- 配置项被置于完全的配置管理之下
- 在完成系统测试后存入产品库,等待交付用户或现场安装
- 一般不再修改,真要修改需走变更流程

在这里插入图片描述


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。