注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计程序设计综合软件配置管理模式

软件配置管理模式

软件配置管理模式

定 价:¥22.00

作 者: (美)Stephen P.Berczuk,(美)Brad Appleton著;黄明成译
出版社: 中国电力出版社
丛编项: 软件工程系列
标 签: 高级程序语言设计

ISBN: 9787508321899 出版时间: 2004-06-01 包装: 平装
开本: 24cm 页数: 200 字数:  

内容简介

  熟悉我的工作的读者或许会想,为什么搞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章)中给出的绝妙建议。这个貌似平凡的建议(开发者应在单一、稳定的码基上工作)正是我发现被许多组织:包括那些在实现过程中已经花费了数百万美元的大型的、成功的公司:在某种程度上忽略了的东西。这是常识,非常实用的常识,而这正是它的难得之处。同样,在"私用工作区"(第6章)和"私用系统构造"(第8章)中给出的建议,简直和使得现代的Java集成开发环境(例如VisualAge for Java和IBM的WebSphere Studio)如此有用和如此流行的两个关键思想一模一样。当有人问我(差不多每天有人问),为什么开发者应当选择这样的集成开发环境,而不是用传统的代码编辑程序和编译程序在命令行进行开发时,这些工具不仅允许而且积极鼓励这种开发风格的事实,是使我能够用简单的措词表达我的建议的关键因素。所以,我相信,你会像我一样发现本书有用,有启发。自从几年前,这些模式首次在程序模式语言(Pattern Languages of Programs,PLoP)会议上发表以来,我已经向人们介绍过本书的一些模式,而且我发现,它们对构筑坦诚的、有建设性的、关于如何以正确的方式实施SCM的论坛是无价之宝。这些模式已经在解决需要靠技巧与智谋来慎重处理的对顾客的承诺时,成为我劈开复杂的SCM问题的戈尔迪结的利剑:我希望,你也能很快开始挥舞这把利剑。:Kyle Brown《Enterprise Java Programming with IBM WebSphere》的作者

作者简介

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

图书目录

译者的话

前 言
合作者前言
致 谢
引 言
第一部分 背景
第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

本目录推荐