《软件配置管理》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:徐晓春,李高健编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:730205553X
  • 页数:299 页
图书介绍:本书全面阐述软件配置管理的概念,介绍一种按规则实施的管理软件研发和维护过程及其软件产品的方法。本书着重于软件配置管理应用技术,从技术的角度说明软件配置管理过程。

图1-1 配置管理的层次 1

第1章 概述 1

1.1 什么是软件配置管理 2

1.1.1 配置管理 3

1.1.2 软件配置管理 3

1.2 软件配置管理的发展 5

1.2.1 软件配置管理的过去 5

1.2.2 软件配置管理的现在 6

1.2.3 软件配置管理的未来 9

图1-2 CM服务模型 11

图1-3 PDM和SCM过程支持 12

1.3.1 程序员的问题 13

1.3 配置管理能解决的问题 13

图1-4 SCM和PDM功能 13

1.3.2 项目经理的问题 15

1.3.3 公司老板的问题 16

1.4 实施配置管理的益处 17

1.5 小结 18

第2章 软件配置管理的主要内容 19

2.1 基本概念 19

2.1.1 软件配置项 19

图2-1 基线(里程碑) 20

2.1.2 基线 20

2.1.3 版本 21

图2-2 配置项的演变过程 22

图2-4 版本树、变种和修订版 23

图2-3 版本的串行和并行演变 23

2.1.4 版本标识 23

图2-5 数字顺序型版本标识命名规则 24

图2-7 对象池在不同方向上的映射 25

图2-6 对象和对象池 25

图2-8 对象池在某两个方向上的映射 26

2.1.5 软件配置库 26

2.1.6 配置状态报告 27

表格2-1 CSA数据报告 28

2.1.7 配置审计 29

2.2.1 版本的访问与同步控制 31

2.2 版本控制 31

2.2.2 版本分支和合并 32

图2-9 访问和同步控制的流程 32

2.3 变更控制 33

2.2.4 发行管理 33

2.2.3 版本的历史记录 33

图2-10 修补变更与系统功能变更的交叉发行 33

2.3.1 变更类型 34

图2-11 变更的波及面 34

表格2-2 变更请求表格 35

2.3.2 变更请求 35

2.3.3 变更许可 35

图2-12 变更控制过程 36

2.3.4 变更实施 36

2.3.5 变更机制 36

2.3.6 未实行变更管理的历史教训 37

2.4 过程支持 38

图2-13 过程驱动下的线性工作流 39

2.4.1 组织的过程和CM的应用 39

2.4.2 CM过程和软件生命周期 40

图2-14 集成数据流的含义 41

图2-15 工具和生命周期重叠 42

图2-16 同级集成 43

2.4.3 过程模型表示法的影响 43

2.5 小结 44

2.4.4 过程发展进化 44

3.1 在开发组织中成立SCCB 45

第3章 软件配置管理快速入门 45

3.2 在开发组织中应用SCM 45

3.2.1 获取足够的管理权 46

3.2.2 评估当前过程 46

图3-1 SCM应用的功能块 46

3.2.3 分析需求 46

3.2.4 选定角色并创建一个SCM小组 46

表格3-1 风险控制的6个不同的活动 47

3.2.5 控制SCM的风险 47

表格3-4 技术风险 48

表格3-3 人员有关的风险 48

表格3-2 商业风险 48

3.2.7 书写正式的SCM计划 49

3.2.6 记录SCM过程 49

3.3 软件配置管理方案 50

图3-2 软件配置管理解决方案涉及的内容 50

3.3.1 软件配置管理方案的构造 51

表格3-5 配置管理规范的制订 55

3.4 自动软件配置管理 56

3.3.2 软件配置管理方案的实施 56

表格3-6 进行变化时所面对的复杂问题 57

图3-3 SCM自动化过程 58

3.4.1 准备和计划 58

3.4.3 工具评估 59

3.4.2 过程定义 59

3.4.4 试验项目实现 60

3.4.5 向其他项目初次展示 60

表格3-7 试验项目的实现 60

表格3-8 配置管理模版列表 61

