【愚公系列】软考高级-架构设计师 090-软件配置管理
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
软件配置管理(Software Configuration Management, SCM)是一种在软件开发过程中用于控制和管理软件产品变化的系统性方法。它涉及对软件项目中各个阶段产生的配置项(如代码、文档、设计图、测试用例等)的管理和控制,确保软件开发过程的有序进行,提高软件质量和项目管理的效率。
🚀一、软件配置管理
🔎1.配置管理
配置管理是为了系统地控制配置变更,在系统的整个生命周期中维持配置的完整性和可跟踪性,从而标识系统在不同时间点上的配置状态。
在GB/T11457-2006中将“配置管理”正式定义为:“应用技术的和管理的指导和监控方法以标识和说明配置项的功能和物理特征,控制这些特征的变更,记录和报告变更处理和实现状态并验证与规定的需求的遵循性。”
配置管理包括以下六个主要活动:
-
制订配置管理计划:
- 制定详细的配置管理计划,明确配置管理的目标、策略和方法,确保所有相关方对配置管理的理解和执行一致。
-
配置标识:
- 确定需要进行配置管理的配置项,分配唯一的标识符,并记录其功能和物理特征,以便于跟踪和管理。
-
配置控制:
- 管理和控制配置项的变更请求,评估变更的影响和风险,并决定是否批准变更,确保所有变更是有序和受控的。
-
配置状态报告:
- 提供配置项的状态报告和变更历史,帮助团队了解当前系统的配置状态和历史记录,支持项目管理和决策。
-
配置审计:
- 定期进行配置审计,确保配置管理过程的有效性和合规性,确认所有配置项和变更记录的准确性和完整性。
-
发布管理和交付:
- 管理软件产品的发布过程,确保发布的软件版本符合质量要求,并按计划交付给客户或部署到生产环境,跟踪每个发布版本的详细信息。
通过实施上述配置管理活动,可以有效地控制和管理系统的配置项及其变更,确保系统在整个生命周期内的完整性和可跟踪性,提高项目的可管理性和软件产品的质量。
🔎2.配置项
🦋2.1 配置项的定义
根据GB/T11457-2006,配置项(Configuration Item,CI)的定义为:
“为配置管理设计的硬件、软件或二者的集合,在配置管理过程中作为一个单个实体来对待。”
🦋2.2 可作为配置项进行管理的内容
- 外部交付的软件产品和数据
- 指定的内部软件工作产品和数据
- 指定的用于创建或支持软件产品的支持工具
- 供方/供应商提供的软件
- 客户提供的设备/软件
🦋2.3 典型配置项示例
- 项目计划书
- 需求文档
- 设计文档
- 源代码
- 可执行代码
- 测试用例
- 运行软件所需的各种数据
这些配置项在经过评审和检查通过后,方可进入配置管理过程。
🦋2.4 配置项的主要属性
每个配置项应具备以下主要属性:
- 名称:配置项的唯一标识名称
- 标识符:配置项的唯一标识符
- 文件状态:配置项当前的状态(如草稿、审核中、已发布等)
- 版本:配置项的版本号
- 作者:配置项的创建者或维护者
- 日期:配置项的创建或修改日期
配置项是配置管理中的基本单元,可以是硬件、软件或两者的集合。配置项包括但不限于外部交付的软件产品和数据、内部软件工作产品、支持工具、供方/供应商的软件和客户提供的设备/软件。配置项的主要属性包括名称、标识符、文件状态、版本、作者和日期。这些配置项在经过评审和检查通过后,方可进入配置管理过程。
🔎3.配置项分类
🦋3.1 配置项分类
配置项可以分为两类:
-
基线配置项(Baseline Configuration Items)
- 可能包括所有的设计文档和源代码等。
-
非基线配置项(Non-Baseline Configuration Items)
- 可能包括项目的各类计划和报告等。
🦋3.2 配置项的操作权限管理
所有配置项的操作权限应由配置管理员(CMO,Configuration Management Officer)严格管理,具体权限管理原则如下:
-
基线配置项
- 向开发人员开放读取权限。
-
非基线配置项
- 向项目经理(PM)、变更控制委员会(CCB,Change Control Board)及相关人员开放权限。
配置项分为基线配置项和非基线配置项,基线配置项主要包括设计文档和源代码等,非基线配置项主要包括项目的计划和报告等。基线配置项的读取权限开放给开发人员,非基线配置项的操作权限开放给项目经理、变更控制委员会及相关人员。所有配置项的操作权限由配置管理员严格管理。
🔎4.配置项的状态
配置项的状态可分为“草稿”“正式”和“修改”三种。配置项刚建立时其状态为“草稿”。配置项通过评审后其状态变为“正式”。此后若更改配置项,则其状态变为“修改”。当配置项修改完毕并重新通过评审时,其状态又变为“正式”。如图所示
🔎5.配置项版本管理整理
🦋5.1 配置项版本管理
在项目开发过程中,大多数配置项需要经过多次修改才能最终确定下来。每次修改配置项都会产生一个新的版本。由于无法保证新版本一定比旧版本更好,因此旧版本不能被抛弃。
🦋5.2 版本管理的目的
版本管理的主要目的是:
- 保存所有版本:按照一定的规则保存配置项的所有版本,避免版本丢失或混淆。
- 快速查找:能够快速且准确地查找到配置项的任何版本。
配置项在项目开发过程中需要多次修改,每次修改都会生成一个新的版本。版本管理的目的是按照规则保存所有版本,防止版本丢失或混淆,并确保能够快速准确地查找到任何版本。旧版本不能被抛弃,因为新版本不一定比旧版本更好。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)