UML基础、案例与应用

UML基础、案例与应用
作 者: Joseph Schmuller 李虎 赵龙刚
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 面向对象语言 程序设计
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《UML基础、案例与应用》作者简介

内容简介

本书教读者循序渐进地、系统地学习UML基础知识和应用技术。和前一版相比,本书内容根据UML 2.0进行了补充和更新,随书光盘包含了建模工具Poseidon的试用版。全书分为三部分24章。第一部分“基础知识”包括第1章到第15章,主要是介绍UML语言的基础知识以及面向对象的概念和思想,还简单介绍了UML在开发过程的应用方法。第二部分“学习案例”包括第16章到第22章,结合实例详细分析了UML的应用方法与技巧,还介绍了UML在热点领域设计模式中的应用。第三部分“高级应用”包括最后两章,先是运用UML来描述设计模式和嵌入式系统,然后讨论UML在其他领域的应用前景。附录给出了每章的小测验答案,介绍了使用Microsoft Visio专业版绘制常用UML图的方法步骤,还对常用UML图进行了总结。本书适用于从事面向对象软件开发的软件工程人员,也特别适合UML的初中级学习者。

图书目录

第一部分 基础知识

第1章 UML简介 3

1.1 在纷繁复杂中寻求解决问题的办法 3

1.2 UML的诞生 4

1.3 UML的组成 5

1.3.1 类图 5

1.3.2 对象图 6

1.3.3 用例图 7

1.3.4 状态图 7

1.3.5 顺序图 8

1.3.6 活动图 10

1.3.7 协作图 11

1.3.8 构件图 11

1.3.9 部署图 12

1.4 其他特征 12

1.4.1 注释 13

1.4.2 关键字和构造型 13

1.5 UML 2.0中的新图 14

1.5.1 组成结构图 14

1.5.2 交互纵览图 15

1.5.3 时序图 16

1.5.4 有创新也有保留的包图 16

1.6 为什么需要这么多种图 17

1.7 这不仅仅是一系列图 17

1.8 小 结 18

1.9 常见问题解答 18

1.10 小测验和习题 19

1.10.1 小测验 19

1.10.2 习题 19

第2章 理解面向对象 21

2.1 无处不在的对象 21

2.2 一些面向对象的概念 23

2.2.1 抽象 23

2.2.2 继承 24

2.2.3 多态性 25

2.2.4 封装 25

2.2.5 消息传递 26

2.2.6 关联 27

2.2.7 聚集 29

2.3 意 义 30

2.4 小 结 31

2.5 常见问题解答 31

2.6 小测验和习题 31

2.6.1 小测验 32

第3章 运用面向对象 33

3.1 类的可视化表示 33

3.2 属 性 34

3.3 操 作 35

3.4 属性、操作和可视化表达 36

3.5 职责和约束 37

3.6 附加注释 39

3.7 类——应该做什么和如何识别它们 39

3.8 小 结 41

3.9 常见问题解答 41

3.10 小测验和习题 42

3.10.1 小测验 42

3.10.2 习 题 42

第4章 关 系 44

4.1 关 联 44

4.1.1 关联上的约束 45

4.1.2 关联类 46

4.1.3 链 46

4.2 多重性 47

4.3 限定关联 48

4.4 自身关联 49

4.5 继承和泛化 49

4.5.1 找出继承关系 50

4.5.2 抽象类 51

4.6 依 赖 51

4.7类图和对象图 52

4.8 小 结 54

4.9 常见问题解答 54

4.10 小测验和习题 55

4.10.1 小测验 55

4.10.2 习 题 55

第5章 聚集、组成、接口和实现 57

5.1 聚 集 57

5.1.1聚集上的约束 58

5.2 组 成 58

5.3 组成结构图 59

5.4 接口和实现 59

5.5 接口和端口 62

5.5.1 可见性 62

5.5.2 作用域 63

5.6 小 结 63

5.7 常见问题解答 64

5.8 小测验和习题 64

5.8.1 小测验 64

5.8.2 习 题 64

第6章 介绍用例 66

6.1 什么是用例 66

6.2 用例的重要性 67

6.3 举例:饮料销售机 67

6.3.1 用例“买饮料” 67

6.3.2 其他用例 68

6.4 包含用例 69

6.5 扩展用例 70

6.6 开始用例分析 71

