UML2软件建模入门与提高

UML2软件建模入门与提高
作 者: 李勇 杨晓军
出版社: 清华大学出版社
丛编项: 软件入门与提高丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 计算机/网络 软件工程/开发项目管理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《UML2软件建模入门与提高》作者简介

内容简介

本书从初学者的角度出发,由浅入深、循序渐进地介绍统一建模语言UML的相关知识,书中提供了大量操作UML的示例。另外,还向读者提供了很多实战案例和上机练习,用于演练。本书共分为16章,内容包括面向对象思想和软件建模分类,UML发展历史、组成元素、体系结构、建模流程和应用领域,常用的UML建模工具,用例图、类图、对象图和包图、状态机图、活动图、顺序图和时间图、通信图和交互概览图、组件图和部署图,UML到关系型数据库的映射,UML与统一过程,UML与Java语言的映射,以及UML与设计模式等。最后一章提供了一个综合的案例。本书示例新颖,内容丰富,涉及面广泛,适合所有的UML初学者学习,也可以帮助有基础知识的读者提高创建UML模型图的技能。另外,对于大中专学生和培训班的学生来说,本书更是一本不可多得的教材和自学用书。

图书目录

第1章 面向对象和软件建模 1

 1.1 模型 2

 1.2 面向对象的思想 3

  1.2.1 了解面向对象 3

  1.2.2 面向对象的三大要素 5

  1.2.3 面向对象的三大模型 7

  1.2.4 面向对象的常用三层 8

  1.2.5 面向对象的开发方法 10

 1.3 软件建模 11

  1.3.1 软件建模概述 11

  1.3.2 建模的三要素 11

  1.3.3 面向对象建模 12

 1.4 建模分类 14

  1.4.1 业务建模 14

  1.4.2 数据建模 16

  1.4.3 应用程序建模 16

 1.5 思考与练习 17

第2章 UML入门基础 19

 2.1 UML概述 20

  2.1.1 UML简介 20

  2.1.2 UML发展历史 21

  2.1.3 UML的目标 22

 2.2 UML的基本组成 23

  2.2.1 建模元素 23

  2.2.2 关系 26

  2.2.3 图 28

  2.2.4 规则 30

  2.2.5 通用机制 31

  2.2.6 UML标准通用机制 34

 2.3 UML其他内容 40

  2.3.1 UML的体系结构 40

  2.3.2 UML建模流程 41

  2.3.3 UML的应用领域 42

 2.4 UML 2.0概述 42

 2.5 思考与练习 44

第3章 UML建模工具 45

 3.1 使用建模工具需知 46

  3.1.1 建模工具的作用 46

  3.1.2 选择建模工具的方法 47

  3.1.3 常用建模工具 48

 3.2 Visio 2010 49

  3.2.1 Visio 2010简介 49

  3.2.2 实战——绘制论坛系统的用例图 51

 3.3 Enterprise Architect 8 54

  3.3.1 Enterprise Architect 8简介 54

  3.3.2 实战——绘制论坛系统的类图 57

 3.4 PowerDesigner 16.5 61

  3.4.1 PowerDesigner简介 62

  3.4.2 实战——安装

  PowerDesigner 16.5 63

  3.4.3 实战——绘制活动图 65

  3.4.4 实战——生成模型报告 68

  3.4.5 实战——对MySQL进行反向工程 70

 3.5 思考与练习 73

第4章 用例图 75

 4.1 用例图简介 76

 4.2 用例图的构成 78

  4.2.1 系统 78

  4.2.2 参与者 79

  4.2.3 用例 79

  4.2.4 关系 80

 4.3 使用参与者 81

  4.3.1 参与者的确定 81

  4.3.2 参与者的使用 82

 4.4 用例的使用 83

  4.4.1 识别用例 83

  4.4.2 用例描述 87

 4.5 关系 88

  4.5.1 关联关系 88

  4.5.2 泛化关系 89

  4.5.3 包含关系 90

  4.5.4 扩展关系 91

 4.6 实战——图书馆管理系统用例图 92

 4.7 思考与练习 97

