目录 3
第一篇 UML表示方法、设计概念、技术、生命周期和方法第1章 导言 3
1.1 面向对象方法和统一建模语言UML 4
1.2 方法和表示法 5
1.3 并发应用 5
1.4 实时系统和应用 7
1.5 分布式系统和应用 8
1.6 小结 9
第2章 UML表示法概述 10
2.1 UML图 10
2.2 用例图 11
2.3 类和对象的UML表示法 11
2.4 类图 12
2.5 交互图 13
2.6 状态图 15
2.7 包 16
2.8 并发协作图 17
2.9 部署图 18
2.10 UML的扩展机制 19
2.11 UML的标准化 20
2.12 小结 20
第3章 软件设计和体系结构的概念 22
3.1 面向对象的概念 22
3.2 信息隐藏 24
3.3 继承 29
3.4 主动对象和被动对象 30
3.5 并发处理 31
3.6 并发任务间的协作 33
3.7 访问同步化中的信息隐藏 41
3.8 管程 42
3.9 设计定式 44
3.10 软件体系结构和基于构件的系统 45
3.11 小结 46
第4章 并发和分布式系统技术 47
4.1 并发处理环境 47
4.2 对于多道程序设计和多处理环境的运行时支持 49
4.3 任务调度 52
4.4 操作系统输入/输出考虑 54
4.5 客户端/服务器和分布式系统技术 56
4.6 万维网技术 60
4.7 分布式操作系统的服务 62
4.8 中间件 65
4.9 通用对象请求代理体系结构——CORBA 68
4.10 其他构件技术 71
4.11 事务处理系统 72
4.12 小结 74
第5章 软件生命周期和方法 75
5.1 软件生命周期方法 75
5.2 设计的验证和确认 82
5.3 软件测试 83
5.4 软件设计方法的演进 84
5.5 面向对象分析和设计方法的演进 86
5.6 并发和实时设计方法调查 87
5.7 小结 88
第二篇 COMET:用UML的并发对象建模和体系结构设计 91
第6章 COMET概述 91
6.1 COMET面向对象软件生命周期 91
6.2 对比COMET生命周期和其他软件过程 94
6.3 需求、分析和设计模型 94
6.4 简述COMET 96
6.5 小结 98
第7章 用例建模 99
7.1 用例 99
7.2 行为者 100
7.3 行为者、角色和用户 102
7.4 标识用例 102
7.5 写出用例模型中的用例文档…… … 104
7.6 用例的例子 104
7.7 用例关系 108
7.8 用例包 110
7.9 小结 111
第8章 静态建模 112
8.1 类之间的关联 112
8.2 组合和聚集层次结构 118
8.3 泛化/特化层次结构 119
8.4 约束 121
8.5 静态建模和UML 122
8.6 系统上下文环境的静态建模 123
8.7 实体类的静态建模 126
8.8 小结 127
第9章 构造对象和类 128
9.1 对象构造准则 128
9.2 应用类的归类 129
9.3 对象构造分类 129
9.4 外部类和接口类 131
9.5 接口对象 132
9.6 实体对象 137
9.7 控制对象 139
9.8 应用程序逻辑对象 141
9.9 子系统 143
9.10 小结 145
10.1 有限状态机 146
第10章 有限状态机和状态图 146
10.2 事件和状态 147
10.3 有限状态机和对象 148
10.4 状态图示例 148
10.5 事件和条件 152
10.6 动作 154
10.7 为系统的不同方面建模 161
10.8 层级状态图 161
10.9 并发状态图 164
10.10 开发状态图的方针 165
10.11 从用例开发状态图 166
10.12 从用例开发状态图的示例 167
10.13 小结 174
11.1 对象交互建模 175
第11章 动态建模 175
11.2 交互图上的消息标记 179
11.3 动态分析 182
11.4 非状态依赖的动态分析 182
11.5 非状态依赖动态分析的例子 183
11.6 状态依赖动态分析 184
11.7 状态依赖动态分析的例子:银行系统 187
11.8 状态依赖动态分析的例子:巡航控制系统 195
11.9 小结 205
第12章 软件体系结构设计 206
12.1 软件体系结构样式 206
12.2 系统分解问题 211
12.3 确定子系统的方针 211
12.4 综合协作图 212
12.5 子系统软件体系结构 214
12.6 子系统设计中关注的分离 215
12.7 子系统构造准则 216
12.8 子系统分解的例子 220
12.9 设计层的静态建模 220
12.10 小结 224
第13章 分布式应用的体系结构设计 225
13.1 可配置体系结构和软件构件 226
13.2 设计分布式应用的步骤 226
13.3 系统分解 227
13.4 设计子系统接口 232
13.5 事务管理 239
13.6 服务器子系统的设计 242
13.7 数据的分布 246
13.8 系统配置 247
13.9 小结 249
第14章 任务构建 250
14.1 并发任务构建综述 251
14.2 任务构建分类 251
14.4 内部任务构建准则 259
14.5 任务优先级准则 265
14.6 任务群集准则 266
14.7 使用任务倒置重构设计 276
14.8 开发任务体系结构 281
14.9 任务通信和同步 284
14.10 任务行为规范 292
14.11 小结 295
第15章 类的设计 296
15.1 设计信息隐藏类 296
15.2 设计类的操作 297
15.3 数据抽象类 300
15.4 设备接口类 302
15.5 状态依赖类 305
15.6 算法隐藏类 308
15.7 用户接口类 309
15.8 业务逻辑类 309
15.9 数据库包装类 312
15.10 软件决策类 313
15.11 设计中的继承 313
15.12 继承的例子 315
15.13 类接口规范 320
15.14 小结 322
第16章 详细软件设计 323
16.1 复合任务的设计 323
16.2 类访问的同步化 330
16.3 设计任务间通信的连接器 338
16.4 任务事件的顺序逻辑 343
16.5 小结 344
第17章 并发实时软件设计的性能分析 345
17.1 实时调度理论 345
17.2 高级实时调度理论 352
17.3 用事件顺序分析作性能分析 356
17.4 用实时调度理论和事件顺序分析作性能分析 356
17.5 用事件顺序分析作性能分析的例子 357
17.6 用实时调度理论作性能分析的例子 360
17.7 用实时调度理论和事件顺序分析作性能分析的例子 362
17.8 设计重构 368
17.9 性能参数的评估和度量 369
17.10 小结 370
第三篇 并发、分布和实时应用设计的实例研究 373
第18章 电梯控制系统实例研究 373
18.1 问题描述 373
18.2 用例模型 374
18.3 问题域静态模型 378
18.4 对象构建 380
18.5 动态模型 380
18.6 状态图模型 388
18.7 协作图的联合 392
18.8 子系统构建 394
18.9 把系统构建为任务 398
18.10 分布式电梯控制系统的设计 406
18.11 信息隐藏类的设计 416
18.12 开发软件详细设计 418
18.13 目标系统的配置 421
18.14 非分布式电梯控制系统的性能分析 422
18.15 分布式电梯控制系统性能分析 430
19.1 问题描述 440
第19章 银行系统实例研究 440
19.2 用例模型 441
19.3 静态建模 444
19.4 对象分析 449
19.5 动态建模 454
19.6 ATM状态图 465
19.7 银行系统的设计 470
19.8 整合协作模型 470
19.9 把系统构建为子系统 474
19.10 设计ATM客户端子系统 475
19.11 Bank Server Subsystem的设计 483
19.12 银行系统的配置 490
19.13 另外一种设计思路 490
19.14 任务行为规范 490
第20章 巡航控制和监视系统实例研究 496
20.1 问题描述 496
20.2 用例模型 498
20.3 用例描述 502
20.4 问题域静态建模 504
20.5 动态建模 506
20.6 子系统构建 520
20.7 静态建模求精 528
20.8 把系统构建为任务 530
20.9 信息隐藏类的设计 552
20.10 开发软件详细设计 559
20.11 分布式汽车系统的软件体系结构 565
第21章 分布式工厂自动化系统实例研究 567
21.1 问题描述 567
21.2 用例模型 569
21.3 问题域的概念静态模型 571
21.4 对象构建 574
21.5 动态模型 575
21.6 子系统构建 589
21.7 分布式软件体系结构 595
21.8 系统配置 600
第22章 电子商务系统实例研究 602
22.1 电子商务问题 602
22.2 用例模型 603
22.3 代理对电子商务系统的支持 604
22.4 对象中介对电子商务系统的支持 605
22.5 问题域静态建模 606
22.6 协作模型 608
22.7 分布式软件体系结构 616
附录 约定的和替换的表示法 623
1 本书采用的约定 623
2 衍类型的替换表示法 625
3 主动对象的替换表示法 625