3.5 配置管理模版 61

3.4.6 提高捕获和通信能力 61

表格3-9 定制/裁剪计划模版 62

表格3-10 配置标识模版 62

3.5.2 配置标识模版 62

3.5.1 定制/裁剪计划模版 62

表格3-11 配置控制模版 63

3.5.3 配置控制模版 63

3.5.4 配置状态报告模版 64

3.5.5 配置审计模版 64

表格3-13 配置审计模版 64

表格3-12 配置状态报告模版 64

3.5.7 向产品过渡的模版 65

表格3-15 向产品过渡的模版 65

3.5.6 产品和支持模版 65

表格3-14 产品和支持模版 65

表格3-16 软件/固件模版 66

表格3-17 问题和决议模版 66

3.5.8 软件/固件模版 66

3.5.9 问题和决议模版 66

表格3-18 自动化CM模版 67

3.5.10 自动化CM模版 67

3.6 小结 68

表格4-1 配置管理相关的标准和指南 69

4.1 软件配置管理的相关标准 69

第4章 软件配置管理的衡量尺度 69

表格4-2 基本的度量 71

4.2 软件配置管理的度量和度量准则 71

图4-2 软件剩余问题(没有加权的) 74

图4-3 剩余变更和错误密度 74

图4-1 累计的软件变化(加权的) 74

4.3 软件配置管理与SW-CMM1.1 75

4.3.1 SW-CMM1.1简介 75

图4-4 CMM结构 76

表格4-3 CMM的成分 76

图4-5 CMM等级 77

4.3.2 软件配置管理在SW-CMM1.1中位置 77

4.4.1 软件配置管理 78

4.4 软件配置管理和ISO 9001 78

4.4.2 ISO 9001 79

4.4.3 ISO 9001和CM 80

4.4.4 ISO 9001和配置管理的总结 83

表格4-4 ISO9001条款中与CM实践有关的内容 83

4.5 软件配置管理和IEEE1074 84

表格4-5 IEE1074的软件配置管理 84

4.6 小结 85

第5章 软件配置管理方法论 86

5.1 CM机制 87

5.1.1 对象 87

5.1.2 版本化的对象 88

5.1.3 配置对象 89

5.1.4 版本化对象的管理 90

5.1.5 绝缘/隔离 91

5.1.6 对象的生命周期 92

5.1.8 安全和存取控制 93

5.1.7 配置组装 93

5.2.1 阶梯方法论 94

5.2 CM方法论 94

5.1.9 对象和方法 94

图5-1 源代码的生命周期 95

图5-2 阶梯方法论所定义的配置 96

5.2.3 变化跟踪方法论 97

5.2.2 变更集合方法论 97

图5-3 变更请求对象的生命周期 97

图5-4 变化跟踪方法论所定义的配置 98

5.2.5 过程改编 99

5.2.4 并行开发模型 99

5.3 小结 100

第6章 典型的配置管理模型 101

6.1.1 CICO模型的概念 102

6.1 CICO模型 102

图6-1 检入/检出操作模型 103

图6-2 版本图中的分支和归并 103

图6-3 合并语义 105

6.1.2 CICO模型的使用 106

6.1.3 CICO模型的总结 108

6.2.1 组织模型中的概念 109

图6-4 变更的提升 109

6.2 组织模型 109

图6-5 构件版本选择 110

6.2.2 组织模型的使用 112

6.2.3 关于组织模型的总结 114

6.3 长事务模型 114

图6-7 配置版本选择 115

图6-6 一个配置的版本历史 115

6.3.1 长事务模型中的概念 115

图6-8 具有本地历史的工作空间 116

图6-9 作为任务的事务处理 117

图6-10 透明的配置访问 118

图6-11 两个事务处理的开放并发 120

6.3.2 长事务模型的使用 121

图6-12 作为开发路径的事务 121

6.3.3 长事务模型总结 123

6.4 变更集模型 123

6.4.1 变更集的概念 124

图6-13 一个变更集 124

图6-14 累积的变更 125

图6-15 配置版本图和其对应的变更集 125

