软件工程中的软件配置管理

什么是软件配置管理?
在软件工程中, 软件配置管理(SCM) 软件配置管理(SCM)是一个系统地管理、组织和控制软件开发生命周期中文档、代码和其他实体变更的过程。其主要目标是在最大限度减少错误的情况下提高生产效率。SCM 属于配置管理这一跨学科领域,它可以准确地确定每个版本是由谁修改的。
为什么我们需要配置管理?
实施技术软件配置管理系统的主要原因有:
- 有多人参与软件的开发,该软件也在不断更新。
- 软件配置项目可能涉及多个版本、分支和作者,团队地理位置分散,并且同时进行开发。
- 需要适应用户需求、政策、预算和进度方面的变化。
- 软件应该能够在各种机器上运行,并且 Opera系统.
- 有助于促进各利益相关方之间的协调。
- SCM流程还有助于控制系统变更所涉及的成本。
软件配置项的任何更改都会影响最终产品。因此,需要对配置项的更改进行控制和管理。
SCM流程中的任务
- 配置标识
- 基准线
- 更改控制
- 配置状态计费
- 配置审计和 Rev尤斯
配置标识
配置标识是一种确定软件系统范围的方法。借助此步骤,即使您不了解具体内容,也可以对其进行管理或控制。配置标识包含 CSCI 类型(计算机软件配置项)、项目标识符和版本信息。
在此过程中的活动:
- 识别配置项,如源代码模块, 测试用例,以及需求规范。
- 采用面向对象的方法识别 SCM 存储库中的每个 CSCI。
- 该过程从基本对象开始,然后将这些基本对象分组为聚合对象。详细说明测试中更改的内容、原因、时间和由谁进行更改。
- 每个对象都有自己的特征,这些特征可以识别它的名称,该名称对所有其他对象都是明确的。
- 所需资源清单,例如文档、文件、工具等。
计费示例:
文件名称不应为 login.php,而应为 login_v1.2.php,其中 v1.2 代表文件的版本号。
而不是将文件夹命名为“Code它应该被命名为“Code_D”,其中 D 表示代码应该每天备份。
底线
基线是软件配置项的正式接受版本。它是在执行 SCM 流程时在特定时间指定和固定的。它只能通过正式的变更控制程序进行更改。
在此过程中的活动:
- 便于构建应用程序的各种版本。
- 定义和确定管理这些工作成果各种版本的机制。
- 功能基线与已审核的系统需求相符。
- 广泛使用的基线包括功能基线、开发基线和产品基线。
简而言之,基线意味着准备发布。
更改控制
变更控制是一种程序化方法,用于确保配置对象变更时的质量和一致性。在此步骤中,变更请求将提交给软件配置管理器。
在此过程中的活动:
- 控制临时变更,以构建稳定的软件开发环境。变更将提交到代码仓库。
- 我们将根据技术可行性、可能的副作用以及对其他配置对象的总体影响来检查该请求。
- 它在软件生命周期内管理变更并提供配置项。
配置状态计费
配置状态核算 trac在 SCM 流程中,每次发布都需要进行 ks 操作。此阶段涉及 trac了解每个版本包含的内容以及导致当前版本的变化。
在此过程中的活动:
- 记录对先前基线所做的所有更改,以达到新的基线。
- 确定所有用于定义软件配置的项目。
- 监控变更请求的状态。
- 自上次基准测试以来所有变更的完整列表。
- 允许 trac迈向下一个基线的进步之王。
- 允许引用以前的版本/发行版trac用于测试。
配置审计和 Rev尤斯
软件配置审核验证所有软件产品是否满足基线需求。它确保构建的就是交付的。
在此过程中的活动:
- 配置审核由审核员通过检查是否遵循定义的流程并确保满足 SCM 目标来进行。
- 为验证是否符合配置控制标准,对所做的更改进行审计和报告。
- 供应链管理审计还能确保 trac在此过程中保持灵活性。
- 确保对基线所做的更改符合配置状态报告。
- 验证完整性和一致性。
SCM流程参与者
以下是供应链管理的主要参与者:
1. 配置管理器
- 配置管理员是负责识别配置项的负责人。
- CM确保团队遵循SCM流程。
- 他/她需要批准或拒绝变更请求。
2。 开发人员
- 开发人员需要根据标准开发流程或变更请求修改代码。他负责维护代码配置。
- 开发人员应检查更改并解决冲突。
3。 核数师
- 审核员负责 SCM 审核和审查。
- 需要确保发布的一致性和完整性。
4. 项目经理:
- 确保产品在规定的时间范围内开发完成。
- 监控开发进度并识别 SCM 流程中的问题。
- 生成有关软件系统状态的报告。
- 确保在创建、更改和测试过程中遵循相关流程和政策。
5.用户
最终用户应了解关键的SCM术语,以确保其拥有最新版本的软件。
软件配置管理计划
软件配置管理规划 (SCMP) 流程始于项目的早期编码阶段。规划阶段的成果是 SCM 计划,该计划在项目实施过程中可能会进行调整或修订。
- SCMP 可以遵循 IEEE 828 等公共标准,也可以遵循组织特定的标准。
- 它定义了要管理的文档类型和文档命名约定。例如:Test_v1。
- SCMP 定义了负责整个 SCM 流程和基线创建的人员。
- 完善版本管理和变更控制策略。
- 定义可在供应链管理过程中使用的工具。
- 配置管理数据库,用于记录配置信息。
软件配置管理工具
任何变更管理软件都应具备以下 3 个关键功能:
并发管理:
当两个或多个任务同时进行时,称为并发操作。在源代码管理(SCM)的上下文中,并发指的是多人同时编辑同一个文件。
如果没有使用 SCM 工具正确管理并发,则可能会产生许多紧迫的问题。
版本控制:
源代码管理 (SCM) 使用归档方法,即保存对文件所做的每一次更改。借助归档或保存功能,可以在出现问题时回滚到以前的版本。
Sync时代化:
用户可以检出多个文件或整个代码库副本。然后,用户可以编辑所需文件,并将更改提交回代码库。他们可以同步本地副本,以便及时了解其他团队成员所做的更改。
以下是一些常用工具:
1.Git: Git 是一个免费的开源工具,有助于版本控制。它旨在快速高效地处理所有类型的项目。
下载链接: https://git-scm.com/
2。 球队 Foundation 服务器: 团队 Foundation 是一组使团队能够协作和协调构建产品的工具和技术。
下载链接: https://azure.microsoft.com/en-us/services/devops/server/
3. Ansible: 它是一款开源的软件配置管理工具。除了配置管理之外,它还提供应用程序部署和任务自动化功能。
下载链接: https://www.ansible.com/


