第1章 概述 1
1.1一个简单例子 1
1.2对象和类 3
对象的概念 3
类的概念 4
1.3面向对象特性 5
封装性 5
继承性 7
多态性 9
1.4接口 9
1.5模型是什么 11
模型的一般作用 11
模型的特点 11
1.6建模的概念 12
建模是什么 13
好模型的标准是什么 14
拒绝建模的理由 14
1.7 UML2的图 15
结构图 16
行为图 16
图的说明 16
1.8 UML2建模工具 17
1.9小结 18
1.10练习 19
第2章 用例与用例图 20
2.1一个用例图例子 20
2.2用例 20
2.3参与者 22
2.4用例图 23
2.5用例间的关系 24
泛化 25
包含 25
扩展 26
关系的讨论 26
2.6用例建模技术 27
语境建模 28
用例及其关系建模 28
场景建模 29
2.7用例建模示例 30
2.8小结 32
2.9练习 32
第3章 类与接口 36
3.1一个类图例子 36
3.2类元 37
3.3性质 37
语法规范 38
性质的类型 39
与编程语言之间的映射 40
3.4对象图 42
实例规范 43
值规范 43
对象图的用途 44
3.5操作 45
语法规范 45
操作的约束和重定义 47
与编程语言之间的映射 47
与C++程序的映射 48
与Java程序的映射 50
3.6接口 52
供口和需口 53
接口间的关联与协作 53
与编程语言之间的映射 54
3.7约束和注释 56
约束 56
注释 57
3.8类图及其用途 57
对概念建模 58
对简单协作建模 60
对数据库模式建模 60
3.9小结 62
3.10练习 62
第4章 关系建模 64
4.1关系概念 64
4.2关联 65
命名 65
多重性 66
聚集 67
导向性 69
自关联 70
关联类 72
限定关联 75
多元关联 76
关联端的修饰符 77
4.3泛化 78
泛化的概念 79
不恰当的泛化 81
关系环 84
泛化集 85
单继承与多继承 88
强类型 89
4.4依赖 90
使用 91
抽象 91
对依赖的讨论 93
4.5关系建模方法 93
4.6设计原则 94
SRP单一职责原则 95
OCP开闭原则 96
LSP里氏替换原则 97
ISP接口分离原则 98
DIP依赖倒置原则 99
4.7小结 100
4.8练习 101
第5章 其他结构建模 102
5.1标记值与构造型 102
标记值 102
构造型的定义 102
构造型的使用 103
5.2包和包图 104
包的成员 104
包导入 105
包合并 106
包的内聚性原则 106
包的耦合性原则 108
5.3复合结构图 110
内部结构 111
端口 112
协作 113
5.4模板 116
模板类 116
协作模板 119
5.5小结 120
5.6练习 120
第6章 交互与交互图 121
6.1一个序列图例子 121
6.2交互 122
6.3生命线 123
6.4消息 124
同步与异步 124
创建与撤销 125
消息的规范 126
消息的种类 127
6.5发生规范与执行规范 127
发生规范 127
执行规范 128
6.6组合片断 129
6.7交互的使用 132
6.8门 133
6.9增强生命线 134
状态不变式 134
动作 135
6.10主动对象 135
6.11序列图建模技术 136
6.12序列图示例 138
6.13通信图 140
6.14计时图 142
6.15交互纵览图 143
6.16小结 144
6.17练习 145
第7章 状态机与状态图 147
7.1一个状态图例子 147
7.2状态与状态机 149
7.3状态转换 150
7.4事件 152
调用事件 152
改变事件 153
信号事件 153
时间事件 155
7.5状态的内部 155
7.6复合状态 156
单区间和多区间 156
复合状态的状态转换 157
7.7伪状态 159
始态 159
分叉 159
汇合 159
接合 159
选择 160
深历史 160
浅历史 161
入口点 161
出口点 162
终结 162
7.8终态 162
7.9子机状态 162
7.10协议状态机 164
7.11状态机建模技术 166
7.12状态图示例 167
7.13小结 169
7.14练习 170
第8章 活动与活动图 173
8.1活动图的例子 173
8.2活动的概念 175
理解活动 175
理解动作 176
活动图的主要元素 177
令牌与令牌流 177
8.3活动图概述 177
8.4动作结点 179
动作执行步骤 179
动作的性质 180
调用动作 181
发送信号动作 182
接收事件动作 182
8.5控制结点 184
起始 184
分叉与汇合 184
判断与合并 186
活动终止 187
流终止 189
8.6对象结点 190
一般对象结点 190
引脚 191
活动形参结点 192
中心缓冲结点 193
数据存储结点 194
8.7活动边 195
边的权重 195
控制流 196
对象流 196
8.8分区和泳道 198
8.9可中断活动区间 199
8.10异常 201
8.11结构化活动结点 203
顺序结点 204
条件结点 204
循环结点 205
8.12扩展区间 205
8.13活动图建模技术 207
8.14活动图示例 209
8.15小结 211
8.16练习 212
第9章 构件与构件图 213
9.1构件概念及表示 213
9.2构件的特性 214
9.3构件的视图 215
外部视图 215
内部视图 216
9.4构件之间的关系 218
9.5连接器 219
9.6 JavaBean构件 220
9.7 Applet构件 221
9.8 Servlet构件 222
9.9构件图示例 224
9.10何时使用构件图 226
9.11小结 226
9.12练习 227
第10章 制品、结点与部署图 228
10.1制品 228
制品概念 228
制品的承载 228
制品之间的关系 229
10.2结点 231
结点之间的关系 231
设备 232
执行环境 233
10.3部署 234
10.4部署规范 235
10.5部署图示例 237
10.6何时使用部署图 239
10.7小结 240
10.8练习 240
参考文献 242