第一部分 理解PBE 2
第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 娱乐行业:增强MDD 10
1.6.4 政府:部门之间的集成 11
1.7 为什么需要PBE 11
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 Scrum 103
8.4.2 OpenUP 104
8.4.3 极限编程 105
8.5 小结 107
第二部分 PBE模式和指导方针 110
第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 集成模式和DSL 186
15.2 指导方针 189
15.2.1 创建DSL 189
15.2.2 设计DSL 190
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
第三部分 其他话题 212
第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
第四部分 附录 238
附录A PBE定义 238
附录B PBE和其他开发方法 245
附录C PBE的工具选项 249
附录D PBE模式和指导方针 252
附录E 子系统外观模式的规范 254
附录F PBE实践介绍 263
参考书目和资源 283