第1篇 UML语言基础第1章 UML概述 3
1.1 什么是UML 3
1.1.1 UML简史 3
1.1.2 UML定义 4
1.1.3 UML的特点 4
1.2 什么是模型 5
1.2.1 模型的用途 7
1.2.2 建模目标 8
1.2.3 建模原则 8
1.2.4 用UML建模的好处 8
1.2.5 模型种类 9
1.3 UML工具 9
1.3.1 UML工具介绍 10
1.3.2 如何选择UML工具 10
1.4 UML语言应用 11
1.5 小结 12
1.6 习题 12
第2章 UML语言体系结构 13
2.1 UML语言组成 13
2.2 元素符号 14
2.2.1 结构符号 14
2.2.2 行为符号 18
2.2.3 分组符号 18
2.2.4 注释符号 19
2.3 关系符号 19
2.4 UML图 22
2.4.1 UML图分类 22
2.4.2 视图 25
2.5 规则 25
2.6 公共机制 26
2.6.1 规格描述 26
2.6.2 修饰 27
2.6.3 通用划分 27
2.6.4 扩展机制 27
2.7 系统建模与视图 28
2.8 小结 29
2.9 习题 29
第3章 类图 30
3.1 什么是类图 30
3.2 类的表示 31
3.3 类图中的元素 33
3.4 类图中的关系 37
3.4.1 依赖关系 37
3.4.2 泛化关系 38
3.4.3 实现关系 39
3.4.4 关联关系 40
3.4.5 关联的属性 42
3.5 理解类图 44
3.6 小结 45
3.7 习题 45
第4章 对象图 46
4.1 什么是对象 46
4.2 什么是对象图 46
4.3 对象的表示 47
4.4 对象图中的关系 48
4.5 类图与对象图 49
4.6 小结 50
4.7 习题 50
第5章 包图 51
5.1 什么是包 51
5.2 什么是包图 52
5.3 包的表示 53
5.3.1 包命名 53
5.3.2 包中的元素 54
5.3.3 用构造型表示包 55
5.4 包图中的关系 56
5.4.1 依赖关系 56
5.4.2 泛化关系 57
5.5 包的传递性 58
5.6 创建包图的方法 58
5.6.1 标识候选包 59
5.6.2 调整候选包 59
5.6.3 消除包的循环依赖 60
5.7 包图应用 60
5.7.1 对成组元素建模 61
5.7.2 对体系结构建模 63
5.8 小结 63
5.9 习题 64
第6章 用例图 65
6.1 什么是用例图 65
6.2 参与者与用例 66
6.2.1 参与者的表示 66
6.2.2 用例的表示 67
6.3 参与者之间的关系 68
6.3.1 识别参与者 68
6.3.2 参与者之间的泛化关系 69
6.4 用例之间的关系 69
6.4.1 包含关系 69
6.4.2 扩展关系 71
6.4.3 泛化关系 72
6.5 参与者与用例之间的关系 72
6.6 组织用例 73
6.7 用例规格描述 74
6.7.1 事件流 75
6.7.2 用例模板 75
6.7.3 用例优先级 77
6.7.4 用例粒度 77
6.8 用例描述实例 78
6.9 用例建模要点 80
6.10 小结 81
6.11 习题 81
第7章 交互图 82
7.1 顺序图 82
7.1.1 什么是顺序图 82
7.1.2 顺序图的表示 83
7.1.3 表示分支、并发和循环 86
7.1.4 顺序图应用 93
7.2 协作图 95
7.2.1 协作图的表示 95
7.2.2 表示循环和分支 97
7.2.3 顺序图与协作图的关系 98
7.3 定时图 98
7.4 小结 101
7.5 习题 101
第8章 活动图 102
8.1 什么是活动图 102
8.2 活动图的表示 102
8.3 活动图应用 104
8.3.1 简单活动图 105
8.3.2 展示泳道的活动图 106
8.3.3 展示对象流的活动图 107
8.3.4 展示参数的活动图 108
8.3.5 展示别针的活动图 108
8.3.6 展示中断的活动图 109
8.3.7 展示异常的活动图 110
8.3.8 展示扩展区的活动图 111
8.3.9 展示信号的活动图 112
8.3.10 展示嵌套活动图 113
8.4 构建活动图 114
8.4.1 对工作流程建模 114
8.4.2 对操作流程建模 115
8.5 小结 115
8.6 习题 116
第9章 交互概况图 117
9.1 什么是交互概况图 117
9.2 交互概况图应用 118
9.3 小结 120
9.4 习题 120
第10章 状态机图 121
10.1 什么是状态机图 121
10.2 状态图的表示 122
10.2.1 状态的表示 122
10.2.2 迁移的表示 123
10.2.3 分支的表示 127
10.3 迁移的分类 128
10.3.1 外部迁移 128
10.3.2 内部迁移 128
10.3.3 自动迁移 129
10.3.4 复合迁移 129
10.4 状态的分类 130
10.4.1 简单状态 130
10.4.2 复合状态 130
10.4.3 历史状态 132
10.4.4 子状态机间的异步通信 133
10.4.5 建立状态机图的步骤 134
10.5 状态机图应用 134
10.6 小结 135
10.7 习题 135
第11章 构件图 136
11.1 什么是接口和构件 136
11.1.1 接口 136
11.1.2 端口 137
11.1.3 构件 138
11.1.4 构件类型 139
11.2 什么是构件图 140
11.2.1 构件图的作用 140
11.2.2 构件图的组成元素 141
11.3 构件的表示 141
11.3.1 没有标识接口的构件 141
11.3.2 标识接口的构件 141
11.4 构件间的关系 142
11.5 构件图分类 143
11.5.1 简单构件图 143
11.5.2 嵌套的构件图 144
11.6 制品 144
11.6.1 制品的表示 145
11.6.2 制品的标准元素 145
11.6.3 制品的种类 145
11.6.4 制品与类的区别 146
11.7 建模应用 146
11.7.1 对可执行程序建模 146
11.7.2 对源代码建模 147
11.8 小结 148
11.9 习题 148
第12章 部署图 149
12.1 什么是部署图 149
12.1.1 部署图的作用 149
12.1.2 部署图的组成元素 150
12.2 部署图的表示 150
12.2.1 节点 150
12.2.2 连接 151
12.3 部署图应用 152
12.3.1 设计阶段 152
12.3.2 实现阶段 153
12.4 小结 153
12.5 习题 153
第2篇 UML建模实践第13章 网上书店 157
13.1 领域建模与分析过程 157
13.1.1 领域建模方法 157
13.1.2 领域建模过程 157
13.2 用例建模与分析过程 164
13.2.1 用例建模方法 165
13.2.2 用例建模过程 165
13.3 动态建模与分析过程 186
13.3.1 动态建模方法 186
13.3.2 动态建模过程 186
13.4 小结 194
13.5 习题 194
第3篇 UML高级技术第14章 Rose的双向工程 197
14.1 双向工程简介 197
14.2 正向工程 197
14.3 逆向工程 200
14.4 实例应用 201
14.5 小结 205
14.6 习题 205
第15章 统一软件过程(RUP) 206
15.1 当前流行的软件过程 206
15.2 统一软件过程概述 207
15.2.1 RUP的核心工作流 208
15.2.2 RUP的4个阶段 210
15.2.3 RUP中的迭代模型 211
15.3 RUP中的核心工作流 212
15.3.1 需求工作流 212
15.3.2 分析工作流 216
15.3.3 设计工作流 218
15.3.4 实现工作流 221
15.3.5 测试工作流 225
15.4 RUP裁剪 229
15.5 RUP的十大要素 229
15.6 小结 232
15.7 习题 232
附录A UML图总结 233
参考文献 240