6.7 小 结 71

6.8 常见问题解答 71

6.9 小测验和习题 72

6.9.1 小测验 72

6.9.2 习 题 72

第7章 用例图 73

7.1 用例模型的表示法 73

7.1.1 回顾饮料销售机 74

7.1.2 跟踪场景中的步骤 74

7.2 用例之间关系的可视化表示 75

7.2.1 包 含 75

7.2.2 扩 展 76

7.2.3 泛 化 77

7.2.4 分 组 78

7.3 用例图在分析过程中的作用 78

7.4 运用用例模型:举例 78

7.4.1 理解领域 79

7.4.2 理解用户 79

7.4.3 理解用例 80

7.4.4 进一步深入 80

7.5 “清查存货” 82

7.5.1 结构元素 83

7.5.2 关 系 83

7.5.3 分 组 83

7.5.4 注 释 83

7.5.5 扩 展 83

7.5.6 其 他 83

7.6 UML“大图” 84

7.7 小 结 84

7.8 常见问题解答 85

7.9 小测验和习题 85

7.9.1 小测验 85

7.9.2 习 题 86

第8章 状态图 87

8.1 什么是状态图 87

8.1.1 基本符号集 88

8.1.2 在状态图标中增加细节 88

8.1.3 增加转移的细节:事件和动作 89

8.1.4 增加转移的细节:保护条件 90

8.2 子状态 90

8.2.1 顺序子状态 90

8.2.2 并发子状态 91

8.3 历史状态 92

8.4 UML 2.0中的新变化 92

8.5 为什么状态图很重要 93

8.6 UML“大图” 93

8.7 小 结 94

8.8 常见问题解答 95

8.9 小测验和习题 95

8.9.1 小测验 95

8.9.2 习 题 95

第9章 顺序图 96

9.1 什么是顺序图 96

9.1.1 对 象 96

9.1.2 消 息 96

9.1.3 时 间 97

9.2 汽车和车钥匙 98

9.2.1 类图 98

9.2.2 顺序图 99

9.3 饮料销售机 100

9.4 顺序图:一般顺序图 103

9.5 在消息序列中创建对象实例 104

9.6 帧化顺序图:UML 2.0中的顺序图 106

9.6.1 交互事件 107

9.6.2 交互片段的组合 108

9.7 UML“大图” 110

9.8 小 结 110

9.9 常见问题解答 111

9.10 小测验和习题 111

9.10.1 小测验 111

9.10.2 习 题 111

第10章 协作图 113

10.1 什么是协作图 113

10.2 汽车和车钥匙 114

10.2.1 状态变化和消息嵌套 115

10.3 饮料销售机 117

10.4 创建对象 118

10.5 编号的一点注意事项 119

10.6 其他概念 119

10.6.1 发送给多对象的消息 119

10.6.2 返回结果 120

10.6.3 主动对象 120

10.6.4 同 步 121

10.7 UML大图 122

10.8 小 结 123

10.9 常见问题解答 124

10.10 小测验和习题 124

10.10.1 小测验 124

10.10.2 习 题 124

第11章 活动图 125

11.1 基础:什么是活动图 125

11.1.1 判 定 126

11.1.2 并发路径 126

11.1.3 信 号 127

11.2 活动图的应用 127

11.2.1 过程:创建一个文档 127

11.3 泳 道 128

11.4 混合图 130

11.5 UML 2.0中的新概念 131

11.5.1 一个活动的对象 131

11.5.2 处理异常 132

11.5.3 活动的析构 133

11.5.4 标记时间并结束流程 134

11.5.5 特殊影响 135

11.6 对一个交互的纵览 136

11.7 UML大图 139

11.8 小 结 140

11.8 常见问题解答 140

11.9 小测验和习题 141

11.9.1 小测验 141

11.9.2 习 题 141

第12章 构件图 142

12.1 什么是构件 142

12.2 构件和接口 142

12.2.1 回顾接口 143

12.2.2 替换和复用 143

12.3 什么是构件图 144

12.3.1 在UML 1.x和UML 2.0中表示一个构件 144

12.3.2 接口表示法 145

12.3.3 黑盒和白盒 146

12.4 应用构件图 146

12.5 UML“大图”中的构件图 150

12.6 小 结 151

12.7 常见问题解答 152

12.8 小测验和习题 152

