编辑推荐
全球销量逾百万册的系列图书
连续十余年打造的经典
直观、循序渐进的学习教程
掌握关键知识的**佳起点
“Read Less, Do More”(精读多练)的教学理念
以示例引导读者完成常见的任务,基于UML2.0编写
本书将教会你:
读懂和绘制UML图。
使用链、关系和继承。
理解用例。
理解面向对象思想。
精通UML语法。
使用各种UML图。
将UML集成到开发过程中。
使用UML对系统建模。
理解UML的基本思想。
内容简介
本书教读者循序渐进地、系统地学习UML基础知识和应用技术。和前一版相比,本书内容根据UML 2.0进行了补充和更新。
本书包括四部分内容。第 一部分“基础知识”包括第 1章到第 15章,主要介绍UML语言的基础知识以及面向对象的概念和思想,还简单介绍了UML在开发过程中的应用方法。第 二部分“学习案例”包括第 16章到第 22章,结合实例详细分析了UML的应用方法与技巧,还介绍了UML在热点领域设计模式中的应用。第三部分“高 级应用”包括第 23章和第 24章,先是运用UML来描述设计模式和嵌入式系统,然后讨论UML在其他领域的应用前景。第四部分“附录”给出了每章的小测验答案,介绍了使用Microsoft Visio专业版绘制常用UML图的方法和步骤,还对常用UML图进行了总结。
本书适用于从事面向对象软件开发的软件工程人员,也特别适合UML的初中级学习者。
作者简介
Joseph Schmuller在IT行业有20年的工作经验,是一位技术架构师,也是畅销图书和技术文章的作者。他拥有威斯康辛大学的博士学位,还是北弗罗里达州立大学的助理教授。
目录
第 一部分 基 础 知 识
第 1章 UML简介 1
1.1 在纷繁复杂中寻求解决问题的办法 2
1.2 UML的诞生 2
1.3 UML的组成 3
1.3.1 类图 3
1.3.2 对象图 4
1.3.3 用例图 5
1.3.4 状态图 5
1.3.5 顺序图 6
1.3.6 活动图 7
1.3.7 协作图 8
1.3.8 构件图 9
1.3.9 部署图 9
1.4 其他特征 10
1.4.1 注释 10
1.4.2 关键字和构造型 10
1.5 UML 2.0中的新图 11
1.5.1 组成结构图 11
1.5.2 交互纵览图 12
1.5.3 计时图 13
1.5.4 有创新也有保留的包图 13
1.6 为什么需要这么多种图 14
1.7 这不仅仅是一系列图 14
1.8 小结 15
1.9 常见问题解答 15
1.10 小测验和习题 16
1.10.1 小测验 16
1.10.2 习题 16
第 2章 理解面向对象 18
2.1 无处不在的对象 18
2.2 一些面向对象的概念 20
2.2.1 抽象 20
2.2.2 继承 21
2.2.3 多态性 22
2.2.4 封装 22
2.2.5 消息传递 23
2.2.6 关联 24
2.2.7 聚集 25
2.3 意义 26
2.4 小结 27
2.5 常见问题解答 27
2.6 小测验和习题 28
第3章 运用面向对象 29
3.1 类的可视化表示 29
3.2 属性 30
3.3 操作 31
3.4 属性、操作和可视化表达 32
3.5 职责和约束 33
3.6 附加注释 34
3.7 类——应该做什么和如何识别
它们 35
3.8 小结 37
3.9 常见问题解答 37
3.10 小测验和习题 37
3.10.1 小测验 37
3.10.2 习题 38
第4章 关系 39
4.1 关联 39
4.1.1 关联上的约束 40
4.1.2 关联类 41
4.1.3 链 41
4.2 多重性 41
4.3 限定关联 43
4.4 自身关联 43
4.5 继承和泛化 44
4.5.1 找出继承关系 45
4.5.2 抽象类 46
4.6 依赖 46
4.7 类图和对象图 47
4.8 小结 48
4.9 常见问题解答 49
4.10 小测验和习题 49
4.10.1 小测验 49
4.10.2 习题 49
第5章 聚集、组成、接口和实现 51
5.1 聚集 51
5.2 组成 52
5.3 组成结构图 52
5.4 接口和实现 53
5.5 接口和端口 56
5.5.1 可见性 56
5.5.2 作用域 57
5.6 小结 57
5.7 常见问题解答 58
5.8 小测验和习题 58
5.8.1 小测验 58
5.8.2 习题 58
第6章 介绍用例 59
6.1 什么是用例 59
6.2 用例的重要性 60
6.3 举例:饮料销售机 60
6.3.1 用例“买饮料” 60
6.3.2 其他用例 61
6.4 包含用例 62
6.5 扩展用例 63
6.6 开始用例分析 64
6.7 小结 64
6.8 常见问题解答 64
6.9 小测验和习题 65
6.9.1 小测验 65
6.9.2 习题 65
第7章 用例图 66
7.1 用例模型的表示法 66
7.1.1 回顾饮料销售机 67
7.1.2 跟踪场景中的步骤 67
7.2 用例之间关系的可视化表示 68
7.2.1 包含 68
7.2.2 扩展 69
7.2.3 泛化 70
7.2.4 分组 71
7.3 用例图在分析过程中的作用 71
7.4 运用用例模型:举例 71
7.4.1 理解领域 71
7.4.2 理解用户 72
7.4.3 理解用例 73
7.4.4 进一步深入 74
7.5 “清查存货” 75
7.5.1 结构元素 75
7.5.2 关系 75
7.5.3 分组 76
7.5.4 注释 76
7.5.5 扩展 76
7.5.6 其他 76
7.6 UML“大图” 76
7.7 小结 77
7.8 常见问题解答 77
7.9 小测验和习题 77
7.9.1 小测验 78
7.9.2 习题 78
第8章 状态图 79
8.1 什么是状态图 79
8.1.1 基本符号集 80
8.1.2 在状态图标中增加细节 80
8.1.3 增加转移的细节:事件和动作 81
8.1.4 增加转移的细节:保护
条件 82
8.2 子状态 82
8.2.1 顺序子状态 82
8.2.2 并发子状态 83
8.3 历史状态 84
8.4 UML 2.0中的新变化 84
8.5 为什么状态图很重要 85
8.6 UML“大图” 85
8.7 小结 86
8.8 常见问题解答 87
8.9 小测验和习题 87
8.9.1 小测验 87
8.9.2 习题 87
第9章 顺序图 88
9.1 什么是顺序图 88
9.1.1 对象 88
9.1.2 消息 88
9.1.3 时间 89
9.2 汽车和车钥匙 90
9.2.1 类图 90
9.2.2 顺序图 91
9.3 饮料销售机 92
9.4 顺序图:一般顺序图 95
9.5 在消息序列中创建对象实例 96
9.6 帧化顺序图:UML 2.0中的
顺序图 98
9.6.1 交互事件 98
9.6.2 交互片段的组合 100
9.7 UML“大图” 101
9.8 小结 102
9.9 常见问题解答 102
9.10 小测验和习题 102
9.10.1 小测验 103
9.10.2 习题 103
第 10章 协作图 104
10.1 什么是协作图 104
10.2 汽车和车钥匙 105
10.3 饮料销售机 108
10.4 创建对象 109
10.5 编号的一点注意事项 109
10.6 其他概念 110
10.6.1 发送给多对象的消息 110
10.6.2 返回结果 110
10.6.3 主动对象 111
10.6.4 同步 111
10.7 UML“大图” 112
10.8 小结 113
10.9 常见问题解答 113
10.10 小测验和习题 113
10.10.1 小测验 113
10.10.2 习题 114
第 11章 活动图 115
11.1 基础:什么是活动图 115
11.1.1 判定 116
11.1.2 并发路径 116
11.1.3 信号 117
11.2 活动图的应用 117
11.3 泳道 118
11.4 混合图 120
11.5 UML 2.0中的新概念 121
11.5.1 一个活动的对象 121
11.5.2 处理异常 122
11.5.3 活动的析构 122
11.5.4 标记时间并结束流程 123
11.5.5 特殊影响 124
11.6 对一个交互的纵览 125
11.7 UML“大图” 128
11.8 小结 128
11.9 常见问题解答 129
11.10 小测验和习题 130
11.10.1 小测验 130
11.10.2 习题 130
第 12章 构件图 131
12.1 什么是构件 131
12.2 构件和接口 131
12.2.1 回顾接口 132
12.2.2 替换和复用 132
12.3 什么是构件图 133
12.3.1 在UML 1.x和UML 2.0中表示一个构件 133
12.3.2 接口表示法 134
12.3.3 黑盒和白盒 135
12.4 应用构件图 135
12.5 UML“大图”中的构件图 139
12.6 小结 140
12.7 常见问题解答 140
12.8 小测验和习题 141
12.8.1 小测验 141
12.8.2 习题 141
第 13章 部署图 142
13.1 什么是部署图 142
13.2 应用部署图 144
13.2.1 家用计算机系统 144
13.2.2 令牌环网 145
13.2.3 ARCnet 146
13.2.4 细缆以太网 146
13.2.5 Ricochet无线网 147
13.3 UML“大图”中的部署图 148
13.4 小结 149
13.5 常见问题解答 149
13.6 小测验和习题 149
13.6.1 小测验 149
13.6.2 习题 149
第 14章 理解包和UML语言基础 150
14.1 包图 150
14.1.1 包的作用 150
14.1.2 包之间的关系 151
14.1.3 合并包 152
14.2 层级 153
14.2.1 一个类比 154
14.2.2 继续 155
14.3 大胆深入 155
14.4 用包表示UML的底层结构 156
14.4.1 Core包 157
14.4.2 Profiles包 158
14.5 回到UML 160
14.5.1 又见4层结构 161
14.5.2 用包表示UML的上层
结构 161
14.6 UML的扩展 163
14.6.1 构造型 163
14.6.2 图形构造型 164
14.6.3 约束 165
14.6.4 标记值 165
14.7 小结 165
14.8 常见问题解答 165
14.9 小测验和习题 166
14.9.1 小测验 166
14.9.2 练习 166
第 15章 在开发过程中运用UML 167
15.1 开发过程方法学:传统的和
现代的 167
15.1.1 传统的开发过程方
法学 167
15.1.2 新的开发过程方法学 168
15.2 开发过程中必须做什么 168
15.3 GRAPPLE 169
15.4 RAD3:GRAPPLE的结构 170
15.4.1 需求收集 171
15.4.2 分析 172
15.4.3 设计 173
15.4.4 开发 174
15.4.5 部署 174
15.5 GRAPPLE总结 175
15.6 小结 175
15.7 常见问题解答 175
15.8 小测验和习题 176
第 二部分 学 习 案 例
第 16章 学习案例介绍 177
16.1 从业务入手 177
16.2 用GRAPPLE开发过程解决
问题 177
16.3 发现业务过程 178
16.3.1 招待一位顾客 178
16.3.2 准备饭菜 185
16.3.3 清理餐桌 186
16.4 吸取的经验教训 186
16.5 小结 187
16.6 常见问题解答 187
16.7 小测验和习题 188
16.7.1 小测验 188
16.7.2 习题 188
第 17章 领域分析 189
17.1 分析业务过程会谈 189
17.2 开发初步类图 190
17.3 对类分组 191
17.4 形成关联 193
17.4.1 Customer参与的关联 193
17.4.2 Server参与的关联 195
17.4.3 Chef参与的关联 197
17.4.4 Busser参与的关联 197
17.4.5 Manager参与的关联 197
17.4.6 其他问题 198
17.5 形成聚集和组成 199
17.6 填充类的信息 200
17.6.1 Customer类 200
17.6.2 Employee类 200
17.6.3 Check类 202
17.7 有关模型的一些问题 202
17.7.1 模型词典 202
17.7.2 模型图的组织 202
17.8 吸取的经验教训 203
17.9 小结 203
17.10 常见问题解答 203
17.11 小测验和习题 203
17.11.1 小测验 204
17.11.2 习题 204
第 18章 收集系统需求 205
18.1 开发系统的映像 207
18.2 收集系统需求 211
18.3 需求联合应用开发会议 211
18.4 结果 214
18.5 下一步该做什么 216
18.6 小结 216
18.7 常见问题解答 216
18.8 小测验和习题 217
18.8.1 小测验 217
18.8.2 习题 217
第 19章 开发用例 218
19.1 分析和描述用例 218
19.2 用例分析 218
19.3 Server包 219
19.3.1 用例“Take an Order” 220
19.3.2 用例“Transmit the Order
to the Kitchen” 220
19.3.3 用例“Change an
Order” 221
19.3.4 用例“Track Order
Status” 221
19.3.5 用例“Notify Chef about
Party Status” 222
19.3.6 用例“Total Up a
Check” 223
19.3.7 用例“Print a Check” 223
19.3.8 用例“Summon
an Assistant” 224
19.3.9 其余的用例 225
19.4 系统中的构件 225
19.5 小结 226
19.6 常见问题解答 226
19.7 小测验和习题 227
19.7.1 小测验 227
19.7.2 习题 227
第 20章 交互 228
20.1 系统中的工作部件 228
20.1.1 Server包 228
20.1.2 Chef包 229
20.1.3 Busser包 229
20.1.4 Assistant Server包 229
20.1.5 Assistant Chef包 229
20.1.6 Bartender Chef包 230
20.1.7 Coat-Check Clerk包 230
20.2 系统中的交互 230
20.2.1 用例“Take an Order” 230
20.2.2 用例“Change an
Order” 232
20.2.3 用例“Track Order
Status” 233
20.3 结论 234
20.4 小结 234
20.5 常见问题解答 235
20.6 小测验和习题 235
20.6.1 小测验 235
20.6.2 习题 236
第 21章 设计外观、感觉和部署 237
21.1 GUI设计的一般原则 237
21.2 用于GUI设计的 JAD
Session 239
21.3 从用例到用户界面 239
21.4 用于GUI设计的UML图 241
21.5 描绘出系统的部署 242
21.5.1 网络 242
21.5.2 节点和系统部署图 243
21.6 下一步 244
21.7 听听项目的发起人怎么说 244
21.7.1 扩展销售区的地理
范围 244
21.7.2 扩展餐馆的地理范围 245
21.8 小结 246
21.9 常见问题解答 246
21.10 小测验和习题 247
21.10.1 小测验 247
21.10.2 习题 247
第 22章 理解设计模式 248
22.1 参数化 248
22.2 设计模式 250
22.3 职责链模式 251
22.3.1 职责链模式:餐馆
领域 252
22.3.2 职责链模式:Web浏览
器事件模型 253
22.4 我们自己的设计模式 254
22.5 使用设计模式的好处 256
22.6 小结 256
22.7 常见问题解答 257
22.8 小测验和习题 257
22.8.1 小测验 257
22.8.2 习题 257
第三部分 高 级 应 用
第 23章 嵌入式系统建模 258
23.1 回到餐馆 258
23.2 发明之母 258
23.3 研制GetAGrip
UML基础、案例与应用(第3版 修订版) 电子书 下载 mobi epub pdf txt