目录 3
第Ⅰ部分 概述 3
第1章 Catalysis指南 3
1.1 对象和动作 3
1.2 细化:不同规模的对象和动作 5
1.3 开发的层次 9
1.4 业务建模 9
1.5 作为模板的模型框架 11
1.6 软件的放大:系统上下文 12
1.7 需求规范模型 14
1.8 组件 16
1.9 分配职责 21
1.10 面向对象的设计 25
1.11 开发过程 26
1.12 3个构成部分与框架 27
1.13 建模的3个层次 29
1.14 3个原则 30
1.15 小结 32
第Ⅱ部分 对象建模 37
第2章 静态模型:对象的属性和不变式 37
2.1 什么是静态模型 37
2.2 对象状态:对象和属性 40
2.3 对象状态实现 44
2.4 为对象状态建模:类型、属性和关联 46
2.5 静态不变式 54
2.6 词典 60
2.7 业务模型和组件模型 62
2.8 小结 63
第3章 行为模型:对象的类型和操作 64
3.1 对象行为:对象和动作 64
3.2 更精确的动作规范 70
3.3 日历的两种Java实现 74
3.4 日历的类型规范 79
3.5 动作与不变式 84
3.6 解释动作规范 89
3.7 子类型和类型扩展 93
3.8 细分动作规范 97
3.9 状态图 103
3.10 动作的输出 110
3.11 主体化模型:包含的含义 113
3.12 类型规范:小结 114
3.13 程序设计语言:类和类型 117
第4章 交互模型:用例、动作和协作 125
4.1 设计对象间的协作 125
4.2 用动作(用例)抽象复杂的交互 126
4.3 用例是联合动作 134
4.4 动作和效果 137
4.5 并发动作 137
4.6 协作 140
4.7 协作的使用 142
4.8 协作规范 146
4.9 协作:小结 149
第5章 有效文档 151
5.1 目的 151
5.2 归档简单、有趣,而且加快了设计 152
5.3 接近文档的读者 156
5.4 主要文档:规范和实现 158
5.5 编制业务模型文档 160
5.6 编制组件规范文档 164
5.7 编制组件实现文档 166
5.8 小结 168
第Ⅲ部分 分解模型和设计 173
第6章 抽象、细化和测试 173
6.1 放大和缩小:为什么要抽象和细化 173
6.2 编制细化和一致性文档 186
6.3 电子表格:一个细化的例子 189
6.4 电子表格:模型细化 193
6.5 电子表格:动作细化 200
6.6 电子表格:对象细化 206
6.7 电子表格:操作细化 214
6.8 状态图的细化 218
6.9 小结 220
6.10 细化的处理模式 221
模式6.1 面向对象的黄金规则(无缝或连续性) 221
模式6.2 黄金规则与其他优化规则 223
模式6.3 正交的抽象和细化 224
模式6.4 细化是关系,不是序列 225
模式6.5 递归细化 227
第7章 使用包 228
7.1 什么是包 228
7.2 包的导入 233
7.3 如何使用包和导入 238
7.4 用包解耦 242
7.5 嵌套的包 246
7.6 包的封装 247
7.7 多重导入和名称冲突 249
7.8 发布,版本控制和建立 252
7.9 编程语言包 253
7.10 小结 254
第8章 组建模型和规范 256
8.1 衔接片段 256
8.2 联接与子类型 257
8.3 组合包和包的定义 258
8.4 动作异常与组合规范 264
8.5 小结 269
9.1 模型框架综述 270
第9章 模型框架和模板包 270
9.2 类型和属性的模型框架 272
9.3 协作框架 276
9.4 细化框架 281
9.5 框架组合 284
9.6 属性包装模板 286
9.7 等价模板和复制模板 292
9.8 包语义 295
9.9 模板基础 298
9.10 模型框架概念总结 302
第Ⅳ部分 组装实现 307
第10章 组件与连接器 307
10.1 基于组件的开发综述 307
10.2 组件的发展 313
10.3 用Java建立组件 318
10.4 COM+组件 320
10.5 CORBA组件 322
10.6 组件包:可插式组件库 323
10.7 组件构架 326
10.8 定义Cat Cne——一种组件构架 330
10.9 规范CatOne组件 336
10.10 连接Cat Cne组件 339
10.11 异构组件 342
模式10.1 提取通用的代码组件 354
模式10.2 组件件管理 355
模式10.3 通过框架建立模型 356
模式10.5 使用传统组件或者第三方组件 357
模式10.4 插头一致性 357
10.12 小结 358
第11章 用代码表示的重用和可插式设计框架 360
11.1 重用和开发过程 360
11.2 通用组件和插入点 363
11.3 代码重用的框架方法 366
11.4 框架:代码规范 370
11.5 基本插入技术 374
11.6 小结 379
模式11.1 角色委派 379
模式11.2 可插式角色 380
第12章 构架 382
12.1 何谓构架 382
12.2 为什么架构 385
12.3 通过各种场景评估构架 388
12.4 在已定义的元素上创建构架 389
12.5 构架使用恒定模式 390
12.6 应用与技术构架 392
12.7 典型的四层业务构架 393
12.8 用户接口 394
12.9 对象和数据库 396
12.10 小结 397
第Ⅴ部分 如何应用Catalysis 401
第13章 过程概述 401
13.1 递归建模、设计、实现和测试 401
13.2 过程中的一般注释 404
13.3 典型的项目演变 411
13.4 典型的包结构 415
13.5 主要过程模式 417
模式13.1 从头开始的对象开发 419
模式13.2 二次工程 420
模式13.3 短周期开发 422
模式13.4 并行工作 423
第14章 如何建立一个业务模型 425
14.1 业务建模过程模式 425
模式14.1 业务过程增强 425
模式14.2 建立业务模型 427
模式14.3 表达业务词汇和规则 430
模式14.4 包括业务专家 430
模式14.5 创建一个通用的业务模型 431
模式14.6 选择抽象级别 432
模式14.7 类型模型是一个术语表 433
14.2 建模模式 433
模式14.8 概念的分离:正规化 434
模式14.9 项和描述符 435
模式14.10 通用化和规范化 436
模式14.11 递归合成 437
模式14.12 来自关联循环的不变式 438
14.3 录像带案例研究:抽象业务模型 439
14.4 录像带业务:用例细化 444
模式14.13 动作具体化 447
第15章 如何规范组件 449
15.1 规范组件的模式 449
模式15.1 规范组件 449
模式15.2 桥接需求和规范 450
模式15.3 基于用例的系统规范 451
模式15.4 递归分解:分割与克服 452
模式15.5 用用例建立上下文模型 453
模式15.6 故事板 456
模式15.7 构造系统的行为规范 457
模式15.8 规范系统动作 460
模式15.9 在系统类型模型中使用状态图 462
模式15.10 规范组件视图 464
模式15.11 组合组件视图 465
模式15.12 避免奇迹,细化规范 466
模式15.13 为客户解释模型 467
15.2 录像带案例研究:系统规范 468
15.3 系统上下文图 474
15.4 系统规范 476
15.5 使用模型框架 483
第16章 如何实现组件 486
16.1 符合规范的设计 486
模式16.1 解耦 486
模式16.2 高级组件设计 487
模式16.3 具体化主要的并发用例 488
模式16.4 分离虚包 489
模式16.5 平台独立性 491
模式16.6 从业务组件中分离出中间件 492
模式16.7 实现技术构架 493
模式16.8 基本设计 494
模式16.9 基本设计后的通用化 498
模式16.10 协作和责任 499
模式16.11 链接和属性所有权 501
模式16.12 对象位置和链接实现 502
模式16.13 优化 503
16.2 具体的设计模式 504
模式16.14 双向链接 504
模式16.15 角色解耦 505
模式16.16 工厂 506
模式16.17 观察者 507
模式16.18 插入点和插件程序 508
16.3 录像带案例研究:基于组件的设计 510
附录A 对象约束语言 518
附录B UML概览 526
附录C Catalysis支持工具、服务和经验 531
附注 532
术语表 539
参考文献 545