第1章 引论 1
1.1 为什么需要读这本书 1
1.2 从本书将会学到什么 1
1.3 我们为什么写关于MDA和UML的书 3
1.4 什么是模型驱动体系结构 5
1.5 OMG简介 7
1.6 软件方法的历史,通往MDA之路 7
1.7 什么是可执行UML(xUML) 10
1.8 本书结构 13
1.9 怎样阅读本书 15
第2章 可执行模型驱动体系结构 17
2.1 概述 17
2.2 MDA背景——软件工程和过程 17
2.3 模型驱动体系结构 19
2.4 可执行UML 22
2.5 过程改进的需要 22
2.6 使用可执行模型的MDA方法的原则 23
2.7 模型映射 35
2.8 MDA过程总结 36
2.9 详述域 37
2.10 集成PIM 38
2.11 建立PIM 39
2.12 验证PIM 42
2.13 详述系统构建过程 43
2.14 结论 44
第3章 MDA在典型项目中的应用 45
3.1 概述 45
3.2 初始阶段 46
3.3 营造阶段 50
3.4 构建阶段 66
3.5 移交阶段 67
3.8 MDA和其他生命周期过程 68
3.6 需求变更的影响 68
3.7 变更对设计决策的影响 68
第4章 用例建模 70
4.1 用例介绍 70
4.2 目标 70
4.3 识别参与者和用例 70
4.4 用例图 71
4.5 建立用例文档 72
4.6 管理大的或者复杂的用例模型 74
4.9 用例层次 80
4.7 用例建模的有效使用 80
4.8 具体和抽象用例 80
4.10 详述性能 81
4.11 获取其他类型的需求 82
4.12 结论 83
第5章 使用域进行平台无关建模 84
5.1 概述 84
5.2 系统分解的可选策略 84
5.3 域图 87
5.4 域的类型 88
5.5 组织域图 91
5.6 寻找域的技术 92
5.7 MDA过程:总结 97
5.8 如何进行坏域的分解 99
5.9 结论 100
第6章 对域中的类建模 101
6.1 概述 101
6.2 类图概览 101
6.3 类图的生命周期 102
6.4 类 103
6.5 属性 104
6.7 类的表格表示 105
6.6 类的图形表示 105
6.8 马铃薯图 106
6.9 关联 106
6.10 对象标识 121
6.11 指引属性 122
6.12 冗余属性 123
6.13 规范化 123
6.14 静态和动态类 125
6.15 改善模型效率 125
6.16 属性可见性 125
6.17 对象闪电战 126
6.18 不成熟划分的危险 131
6.19 结论 132
第7章 类的行为和交互 133
7.1 状态无关行为和状态相关行为 133
7.2 操作与状态 134
7.3 对象和类的交互 136
7.4 类协作模型上的域接口 139
7.5 动态建模过程 141
7.6 获取和表达状态相关行为和状态无关行为 145
8.1 操作 146
第8章 操作建模 146
8.2 类操作和对象操作 147
8.3 域操作 149
8.4 桥操作 150
8.5 操作属于哪里 150
8.6 多态操作 150
8.7 操作的域外部可见性 151
8.8 总结 152
9.2 定义 153
9.1 概述 153
第9章 动态建模 153
9.3 状态图 154
9.4 状态转换表 159
9.5 非存在状态 162
9.6 执行语义 162
9.7 控制状态机的复杂度 167
9.8 如何建立不良状态机 169
9.9 UML中其他形式的状态建模 170
9.10 结论 170
10.1 我们在什么地方 171
10.2 动作规约语言ASL 171
第10章 动作规约 171
10.3 ASL的关键特征 174
10.4 一个ASL例子 178
10.5 ASL和平台无关性 178
10.6 为UML而设计的动作语言的使用以及好处 182
10.7 动作语言的更多好处 194
10.8 好的ASL实践指南 197
10.9 其他动作语言 199
10.10 如何建立坏模型 199
10.11 结论 200
11.1 概述 201
第11章 用于建模的模式 201
11.2 规格模式 203
11.3 特性值模式 204
11.4 关联时间帧模式 206
11.5 多值关联模式 208
11.6 兼容性模式 210
11.7 多重分类 214
11.8 动态分类 216
11.9 排序项 218
11.10 资源请求者模式 219
11.11 分配者模式 221
11.12 层次结构模式 222
11.13 实例删除模式 223
11.14 实例创建模式 225
11.15 无序操作 225
11.16 日志模式 228
11.17 设备控制模式 231
11.18 反模式 232
11.19 结论 235
第12章 域的集成 236
12.1 域的接口 236
12.2 契约类型 236
12.3 所需服务 238
12.4 可用服务 240
12.5 简单桥 241
12.6 高级桥 249
12.7 怎样管理域集成——构建集 259
12.8 结论 261
第13章 系统生成 263
13.1 概述 263
13.2 系统实现的传统方法 263
13.3 转换驱动开发 267
13.4 设计流程 272
13.5 对实例化的xUML2模型的转换——设计 274
13.7 测试体系结构 283
13.6 代码生成器的生成 283
13.8 使体系结构多样化——标记 285
13.9 体系结构优化 287
13.10 设计模型的角色 289
13.11 转换方法的开发生命周期 290
13.12 定义体系结构——工具支持 292
13.13 结论 292
14.1 概述 294
14.2 系统需求概要 294
第14章 实例研究 294
14.3 用例 295
14.4 系统中的域 296
14.5 模型的特性 300
14.6 构建集 303
14.7 察看实例的模型 304
14.8 执行实例模型 304
光盘安装向导 307
术语表 308
缩写表 311
索引 313