目录
2. 了解 configuration management process 配置管理过程
3.5 Configuration Auditing 配置审核
1. 了解配置管理的作用
2020年,科尔斯超市对其销售点(POS)系统进行了升级。
- 事情没有按计划进行。
- 一个技术问题意味着4小时内无法付款。
1.1 什么是软件配置?
所有这些 artefacts 人工制品之间都存在着 dependencies 依赖关系:
- 首先我们把软件开发过程中的 artefacts(用例图,代码,测试,类图等)都看做根据软件需求产出的产品。
- 例如,一个代码模块可能依赖于一个设计元素,如类图或状态图,以及一个设计元素,如设计类图。
- 这时候如果发生了一些 change,那么这些 artefacts 其实都需要发生对应的变化,而且他们之间还存在 dependencies:例如,代码模块可能依赖于设计元素,如类图或状态图,以及设计元素,如设计类图。
因此当我们谈论 software configurations 的时候,我们通常不仅仅谈论代码层面,还有
- 所有这些 artefacts
- 他们之间的 dependencies,
- 和他们当前所处的状态(当前的 use case 可能是 version2, 而 class diagram 可能处于 version3)
1.2 配置管理的作用
问题是变化!
- 如果我们对一个 artifact 做了改变,可能会影响到该 artifact 的所有依赖关系。
- 如果我们不小心,对 artifact 的改变可能会使配置处于不一致的状态。
- 例如,对需求的改变会对系统设计和所有依赖设计的代码模块产生影响。
- 同时,代码的测试计划、测试用例和测试脚本也会受到影响。
- 危险的是,我们可能会改变一个模块而不改变它的一个依赖模块,使配置不一致。
配置管理的目的是在不失去整体一致性的情况下适当管理变化 适当地管理变化,同时又不失去整体的一致性,方法是:
- 建立流程。
- 建立存储库;以及
- 使用其他适当的工具和技术
配置管理(CM)解决以下问题:
- 我们如何管理变更请求?
- 软件组件是什么,在哪里?
- 每个软件组件的状态是什么?
- 对一个组件的改变如何影响其他组件?
- 我们如何解决冲突的变化?
- 我们如何维护多个版本?
- 我们如何保持系统的更新?