12.8.1 小测验 152

12.8.2 习 题 152

第13章 部署图 153

13.1 什么是部署图 153

13.2 应用部署图 155

13.2.1 家用计算机系统 155

13.2.2 令牌环网 156

13.2.3 ARCnet 157

13.2.4 细缆以太网 158

13.2.5 Ricochet无线网 159

13.3 UML“大图”中的部署图 160

13.4 小 结 161

13.5 常见问题解答 161

13.6 小测验和习题 161

13.6.1 小测验 161

13.6.3 习 题 161

第14章 理解包和UML语言基础 162

14.1 包图 162

14.1.1 包的作用 162

14.1.2 包之间的关系 163

14.1.3 合并包 164

14.2 层级 165

14.2.1 一个类比 166

14.2.2 继续 167

14.3 大胆深入 167

14.4 用包表示UML的底层结构 168

14.4.1 Core包 169

14.4.2 Profiles包 170

14.5 回到UML 172

14.5.1 又见4层结构 172

14.5.2 用包表示UML的上层结构 173

14.6 UML的扩展 175

14.6.1 构造型 175

14.6.2 图形构造型 176

14.6.3 约 束 177

14.6.4 标签值 177

14.7 小 结 177

14.8 常见问题解答 177

14.9 小测验和习题 178

14.9.1 小测验 178

14.9.2 练习 178

第15章 在开发过程中运用UML 179

15.1 开发过程方法学:传统的和现代的 179

15.1.1 传统的开发过程方法学 179

15.1.2 新的开发过程方法学 180

15.2 开发过程中必须做什么 181

15.3 GRAPPLE 182

15.4 RAD3:GRAPPLE的结构 182

15.4.1 需求收集 183

15.4.2 分 析 184

15.4.3 设 计 185

15.4.4 开 发 186

15.4.5 部 署 186

15.5 GRAPPLE总结 187

15.6 小 结 187

15.7 常见问题解答 188

15.8 小测验和习题 188

15.8.1 小测验 188

第二部分 学习案例

第16章 学习案例介绍 191

16.1从业务入手 191

16.1 用GRAPPLE开发过程解决问题 191

16.3 发现业务过程 192

16.3.1 招待一位顾客 192

16.3.2 准备饭菜 199

16.3.3 清理餐桌 200

16.4 吸取的经验教训 201

16.5小结 202

16.6 常见问题解答 202

16.7 小测验和习题 202

16.7.1 小测验 203

16.7.2 习 题 203

第17章 领域分析 204

17.1 分析业务过程会谈 204

17.2 开发初步类图 205

17.3 对类分组 207

17.4 形成关联 208

17.4.1 Customer参与的关联 208

17.4.2 Server参与的关联 211

17.4.3 Chef参与的关联 212

17.4.4 Busser参与的关联 213

17.4.5 Manager参与的关联 213

17.4.6 其他问题 214

17.5 形成聚集和组成 214

17.6 填充类的信息 215

17.6.1 Customer类 216

17.6.2 Employee类 216

17.6.3 Check类 217

17.7 有关模型的一些问题 218

17.7.1 模型词典 218

17.7.2 模型图的组织 218

17.8 吸取的经验教训 218

17.9 小  结 219

17.10 常见问题解答 219

17.11 小测验和习题 219

17.11.1 小测验 219

17.11.2 习  题 220

第18章 收集系统需求 221

18.1 开发系统的映像 223

18.2 收集系统需求 228

18.3 需求联合应用开发会议 228

18.4 结 果 230

18.5 下一步该做什么 233

18.6 小 结 233

18.7 常见问题解答 233

18.8 小测验和习题 233

18.8.1 小测验 233

18.8.2 习题 234

第19章 开发用例 235

19.1 分析和描述用例 235

19.2 用例分析 236

19.3 Server包 236

19.3.1 用例“Take an Order” 237

19.3.2 用例“Transmit the Order to the Kitchen” 237

19.3.3 用例“Change an Order” 238

19.3.4 用例“Track Order Status” 238

19.3.5 用例“Notify Chef about Party Status” 239

19.3.6 用例“Total Up a Check” 240

19.3.7 用例“Print a Check” 240

19.3.8 用例“Summon an Assistant” 241

19.3.9 其余的用例 242

19.4 系统中的构件 242

19.5 小 结 243

19.6 常见问题解答 243