第5章 类图 101

 5.1 类图和元素 102

  5.1.1 类图概述 102

  5.1.2 类 104

  5.1.3 抽象类 109

  5.1.4 接口 109

 5.2 依赖关系 110

  5.2.1 依赖关系概述 110

  5.2.2 依赖关系分类 111

 5.3 关联关系 113

  5.3.1 关联关系概述 113

  5.3.2 常见的关联 118

  5.3.3 聚合关联 121

  5.3.4 组合关联 122

  5.3.5 建立关联 123

 5.4 泛化关系 123

  5.4.1 泛化关系概述 124

  5.4.2 常用的泛化 125

  5.4.3 泛化集 126

  5.4.4 泛化约束 127

 5.5 实现关系 128

 5.6 类图建模步骤 130

 5.7 实战——构建病房监护系统的类型 131

 5.8 思考与练习 133

第6章 对象图和包图 137

 6.1 了解对象 138

  6.1.1 对象概述 138

  6.1.2 对象符号 139

 6.2 对象图 142

  6.2.1 对象图概述 142

  6.2.2 绘制和阅读对象图 143

  6.2.3 使用对象图建模 144

 6.3 对象图和类图 144

 6.4 实战——绘制订单管理系统的对象图 145

 6.5 了解包 146

  6.5.1 包概述 146

  6.5.2 包的符号 147

 6.6 包图 149

  6.6.1 包图概述 149

  6.6.2 包图分类 150

  6.6.3 包导入和包合并 152

  6.6.4 使用包图建模 154

  6.6.5 包图设计原则 154

 6.7 实战——绘制剧院系统的包图 157

 6.8 思考与练习 159

第7章 状态机图 161

 7.1 状态机图简介 162

  7.1.1 状态机概述 162

  7.1.2 状态机标记 163

  7.1.3 状态类型 165

  7.1.4 状态机图的应用 166

 7.2 转移 167

  7.2.1 转移简介 167

  7.2.2 事件 168

  7.2.3 动作 170

  7.2.4 活动与延迟事件 171

  7.2.5 转移的类型 172

 7.3 组合状态 174

  7.3.1 顺序状态 174

  7.3.2 并发状态 174

  7.3.3 同步状态 175

  7.3.4 历史状态 175

  7.3.5 子状态机引用 176

 7.4 实战——自动存取款系统状态机图 178

 7.5 思考与练习 180

第8章 活动图 181

 8.1 活动图的基本概念 182

  8.1.1 活动图的定义 182

  8.1.2 活动图的作用 182

  8.1.3 活动图的主要元素 183

  8.1.4 理解活动与动作 184

  8.1.5 活动图与状态图的区别 186

 8.2 活动图的元素详解 186

  8.2.1 动作状态 186

  8.2.2 活动状态 186

  8.2.3 开始和结束状态 187

  8.2.4 分支与合并 188

  8.2.5 分叉与汇合 190

  8.2.6 对象流 191

  8.2.7 泳道 192

 8.3 活动转换 193

  8.3.1 转移 193

  8.3.2 判定 194

  8.3.3 发送和接收信号动作 195

  8.3.4 事件和触发器 195

  8.3.5 可中断区间 196

  8.3.6 异常 197

 8.4 实战——活动图的应用 198

 8.5 思考与练习 200

