标题：基于模式的工程——软件开发过程中的模式使用指南
基本信息
作者：（加）Lee Ackerman， Celso Gonzalez 著  封面
ISBN(书号)：978-7-111-39811-0 
丛书名：软件工程技术丛书 
出版日期：2012-10 
版次：1/1 
开本：16 
定价：￥69.00[1]
内容摘要
本书是目前唯一讲解基于模式的工程（PBE）的专著，由两位具有30余年软件行业从业经验的资深软件工程专家撰写。软件工程领域泰斗、UML之父Grady Booch亲自作序推荐。本书透彻而系统地阐述了PBE的原理和实践方法，为在软件开发过程中成功地使用各种模式提高开发效率、改进软件质量和交付成功的软件提供了绝佳指导。
本书分为四个部分：第一部分介绍了PBE的定义、模式实现实例，模式的构思、创建、包装和消费，以及PBE与软件开发过程的关系；第二部分详细讲解了PBE模式及其指导方针，包括发现模式、设计模式、创建模式、包装模式、消费模式，以及在模式中使用DSL；第三部分讨论了PBE的优点和在经济方面的考虑，以及软件工程师对它的误解；第四部分是附录，收录了PBE的详细定义、开发方法、相关工具选项、模式和指导方针、子系统外观模式的规范等重要资源和信息。
本书介绍了一种新的软件工程方法——基于模式的工程，这种方法为软件工程师更好地应用已有的各种模式提供了一种新的思路。随着我们积累的模式越来越多，理解和掌握如何在软件开发生命周期的各个环节正确地应用模式已经变得十分重要。 
—— Kyle Brown
IBM Software Group杰出工程师，《Persistence in the Enterprise》作者
Lee和Celso在本书中所提供的指导意见可以解决困扰许多软件工程师的难题。本书将坚实的理论与实用的案例结合在一起，可以为学习PBE的软件工程师提供很好的指导。
—— Gregory Hodgkinson
软件工程专家（在软件生命周期相关的工具和方法领域成就卓著）
自从GoF的名著《设计模式：可复用面向对象软件的基础》问世之后，软件中的设计模式已经成为一种通过最佳实践解决某些特定问题的伟大方式。这本书对如何管理公司内部的设计模式以及如何编写最佳实践提供了极为实用的建议。
—— Dave Hendricksen
Thomson-Reuters公司软件架构师
Lee和Celso为所有软件开发机构提供了一本极具参考价值的参考书，它提出了一种新的软件工程方法——基于模式的工程（PBE）。本书通过颇具价值的研究案例及其详细分析，充分阐述了如何管理和使用企业已经存在的各种模式。作为软件工程师，我们应该理解使用模式的必要性和好处。PBE提供了一个框架，可以极大地提高生产率，并提高企业内部的模式的可复用性。
—— Davie Sweis
Robert Bosch LLC公司解决方案架构师
Lee和Celso在交付密集型软件系统方面具有丰富的行业经验。在本书中，他们将自己在该领域所掌握的最佳实践和方法毫无保留地引入交付密集型软件系统的工程实践中，并且通过扩展案例进一步演示了如何系统地应用这些实践和方法。本书为使用基于模式的工程的系统总结了大量最佳模式和反面模式。随着密集型软件系统的复杂度和重要性的不断增加，作为软件工程师，我们的责任就是交付高质量的系统。这本书将帮助你在这条道路上顺利前行。
—— Grady Booch
软件工程领域泰斗、UML之父[1]
作译者介绍
Lee Ackerman　资深软件工程专家，有30余年软件行业从业经验，对基于模式的工程有非常深刻的研究和认识，在模式、模型驱动开发、XML和SOA等方面也拥有丰富经验。现担任Emphasys Group 公司的产品副总裁兼CTO，曾担任IBM SWG竞技项目高级认证IT专家和SOA市场部营销经理，曾利用基于模式的工程的方法帮助IBM改进了Rational软件产品体系的架构和开发方法。
Celso Gonzalez　资深软件工程专家，有30余年软件行业从业经验，IBM Rational[1]
目录
译者序
序言
前言
致谢
第一部分　理解PBE
第1章　基于模式的工程的定义2
1.1　基于资产的开发2
1.2　模式4
1.3　工程4
1.4　基于模式的工程5
1.5　使PBE获得成功的模型6
1.5.1　PBE核心价值7
1.5.2　PBE模式和指导方针8
1.5.3　PBE实践9
1.6　PBE结果实例10
1.6.1　服务团队：portlet概念验证10
1.6.2　软件开发商：产品更新10
1.6.3　娱乐行业：增强MDD10
1.6.4　政府：部门之间的集成11
1.7　为什么需要PBE11
1.8　重要定义13
1.8.1　模型13
1.8.2　元模型13
1.8.3　范例14
1.8.4　领域特定语言14
1.9　小结14
第2章　模式实现的实例16
2.1　模式实现的类型16
2.2　UML模式实现16
2.2.1　抽象工厂模式16
2.2.2　非循环依赖模式18
2.2.3　服务提供者模式19
2.2.4　主-明细模式20
2.3　模型到模型的模式实现21
2.4　模型到文本的模式实现22
2.4.1　Bean Factory模式实现22
2.4.2　Hibernate模式实现23
2.5　不同实现的组合使用23
2.6　小结26
第3章　案例研究简介27
3.1　概述27
3.2　与团队的会面27
3.3　Oslec的开发过程28
3.4　计划概述29
3.5　案例研究路线图30
3.6　小结31
第4章　迭代0：构思32
4.1　开始33
4.2　PBE焦点33
4.3　LogoAuction应用程序的需求34
4.3.1　功能性需求34
4.3.2　LogoAuction的域模型36
4.3.3　非功能性需求38
4.4　架构详述39
4.4.1　LogoAuction的逻辑架构40
4.4.2　LogoAuction的部署架构43
4.4.3　LogoAuction数据架构46
4.5　记录所使用的模式47
4.6　机会确认47
4.7　评估候选模式48
4.8　小结50
第5章　迭代1：创建模式52
5.1　启动迭代53
5.2　设计子系统外观模式53
5.2.1　理解子系统外观模式的本质53
5.2.2　子系统外观范例56
5.3　创建子系统外观模式规范63
5.4　创建子系统外观模式的实现63
5.4.1　创建JET组件63
5.4.2　实现模式的UML前端73
5.4.3　测试完整的模式实现80
5.5　小结81
第6章　迭代2：模式的包装82
6.1　启动迭代82
6.2　把子系统外观模式应用于新的子系统83
6.3　包装模式84
6.3.1　创建模式的文档84
6.3.2　创建模式包装85
6.4　使模式可以被复用85
6.4.1　模式元数据86
6.4.2　模式评审过程87
6.5　小结88
第7章　迭代3：模式的消费89
7.1　启动迭代90
7.2　在一个新子系统中使用这个模式90
7.2.1　安装模式实现90
7.2.2　把模式应用于用户管理子系统91
7.2.3　提供模式的反馈93
7.3　对拍卖项管理子系统进行重构以应用模式93
7.4　小结96
第8章　PBE和软件开发过程97
8.1　PBE实践简介97
8.2　场景中的PBE角色和任务98
8.3　PBE实践起步100
8.4　在自己的过程中利用PBE实践102
8.4.1　Scrum103
8.4.2　OpenUP104
8.4.3　极限编程105
8.5　小结107
第二部分　PBE模式和指导方针
第9章　PBE模式和指导方针简述110
9.1　模式和指导方针与PBE的其他元素之间的关系110
9.2　PBE模式和指导方针导航111
9.2.1　第10章：基础111
9.2.2　第11章：发现模式112
9.2.3　第12章：设计模式113
9.2.4　第13章：创建模式114
9.2.5　第14章：包装模式115
9.2.6　第15章：在模式中使用领域特定语言116
9.2.7　第16章：消费模式116
9.3　小结117
第10章　基础模式和指导方针118
10.1　模式118
10.1.1　贯穿始终的模式使用118
10.1.2　分块式模式创建120
10.1.3　简单解决方案空间122
10.1.4　单模式-变化的用例124
10.2　指导方针125
10.2.1　域驱动的模式126
10.2.2　模式搜索127
10.3　小结129
第11章　发现模式130
11.1　模式130
11.1.1　反面模式130
11.1.2　模式机会132
11.1.3　重复解决方案134
11.2　指导方针135
11.2.1　确定业务影响135
11.2.2　模式描述136
11.2.3　模式收获137
11.2.4　更新现有的模式139
11.3　小结140
第12章　设计模式141
12.1　模式141
12.1.1　复合模式141
12.1.2　范例分析143
12.1.3　中间相遇模式的设计145
12.1.4　模式实现146
12.2　指导方针147
12.2.1　受限的可变点147
12.2.2　模式创建生命周期149
12.2.3　模式实现的可扩展性151
12.2.4　团队模式实现的使用153
12.3　小结155
第13章　创建模式156
13.1　模式156
13.1.1　模型到模型的模式实现156
13.1.2　模型到文本的模式实现159
13.1.3　UML模式实现162
13.2　指导方针165
13.2.1　模式实现的自动创建165
13.2.2　模式规范166
13.2.3　模式测试169
13.3　小结171
第14章　包装模式172
14.1　模式172
14.1.1　嵌入式模式实现指南172
14.1.2　可供应的模式实现174
14.2　指导方针175
14.2.1　创建模式文档175
14.2.2　创建模式关系文档176
14.2.3　使模式文档容易访问178
14.2.4　把相关的模式包装在一起179
14.2.5　模式的包装180
14.2.6　模式的版本181
14.2.7　在模式文档中使用模型182
14.3　小结183
第15章　在模式中使用领域特定语言184
15.1　模式184
15.1.1　DSL模型模板184
15.1.2　集成模式和DSL186
15.2　指导方针189
15.2.1　创建DSL189
15.2.2　设计DSL190
15.2.3　DSL中有意义的图标192
15.3　小结194
第16章　消费模式195
16.1　指导方针195
16.1.1　用模式交流设计196
16.1.2　用模式设计解决方案201
16.1.3　模式的密度202
16.1.4　需求驱动的模式选择204
16.1.5　用模式进行重构205
16.1.6　大范围模式优先206
16.1.7　使用资产库207
16.1.8　使用模式定义理解现有的解决方案208
16.1.9　使用模式寻找模式209
16.2　小结210
第三部分　其 他 话 题
第17章　PBE的优点212
17.1　提高生产率212
17.1.1　复用212
17.1.2　模式的组合213
17.1.3　模式实现214
17.2　改进质量214
17.3　促进交流215
17.4　更好地利用技能和专家知识216
17.5　加强管理217
17.6　小结219
第18章　PBE的经济考虑220
18.1　PBE的关键经济因素220
18.2　模式的来源220
18.2.1　模式的选择标准221
18.2.2　模式来源的建议223
18.3　PBE的采用224
18.3.1　工具224
18.3.2　方法改进225
18.3.3　培训225
18.3.4　文化改变226
18.3.5　模式的获取成本226
18.3.6　模式的支持成本226
18.3.7　模式的开发成本226
18.4　模式实现226
18.5　PBE项目227
18.5.1　系统集成商227
18.5.2　IT公司228
18.5.3　独立软件开发商228
18.6　小结228
第19章　PBE的误解229
19.1　PBE抹杀了创造力229
19.2　PBE引入了项目风险230
19.3　模式确认并不适合所有人230
19.4　模式应该在任何时候、任何场合使用231
19.5　PBE过分形式化231
19.6　PBE只用于设计232
19.7　PBE只用于前向工程233
19.8　关联之罪234
19.9　PBE需要特定开发商的工具234
19.10　小结235
第四部分　附　录
附录A　PBE定义238
附录B　PBE和其他开发方法245
附录C　PBE的工具选项249
附录D　PBE模式和指导方针252
附录E　子系统外观模式的规范254
附录F　PBE实践介绍263
参考书目和资源283 [1]