第1章 UML概述 1
1.1 什么是UML 1
1.2 UML的发展历程 2
1.3 UML的特点 3
1.4 UML的组成 3
1.4.1 UML中的事物 3
1.4.2 UML中的关系 5
1.4.3 UML的图 6
1.5 UML的视图 12
1.5.1 用例视图 13
1.5.2 逻辑视图 13
1.5.3 并发视图 13
1.5.4 组件视图 13
1.5.5 部署视图 13
1.6 系统开发阶段 14
1.7 小结 15
1.8 习题 15
第2章 面向对象技术和建模基础 16
2.1 面向对象的基本概念 16
2.1.1 面向对象方法 17
2.1.2 对象 18
2.1.3 类 19
2.1.4 封装 20
2.1.5 继承 21
2.1.6 多态 22
2.1.7 消息 23
2.2 面向对象开发 23
2.2.1 系统调查和需求分析 24
2.2.2 面向对象分析方法 25
2.2.3 面向对象设计方法 26
2.3 软件建模概述 27
2.3.1 软件建模的概念 27
2.3.2 软件建模的用途 27
2.3.3 软件建模的优点 28
2.4 小结 28
2.5 习题 28
第3章 UML建模工具简介 29
3.1 常用UML建模工具 30
3.1.1 Rational Rose 30
3.1.2 Visio 32
3.1.3 PowerDesigner 33
3.1.4 StarUML 34
3.2 StarUML安装与配置 36
3.2.1 StarUML的安装 36
3.2.2 StarUML的配置 39
3.3 使用StarUML建模 40
3.3.1 StarUML主界面 40
3.3.2 StarUML的模型、视与图 41
3.3.3 StarUML建模的基本过程 41
3.4 双向工程 47
3.4.1 正向工程 47
3.4.2 逆向工程 50
3.5 小结 52
3.6 习题 53
第4章 用例和用例图 54
4.1 用例和用例图的概念 54
4.1.1 参与者 56
4.1.2 用例 58
4.1.3 用例描述 59
4.2 用例之间的可视化表示 60
4.2.1 包含关系 61
4.2.2 扩展关系 61
4.2.3 泛化关系 62
4.2.4 分组关系 62
4.3 用例图建模技术及应用 63
4.4 小结 74
4.5 习题 74
第5章 类图和对象图 75
5.1 类图和对象图概述 75
5.1.1 类图的概述 75
5.1.2 对象图的概述 78
5.1.3 接口 80
5.1.4 抽象类 80
5.2 类之间的关系 81
5.2.1 依赖关系 81
5.2.2 泛化关系 83
5.2.3 关联关系 83
5.2.4 实现关系 88
5.3 类图的建模技术及应用 89
5.4 小结 100
5.5 习题 101
第6章 顺序图和通信图 102
6.1 顺序图 102
6.1.1 顺序图概述 102
6.1.2 顺序图的基本内容 104
6.1.3 约束 109
6.1.4 顺序图的建模技术及应用 111
6.2 通信图 117
6.2.1 通信图概述 117
6.2.2 通信图的基本内容 118
6.2.3 通信图建模技术及应用 121
6.2.4 顺序图与通信图的比较 125
6.3 小结 126
6.4 习题 127
第7章 状态机图和活动图 128
7.1 状态机图 128
7.1.1 状态机图概述 128
7.1.2 状态机图的基本元素 130
7.1.3 状态 130
7.1.4 转换 134
7.1.5 状态机图的建模技术及应用 135
7.2 活动图 139
7.2.1 活动图概述 139
7.2.2 活动图的基本元素 139
7.2.3 动作状态 140
7.2.4 活动状态 140
7.2.5 转移 140
7.2.6 分支 141
7.2.7 分叉和汇合 141
7.2.8 泳道 142
7.2.9 对象流 143
7.2.10 活动图的建模技术及应用 143
7.2.11 状态机图和活动图的比较 149
7.3 小结 149
7.4 习题 150
第8章 构件图和部署图 151
8.1 构件图 151
8.1.1 构件图概述 151
8.1.2 组件(Component) 153
8.1.3 接口(Interface) 154
8.1.4 关系(Relationship) 155
8.1.5 使用构件图对系统建模及应用 156
8.2 部署图 159
8.2.1 部署图概述 159
8.2.2 节点(Node) 160
8.2.3 组件(Component) 162
8.2.4 关系(Relationship) 162
8.2.5 部署图的系统建模及应用 163
8.3 小结 167
8.5 习题 168
第9章 包图、组合结构图、 定时图和交互概览图 169
9.1 包图 169
9.1.1 包图概述 169
9.1.2 包之间的关系 170
9.1.3 包图的建模技术及应用 171
9.2 组合结构图 172
9.2.1 组合结构图概述 172
9.2.2 基本元素 172
9.2.3 组合结构图的建模技术及应用 172
9.3 定时图 173
9.3.1 定时图概述 173
9.3.2 基本元素 173
9.3.3 定时图的建模技术及应用 173
9.4 交互概览图 175
9.4.1 交互概览图概述 175
9.4.2 基本元素 176
9.4.3 交互概览图的建模技术及应用 176
9.5 小结 179
9.6 题 179
第10章 统一软件过程RUP 180
10.1 RUP简介 180
10.1.1 什么是RUP过程 180
10.1.2 RUP的特点 181
10.2 RUP工作流程 184
10.2.1 业务建模 184
10.2.2 需求分析 184
10.2.3 分析与设计 184
10.2.4 实现 184
10.2.5 测试 184
10.2.6 部署 185
10.2.7 配置和变更管理 185
10.2.8 项目管理 185
10.2.9 环境 185
10.2.10 统一软件开发过程RUP裁剪 185
10.3 RUP的十大要素 186
10.3.1 开发前景 186
10.3.2 达成计划 186
10.3.3 标识和减少风险 186
10.3.4 分配和跟踪任务 187
10.3.5 检查商业理由 187
10.3.6 设计组件构架 187
10.3.7 对产品进行增量式的构建和测试 187
10.3.8 验证和评价结果 188
10.3.9 管理和控制变化 188
10.3.10 提供用户支持 188
10.4 StarUML在RUP模型中的应用 188
10.4.1 可视化建模 188
10.4.2 StarUML介绍 188
10.4.3 StarUML建模与RUP 189
10.4.4 StarUML建模与RUP应用实例 190
10.5 小结 194
10.6 习题 194
第11章 汽车租赁系统 195
11.1 系统需求分析 195
11.1.1 汽车租赁系统的需求分析 195
11.1.2 功能模块图 196
11.2 用例图设计建模 198
11.2.1 汽车租赁系统中的用例图简述 198
11.2.2 与客户有关的用例图 198
11.2.3 与系统维护人员有关的用例图 199
11.2.4 与技术人员有关的用例图 200
11.3 类图设计建模 201
11.4 顺序图 204
11.4.1 汽车租赁系统中的数据流和相应顺序图 204
11.4.2 与客户有关的事件流和顺序图 204
11.4.3 与系统维护人员有关的事件流和顺序图 208
11.4.4 以技术人员有关的事件流和用例图 212
11.5 通信图设计建模 215
11.5.1 汽车租赁系统中的通信图 215
11.5.2 与客户有关的通信图 215
11.5.3 与技术人员有关的通信图 217
11.5.4 与系统维护人员有关的通信图 218
11.6 活动图 220
11.6.1 系统中的活动图 220
11.6.2 与客户有关的活动图 221
11.6.3 与系统维护人员有关的活动图 224
11.6.4 与技术人员有关的活动图 227
11.7 状态机图设计建模 228
11.8 部署图设计建模 230
第12章 新闻中心管理系统 232
12.1 系统需求说明 232
12.1.1 新闻中心管理系统的需求分析 232
12.1.2 新闻中心管理系统的功能模块 233
12.1.3 UML对系统需求分析的支持 235
12.1.4 利用UML模型构造软件体系结构 235
12.2 系统的用例图 236
12.3 系统中的类图 238
12.4 系统的顺序图 241
12.5 系统的通信图 244
12.6 系统状态机图 245
12.7 系统的活动图 247
12.8 系统的配置和实现 248
12.9 系统的部署图 248
12.10 生成Java代码 249
12.11 逆向工程的实现 255
第13章 BBS论坛系统 257
13.1 BBS论坛系统的需求分析 257
13.1.1 系统的功能需求 258
13.1.2 前台功能模块 260
13.1.3 后台功能模块 262
13.2 BBS论坛系统的UML建模 265
13.2.1 BBS论坛系统的用例图 265
13.2.2 BBS论坛系统的顺序图 269
13.2.3 BBS论坛系统的通信图 287
13.2.4 BBS论坛系统的状态机图 295
13.2.5 BBS论坛系统的活动图 296
13.3 BBS论坛系统中的类及相互关系 303
13.4 BBS论坛系统中的配置和部署 308
13.4.1 构件图的建立 308
13.4.2 部署图的建立 308