19.7 小测验和习题 244

19.7.1 小测验 244

19.7.2 习 题 244

第20章 交互 245

20.1 系统中的工作部件 245

20.1.1 Server包 245

20.1.2 Chef包 246

20.1.3 Busser包 246

20.1.4 Assistant Server包 246

20.1.5 Assistant Chef包 246

20.1.6 Bartender Chef包 246

20.1.7 Coat-Check Clerk包 247

20.2 系统中的交互 247

20.2.1 用例“Take an Order” 247

20.2.2 用例“Change an Order” 249

20.2.3 用例“Track Order Status” 250

20.3 结 论 251

20.4 小 结 251

20.5 常见问题解答 252

20.6 小测验和习题 252

20.6.1 小测验 252

20.6.2 习 题 253

第21章 设计外观、感觉和部署 254

21.1 GUI设计的一般原则 254

21.2 用于GUI设计的 JAD Session 256

21.3 从用例到用户界面 256

21.4 用于GUI设计的UML图 259

21.5 描绘出系统的部署 259

21.5.1 网络 260

21.5.2 节点和系统部署图 260

21.6 下一步 261

21.7 听听项目的发起人怎么说 262

21.7.1 扩展销售区的地理范围 262

21.7.2 扩展餐馆的地理范围 263

21.8 小 结 263

21.9 常见问题解答 264

21.10 小测验和习题 265

21.10.1 小测验 265

21.10.2 习 题 265

第22章 理解设计模式 266

22.1 参数化 266

22.2 设计模式 268

22.3 职责链模式 269

22.3.1 职责链模式:餐馆领域 270

22.3.2 职责链模式:Web浏览器事件模型 271

22.4 我们自己的设计模式 272

22.5 使用设计模式的好处 274

22.6 小 结 274

22.7 常见问题解答 275

22.8 小测验和习题 275

22.8.1 小测验 275

22.8.2 习 题 275

第三部分 高级应用

第23章 嵌入式系统建模 278

23.1 回到餐馆 278

23.2 发明之母 278

23.3 研制GetAGrip 279

23.4 什么是嵌入式系统 281

23.5 嵌入式系统中的基本概念 281

23.5.1 时间 281

23.5.2 线程 281

23.5.3 中断 282

23.5.4 操作系统 283

23.6 对GetAGrip系统建模 286

23.6.1 类 286

23.6.2 用 例 287

23.6.3 交 互 288

23.6.4 整体状态变化 290

23.6.5 整体部署 291

23.7 锻炼肌肉 291

23.8 小 结 292

23.9 常见问题解答 292

23.10 小测验和习题 293

23.10.1 小测验 293

23.10.2 习 题 293

第24章 描绘UML的未来 294

24.1 在业务领域的扩展 294

24.2 从业务领域的扩展得到的经验 295

24.3 图形用户界面 295

24.3.1 连接到用例 295

24.3.2 GUI建模 296

24.4 专家系统 297

24.4.1 专家系统的构件 297

24.4.2 举 例 299

24.4.3 知识库建模 300

24.5 Web应用 302

24.6 就写到这里吧 304

24.7 小 结 304

24.8 常见问题解答 305

24.9 小测验和习题 305

24.8.1 小测验 305

24.9.2 习 题 305

第四部分 附 录

附录A 小测验答案 308

第1章 308

第2章 308

第3章 309

第4章 309

第5章 309

第6章 310

第7章 310

第8章 311

第9章 311

第10章 311

第11章 312

第12章 312

第13章 313

第14章 313

第15章 313

第16章 314

第17章 314

第18章 314

第19章 315

第20章 315

第21章 315

第22章 316

第23章 316

第24章 316

附录B UML建模工具 317

B1 建模工具的特点 317

B2 通过Visio专业版使用UML 317

B2.1 开始 319

B2.2 类图 320

B.2.3 对象图 330

顺序图 334

B3 其他建模工具简介 339

Rational Rose 339

Select Component Architect 339

Visual UML 340

附录C UML图总结 341

C1 活动图 341

C2 类图 343

C3 协作图 344

C4 构件图 345

C5 组成结构图 345

C6 部署图 346

C7 对象图 346

C8 包图 347

C9 参数化协作图 347

C10 顺序图 348

C11 状态图 349

C12 时间图 350

C13 用例图 350