计算机书籍控

大象 Thinking in UML(第2版)

   《大象:Thinking in UML(第2版)》是一本讲软件的分析、设计与建模的书;一本将晦涩的概念与项目的实践紧密结合的书;一本让您与似是而非的感觉做个了断的书;一本充满思想与智慧的书……字字珠玑,醍醐灌顶。从来没有一本书,带给软件开发人员如此醍醐灌顶的感受。软件江湖盛传的“UML第一书”,开发人员梦寐以求的“九阳真经”,真正助您打通软件开发“任督二脉”。

目录


大象希形
再版序
写给读者的话
关于本书
如何阅读本书
免费下载资源使用说明
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视图常用元素参考
图目录
表目录
后记

书籍下载

免费下载

正版书籍

大象 Thinking in UML(第2版)