| 大象——ThinkinginUML(第二版) | ||
| 定价 | 68.00 | |
| 出版社 | 中国水利水电出版社 | |
| 版次 | 2 | |
| 出版时间 | 2012年03月 | |
| 开本 | 16开 | |
| 作者 | 谭云杰 | |
| 装帧 | 平装 | |
| 页数 | 0 | |
| 字数 | 0 | |
| ISBN编码 | 9787508492346 | |
Part I 你需要了解
第1章 为什么需要UML
1.1 面向过程还是面向对象
1.1.1 面向过程方法
1.1.2 面向过程的困难
1.1.3 面向对象方法
1.1.4 面向对象的困难
1.2 UML带来了什么
1.2.1 什么是UML
1.2.2 统一语言
1.2.3 可视化
1.2.4 从现实世界到业务模型
1.2.5 从业务模型到概念模型
1.2.6 从概念模型到设计模型
1.2.7 面向对象的困难解决了吗
1.3 统一过程简介
1.3.1 RUP是什么
1.3.2 RUP与UML
1.3.3 RUP与软件工程
1.3.4 RUP与实践
1.3.5 RUP与本书
第2章 建模基础
2.1 建模
2.2 用例驱动
2.3 抽象层次
2.4 视图
2.5 对象分析方法
Part II 在学习中思考
第3章 UML核心元素
3.1 版型
3.2 参与者
3.2.1 基本概念
3.2.2 发现参与者
3.2.3 业务主角
3.2.4 业务工人
3.2.5 参与者与涉众的关系
3.2.6 参与者与用户的关系
3.2.7 参与者与角色的关系
3.2.8 参与者的核心地位
3.2.9 检查点
3.3 用例
3.3.1 基本概念
3.3.2 用例的特征
3.3.3 用例的粒度
3.3.4 用例的获得
3.3.5 用例和功能的误区
3.3.6 目标和步骤的误区
3.3.7 用例粒度的误区
3.3.8 业务用例
3.3.9 业务用例实现
3.3.10 概念用例
3.3.11 系统用例
3.3.12 用例实现
3.4 边界
3.4.1 边界决定视界
3.4.2 边界决定抽象层次
3.4.3 灵活使用边界
3.5 业务实体
3.5.1 业务实体的属性
3.5.2 业务实体的方法
3.5.3 获取业务实体
3.6 包
3.7 分析类
3.7.1 边界类
3.7.2 控制类
3.7.3 实体类
3.7.4 分析类的三高
3.8 设计类
3.8.1 类
3.8.2 属性
3.8.3 方法
3.8.4 可见性
3.9 关系
3.9.1 关联关系(association)
3.9.2 依赖关系(dependency)
3.9.3 扩展关系(extends)
3.9.4 包含关系(include)
3.9.5 实现关系(realize)
3.9.6 精化关系(refine)
3.9.7 泛化关系(generalization)
3.9.8 聚合关系(aggregation)
3.9.9 组合关系(composition)
3.10 组件
3.10.1 完备性
3.10.2 独立性
3.10.3 逻辑性
3.10.4 透明性
3.10.5 使用组件
3.11 节点
3.11.1 分布式应用环境
3.11.2 多设备应用环境
第4章 UML核心视图
4.1 静态视图
4.1.1 用例图
4.1.2 类图
4.1.3 包图
4.2 动态视图
4.2.1 活动图
4.2.2 状态图
4.2.3 时序图
4.2.4 协作图
第5章 UML核心模型
5.1 用例模型概述
5.2 业务用例模型
5.2.1 业务用例模型主要内容
5.2.2 业务用例模型工件的取舍
5.2.3 何时使用业务用例模型
5.3 概念用例模型
5.3.1 概念用例模型的主要内容
5.3.2 获得概念用例
5.3.3 何时使用概念用例模型
5.4 系统用例模型
5.4.1 系统用例模型的主要内容
5.4.2 获得系统用例
5.5 领域模型
5.5.1 读者须知
5.5.2 基本概念
5.5.3 领域模型的主要内容
5.6 分析模型
5.6.1 如何使用分析模型
5.6.2 分析模型的主要内容
5.6.3 分析模型的意义
5.7 软件架构和框架
5.7.1 软件架构
5.7.2 软件框架
5.7.3 何时使用架构和框架
5.8 设计模型
5.8.1 设计模型的应用场合
5.8.2 设计模型的主要内容
5.8.3 从分析模型映射到设计模型
5.9 组件模型
5.9.1 何时使用组件模型
5.9.2 广义组件的用法
5.10 实施模型
何时使用实施模型
第6章 统一过程核心工作流简介
6.1 业务建模工作流程
6.1.1 工作流程
6.1.2 活动集和工件集
6.1.3 业务建模的目标和场景
6.2 系统建模工作流程
6.2.1 工作流程
6.2.2 活动集和工件集
6.2.3 系统建模的目标
6.3 分析设计建模工作流程
6.3.1 工作流程
6.3.2 活动集和工件集
6.3.3 分析设计的目标
6.3.4 推荐的分析设计工作流程简介
6.4 实施建模工作流程
6.4.1 工作流程
6.4.2 活动集和工件集
6.4.3 推荐的实施建模工作流程
第7章 迭代式软件生命周期
Part III 在实践中思考
第8章 准备工作
8.1 案例说明
8.2 了解问题领域
8.2.1 了解业务概况
8.2.2 整理业务目标
8.3 做好涉众分析
8.3.1 什么是涉众
8.3.2 发现和定义涉众
8.3.3 涉众分析报告
8.4 规划业务范围
8.4.1 规划业务目标
8.4.2 规划涉众期望
8.5 整理好你的思路
8.5.1 划分优先级
8.5.2 规划需求层次
8.5.3 需求调研计划
8.6 客户访谈技巧
8.6.1 沟通的困难
8.6.2 沟通技巧
8.7 提给读者的问题
第9章 获取需求
9.1 定义边界
9.1.1 盘古开天——从混沌走向清晰
9.1.2 现在行动:定义边界
9.1.3 进一步讨论
9.1.4 提给读者的问题
9.2 发现主角
9.2.1 女娲造人——谁来掌管这个世界
9.2.2 现在行动:发现主角
9.2.3 进一步讨论
9.2.4 提给读者的问题
9.3 获取业务用例
9.3.1 炎黄之治——从愚昧走向文明
9.3.2 现在行动:获取业务用例
9.3.3 进一步讨论
9.3.4 提给读者的问题
9.4 业务建模
9.4.1 商鞅变法——强盛的必由之路
9.4.2 现在行动:建立业务模型
9.4.3 进一步讨论
9.4.4 提给读者的问题
9.5 领域建模
9.5.1 风火水土——寻找构成世界的
基本元素
9.5.2 现在行动:建立领域模型
9.5.3 进一步讨论
9.5.4 提给读者的问题
9.6 提炼业务规则
9.6.1 牛顿的思考——揭穿苹果的秘密
9.6.2 现在行动:提炼业务规则
9.6.3 进一步讨论
9.6.4 提给读者的问题
9.7 获取非功能性需求
9.7.1 非物质需求——精神文明是
不可缺少的
9.7.2 现在行动:获取非功能性需求
9.7.3 进一步讨论
9.7.4 提给读者的问题
9.8 主要成果物
提给读者的问题
第10章 需求分析
10.1 关键概念分析
10.1.1 阿基米德杠杆——找到撬动地球的
支点
10.1.2 现在行动:建立概念模型
10.1.3 进一步讨论
10.1.4 提给读者的问题
10.2 业务架构
10.2.1 拼图游戏——我们也想造个世界
10.2.2 现在行动:建立业务架构
10.2.3 进一步讨论
10.2.4 提给读者的问题
10.3 系统原型
第11章 系统分析
11.1 确定系统用例
11.1.1 开始规划——确定新世界的万物
11.1.2 现在行动:确定系统用例
11.1.3 现在行动:描述系统用例
11.1.4 进一步讨论
11.1.5 提给读者的问题
11.2 分析业务规则
11.2.1 设定规则——没有规矩不成方圆
11.2.2 现在行动:分析业务规则
11.2.3 提给读者的问题
11.3 用例实现
11.3.1 绘制蓝图——世界将这样运行
11.3.2 现在行动:实现用例
11.3.3 进一步讨论
11.3.4 提给读者的问题
11.4 软件架构和框架
11.4.1 设计架构——新世界的骨架
11.4.2 什么是软件架构
11.4.3 什么是软件框架
11.4.4 软件架构的基本构成
11.4.5 应用软件架构
11.4.6 提给读者的问题
11.5 分析模型
11.5.1 设计功能零件——让世界初步
运转起来
11.5.2 现在行动:建立分析模型
11.5.3 进一步讨论
11.5.4 提给读者的问题
11.6 组件模型
11.6.1 设计功能部件——构建世界的
基础设施
11.6.2 现在行动:建立组件模型
11.6.3 进一步讨论
11.6.4 提给读者的问题
11.7 部署模型
11.7.1 安装零部件——组装一个新世界
11.7.2 现在行动:建立部署模型
11.7.3 提给读者的问题
第12章 系统设计
12.1 系统分析与系统设计的差别
12.2 设计模型
12.2.1 按图索骥——为新世界添砖加瓦
12.2.2 现在行动:将分析模型映射到
设计模型
12.2.3 进一步讨论
12.2.4 提给读者的问题
12.3 接口设计
12.3.1 畅通无阻——构建四通八达的
神经网络
12.3.2 现在行动:设计接口
12.3.3 进一步讨论
12.3.4 提给读者的问题
12.4 包设计
12.4.1 分工合作——组织有序世界
才能更好
12.4.2 现在行动:设计包
12.4.3 进一步讨论
12.5 提给读者的问题
第13章 数据库设计
13.1 关公战秦琼——面向对象与关系
模型之争
13.2 相辅相成——面向对象的数据库设计
13.3 平衡的艺术——数据库设计的方法
和策略
13.3.1 OR-Mapping策略
13.3.2 对象—关系平衡策略
13.4 进一步讨论——数据库设计到底
有多重要
第14章 开发
14.1 生成代码
14.1.1 现在行动:生成代码
14.1.2 进一步讨论
14.2 分工策略
14.2.1 纵向分工策略
14.2.2 横向分工策略
14.2.3 选择适合你的开发分工策略
Part IV 在提炼中思考
第15章 测试
15.1 质量保证——新世界需要稳健运行
15.2 设计和开发测试例
15.3 提给读者的问题
第16章 理解用例的本质
16.1 用例是系统思维
16.2 用例是面向服务的
16.3 善用用例方法
第17章 理解用例驱动
17.1 用例与项目管理
17.2 用例与可扩展架构
第18章 用例驱动与领域驱动
18.1 用例驱动与领域驱动的差异
18.2 领域驱动的理想与现实
18.3 如何决定是否采用领域驱动方法
第19章 理解建模的抽象层次
19.1 再讨论抽象层次
19.1.1 层次高低问题
19.1.2 层次不交叉问题
19.2 如何决定抽象层次
19.3 抽象层次与UML建模的关系
第20章 划分子系统的问题
20.1 面向对象的子系统问题
20.2 UC矩阵还适用吗
20.3 如何划分子系统
第21章 学会使用系统边界
21.1 边界是面向对象的保障
21.2 利用边界来分析需求
21.2.1 边界分析示例一
21.2.2 边界分析示例二
21.3 边界意识决定设计好坏
第22章 学会从接口认知事物
22.1 怎样描述一件事物
22.2 接口是系统的灵魂
第23章 学会正确选择
23.1 屁股决定脑袋——学会综合权衡
23.2 理辩则明——学会改变视角
第24章 学会使用设计模式
24.1 如何学习设计模式
24.2 如何使用设计模式
附录 UML视图常用元素参考
图目录
表目录
后记
这本书的封面设计着实抓人眼球,那只憨态可掬的大象形象,配上略带科技感的字体,让人对内容充满好奇。我原本以为这会是一本侧重于技术深挖的硬核教材,毕竟“UML”这个词汇自带一种严谨的学术光环。然而,翻开第一章,我就被作者那种轻松诙谐的叙述方式所吸引。它不像许多同类书籍那样,上来就抛出一大堆复杂的符号和规则,而是将UML的抽象概念,通过一系列贴近日常生活的比喻和场景,徐徐道来。比如,描述类图时,作者竟然拿小区里的住户和房间结构来做类比,一下子就拉近了理论与实践的距离。尤其是关于用例图的章节,作者没有固守教科书式的僵硬描述,而是设计了一个贯穿全书的、有趣的“虚拟宠物养成系统”作为贯穿案例,让学习过程充满了探索的乐趣。这本书的价值在于,它成功地将一门略显枯燥的建模语言,转化成了一套人人都能上手的“思维工具箱”。它强调的不是死记硬背,而是“像设计师一样思考”的构建过程,这对于初入软件行业、对建模感到茫然的读者来说,无疑是一剂强心针。我甚至觉得,即便是非技术背景的产品经理或项目经理,也能从中受益匪浅,理解软件是如何被蓝图构建起来的。
评分这本书的深度和广度超出了我最初的预期,尤其是对于“网络”和“程序设计”这两个主题的融合处理,做得非常巧妙。它并没有将UML的建模能力局限于传统的面向对象分析,而是将其拓展到了分布式系统和网络协议的理解上。比如,在讲解状态图时,作者引入了TCP三次握手和四次挥手的网络状态转换过程,这使得原本晦涩的网络状态机变得清晰可见。对我这个偏向底层开发的工程师来说,这种跨领域的连接极大地拓宽了我的思维边界。它教会我,即便是最底层的网络数据包传输,也可以用优雅的UML模型来描述其生命周期和交互行为。此外,书中对面向对象设计原则(SOLID等)的讲解,也都是通过具体的UML类图和协作图来验证和展示其有效性的,而非空洞的说教。这种将设计哲学与图形化语言深度融合的处理方式,让设计原则不再是抽象的教条,而是活生生的、可以被验证的工程法则。
评分这本书的排版和视觉呈现,可以说是业界的一股清流。很多技术书籍为了追求信息密度,往往牺牲了阅读的舒适度,密密麻麻的文字和难以辨认的流程图是常态。然而,这本《大象》在视觉设计上投入了相当的心思。大量的彩色图例、恰到好处的留白,以及关键概念的加粗和高亮处理,极大地减轻了长时间阅读带来的视觉疲劳。特别是那些复杂的活动图和活动图,清晰的分层结构和箭头方向指引明确,即使是初次接触复杂流程的读者,也能迅速抓住重点。更不用说,作者在书中穿插的一些幽默的小插画和“开发者箴言”,为紧张的学习过程增添了几分轻松的调剂。这种对用户体验的重视,体现了作者对读者群体的深刻理解:技术学习本就不易,工具应当是帮助而非阻碍。这本厚厚的书,读起来却有一种行云流水的流畅感,让人愿意一页接一页地深入下去。
评分读完这本书,最大的感受就是,它真正做到了“知行合一”。市面上很多编程或设计类的书籍,往往停留在理论的介绍层面,读者读完后依然感觉像是“纸上谈兵”。但《大象——Thinking in UML(第二版)》则完全不同,它将软件工程实践的各个环节紧密地编织进了UML的讲解之中。比如,在介绍活动图和序列图时,作者并未孤立地讲解图形元素,而是将其与敏捷开发中的用户故事拆解、接口调用顺序、并发处理等实际问题紧密结合。我特别欣赏它对“项目实践”这个概念的诠释。它不是提供一个一蹴而就的完美解决方案,而是展示了一个真实项目从需求捕获到详细设计的全过程,并穿插了各种“陷阱”和“最佳实践”。这种手把手的带领,让我清晰地认识到,UML不仅仅是画图的工具,更是团队沟通、需求固化和后期维护的基石。特别是关于架构视图的章节,它用非常直观的方式展示了如何用部署图来预见未来的系统瓶颈,这对于那些只关注代码实现而忽略宏观结构的开发者来说,提供了极具价值的视角。
评分这本第二版相对于前作的升级之处,尤其体现在对现代软件开发范式的适应性上。它没有沉溺于旧有的瀑布模型,而是花了相当大的篇幅来探讨UML在DevOps和持续集成/持续交付(CI/CD)环境中的应用潜力。例如,书中引入了组件图和包图来描述微服务架构的依赖关系,并展示了如何使用这些模型来辅助自动化测试和部署脚本的编写。这显示出作者对技术前沿的敏锐洞察力,确保了书中的知识不仅“正确”,而且“及时”。对于那些正在进行系统重构或向微服务转型的团队而言,书中关于如何用UML辅助进行“遗留系统理解”和“新架构设计”的章节,提供了非常实用的方法论指导。它告诉我们,UML并非过时的工具,而是能够适应任何规模和复杂度的系统蓝图语言,关键在于我们如何用现代的眼光去驾驭它,使其更好地服务于快速迭代的软件工程实践。
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
评分书买来送给同事的,还可以
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有