6.4.2 变更集模型的使用 127

6.5 统一CM模型:版本集模型 128

6.4.3 变更集模型总结 128

6.5.1 版本集模型的概念 129

表格6-1 特征术语的语法 130

图6-16 在版本集中进行选择 131

6.5.2 版本集模型与传统的CM模型 132

图6-17 进化图和结果版本集 133

图6-18 作为版本集的工作空间 135

6.5.3 版本集模型应用实例 135

6.5.4 版本集模型使用经验 137

6.5.5 版本集模型的总结 137

表格6-2 商业CM工具/环境所使用的CM模型 138

6.6 小结 138

7.1 面向过程的配置管理系统CCC/HARVEST 140

第7章 实用配置管理系统 140

7.1.1 CCC/HARVEST的重要概念 140

表格7-1 CCC/HARVEST过程列表 142

图7-1 CCC/HARVEST典型生命周期示意图 143

图7-2 CCC/AHRVEST检入和检出的控制 144

图7-3 包的运动和视图的关系 145

图7-5 表单编辑器——应用程序 147

图7-4 一个典型的表单编辑器 147

图7-6 表单编辑器——请求 147

图7-8 表单编辑器——开发 148

图7-7 表单编辑器——调查结果 148

图7-9 表单编辑器——测试 148

图7-11 一个典型的软件配置管理系统结构 149

7.1.2 建立CCC/HARVEST模型 149

图7-10 CCC/HARVEST对象间的关系 149

图7-12 Release模型的生命周期 150

表格7-2 Release模型各状态所能进行的过程 151

图7-13 开发视图和测试视图 153

图7-14 Release模型下的并发开发方法1 154

图7-15 Release模型下的并发开发方法2 154

图7-16 Release模型下的并发开发方法3 155

7.2 基于构件复用的配置管理系统JBCM 155

图7-17 JBCM软件开发模式 155

7.2.1 配置管理控制下的软件开发基本过程 155

图7-18 JBCM系统的结构 156

7.2.2 JBCM系统的结构及功能 156

图7-19 JBCM系统的主要功能层次结构 157

7.2.3 JBCM的软件开发模型——项目/构件结构 157

7.2.4 项目/构件结构 158

表格7-3 构件划分方法 159

图7-20 JBCM项目内部结构 159

图7-22 JBCM中构件的版本树 161

图7-23 JBCM中文件的版本树 161

图7-21 JBCM中版本的演变 161

7.2.5 用户控制 162

表格7-4 用户权限 162

7.2.6 JBCM用户权限控制 163

表格7-5 Context文件——一张表格 163

表格7-6 JBCM系统中文件的几种操作模式 164

表格7-8 推荐的配置文件操作模式 164

表格7-7 用户对文件的操作方式 164

7.2.7 JBCM系统的数据(信息)分类 164

7.3 并发版本系统CVS 165

7.3.1 CVS概述 165

7.3.2 构建CVS服务器 166

表格7-9 CVSROOT中一系列文件的用途 168

7.3.3 CVS服务器与应用实例 171

7.3.4 管理中的相关技术 174

表格7-10 cvs status命令报告文件的状态的类别列表 179

7.3.5 简易命令集 183

7.3.6 通过匿名CVS获取源代码 185

7.4 CM系统用户的问题 186

图7-24 CM系统用户的问题 187

7.4.1 角色与需求 187

图7-25 CM功能需求 188

7.4.2 何时开始使用CM系统 189

7.4.3 配置管理控制的不同层次 189

7.4.4 过程与产品支持的区别 190

7.4.5 配置管理自动化的程度 190

7.4.6 配置管理系统的功能 190

7.5 小结 190

8.1 开发某编译系统的SCM支持环境 192

8.1.1 开发工作的特点 192

第8章 软件配置管理实践 192

图8-2 HPCC软件配置管理环境的逻辑结构 193

图8-1 HPCC软件配置管理环境物理结构 193

表格8-1 HPCC的SCM环境定制——用户 194

8.1.2 CM环境定制 194

表格8-2 HPCC的SCM环境定制——用户组 195

