软件配置管理模式

软件配置管理模式
作 者: Stephen Berczuk Brad Appleton 黄明成
出版社: 中国电力出版社
丛编项: 软件工程系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 高级程序语言设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  BtephenP.Berczuk自1989年以来一直从事面向对象软件应用开发,经常参加地域上分散的小组开发,从1994年首届会议起,一直是“软件模式”社区的活跃成员,很早就对组织、软件体系结构和设计模式之间的关系做过许多研究。他获得了斯坦福大学运筹学硕士学位和麻省理工学院电气工程学士学位。

内容简介

熟悉我的工作的读者或许会想,为什么搞J2EE软件体系结构的专家竟会为论述软件配置管理(Software Configuration Management,SCM)的书作序。毕竟,这两门学科不能再分开了,难道不是吗?J2EE体系结构似乎高高在上,而SCM也许被视为在软件开发中地位低下。实际上,没有什么比这更背离事实真相了。多年来,我常常发现,那些在J2EE应用体系结构上遇到问题的顾客,通常在SCM上也遇到了严重的问题。这种离奇的巧合,有两层原因。首先,许多人通常很难迅速适应变化:例如放弃一套不再适用于像J2EE这样的新环境的体系结构实践,或者放弃在一种环境行之有效,但未必在所有的环境都行之有效的软件开发过程。这样,他们就会以为,如果他们的SCM过程对前一个项目行之有效,就一定对当前的项目也行之有效:而不顾设计与构造这两个项目所使用的技术、时间框架(timescale)与方法也许完全不同的事实。其次,人们往往想靠一小组简单的规则支配他们的全部行动。然而,采取过于简单的方法通常会在抽象与现实交会的地方遇到问题。无论问题是理解为什么特定的J2EE构造(例如Entity EJB)在一种情况下行之有效,而在另一种情况下却不行;还是理解为什么让开发者有自己的,能在其中进行开发与集成的私用工作区是重要的(毕竟,你迟早得把他们的代码加以集成),问题都是一样的。在这两种情况下,简单的规则(使用Entity Bean;使用构造脚本)的确是好建议,但它必须在经验的熔炉中经受锻炼,因为在未经锻炼之前,它太脆弱,无法应用。通过最近20年关于混沌和复杂性理论的研究,数学家与科学家们开始发现,虽然根据太少的和过于简单的规则构造的系统通常迟钝而单调,但只要增加很少几个规则,便常常可以得到惊人的复杂与美妙的系统。这些系统即使受到外力的严重扰乱,仍能自行重组,使总体构架保持完整。你手里的这本书就提供一组具有这种柔韧性的SCM规则。Steve和Brad提出了把SCM作为模式系统对待的成熟建议。正如他们早些时候有力地揭示的,模式系统的实力不在于各个模式本身,而在于模式之间的关系网。作者开发出模式的连锁网络,覆盖了最常见的SCM实践。然而,更重要的是,他们说明,SCM面临的问题不是任何一个模式可以独自完全解决的:你需要仔细地考虑各个SCM实践与其他实践的联系,以免作茧自缚。例如,你也许想提前看一下他们在第一个模式:"主线"(第4章)中给出的绝妙建议...

图书目录

译者的话

前 言

合作者前言

致 谢

引 言

第一部分 背景

第1章 把系统作为整体 3

稳定性和工作进展的平衡 4

SCM在敏捷软件开发中的作用 5

上下文中的SCM 6

SCM对小组工作的支持 8

什么是软件配置管理 9

工具的作用 11

更大的整体 11

本书的讨论方式 12

未解决的问题 12

进一步的阅读材料 12

第2章 软件环境 15

总原则 16

软件是怎么回事 17

开发工作区 19

体系结构 19

组织 21

大局景 22

进一步的阅读材料 23

第3章 模式 25

模式和模式语言 26

软件中的模式 27

配置管理模式 28

本书中模式的结构 29

模式语言 30

语言概述 31

未解决的问题 34

进一步的阅读材料 34

第二部分 模式

第4章 主线 37

简化分支模型 40

未解决的问题 42

进一步的阅读材料 42

第5章 活动开发线 43

定义你的目标 46

未解决的问题 48

进一步的阅读材料 48

第6章 私用工作区 49

以隔离工作的方法控制变更 52

未解决的问题 55

进一步的阅读材料 56

第7章 储存库 57

一站式购物 59

未解决的问题 62

进一步的阅读材料 62

第8章 私用系统构造 63

通过本地构造实现全局考虑 65

未解决的问题 68

进一步的阅读材料 69

第9章 集成构造 71

进行集中式构造 73

未解决的问题 75

进一步的阅读材料 75

第10章 第三方码线 77

使用已有的工具 79

未解决的问题 82

进一步的阅读材料 82

第11章 任务级提交 83

每一项小粒度任务做一次提交 85

未解决的问题 85

第12章 码线策略 87

制定交通规则 89

未解决的问题 90

进一步的阅读材料 90

第13章 冒烟测试 91

验证基本功能性 92

未解决的问题 94

进一步的阅读材料 94

第14章 单元测试 95

测试合同 96

未解决的问题 97

进一步的阅读材料 98

第15章 回归测试 99

对修改进行测试 101

进一步的阅读材料 102

第16章 私用版本 103

私用历史 105

第17章 版本线 107

发布前分支 109

进一步的阅读材料 110

第18章 版本预备线 111

分支而不是冻结 112

未解决的问题 113

第19章 任务分支 115

处理长期任务 116

用分支进行隔离 117

第20章 参考模式 119

命名稳定基 120

日常构造与冒烟测试 120

附录A SCM网上资源 121

附录B 工具对SCM模式的支持 125

参考文献 143