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
封面
书名:UML2软件建模入门与提高-全新改版
作者:李勇
页数:419
定价:¥56.0
出版社:清华大学出版社
出版日期:2015-01-01
ISBN:9787302386100
PDF电子书大小:147MB 高清扫描完整版