第9章 顺序图和时间图 203

 9.1 顺序图简介 204

 9.2 顺序图的构成 205

  9.2.1 对象 205

  9.2.2 生命线和激活期 208

  9.2.3 消息 209

  9.2.4 序号 210

  9.2.5 参数 212

  9.2.6 激活期规范 213

 9.3 消息类型 217

  9.3.1 同步消息 217

  9.3.2 异步消息 218

  9.3.3 反身消息 219

  9.3.4 接收发送消息 220

  9.3.5 消息分支和从属流 220

 9.4 组合片段 222

  9.4.1 组合片段简介 222

  9.4.2 选项组合片段 224

  9.4.3 备选组合片段 225

  9.4.4 循环组合片段 226

  9.4.5 引用组合片段 227

 9.5 时间图 228

  9.5.1 时间图概述 228

  9.5.2 时间图的构成 229

  9.5.3 时间约束 234

  9.5.4 替代表示法 235

 9.6 实战——团购系统顺序图 236

 9.7 思考与练习 241

第10章 通信图和交互概览图 245

 10.1 通信图简介 246

  10.1.1 通信图概述 246

  10.1.2 对象与类角色 247

  10.1.3 关联角色与链接 248

  10.1.4 消息 250

 10.2 消息序号和控制点 251

  10.2.1 消息序号 252

  10.2.2 消息控制点 252

 10.3 创建对象 253

 10.4 消息迭代 253

  10.4.1 对象的迭代 254

  10.4.2 消息的迭代 254

 10.5 交互图 255

 10.6 交互概览图 256

  10.6.1 交互概览图简介 256

  10.6.2 绘制交互概览图 257

 10.7 实战——在线报考系统的交互图 257

 10.8 思考与练习 259

第11章 绘制UML的实现图 261

 11.1 了解组件 262

  11.1.1 组件概述 262

  11.1.2 组件的符号 262

 11.2 组件图 265

  11.2.1 组件图概述 265

  11.2.2 组件间的关系 267

  11.2.3 组件图和类图 268

  11.2.4 实战——绘制组件图 268

 11.3 使用组件图建模 269

  11.3.1 对源代码建模 270

  11.3.2 对可执行体的发布建模 270

  11.3.3 对物理数据库建模 271

  11.3.4 对可适应的系统建模 272

 11.4 了解节点 272

  11.4.1 节点的符号 272

  11.4.2 节点和组件的区别 273

 11.5 部署图 274

  11.5.1 部署图概述 274

  11.5.2 部署图的关系 275

  11.5.3 实战——绘制部署图 276

 11.6 使用部署图建模 278

  11.6.1 对嵌入式系统建模 278

  11.6.2 对客户/服务器建模 279

  11.6.3 对全分布式系统建模 280

 11.7 思考与练习 281

第12章 UML到关系型数据库的映射 285

 12.1 关系型数据库与UML模型 286

  12.1.1 关系型数据库管理系统 286

  12.1.2 UML模型 286

 12.2 基本结构映射 287

  12.2.1 主键的生成 287

  12.2.2 属性类型到域的映射 288

  12.2.3 属性到列的映射 289

 12.3 泛化关系的映射 289

  12.3.1 所有类的映射 289

  12.3.2 除无属性外类的映射 291

  12.3.3 父类属性下移 291

  12.3.4 子类属性上移 292

  12.3.5 映射方法比较 293

 12.4 关联关系的映射 294

  12.4.1 一对一关联的映射 294

  12.4.2 零或一对一关联的映射 295

  12.4.3 一对多关联的映射 295

  12.4.4 多对多关联的映射 297

  12.4.5 聚合和组合关系的映射 298

  12.4.6 映射时应避免的情况 298

 12.5 完整性与约束检查 299

  12.5.1 父表的约束 300

  12.5.2 子表的约束 301

 12.6 其他相关问题 302

  12.6.1 存储过程 302

  12.6.2 触发器 302

  12.6.3 索引 303

 12.7 实战——软件公司UML模型的映射 303

 12.8 思考与练习 305

