内容简介
目录
译者序
序
前言
第一部分 敏捷建模简介
第1章 绪论
1.1 进入敏捷软件开发
1.1.1 敏捷软件开发宣言
1.1.2 敏捷软件开发的原则
1.2 敏捷建模
1.2.1 谁是敏捷建模人员
1.2.2 敏捷建模概述
1.2.3 什么是敏捷模型
1.2.4 什么是(或不是)敏捷建模
1.4 本书概览
1.3 SWA在线案例研究
第2章 敏捷建模的价值观
2.1 交流
2.2 简单
2.3 反馈
2.4 勇气
2.5 谦虚
2.6 老生常谈之后
3.1 软件是你的首要目标
第3章 核心原则
3.2 支持后续工作是你的第二目标
3.3 轻装前进
3.4 主张简单
3.5 包容变化
3.6 递增的变化
3.7 有目的地建模
3.8 多种模型
3.10 快速反馈
3.9 高质量的工作
3.11 最大化项目关系人的投资
3.12 为什么需要核心原则
第4章 补充原则
4.1 内容比形式更重要
4.2 每个人都可以向别人学习
4.3 了解你的模型
4.6 相信直觉
4.5 开放和诚实的交流
4.4 适应本地情况
4.7 从这些原则中获益
第5章 核心实践
5.1 迭代和增量建模的实践
5.1.1 使用合适的制品
5.1.2 并行创建多个模型
5.1.3 迭代到其他的制品中
5.2.1 与他人一起建模
5.1.4 小增量建模
5.2 有效团队协作的实践
5.2 2 项目关系人的积极参与
5.2.3 集体所有
5.2.4 公开展示模型
5.3 简单性的实践
5.3.1 创建简单的内容
5.3.2 简单地描述模型
5.3.3 使用最简单的工具
5.4 验证工作的实践
5.4.1 考虑可测试性
5.4.2 用代码验证
第6章 补充实践
6.1 提高生产率的实践
6.1.1 应用建模标准
6.1.2 渐进地应用模式
6.2 敏捷文档的实践
6.2.1 丢弃临时模型
6.1.3 复用已有的制品
6.2.2 契约模型正式化
6.2.3 在有危害时才更新模型
6.3 有关动机的实践
6.3.1 通过建模来理解
6.3.2 通过建模来交流
6.4 真正的好主意
6.4.1 了解工具
6.4.2 重构
6.4.3 测试优先设计
6.5 如何在项目中安排敏捷建模的实践
第7章 从混乱到有序:AM的实践如何结合到一起
7.1 核心实践
7.1.1 与高效团队协作相关的实践
7.1.2 与迭代和增量开发相关的实践
7.2.1 与文档相关的实践
7.2 补充实践
7.1.4 验证工作的实践
7.1.3 促进简单性的实践
7.2.2 与动机相关的实践
7.2.3 提高生产率的实践
7.3 各类实践如何关联
7.4 混乱而有序:Chaordic
7.5 展望
8.1 怎样交流
第8章 交流
第二部分 实践中的敏捷建模
8.2 影响交流的因素
8.3 交流与敏捷建模
8.4 有效的交流
第9章 培养敏捷文化
9.1 消除有关建模的误解
9.1.1 误解1:模型=文档
9.1.5 误解5:设计是“刻在石头里”的
9.1.4 误解4:必须“冻结”需求
9.1.3 误解3:建模意味着重量级软件过程
9.1.2 误解2:可以在一开头就把什么都想清楚
9.1.6 误解6:必须使用CASE工具
9.1.7 误解7:建模是浪费时间
9.1.8 误解8:世界绕着数据建模转
9.1.9 误解9:开发人员都知道怎样建模
9.2 从小处着眼
9.3 放松一点要求
9.4 坚决支持项目关系人的权利和义务
9.5 重新考虑给项目关系人的报告
第10章 使用可能的最简单的工具
10.1 用简单工具敏捷建模
10.1.1 简单工具的优点
10.1.2 简单工具的缺点
10.1.3 何时应该使用简单工具
10.1.4 用技术支持简单工具
10.2 模型的演化
10.3.1 选择CASE工具
10.3 用CASE工具敏捷建模
10.3.2 克服关于CASE工具的误解
10.3.3 生成源代码
10.3.4 生成文档
10.4 使用媒体
10.5 在模型上使用工具的影响
10.6 在实践中使用最简单的工具
第11章 敏捷工作区域
11.1 敏捷建模室
11.2 有效的工作区域
11.3 在实践中应用
第12章 敏捷建模团队
12.1 招募少量优秀的开发人员
12.2 认识到在敏捷中没有“我”
12.3 要求每个人积极参与
12.4 团队一起建模
12.5 在实践中应用
第13章 敏捷建模会议
13.1 建模会议持续时间
13.2 建模会议的类型
13.3 建模会议的参加者
13.4 建模会议的正式程度
13.5 在实践中应用
第14章 敏捷资料
14.1 人们为什么写文档
14.2 模型什么时候成为永久文档
14.2.1 与资料相关的考虑因素有哪些
14.2.2 “轻装前进”是什么意思
14.2.3 一份文档什么时候是敏捷的
14.2.4 应该创建什么类型的文档
14.2.5 何时应该更新文档
14.2.6 有效的资料传递
14.2.7 增加资料敏捷性的策略
14.2.8 在实践中应用
15.1 UML并不充分
第15章 UML及其延伸
15.2 UML过于复杂
15.3 UML并非方法学也不是过程
15.4 别再想着可执行UML(至少现在)
15.5 在实践中应用UML
第三部分 敏捷建模和极限编程(XP)第16章 澄清事实
16.1 建模是XP的一部分
16.2 文档是必需的
16.3 XP和UML
16.4 结论
第17章 敏捷建模与极限编程
17.1 AM和XP之间潜在的契合
17.2 重构和AM
17.3 测试优先开发和AM
17.4 应该采取哪些AM实践
第18章 贯穿XP生命周期的敏捷建模
18.2 计划阶段
18.1 探索阶段
18.3 迭代到发布阶段
18.4 产品化阶段
18.5 维护阶段
18.6 如何应用
第19章 XP探索阶段的建模
19.1 优先定义初始需求
19.2 比喻、架构和骨架
19.3 为项目设定一个基础
第20章 XP迭代中的建模:条目搜索
20.1 任务
20.2 物理数据库模式建模
20.3 观察到的事实
第21章 XP迭代中的建模:订单求和
21.1 任务
21.2 用需求建模来补救
21.3 从外界专家那里寻求帮助
21.4 简短的设计会议
21.5 契约模型正式化
21.6 将来有变化怎么办
21.7 观察到的事实
21.8 如何在实际工作中应用
第四部分 敏捷建模和统一过程
第22章 敏捷建模和统一过程
22.1 在统一过程中如何建模
22.2 AM与UP的契合到底有多好
22.3 选择变得敏捷些
第23章 贯穿统一过程生命周期的敏捷建模
23.1 建模规程
23.1.1 业务建模规程
23.1.2 需求规程
23.1.3 分析和设计规程
23.1.4 基础设施管理规程
23.2.1 实现规程
23.2 非建模规程
23.2.2 测试规程
23.2.3 项目管理规程
23.2.4 配置和变更管理规程
23.2.5 环境规程
23.2.6 部署规程
23.2.7 运行和支持规程
23.3 如何应用
第24章 敏捷业务建模
24.1 一个业务/基本用例模型
24.2 一个简单的业务对象模型
24.3 一份敏捷的补充业务规格说明书
24.4 一个业务愿景
24.5 如何在实践中应用
第25章 敏捷需求
25.1 上下文模型
25.2 用例模型
25.3 用例故事板
25.4 补充规格说明书
25.5 如何在实践中应用
第26章 敏捷分析和设计
26.1 在统一过程中重新考虑分析和设计模型
26.2 架构建模
26.3 创建用例实现
26.4 是更新用例的时候了吗
26.5 是使用CASE工具的时候了吗
26.6 设计类建模
26.7 数据建模
26.8 包容变化
26.9 如何在实践中应用
第27章 敏捷基础设施管理
27.1 基础设施模型
27.2 基础设施建模
27.2.3 比较这两种方式
27.2.2 自底向上建模
27.2.1 自顶向下建模
27.3 设定建模标准和指导原则
27.4 核心基础设施团队
27.5 采用敏捷建模的核心架构团队
27.6 如何在实践中应用
第28章 在统一过程项目中采用敏捷建模
第五部分 展望
第29章 采用敏捷建模或者克服逆境
29.1 估算契合程度
29.1.1 认识到敏捷建模什么时候管用
29.1.2 认识到敏捷建模什么时候不管用
29.2 保持简单
29.3 克服组织结构上的和文化上的挑战
29.3.1 持怀疑态度的开发人员
29.3.2 过分热心的过程警察
29.3.4 菜谱哲学
29.3.3 有权力的催着要纸的人
29.3.5 不能接受批评
29.3.6 由于害怕失去所有的人而导致过度的文档
29.4 克服与项目有关的挑战
29.4.1 分布式的开发
29.4.2 移交给其他团队
29.4.3 固定价格契约
29.5 考虑完全采用AM之外的其他途径
29.6 如何在实践中应用
第30章 结论:决心成功
30.1 对敏捷建模常见的误解
30.2 什么时候是(或不是)在敏捷建模
30.3 敏捷建模资源
30.4 几个临别的想法
附录A 建模技术
词汇表
参考文献