描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302491996丛书名: 从新手到高手
本书图文并茂,秉承了基础知识与实例相结合的特点,其内容简单易懂、结构清晰、实用性强、案例经典,适合UML建模初学者、大中专院校师生及计算机培训人员使用,同时也是UML爱好者的参考书。
准备篇
第1章 UML概述 2
1.1 认识UML 3
1.1.1 UML的发展历程 3
1.1.2 UML统一的作用 3
1.1.3 UML体系结构 4
1.1.4 UML建模流程 5
1.2 UML的组成 5
1.2.1 事物 5
1.2.2 关系 7
1.2.3 图 7
1.3 UML的视图和通用机制 10
1.3.1 UML的视图 10
1.3.2 通用机制 11
1.4 Rational统一过程 12
1.4.1 过程的特点 12
1.4.2 阶段和迭代 12
1.4.3 任务和制品 13
1.4.4 制品 14
1.5 面向对象开发 15
1.5.1 面向对象的概念 15
1.5.2 面向对象开发的概述 15
1.5.3 面向对象的主要特征 17
1.5.4 面向对象的层 18
1.5.5 面向对象的模型 19
第2章 UML建模工具概述 20
2.1 常用UML建模工具 21
2.1.1 Visio 21
2.1.2 PowerDesigner 22
2.1.3 StarUML 22
2.2 使用Rational Rose建模 23
2.2.1 Rational Rose概述 23
2.2.2 Rational Rose工作环境 25
2.2.3 Rational Rose中的视图 26
2.3 Rational Rose建模的基本操作 27
2.3.1 新建Rational Rose模型 27
2.3.2 创建Rational Rose框图 28
2.3.3 保存与发布模型 30
2.3.4 导入与导出模型 31
2.3.5 设置全局选项 31
2.4 双向工程 32
2.4.1 正向工程 32
2.4.2 逆向工程 34
基础篇
第3章 用例和用例图 36
3.1 用例图的构成 37
3.1.1 什么是用例图 37
3.1.2 系统 37
3.1.3 参与者 38
3.1.4 用例 39
3.1.5 关系 41
3.2 用例关系和描述 41
3.2.1 泛化关系 41
3.2.2 包含关系 43
3.2.3 扩展关系 44
3.2.4 用例描述 45
3.3 绘制用例图 47
3.3.1 新建用例图 47
3.3.2 创建内容 48
3.4 建模实例:创建BBS论坛用例图 50
3.4.1 确定系统信息 50
3.4.2 前台功能概述 51
3.4.3 构造用例模型 52
3.5 新手训练营 54
第4章 类图 57
4.1 类图的概念 58
4.1.1 类图概述 58
4.1.2 类 59
4.1.3 定义类 62
4.1.4 接口 63
4.2 泛化关系 64
4.2.1 泛化的含义和用途 64
4.2.2 泛化的层次与多重继承 64
4.2.3 泛化约束 65
4.3 依赖关系和实现关系 66
4.3.1 依赖关系 66
4.3.2 实现关系 67
4.4 关联关系 68
4.4.1 二元关联 68
4.4.2 关联类 72
4.4.3 或关联与反身关联 72
4.4.4 聚合关系 73
4.4.5 组合关系 73
4.5 绘制类图 74
4.5.1 创建类图 74
4.5.2 操作类图 75
4.5.3 类图的规范 76
4.6 建模实例:创建BBS论坛类图 78
4.6.1 创建实体类 78
4.6.2 创建类与类之间的关系图 80
4.7 新手训练营 81
第5章 对象图和包图 83
5.1 对象图 84
5.1.1 对象和类 84
5.1.2 对象和链 84
5.1.3 对象图概述 85
5.1.4 对象图和类图的区别 86
5.1.5 使用对象图测试类图 87
5.2 包图 88
5.2.1 包 88
5.2.2 导入包 90
5.2.3 包图概述 90
5.2.4 包之间的关系 92
5.2.5 包图和类图的区别 93
5.3 对象图和包图建模 93
5.3.1 使用对象图建模 93
5.3.2 使用包图建模 93
5.4 绘制对象图 94
5.4.1 绘制方法 94
5.4.2 绘制实例 94
5.5 绘制包图 95
5.5.1 绘制包图 95
5.5.2 规范使用的共性 96
5.5.3 绘制嵌套包图 97
5.6 建模实例:创建机房系统对象图 98
5.6.1 创建对象元素 98
5.6.2 创建对象关系 98
5.7 新手训练营 99
第6章 活动图 100
6.1 活动图概述 101
6.1.1 定义活动图 101
6.1.2 活动图的主要元素 102
6.1.3 了解活动和动作 102
6.2 活动图的组成元素 103
6.2.1 基本组成元素 103
6.2.2 其他组成元素 105
6.3 控制节点 110
6.3.1 分支与合并 110
6.3.2 分叉与汇合 111
6.4 绘制活动图 112
6.4.1 创建活动图 112
6.4.2 操作活动图 112
6.5 建模实例:创建BBS论坛
活动图 116
6.5.1 建模步骤 116
6.5.2 创建活动图 117
6.6 新手训练营 118
第7章 顺序图 120
7.1 顺序图概述 121
7.1.1 什么是顺序图 121
7.1.2 顺序图的元素 121
7.2 顺序图的构成元素 122
7.2.1 对象 122
7.2.2 生命线 123
7.2.3 消息 123
7.2.4 激活 128
7.3 建模和执行 128
7.3.1 建模时间 128
7.3.2 执行规范 129
7.3.3 建模迭代 130
7.4 绘制顺序图 130
7.4.1 创建顺序图 130
7.4.2 操作元素 131
7.4.3 限制因素和图形项配置 132
7.5 建模实例:创建BBS论坛顺序图 133
7.5.1 会员用户功能顺序图 133
7.5.2 普通用户功能顺序图 134
7.6 新手训练营 135
第8章 通信图和时序图 137
8.1 通信图概述 138
8.1.1 什么是通信图 138
8.1.2 对象与类角色 138
8.1.3 关联角色与链接 139
8.1.4 消息 140
8.2 操作消息元素 140
8.2.1 消息序列号与控制点 140
8.2.2 创建对象 141
8.2.3 消息迭代 141
8.3 时序图概述 142
8.3.1 什么是时序图 142
8.3.2 时序图中的对象 143
8.3.3 状态 143
8.3.4 时间 143
8.3.5 状态线 144
8.3.6 事件与消息 144
8.4 时间约束和替代 145
8.4.1 时间约束 145
8.4.2 时序图的替代表示法 146
8.5 绘制通信图 147
8.5.1 创建通信图 147
8.5.2 操作通信图 147
8.6 建模实例:创建BBS论坛通信图 149
8.6.1 会员用户功能通信图 149
8.6.2 普通用户功能通信图 150
8.7 新手训练营 151
第9章 状态机图 153
9.1 状态机概述 154
9.1.1 状态机及其构成 154
9.1.2 状态机图标记符 154
9.2 转移 155
9.2.1 转移的定义 155
9.2.2 事件 156
9.2.3 动作 158
9.2.4 转移的类型 159
9.3 组合状态 160
9.3.1 顺序状态 160
9.3.2 并发子状态 160
9.3.3 同步状态 161
9.3.4 历史状态 161
9.3.5 子状态机引用状态 162
9.4 绘制状态机图 162
9.4.1 创建状态机图 162
9.4.2 绘制各类元素 163
9.5 建模实例:创建自动取款机
状态机图 165
9.5.1 分析状态机图 165
9.5.2 创建状态机图 166
9.6 新手训练营 167
第10章 组件图和部署图 169
10.1 构造实现方式图概述 170
10.1.1 组件图概述 170
10.1.2 部署图概述 170
10.1.3 组合组件图和部署图 171
10.2 组件图 171
10.2.1 组件 171
10.2.2 接口 173
10.2.3 组件间的关系与
组件嵌套 174
10.2.4 组件图的建模应用 174
10.2.5 组件图的适用情况 175
10.3 部署图 176
10.3.1 节点和连接 176
10.3.2 部署间的关系 177
10.3.3 部署图的适用情况及
绘制 177
10.3.4 部署图的建模应用 178
10.4 绘制部署图 179
10.4.1 初识部署图 179
10.4.2 添加元素 179
10.5 绘制组件图 180
10.5.1 创建组件图 180
10.5.2 添加组件元素 181
10.6 建模实例:创建BBS论坛组
件图和部署图 182
10.6.1 实现BBS论坛组件图 182
10.6.2 实现BBS论坛部署图 183
10.7 新手训练营 183
第11章 组合结构图和交互概览图 186
11.1 组合结构图 187
11.1.1 内部结构 187
11.1.2 端口 188
11.1.3 协作 189
11.2 交互概览图 190
11.2.1 组成部分 190
11.2.2 使用交互 191
11.2.3 组合交互 192
11.3 建模实例:创建网上购物
系统用例图 193
11.3.1 系统概述 193
11.3.2 创建用例图 195
11.4 新手训练营 197
进阶篇
第12章 UML与RUP 200
12.1 RUP概述 201
12.1.1 理解软件开发过程 201
12.1.2 什么是RUP 201
12.1.3 RUP的作用 202
12.1.4 RUP的特点 203
12.2 RUP的二维空间 203
12.2.1 时间维 204
12.2.2 RUP的静态结构 205
12.3 核心工作流程 207
12.3.1 需求获取工作流 207
12.3.2 分析工作流 209
12.3.3 设计工作流 210
12.3.4 实现工作流 211
12.3.5 测试工作流 212
12.4 Rational Rose在RUP模型中的
应用 214
12.4.1 可视化建模 214
12.4.2 Rational Rose建模与
RUP 214
12.4.3 Rational Rose建模与RUP
应用实例 215
12.5 建模实例:创建网上购物系统
静态模型 217
12.5.1 定义系统的类 217
12.5.2 创建类关系 218
12.6 新手训练营 218
第13章 对象约束语言 221
13.1 对象约束语言概述 222
13.1.1 对象约束语言简介 222
13.1.2 语言结构 222
13.1.3 语言语法 223
13.1.4 表达式 225
13.2 数据类型 225
13.2.1 基本数据类型 226
13.2.2 集合类型 227
13.2.3 OclMessage类型 227
13.2.4 OclVoid和OclAny类型 227
13.2.5 模型元素类型 228
13.3 集合 229
13.3.1 创建集合 229
13.3.2 操作集合 229
13.3.3 Collection类型 230
13.3.4 Set类型 231
13.3.5 Bag类型 232
13.3.6 Sequence类型 233
13.4 语言约束 234
13.4.1 使用约束 234
13.4.2 对象级约束 236
13.4.3 消息级约束 237
13.4.4 约束和泛化 238
13.5 建模实例:创建网上购物系统的交互模型 239
13.5.1 顺序图 239
13.5.2 通信图 241
13.6 新手训练营 241
第14章 UML扩展机制 243
14.1 UML的体系结构 244
14.1.1 UML扩展机制概述 244
14.1.2 4层元模型体系结构 244
14.1.3 元元模型层 245
14.1.4 元模型层 246
14.2 UML核心语义 247
14.2.1 模型元素 247
14.2.2 视图元素 248
14.3 构造型 249
14.3.1 表示构造型 249
14.3.2 UML标准构造型 249
14.3.3 使用UML扩展机制
进行建模 252
14.4 标记值 253
14.4.1 表示标记值 254
14.4.2 UML标准标记值 254
14.4.3 自定义标记值 254
14.4.4 标记值应用元素 254
14.5 约束 255
14.5.1 表示约束 255
14.5.2 UML标准约束 256
14.5.3 自定义约束 258
14.6 建模实例:完成网上购物系统的
创建 258
14.6.1 创建状态机图 258
14.6.2 创建实现方式图 260
14.7 新手训练营 261
第15章 UML与数据库设计 263
15.1 数据库设计概述 264
15.1.1 数据库设计与UML模型 264
15.1.2 数据库接口 264
15.2 类图到数据库的转换 265
15.2.1 基本映射转换 265
15.2.2 类到表的转换 266
15.2.3 关联关系的转换 268
15.2.4 需要避免的映射情况 268
15.3 完整性与约束验证 269
15.3.1 父表的约束 269
15.3.2 子表的约束 270
15.4 数据库实现与转换技术 271
15.4.1 类映射到数据库技术 271
15.4.2 UML模型转换为
数据库 272
15.4.3 SQL语句实现
数据库功能 273
15.5 建模实例:创建图书管理
系统用例图 274
15.5.1 需求分析 274
15.5.2 识别参与者和用例 275
15.5.3 用例描述 276
15.6 新手训练营 278
第16章 基于C 的UML模型实现 280
16.1 模型元素的简单实现 281
16.1.1 类 281
16.1.2 实现原理 281
16.2 实现关联 283
16.2.1 基本关联 283
16.2.2 强制对可选或者
强制关联 284
16.2.3 可选对可选关联 284
16.2.4 可选对多关联 284
16.2.5 强制对多关联 285
16.2.6 多对多关联 285
16.2.7 有序关联的实现 286
16.2.8 关联类的实现 286
16.3 受限关联的实现 287
16.3.1 受限关联概述 287
16.3.2 强制或者可选对可选
受限关联 288
16.3.3 可选对强制或者可选
受限关联 288
16.3.4 多对可选的受限关联 289
16.3.5 多对受限关联 290
16.4 UML关系的实现 290
16.4.1 泛化关系的实现 290
16.4.2 聚合与组合关系的
实现 291
16.5 特殊类的实现 291
16.5.1 接口 292
16.5.2 枚举 292
16.5.3 包 293
16.5.4 模板 293
16.6 建模实例:创建图书管理系统
静态结构模型 294
16.6.1 定义系统中的
对象和类 294
16.6.2 定义用户界面类 296
16.6.3 类之间的关系 298
16.7 新手训练营 299
第17章 UML与建模 303
17.1 数据建模 304
17.1.1 数据库设计概述 304
17.1.2 数据库设计的步骤 305
17.1.3 对象模型和数据模型的
互相转换 308
17.2 业务建模 309
17.2.1 业务建模概述 309
17.2.2 UML业务建模扩展 310
17.2.3 业务体系结构 312
17.3 Web建模 312
17.3.1 Web建模概述 312
17.3.2 Web建模扩展WAE 313
17.3.3 Rational Rose中的
Web建模 315
17.4 建模实例:创建图书管理
系统动态行为模型 317
17.4.1 建立顺序图 317
17.4.2 建立状态图 325
17.4.3 物理模型 326
17.5 新手训练营 327
第18章 Web应用程序设计 329
18.1 Web应用程序的结构 330
18.1.1 瘦客户端模式 330
18.1.2 胖客户端模式 331
18.1.3 Web传输模式 332
18.2 Web应用系统的UML建模
方法 332
18.2.1 Web页面建模 332
18.2.2 表单建模 333
18.2.3 组件建模 333
18.2.4 框架建模 334
18.3 UML在学生成绩管理系统建模中的
运用 334
18.3.1 系统需求分析 334
18.3.2 系统设计 335
18.4 系统详细设计和部署 339
18.4.1 系统详细设计 340
18.4.2 系统部署 341
第19章 嵌入式系统设计 342
19.1 嵌入式系统概述 343
19.1.1 嵌入式系统的技术特点 343
19.1.2 嵌入式系统的开发技术 344
19.2 嵌入式系统的需求分析 345
19.2.1 MP3播放器的工作原理 345
19.2.2 外部事件 346
19.2.3 识别用例 347
19.2.4 使用顺序图描述用例 348
19.3 系统的静态模型 349
19.3.1 识别系统中的对象或类 349
19.3.2 绘制类图 349
19.4 系统的动态模型 352
19.4.1 状态机图 352
19.4.2 协作图 353
19.5 体系结构 354
软件的发展至今已经有近70年的历史,面向对象技术开始有深入的研究,并广泛应用也近50年了,已经成为软件开发中分析、设计、实现的主流方法和技术。UML始于1997年的一个OMG(对象管理组织)标准,是一种支持模型化和软件系统开发的图形化语言,可为软件开发的所有阶段提供模型化和可视化支持。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且做了进一步的发展,并终统一为大众所接受的标准建模语言。
UML适用于系统开发过程中从需求分析到完成测试的各个阶段:在需求分析阶段,可以用用户模型视图来捕获用户需求;在分析和设计阶段,可以用静态结构和行为模型视图来描述系统的静态结构和动态行为;在实现阶段,可以将UML模型自动转换为用面向对象程序设计语言实现代码。
1.本书内容介绍
全书系统全面地介绍UML建模、设计与分析的应用知识,每章都提供了丰富的实用案例,用来巩固所学知识。本书共分为19章,内容概括如下:
第1章:为UML概述,包括认识UML、UML的组成、UML的视图和通用机制、Rational统一过程、面向对象开发等内容。
第2章:为UML建模工具概述,包括常用UML建模工具、使用Rational Rose建模、Rose建模的基本操作、逆向工程、正向工程等内容。
第3章:为用例和用例图,包括用例图的构成、用例关系和描述、绘制用例图等内容。
第4章:为类图,包括类图的概念、泛化关系、依赖关系和实现关系、关联关系、绘制类图等内容。
第5章:为对象图和包图,包括对象和类、对象和链、对象图概述、包图概述、包之间的关系、对象图和包图建模、绘制对象图等内容。
第6章:为活动图,包括活动图概述、活动图的组成元素、分支与合并、分叉与汇合、绘制活动图等内容。
第7章:为顺序图,包括顺序图概述、顺序图的构成元素、建模和执行、绘制顺序图等内容。
第8章:为通信图和时序图,包括通信图概述、操作消息元素、时序图概述、时间约束和替代、绘制通信图等内容。
第9章:为状态机图,包括状态机概述、事件、动作、转移的类型、组合状态、绘制状态机图等 内容。
第10章:为组件图和部署图,包括组件图概述、部署图概述、组合组件图和部署图、绘制部署图、绘制组件图等内容。
第11章:为组合结构图和交互概览图,包括内部结构、端口、协作、组成部分、使用交互、组合交互等内容。
第12章:为UML与RUP,包括RUP概述、RUP的二维空间、核心工作流程、Rose在RUP模型中的应用等内容。
第13章:为对象约束语言,包括对象约束语言概述、数据类型、创建集合、操作集合、对象级约束、消息级约束、约束和泛化等内容。
第14章:为UML扩展机制,包括UML的体系结构、UML核心语义、构造型、标记值、约束等内容。
第15章:为UML与数据库设计,包括数据库设计概述、类图到数据库的转换、完整性与约束验证、数据库实现与转换技术等内容。
第16章:为基于C 的UML模型实现,包括模型元素的简单实现、实现关联、受限关联的实现、UML关系的实现、特殊类的实现等内容。
第17章:为UML与建模,包括数据建模,业务建模和Web建模等内容。
第18~19章:通过Web应用程序设计和嵌入式系统设计2个综合案例,详细介绍了UML在建模、设计和分析方面的实际应用。
2.本书主要特色
? 系统全面,超值实用 全书提供了15个练习案例和2个综合案例,通过示例分析、设计过程讲解UML建模、设计与分析的应用知识。每章穿插大量提示、分析、注意和技巧等栏目,构筑了面向实际的知识体系。本书采用了紧凑的体例和版式,相同的内容下,篇幅缩减了30%以上,实例数量增加了50%。
? 串珠逻辑,收放自如 统一采用三级标题灵活安排全书内容,摆脱了普通培训教程按部就班讲解的窠臼。每章都配有扩展知识点,便于用户查阅相应的基础知识。本书内容安排收放自如,方便读者学习。
? 全程图解,快速上手 各章内容分为基础知识和实例演示两部分,全部采用图解方式,图像均做了大量的裁切、拼合、加工,信息丰富,效果精美,阅读体验轻松,上手容易。
? 新手进阶,加深印象 全书提供了77个基础实用案例,通过示例分析、设计应用,全面加深UML建模、设计与分析的基础知识应用方法的讲解。新手进阶部分,每个案例都提供了操作简图与操作说明。
3.本书使用对象
本书从UML的基础知识入手,全面介绍了UML建模、设计与分析面向应用的知识体系。本书可作为高职高专院校学生学习用书,也可作为计算机办公应用用户深入学习UML建模的培训和参考资料。
参与本书编写的人员除了封面署名人员之外,还有于伟伟、王翠敏、冉洪艳、刘红娟、谢华、张振、卢旭、吕咏、扈亚臣、程博文、方芳、房红、孙佳星、张彬、马海霞等。
由于编者水平有限,疏漏之处在所难免,欢迎读者朋友登录清华大学出版社的网站www.tup.com.cn与我们联系,帮助我们改进提高。
本书相关素材请扫描封底的二维码进行下载。如果在下载过程中碰到问题,请联系陈老师,联系邮箱:[email protected]。
编者
2019年1月
用例和用例图
用例是文本形式的情节描述,广泛应用于需求的发现和记录工作中。而用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的视图,是被称为参与者的外部用户所能观察到的系统功能的模型图。用例图是UML中较为重要和常用的一种图,由开发人员与用户经过多次商讨而共同完成,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。本章主要介绍用例图的概念、参与者和用例等一些基本概念及表示方法,以及用例图建模技术及应用技巧。
UML
3.1
用例图的构成
用例图是一种将用例和软件工具相结合的图形表示方式,它由参与者发起,主要显示了一组用例、参与者以及它们之间的关系。
3.1.1 什么是用例图
用例图是由软件需求分析到终实现的步,它从用户角度来描述系统功能,描述系统的参与者与系统用例之间的关系。
用例图通常在进行需求分析时使用,由开发人员与用户经过多次商讨而共同完成,这些图以每一个参与系统开发的人员都可以理解的方式列举系统的业务需求。
用例图使用系统与一个或多个参与者之间的一系列消息来描述系统中的交互,它将系统功能划分为对参与者(系统的理想用户)有用的需求,其交互部分被称作用例。除此之外,用例图仅仅是从外部观察系统功能,也就是从参与者使用系统的角度描述系统中的信息,并不描述这些功能在系统内部的实现过程。
用例图不仅包含系统、参与者和用例3个元素,而且还包含表示这些元素之间存在的泛化关系、关联关系和依赖关系等各种关系。
用例图是描述参与者与系统的关系,因此用例图整体上分为3部分:参与者、系统和关系,通过关系将参与者与系统联系起来。下图描述了一个学生成绩管理系统的用例图,它是一个实际系统简化后的示例。
人形表示参与者;矩形为系统;椭圆形是用例;线条为关系,连接用例和参与者。在下面的小节中将对上述元素作详细介绍。
3.1.2 系统
系统是用例图的一个重要组成部分,用于执行特定功能。它不单指一个软件系统,而是为用户执行某类功能的一个或多个软件构件。如图书馆管理系统、学生选课系统、信息发布系统等都属于系统。
系统的边界用来说明用例图应用的范围。例如,系统拥有一定应用范围,例如一台自动售货机,提供售货、供货、提取销售款等功能,这些功能在自动售货机内的区域起作用,自动售货机外的情况将不考虑。
准确定义系统的边界并不总是很容易的,因为有些情况下,严格地划分哪些任务是由系统完成,而哪些是由人工或其他系统完成是很困难的。另外,系统初的规模应有多大也应该考虑。一般的做法是,先识别出系统的基本功能,然后以此为基础定义一个稳定的、精确定义的系统架构,以后再不断地扩充系统功能,逐步完善系统。这样做可以避免由于系统太大,需求分析不易明确,从而导致浪费大量的开发时间。
系统在用例图中用一个长方框表示,系统的名称被写在方框上面或方框内。方框内包含了该系统中用符号标识的用例,如下图所示。
评论
还没有评论。