第1章 绪论 1
1.1 统一建模语言UML 1
1.1.1 UML的背景 1
1.1.2 UML的发展 1
1.1.3 UML的内容 3
1.1.4 UML的主要特点 3
1.1.5 UML的功能 4
1.1.6 UML的组成 5
1.2 RUP 7
1.2.1 RUP的发展 7
1.2.2 什么是RUP 8
1.2.3 过程概览 9
1.2.4 时间轴 9
1.2.5 迭代 11
1.2.6 工作流 12
1.2.7 微过程的划分 13
1.3 工具 16
小结 17
习题 17
第2章 面向对象分析与设计方法 18
2.1 OOA/OOD方法 18
2.1.1 OOA 19
2.1.2 OOD 20
2.2 OMT方法 21
2.2.1 分析 22
2.2.2 系统设计 23
2.2.3 对象设计 25
2.2.4 实现 25
2.2.5 测试 25
2.2.6 模型 26
2.3 Booch方法 26
2.3.1 宏过程 27
2.3.2 微过程 28
2.4 OOSE方法 29
2.4.1 分析阶段 30
2.4.2 构造阶段 30
2.4.3 测试阶段 30
2.5 Fusion方法 31
2.5.1 分析阶段 31
2.5.2 设计阶段 32
2.5.3 实现阶段 33
小结 33
习题 33
第3章 UML的关系 34
3.1 依赖关系 34
3.2 类属关系 36
3.3 关联关系 37
3.3.1 角色与阶元 38
3.3.2 导航 39
3.3.3 可见性 40
3.3.4 限定符 40
3.3.5 接口说明符 40
3.3.6 聚合关系 41
3.3.7 组合关系 41
3.4 实现关系 42
小结 43
习题 43
第4章 UML的符号 44
4.1 注释 44
4.2 参与者 44
4.3 用例 46
4.4 协作 46
4.5 类 47
4.5.1 边界类 49
4.5.2 实体类 49
4.5.3 控制类 50
4.5.4 参数类 50
4.6 对象 51
4.7 消息 52
4.8 接口 52
4.9 包 54
4.10 组件 56
4.10.1 组件与类 56
4.10.2 组件和接口 57
4.10.3 组件的二进制可替代性 57
4.10.4 衍型 57
4.11 状态 58
4.12 跃迁 60
4.13 判定 61
4.14 同步条 62
4.15 活动 62
4.16 节 点 62
4.17 UML的扩充机制 64
4.17.1 衍型 64
4.17.2 标记值 64
4.17.3 约束 65
小结 65
习题 66
第5章 视与图 67
5.1 视 67
5.2 UML的图 68
小结 70
习题 70
第6章 用例图 71
6.1 用例图 71
6.2 参与者 72
6.3 用例 74
6.3.1 用例描述及模板 75
6.3.2 用例与脚本 77
6.3.3 用例间的关系 77
6.4 用例图的应用 79
小结 81
习题 81
第7章 类图、对象图和包图 83
7.1 类图 83
7.1.1 类图的定义 83
7.1.2 类图的划分 84
7.1.3 类图的应用 85
7.2 对象图 88
7.2.1 对象图的定义 88
7.2.2 对象图的应用 88
7.3 包图 89
7.3.1 包图的定义 89
7.3.2 包图的应用 89
小结 90
习题 91
第8章 交互作用图 92
8.1 顺序图 93
8.2 通信图 95
8.3 语义等价 97
8.4 交互作用图的应用 97
小结 98
习题 98
第9章 活动图 99
9.1 活动图 99
9.2 组成元素 100
9.2.1 动作状态 100
9.2.2 活动状态 100
9.2.3 跃迁 100
9.2.4 分支 101
9.2.5 分叉和联结 102
9.2.6 泳道 103
9.2.7 对象流 103
9.3 活动图的应用 104
小结 106
习题 106
第10章 状态机图 107
10.1 状态机图 107
10.2 状态机图的应用 108
小结 111
习题 111
第11章 组件图与部署图 112
11.1 组件图 112
11.2 组件图的应用 112
11.3 部署图 114
11.4 部署图的应用 115
小结 117
习题 118
第12章 数据库设计 119
12.1 持久性数据库层 119
12.1.1 数据模型 119
12.1.2 将对象映射到数据库 120
12.2 对象数据库模型 120
12.2.1 ODB建模原语 121
12.2.2 映射到ODB 123
12.3 对象关系数据库模型 128
12.3.1 ORDB建模原语 128
12.3.2 映射到ORDB 131
12.4 关系数据库模型 134
12.4.1 RDB建模原语 134
12.4.2 映射到RDB 138
小结 144
习题 144
第13章 图书管理系统的分析与设计 145
13.1 系统需求 145
13.2 需求分析 146
13.2.1 识别参与者 146
13.2.2 识别用例 147
13.2.3 用例的事件流描述 147
13.3 静态结构模型 153
13.3.1 定义系统对象 153
13.3.2 定义用户界面类 161
13.3.3 建立类图 166
13.4 动态行为模型 169
13.4.1 建立交互作用图 169
13.4.2 建立状态机图 181
13.5 物理模型 182
小结 183
习题 183
第14章 银行系统的分析与设计 184
14.1 系统需求 184
14.2 分析问题领域 185
14.2.1 识别参与者 185
14.2.2 识别用例 185
14.2.3 用例的事件流描述 186
14.3 静态结构模型 192
14.3.1 定义系统对象类 192
14.3.2 定义用户界面类 196
14.3.3 建立类图 199
14.3.4 建立数据库模型 200
14.4 动态行为模型 201
14.5 物理模型 207
小结 208
习题 208
第15章 嵌入式系统设计 209
15.1 系统需求 209
15.2 需求分析 210
15.3 静态结构模型 214
15.3.1 识别出类 214
15.3.2 建立类图 215
15.4 动态行为模型 221
15.4.1 状态机图 221
15.4.2 通信图 228
15.5 物理模型 232
小结 233
习题 233
第16章 Web应用程序设计 234
16.1 Web应用程序的结构 234
16.2 Web应用程序的设计 236
16.2.1 瘦客户端模式的UML建模 238
16.2.2 胖客户端设计 242
16.2.3 Web发送应用程序的设计 243
小结 246
习题 246
第17章 前向工程与逆向工程 247
17.1 C++的代码生成和逆向工程 247
17.1.1 C+++的代码生成 248
17.1.2 使用C+++分析器的逆向工程 252
17.2 Visual C++或Visual Basic的代码生成与逆向工程 257
17.2.1 代码生成 257
17.2.2 逆向工程 260
17.3 应用Java语言的代码生成与逆向工程 261
17.3.1 代码生成 262
17.3.2 逆向工程 266
小结 267
习题 267
参考文献 268