上篇 基本话题 1
第1章 恼人不休的问题:什么是软件配置管理 2
1.1问题的引出 3
1.2有那么一类管理 4
1.3为什么称做配置管理 6
1.4其他一些比喻 8
第2章 基本的版本控制:记录历史并防止混乱 10
2.1即使只有一个开发人员 11
2.2建立公共存储区 12
2.3防止版本覆盖 15
2.4行话 18
第3章 当代版本控制方法 21
3.1变更集的概念 22
3.2以变更集为单位修改代码并提交 24
3.3反方向:适时更新工作区 27
3.4源代码的整体版本 29
3.5分布式版本控制 32
第4章 集成:关注整体质量 35
4.1集成的概念 36
4.2保证提交的质量 38
4.3狭义集成的步骤 40
4.4在基线产生之后 44
4.5质量保证:集成前、集成中、集成后 45
第5章 从源代码到运行中的程序 49
5.1管理生成转换过程和相关资产 50
5.2保证构建的可重复性 51
5.3全量构建和增量构建 53
5.4让构建更快 55
5.5安装包的版本控制 57
5.6管理测试运行环境 60
第6章 迈向持续集成 62
6.1及早和经常地集成,持续集成 63
6.2化繁为简 65
6.3全程自动化 67
6.4快!快!快! 69
6.5多层集成:当团队规模扩大以后 70
第7章 分支:减少等待,分头工作 74
7.1文件级分支 75
7.2产品级分支 76
7.3典型应用:实现多层集成 79
7.4温故而知新:实现隔离与共享 80
7.5分支的其他典型应用 82
7.6公共版本库中的分支 84
7.7私有版本库中的分支 85
第8章 管理文档 88
8.1文档的标识和存储 89
8.2自带的说明信息 91
8.3趋势:Wiki 93
8.4趋势:数据文件和数据库 95
第9章 跟踪缺陷,直到消灭 98
9.1别让发现的缺陷跑掉 99
9.2状态转换图 100
9.3准确记录,便于修复 104
9.4消灭它?立刻消灭它? 106
9.5分析统计缺陷相关数据 109
9.6关联缺陷记录与变更集 112
第10章 管理变更 114
10.1管理增强 115
10.2管理特性 116
10.3瀑布模型中的变更 118
10.4影响变更管理的因素 121
10.5控制产品版本间的差异 123
10.6表达产品版本间的差异 125
第11章 玄妙的学院派 127
11.1配置识别 128
11.2配置控制 130
11.3配置状态报告 131
11.4配置审计 133
11.5一些软件研发模型中的配置管理 135
下篇 复杂场景中的配置管理 139
第12章 用分支实现交迭 140
12.1补丁版本 141
12.2复用另一条分支上的改动 142
12.3甚至早在1.0版发布之前 145
12.4甚至为了重要的内部版本 147
12.5甚至为了每次集成 149
12.6双分支结构 151
12.7都是交迭 153
第13章 用分支实现变体 156
13.1什么是变体 157
13.2用分支支持变体 158
13.3随主干继续演进 160
13.4把公共改动放到主干上 163
13.5变更管理对交迭和变体的支持 165
13.6历史版本与变体版本的命名 166
第14章 用设置实现变体 169
14.1在构建时读取设置信息 170
14.2安装和运行时读取设置信息 171
14.3资源与数据 172
14.4何时使用哪种方法 173
14.5设置对交迭的支持 174
第15章 用组件的组合实现变体 175
15.1雏形:平台加应用 176
15.2在不同阶段组装 177
15.3复合基线 180
15.4复合分支 183
15.5实现软件复用:分支、设置、组件相结合 187
15.6实现软件复用:架构、过程和组织 188
第16章 支持多地点开发 192
16.1何时出现多地点开发 193
16.2主要困难和解决方法 194
16.3离线工作模式 195
16.4远程访问模式 197
16.5当地版本库模式 199
16.6只读模式 201
16.7多地点开发中的变更管理 202
第17章 支持跨组织合作 204
17.1从开源到外包 205
17.2管理第三方资产 206
17.3本地记录第三方源代码的演进 207
17.4再加上本地的改造 209
17.5共同开发 211
第18章 管理软件部署 213
18.1安装包的存储和管理 214
18.2管理安装过程 216
18.3记录运行系统配置 218
18.4管理变更请求 219
18.5管理网站 220
第19章 软件配置管理实施 223
19.1不同阶段,不同挑战 224
19.2如何完成一项改进 225
19.3在一个项目的生命周期中 227
19.4平衡集权与自治 231
19.5管理众多的项目 234
19.6软件配置管理团队的组织结构 235
结语 提倡务实的精神 238
附录A相关工具索引 241
参考书目 251
在线资源 252
书网互动 254