第13章 UML与统一过程 309

 13.1 软件开发过程简介 310

 13.2 定义和理解软件工程的过程 311

 13.3 软件成熟标准:CMM 311

  13.3.1 使用CMM的意义 311

  13.3.2 CMM等级 312

  13.3.3 CMM框架 314

  13.3.4 CMM结构 315

 13.4 RUP简介 316

  13.4.1 使用RUP的意义 316

  13.4.2 什么是RUP 317

  13.4.3 RUP的特点 318

  13.4.4 RUP六大开发经验 320

 13.5 RUP二维开发模型 321

  13.5.1 时间维 322

  13.5.2 RUP的静态结构 324

 13.6 RUP工作流程 326

  13.6.1 初始阶段 326

  13.6.2 细化阶段 327

  13.6.3 构造阶段 328

  13.6.4 交付阶段 329

 13.7 RUP的核心工作流 329

  13.7.1 商业建模 329

  13.7.2 需求 329

  13.7.3 分析和设计 331

  13.7.4 实现 332

  13.7.5 测试 332

  13.7.6 部署 333

  13.7.7 配置和变更管理 333

  13.7.8 项目管理 334

  13.7.9 环境 334

 13.8 如何在过程中使用UML 334

  13.8.1 以架构为中心 334

  13.8.2 用例驱动 335

  13.8.3 UML对迭代开发的支持 335

  13.8.4 UML图与工作流程之间的关系 336

 13.9 思考与练习 336

第14章 UML与Java语言映射 339

 14.1 模型映射为Java的实现 340

  14.1.1 转换为Java类 340

  14.1.2 转换原则 341

 14.2 实现常见关联 342

  14.2.1 基本关联 342

  14.2.2 强制对可选或者强制关联 343

  14.2.3 可选对可选关联 344

  14.2.4 可选对多关联 345

  14.2.5 强制对多关联 346

  14.2.6 多对多关联 346

  14.2.7 关联类的实现 347

  14.2.8 聚合关联的实现 348

  14.2.9 组合关联的实现 348

 14.3 实现泛化 349

 14.4 特殊模型的映射 350

  14.4.1 包 350

  14.4.2 接口 350

  14.4.3 枚举 352

 14.5 实战——类图与Java的工程化 352

  14.5.1 正向工程 352

  14.5.2 逆向工程 355

 14.6 思考与练习 357

第15章 UML与设计模式 359

 15.1 了解模式 360

 15.2 软件设计模式 360

  15.2.1 了解设计模式 360

  15.2.2 设计模式的诞生 362

  15.2.3 设计模式的原则 363

  15.2.4 设计模式的分类 364

 15.3 设计模式的元素 366

  15.3.1 关键元素 366

  15.3.2 其他元素 367

 15.4 创建型模式 367

  15.4.1 了解创建型模式 368

  15.4.2 简单工厂模式 368

  15.4.3 工厂方法模式 372

  15.4.4 抽象工厂模式 375

  15.4.5 单例模式 380

  15.5 结构型模式 384

 15.5.1 了解结构型模式 384

  15.5.2 适配器模式 385

  15.5.3 外观模式 388

 15.6 观察者模式 390

  15.6.1 了解观察者模式 390

  15.6.2 实战——自定义观察者模式 391

 15.7 思考与练习 393

第16章 即时通信系统 395

 16.1 系统建模概述 396

  16.1.1 系统开发的背景 396

  16.1.2 系统建模的基本步骤 396

  16.2 系统分析 397

  16.2.1 系统结构 397

  16.2.2 需求分析 398

 16.3 用例图 398

  16.3.1 确定参与者 399

  16.3.2 确定用例 399

  16.3.3 绘制系统用例图 400

 16.4 静态图 402

  16.4.1 即时通信类 402

  16.4.2 即时通信类图 404

 16.5 行为图 405

  16.5.1 行为分析 405

  16.5.2 用户聊天的活动图 406

  16.5.3 可疑言论处理活动图 406

 16.6 交互图 408

  16.6.1 用户登录顺序图 408

  16.6.2 离线消息顺序图 409

  16.6.3 言论处理顺序图 409

  16.6.4 在线通信顺序图 410

  16.6.5 交互概览图 411

 16.7 组件图 412

附录 各章思考与练习答案 415