图8-3 HPCC的SCM环境定制——生命周期 195

表格8-3 HPCC的SCM环境定制——生命周期中某一状态的过程 196

8.1.3 CM环境的优化 197

表格8-4 HPCC的SCM环境定制——工作空间定制的基本命令 197

表格8-5 HPCC的SCM环境定制——CM环境优化之一 198

表格8-6 HPCC的SCM环境定制——CM环境优化之二 199

表格8-7 HPCC的SCM环境定制——CM环境优化之三 199

8.1.4 与自动测试的结合 199

图8-4 层层跟进调试方法 200

8.1.5 基于配置管理系统的测试定位系统 200

图8-5 手工版本定位调试方法 201

图8-7 版本定位后改正错误的方法 202

图8-6 自动版本定位调试方法 202

图8-8 多测试包的测试 205

8.2 利用NSE的工具版本管理 206

8.2.1 问题 206

图8-9 影响输出数据的因素 207

8.2.2 网络软件环境技术 208

图8-10 一个配置的线性版本历史 209

图8-12 作为开发路径的环境 210

图8-11 作为工作区和事务处理的环境 210

图8-14 派生对象选择 211

图8-13 配置版本的同时访问 211

图8-15 环境、Execset和工具 213

图8-16 可执行工具集的家族 214

8.2.3 工具版本的组织和选择 214

8.2.4 工具配置的稳定性 218

8.2.5 对工具应用环境的管理 219

8.2.6 结论 220

8.3 C130J软件配置管理环境 220

8.3.1 C130飞机综述 221

8.3.3 有效实现SCM的特征 221

8.3.2 C130飞机软件种类 221

图8-17 C130J CSCI层次结构 222

图8-18 C130J变更过程的层次结构 223

8.3.4 C130J SCM观点 223

8.4 小结 224

8.3.6 C130J SCM改善计划 224

8.3.5 C130J SCM获得的好处 224

9.1.2 市场分析 226

9.1.1 需求分析 226

9.1 计划 226

第9章 配置管理工具评估/选择过程 226

9.2.1 厂商演示 227

9.2 对配置管理工具/厂商的评估 227

9.2.3 第三方工具 228

9.2.2 亲手评估 228

9.2.5 顾问 229

9.2.4 工具定制和集成商 229

9.3.1 工作陈述 230

9.3 SCM/PDM支持和工具采购 230

9.3.2 认可测试计划 230

9.3.3 分阶段地采购 231

9.3.4 许可证供应 231

表格9-1 配置管理工具评估/选择模版 232

9.3.5 长期支持 232

9.4 配置管理工具评估/选择模板 232

表格9-2 配置管理厂商评估/选择模版 234

9.5 配置管理厂商评估/选择模板 234

9.6 小结 236

表格10-1 配置管理工具 237

第10章 软件配置管理工具 237

10.1 CCC/HARVEST 237

表格10-2 CCC/HARVEST内置模型 238

10.2 ClearCase 239

10.3 PVCS 240

表格10-3 PVCS功能模块 240

10.5 RCS 242

10.4 SCCS 242

10.7 VSS 243

10.6 CVS 243

10.8 Perforce 245

10.9 TrueChange 247

10.10 JBCM 247

10.11 MKS Source Integrity 248

10.12 小结 250

第11章 计算机软件部署 251

11.1 软件部署生命周期 251

图11-1 软件部署生命周期 252

11.2 软件部署系统分类 253

11.3 目前的部署解决方案 253

表格11-1 对软件部署生命周期支持的覆盖程度的评估 254

表格11-2 抽象和协调能力的评估 254

11.4 Colorado大学的研究进展 255

11.4.1 SRM:软件发行管理器 255

11.4.2 Software Dock:软件部署体系结构 255

11.5 小结 256

图11-2 Software Dock结构 256

结束语 257

附录A 术语和缩写词 258

附录B 计算机软件配置管理计划规范GB/T 12505-90 271

附录C SW-CMM1.1软件配置管理 279

附录D SCM工具/厂商的详细列表 289

参考文献 298