软件配置管理

软件工程中,软件配置管理SCMS/W CM ;也扩展为源配置管理过程以及软件更改和配置管理)是跟踪和控制软件中的变化的任务,这是较大的跨学科领域的一部分配置管理。 SCM实践包括修订控制基准的建立。如果出现问题,SCM可以确定变化的“什么,何时,为什么和谁”。如果配置运行良好,SCM可以确定如何在许多主机上复制它。

目的

SCM的目标通常是:

  • 配置标识 - 识别配置,配置项基准
  • 配置控制 - 实施受控的更改过程。这通常是通过设置一个变更控制板来实现的,其主要功能是批准或拒绝针对任何基线发送的所有变更请求。
  • 配置状态会计 - 记录和报告有关开发过程状态的所有必要信息。
  • 配置审核 - 确保配置包含其所有预期零件,并且相对于其指定文档(包括要求,建筑规格和用户手册)而言。
  • 构建管理- 管理用于构建的过程和工具。
  • 过程管理- 确保遵守组织的发展过程。
  • 环境管理 - 管理托管系统的软件和硬件。
  • 团队合作- 促进与过程相关的团队互动。
  • 缺陷跟踪 - 确保每个缺陷都具有可追溯性回到源。

随着云计算DevOps的引入,SCM工具的目的在某些情况下已合并。 SCM工具本身已成为虚拟设备,可以将其实例化为虚拟机,并通过状态和版本保存。这些工具可以建模和管理基于云的虚拟资源,包括虚拟设备,存储单元和软件捆绑包。参与者的角色和职责也已与现在的开发人员合并,现在能够动态实例化虚拟服务器和相关资源。

历史

在1950年代,当CM(配置管理)最初用于硬件开发和生产控制时,计算中软件配置管理(SCM)的历史记录可以追溯到1950年代。早期软件具有物理足迹,例如磁带和其他媒体。第一个软件配置管理是手动操作。随着语言和复杂性的进步,由于日程安排,预算和质量等问题,软件工程涉及配置管理和其他方法,因此成为一个主要问题。多年来,实用的课程导致了程序和工具的定义和建立。最终,这些工具成为管理软件更改的系统。以公开或专有的方式(例如修订控制系统)提供了整个行业范围的实践。随着计算机使用日益增长的使用,系统出现了处理更广泛范围的系统,包括需求管理,设计替代方案,质量控制等;后来的工具遵循组织的准则,例如软件工程学院能力成熟度模型

也可以看看