出版时间:2012-6 出版社:电子工业出版社 作者:董越 页数:253 字数:370000
Tag标签:无
前言
第2版前言 本书第1版的写作完成于2007年秋天。四年以来,软件配置管理领域最大的发展变化是,以Git为代表的分布式版本控制工具日渐流行。本书第2版添加了专门的章节(第3.5节)介绍分布式版本控制工具,并在其他已有章节(第2、3、4、5、7、12、16章)中,介绍如何在不同的场景中使用这个新“装备”。 然而,引入分布式版本控制工具,只是第2版所修订内容的一小部分。读过第一版的读者在预览本版目录时会发现,本书的篇章结构发生了不少变化。比如,持续集成的内容进行了扩充,作为单独的一章(第6章)体现出来。再如,在讲解变更管理时,用一节的篇幅(第10.2节)讲解了Scrum等开发方法中,以特性(Feature)为单位的开发管理。 在具体内容的修改中,替换了第1版中两三成的文字,以进一步突出重点、说清本质,并帮助读者更好地学以致用。此外,第1版中使用的若干术语在本版中进行了更新。比如改称任务单元为变更集,与业界通用术语相符。 本书第2版的具体内容改变了很多。而与第1版相比,本书的叙述风格和目标读者群没有发生什么变化。本书仍然力图以生动、易懂的叙述,让广大的软件开发人员、管理人员、质量保证与流程优化人员,当然也包括配置管理人员,对软件配置管理有一个基本的了解。 感谢电子工业出版社张春雨等编辑的辛苦工作,使本书第2版得以付梓。同时感谢如下评审者认真、细致的评审:我的配置管理同行,李靖雯、李晓琴、李越、罗晓辉、王晓翔、赵延涛、郑博星,他们足以保证本书的专业性;从事软件研发中不同工作的关恒、齐文、张辉、庄孝德等同事,他们帮助我从不同视角审视考量本书;以及并不从事软件研发工作的我的夫人,她负责保证本书的叙述通俗易懂,即使外行也能理解。感谢你们的帮助! 本书第1版在当当网和中国互动出版网得到了读者的较好评价,并且从出版至售罄,一直位列两网站软件配置管理书籍销量榜首。作为作者,最希望的事情就是写出的一点东西能得到读者的认可,对读者有所帮助。很高兴本书第1版初步实现了这一目标,并期望本书第2版能够给读者带来更大的收获。 董越 2011年10月
内容概要
软件配置管理为软件开发提供了基础性的支持环境,它与软件开发中的所有角色都有联系,因此本书是写给所有与软件开发有关的人士看的,而不仅是给软件配置管理人员。
本书分为两部分,第一部分详细介绍了软件配置管理的基本知识;第二部分主要讲述了软件配置管理的一些实际问题。本书的目标是让读者用很短的时间就能掌握软件配置管理的基础知识,在参与软件开发时,具备软件配置管理方面的基本素养。
作者简介
董越,网名流水先生,男,1977年生,他目前的公开身份是索尼公司的CM Architect(配置管理架构师)。而他的秘密身份是咨询师,年复一年,飞来飞去,向众多企业提供软件配置管理方面的培训和咨询服务。他毕业于清华大学,拥有—个硕士学位和两个学士学位。他曾工作于西门子、摩托罗拉和雅虎等公司,一直专注于软件配置管理。他发表文章,撰写书籍;曾领导Flooda、EasyCM等多个开源软件项目;经常在各种会议、沙龙等场合讲演。
书籍目录
上篇:基本话题
第1章 恼人不休的问题:什么是软件配置管理
1.1 问题的引出
1.2 有那么一类管理
1.3 为什么称做配置管理
1.4 其他一些比喻
第2章 基本的版本控制:记录历史并防止混乱
2.1 即使只有一个开发人员
2.2 建立公共存储区
2.3 防止版本覆盖
2.4 行话
第3章 当代版本控制方法
3.1 变更集的概念
3.2 以变更集为单位修改代码并提交
3.3 反方向:适时更新工作区
3.4 源代码的整体版本
3.5 分布式版本控制
第4章 集成:关注整体质量
4.1 集成的概念
4.2 保证提交的质量
4.3 狭义集成的步骤
4.4 在基线产生之后
4.5 质量保证:集成前、集成中、集成后
第5章 从源代码到运行中的程序
5.1 管理生成转换过程和相关资产
5.2 保证构建的可重复性
5.3 全量构建和增量构建
5.4 让构建更快
5.5 安装包的版本控制
5.6 管理测试运行环境
第6章 迈向持续集成
6.1 及早和经常地集成,持续集成
6.2 化繁为简
6.3 全程自动化
6.4 快!快!快!
6.5 多层集成:当团队规模扩大以后
第7章 分支:减少等待,分头工作
7.1 文件级分支
7.2 产品级分支
7.3 典型应用:实现多层集成
7.4 温故而知新:实现隔离与共享
7.5 分支的其他典型应用
7.6 公共版本库中的分支
7.7 私有版本库中的分支
第8章 管理文档
8.1 文档的标识和存储
8.2 自带的说明信息
8.3 趋势:Wiki
8.4 趋势:数据文件和数据库
第9章 跟踪缺陷,直到消灭
9.1 别让发现的缺陷跑掉
9.2 状态转换图
9.3 准确记录,便于修复
9.4 消灭它?立刻消灭它?
9.5 分析统计缺陷相关数据
9.6 关联缺陷记录与变更集
第10章 管理变更
10.1 管理增强
10.2 管理特性
10.3 瀑布模型中的变更
10.4 影响变更管理的因素
10.5 控制产品版本间的差异
10.6 表达产品版本间的差异
第11章 玄妙的学院派
11.1 配置识别
11.2 配置控制
11.3 配置状态报告
11.4 配置审计
11.5 一些软件研发模型中的配置管理
下篇:复杂场景中的配置管理
第12章 用分支实现交迭
12.1 补丁版本
12.2 复用另一条分支上的改动
12.3 甚至早在1.0版发布之前
12.4 甚至为了重要的内部版本
12.5 甚至为了每次集成
12.6 双分支结构
12.7 都是交迭
第13章 用分支实现变体
13.1 什么是变体
13.2 用分支支持变体
13.3 随主干继续演进
13.4 把公共改动放到主干上
13.5 变更管理对交迭和变体的支持
13.6 历史版本与变体版本的命名
第14章 用设置实现变体
14.1 在构建时读取设置信息
14.2 安装和运行时读取设置信息
14.3 资源与数据
14.4 何时使用哪种方法
14.5 设置对交迭的支持
第15章 用组件的组合实现变体
15.1 雏形:平台加应用
15.2 在不同阶段组装
15.3 复合基线
15.4 复合分支
15.5 实现软件复用:分支、设置、组件相结合
15.6 实现软件复用:架构、过程和组织
第16章 支持多地点开发
16.1 何时出现多地点开发
16.2 主要困难和解决方法
16.3 离线工作模式
16.4 远程访问模式
16.5 当地版本库模式
16.6 只读模式
16.7 多地点开发中的变更管理
第17章 支持跨组织合作
17.1 从开源到外包
17.2 管理第三方资产
17.3 本地记录第三方源代码的演进
17.4 再加上本地的改造
17.5 共同开发
第18章 管理软件部署
18.1 安装包的存储和管理
18.2 管理安装过程
18.3 记录运行系统配置
18.4 管理变更请求
18.5 管理网站
第19章 软件配置管理实施
19.1 不同阶段,不同挑战
19.2 如何完成一项改进
19.3 在一个项目的生命周期中
19.4 平衡集权与自治
19.5 管理众多的项目
19.6 软件配置管理团队的组织结构
结语:提倡务实的精神
附录A:相关工具索引
在线资源
书网互动
章节摘录
版权页: 插图: 1.1问题的引出 软件配置管理工作者差不多都有这样的经验:在认识新朋友时,当别人问起自己所从事的职业,自然会回答道:“我从事软件配置管理工作。”接着,十有八九,会被问到下一个问题:“什么是软件配置管理?”总被问到相同的问题,倒还称不上是苦恼,真正的苦恼在于回答这个问题,因为软件配置管理真是不太容易说得清……解释了半天,结果往往是:“你这份工作好玄妙啊。隔行如隔山啊,我是搞不懂了。” 是的,软件配置管理确实不太好解释。软件开发过程中的其他工作,似乎都比它容易理解。开发人员在编写源代码;测试人员在测试、挑毛病;需求分析师配合用户确定需求,并且用准确的语言表达出来……虽然这样说未必严谨,但是至少能够得到一个大致的印象。然而,软件配置管理呢?软件配置管理是什么? “一套应用技术上和管理上的指导和监督的方法,用来识别和记录配置项的功能特征和物理特征;控制这些特征的变更;记录和报告变更的处理和执行的状态;以及验证其是否符合特定的需求。”。 如果你看得一头雾水,别担心,这不是你能力上的问题。大部分人和你的感受相同。这个定义,以及类似的权威定义,都高度抽象。用一两句话确实很难把握好软件配置管理这个概念,需要更多的描述才能把它说清楚。事实上,这一整本书,就是在认识和理解软件配置管理。而在这一章中,我们将用一些我们相对熟悉的概念来打比方、做对比,来讲解软件配置管理这个概念。通过这样一种方式,让大家对软件配置管理有一个虽然初步但比较正确的认识。 1.2有那么一类管理 管理是个很宽泛的话题。大到管理企业、组织生产、治理河川、治国平天下,小到制定周末出游计划、整理通讯录、清理垃圾文件。在这里我们可不是要讨论这么多的事情。我们来重点看看下面这几个: ●库房管理 库房管理员小张关心仓库里存放了哪些东西,分门别类放在哪儿,每样有多少个,何时存进来的,谁存进来的,何时提走,谁提走的(提走时要有出库单才行)。 ●财务会计 小王负责会计出纳工作,她要把公司的各项费用和各项收入分类记录在各种财务表格中,并进行统计。除了记录之外,她要确保合乎规定的票据才能在她这里报销。
编辑推荐
《未雨绸缪:理解软件配置管理(第2版)》的一大特色是作者用诙谐生动的语言来讲述专业的技术知识。文中充满睿智的调侃,为读者营造出一种轻松的氛围,让原本比较沉闷的技术阅读成为一种愉悦的享受!
图书封面
图书标签Tags
无
评论、评分、阅读与下载