第一部分 基础篇
第1章 绪论 3
1.1 统一建模语言UML 3
1.1.1 UML的背景 3
1.1.2 UML的发展 3
1.1.3 UML的内容 5
1.1.4 UML的主要特点 5
1.1.5 UML的功能 6
1.1.6 UML的组成 7
1.2 Rational统一过程(Rational Unified Process) 9
1.2.1 RUP的发展 9
1.2.2 什么是RUP 10
1.2.3 过程概览 11
1.2.4 时间轴 12
1.2.5 迭代 14
1.2.6 工作流(Workflows) 15
1.2.7 微过程的划分 16
1.3 工具 20
1.4 小结 20
第2章 面向对象分析与设计方法 21
2.1 OOA/OOD方法 21
2.1.1 面向对象分析(OOA) 23
2.1.2 面向对象设计(OOD) 24
2.2 OMT方法 25
2.2.1 分析 26
2.2.2 系统设计 28
2.2.3 对象设计(Object Design) 29
2.2.4 实现(Implementation) 30
2.2.5 测试(Testing) 30
2.2.6 模型 30
2.3 Booch方法 31
2.3.1 宏过程 32
2.3.2 微过程 32
2.4 OOSE方法 34
2.4.1 分析阶段 35
2.4.2 构造阶段 35
2.4.3 测试阶段 36
2.5 Fusion 方法 36
2.5.1 分析阶段 37
2.5.2 设计阶段 38
2.5.3 实现阶段 39
2.6 小结 39
第3章 UML的关系 40
3.1 依赖关系(Dependency Relationship) 40
3.2 类属关系(Generalization Relationship) 43
3.3 关联关系(Association Relationship) 45
3.3.1 角色(Role)与阶元(Multiplicity) 45
3.3.2 导航(Navigation) 46
3.3.3 可见性(Visibility) 47
3.3.4 限定符(Qualifier) 47
3.3.5 接口说明符(Interface Specifier) 48
3.3.6 聚合关系(Aggregation Relationship) 48
3.3.7 组合关系(Composition Relationship) 49
3.4 实现关系(Realize Relationship) 50
3.5 小结 51
第4章 UML的符号 52
4.1 注释 (Note) 52
4.2 参与者(Actor) 52
4.3 用例(Use Case) 54
4.4 协作(Collaboration) 55
4.5 类(Class) 55
4.5.1 边界类(Boundary Class) 58
4.5.2 实体类(Entity Class) 58
4.5.3 控制类(Control Class) 59
4.5.4 参数类(Parameterized Class) 59
4.6 对象(Object) 60
4.7 消息(Message) 61
4.8 接口(Interface) 62
4.9 包(Package) 64
4.10 组件(component) 66
4.11 状态(State) 68
4.12 跃迁(transitions) 71
4.13 判定(Decision) 73
4.14 同步条(Synchronization Bars) 73
4.15 活动(Activities) 73
4.16 节点(Node)和设备(Device) 73
4.17 UML的扩充机制 75
4.17.1 原型(Stereotypes) 76
4.17.2 标记值(Tagged Values) 76
4.17.3 约束(Constraints) 77
4.18 小结 78
第5章 视与图 79
5.1 视 79
5.2 UML的图 80
5.3 小结 81
第6章 用例图 82
6.1 用例图(Use Case Diagrams) 82
6.2 参与者(Actor) 83
6.3 用例(Use Case) 85
6.3.1 用例的描述 86
6.3.2 用例与脚本(Scenario) 89
6.3.3 用例间的关系 89
6.4 用例图的应用 91
6.5 小结 94
第7章 类图与对象图 95
7.1 类图(Class Diagrams) 95
7.2 类图的划分 97
7.3 类图的应用 98
7.4 对象图(Object Diagrams) 101
7.5 对象图的应用 101
7.6 小结 102
第8章 交互作用图 103
8.1 时序图(Sequence Diagrams) 104
8.2 协作图(Collaboration Diagrams) 107
8.3 语义等价 107
8.4 交互作用图的应用 108
8.5 小结 109
第9章 活动图 110
9.1 活动图(Activity Diagrams) 110
9.2 组成元素 110
9.2.1 动作状态 110
9.2.2 活动状态 112
9.2.3 跃迁 112
9.2.4 分支 112
9.2.5 分叉和联结(Forking and Joining) 113
9.2.6 泳道(Swimlanes) 114
9.2.7 对象流(Object Flow) 115
9.3 活动图的应用 117
9.4 小结 119
第10章 状态图 120
10.1 状态图(Statechart Diagrams) 120
10.2 应用 121
10.3 小结 124
第11章 组件图与配置图 125
11.1 组件图(Component Diagrams) 125
11.2 组件图的应用 125
11.3 配置图(Deployment Diagrams) 128
11.4 配置图的应用 129
11.5 小结 132
第二部分 实践篇
第12章 图书管理系统的分析与设计 135
12.1 系统需求 135
12.2 需求分析 136
12.2.1 识别参与者 136
12.2.2 识别用例 137
12.2.3 用例的事件流描述 139
12.3 静态结构模型 144
12.3.1 定义系统对象 144
12.3.2 定义用户界面类 152
12.3.3 建立类图 157
12.4 动态行为模型 161
12.4.1 建立交互作用图 161
12.4.2 建立状态图 175
12.5 物理模型 176
12.6 小结 177
第13章 银行系统的分析与设计 178
13.1 系统需求 178
13.2 分析问题领域 178
13.2.1 识别参与者 179
13.2.2 识别用例 179
13.2.3 用例的事件流描述 180
13.3 静态结构模型 189
13.3.1 定义系统对象 189
13.3.2 定义用户界面类 194
13.3.3 建立类图 197
13.3.4 建立数据库模型 198
13.4 动态行为模型 199
13.5 物理模型 206
13.6 小结 207
第14章 嵌入式系统设计 208
14.1 系统需求 208
14.2 需求分析 209
14.3 静态结构模型 215
14.3.1 识别出类 215
14.3.2 建立类图 215
14.4 动态行为模型 223
14.4.1 状态图 223
14.4.2 协作图 232
14.5 物理模型 236
14.6 小结 238
第15章 数据库设计 239
15.1 持久性数据库层 239
15.1.1 数据模型 239
15.1.2 将对象映射到数据库 240
15.2 对象数据库模型(Object Database Model) 241
15.2.1 ODB建模原语 241
15.2.2 映射到ODB 244
15.3 对象关系数据库模型(Object-relational Database Model) 250
15.3.1 ORDB建模原语 251
15.3.2 映射到ORDB 253
15.4 关系数据库模型(Relational Database Model) 258
15.4.1 RDB建模原语 258
15.4.2 映射到RDB 263
15.5 小结 270
第16章 Web 应用程序设计 271
16.1 Web应用程序的结构 271
16.1.1 瘦Web客户端模式 272
16.1.2 胖Web客户端模式 274
16.1.3 Web发送(Web Delivery)模式 277
16.2 Web应用程序的设计 278
16.2.1 瘦Web客户端设计 280
16.2.2 胖Web客户端设计 286
16.2.3 Web发送(Delivery)应用程序的设计 288
16.3 小结 292
第17章 前向工程与逆向工程 293
17.1 C++的代码生成和逆向工程 293
17.1.1 C++的代码生成 294
17.1.2 使用C++分析器的逆向工程 300
17.2 Visual C++或Visual Basic的代码生成与逆向工程 308
17.2.1 代码生成 308
17.2.2 逆向工程 311
17.3 应用Java语言的代码生成与逆向工程 312
17.3.1 代码生成 313
17.3.2 逆向工程 318
17.4 小结 319
参考文献 293