第一部分 过程 2
第1章 最佳的软件开发实践 2
1.1 软件的价值 2
1.2 软件开发问题的症状和根本原因 2
1.3 最佳的软件实践 3
1.4 软件的迭代开发 4
1.5 管理需求 5
1.6 应用基于构件的架构 6
1.7 为软件建立可视化模型 7
1.8 对软件的质量进行持续的验证 8
1.9 控制软件的变更 9
1.10 RUP 9
1.11 小结 10
第2章 RUP 11
2.1 什么是RUP 11
2.2 作为产品的RUP 11
2.2.1 过程产品的组织 12
2.2.2 关于过程工程师 14
2.2.3 二维过程结构 14
2.3 RUP中的最佳软件实践 15
2.3.1 迭代开发 15
2.3.2 需求管理 16
2.3.3 架构和构件的使用 17
2.3.4 建模和UML 18
2.3.5 配置管理和变更管理 18
2.4 RUP中的其他重要特征 18
2.4.1 用况驱动的开发 18
2.4.2 过程配置 19
2.4.3 工具支持 19
2.4.4 谁在使用RUP 19
2.5 RUP的发展简史 20
2.6 小结 21
3.2 角色 22
3.1 RUP的模型 22
第3章 静态结构:过程描述 22
3.3 活动 24
3.4 制品 25
3.4.1 报告 26
3.4.2 制品集 26
3.5 规程 28
3.6 工作流 29
3.6.1 核心工作流 30
3.6.2 工作流细节 30
3.6.3 迭代计划 30
3.7 附加过程元素 30
3.7.1 指南 31
3.7.2 模板 31
3.8 过程框架 32
3.9 小结 32
3.7.3 工具指南 32
3.7.4 概念 32
第4章 动态结构:迭代开发 33
4.1 顺序开发过程 33
4.1.1 一个合理的方法 33
4.1.2 错误假设1:需求是固定的 34
4.1.3 错误假设2:我们可以在进行开发之前做出正确的书面设计 35
4.1.4 提出风险分析 35
4.1.6 减少文书工作 36
4.1.5 延长时间 36
4.1.7 基于规模和基于时间的计划 37
4.2 克服困难:迭代 37
4.3 获取控制:阶段和里程碑 38
4.4 生命周期中焦点的转移 40
4.5 阶段重访 40
4.5.1 初始阶段 41
4.5.2 里程碑:生命周期目标 42
4.5.3 细化阶段 43
4.5.5 构造阶段 44
4.5.4 里程碑:生命周期架构 44
4.5.6 里程碑:最初的可操作能力 45
4.5.7 移交阶段 45
4.5.8 里程碑:产品发布 46
4.6 迭代方法的好处 47
4.6.1 缓解风险 47
4.6.2 适应变更 47
4.6.3 在过程中不断学习 48
4.6.4 增加复用机会 48
4.6.5 更好的整体品质 48
4.7 小结 48
第5章 以架构为中心的过程 50
5.1 模型的重要性 50
5.2 架构 50
5.3 架构的重要性 50
5.4 架构的定义 51
5.5 架构的表示 52
5.5.1 多重视图 53
5.5.2 架构的4+1视图模型 53
5.5.3 模型和视图 55
5.5.4 架构不仅仅是一个蓝图 55
5.6 以架构为中心的过程 56
5.7 架构的目标 56
5.7.1 智能控制 56
5.7.2 复用 57
5.7.3 开发的基础 57
5.8 基于构件的开发 57
5.9 其他的架构概念 58
5.9.1 架构风格 58
5.9.2 架构机制 58
5.9.3 架构模式 58
5.10 小结 59
6.1 定义 60
6.1.1 用况和活动者 60
第6章 用况驱动的过程 60
6.1.2 事件流 62
6.1.3 场景 62
6.1.4 用况模型 63
6.2 确定用况 63
6.3 用况的进化 64
6.4 用况的组织 64
6.5 在过程中使用用况 65
6.6 小结 67
第二部分 过程规程 70
第7章 项目管理规程 70
7.2 计划迭代项目 70
7.3 风险的概念 73
7.3.1 什么是风险 73
7.3.2 策略:如何处理风险 73
7.4 度量的概念 74
7.5 角色和制品 76
7.6 工作流 77
7.6.1 工作流细节 77
7.1 目的 79
7.6.2 制定一个阶段计划 80
7.7 制定一个迭代计划 83
7.7.1 细化阶段的迭代 84
7.7.2 构造阶段的迭代 85
7.7.3 移交阶段的迭代 85
7.8 小结 86
7.7.4 迭代中的工作细节 86
第8章 业务建模规程 87
8.1 目的 87
8.2 为什么要进行业务建模 87
8.3 在业务建模中使用软件工程技术 88
8.4 业务建模场景 89
8.5 角色和制品 90
8.6 工作流 91
8.7 从业务模型到系统 91
8.7.2 自动业务工作人员 93
8.7.1 业务模型和系统活动者 93
8.7.3 分析模型中的业务模型和实体类 94
8.7.4 在资源计划中使用业务分析模型 94
8.7.5 系统需求的其他来源 95
8.7.6 业务模型和系统架构 96
8.8 为软件开发业务建模 96
8.9 工具支持 96
8.10 小结 97
第9章 需求规程 98
9.1 目的 98
9.2 什么是需求 98
9.2.1 功能性需求 98
9.2.2 非功能性需求 99
9.3 需求的种类 99
9.3.1 项目相关人员:请求与需求 100
9.3.2 系统特征 100
9.4 捕获和管理需求 101
9.3.4 通过用况详细说明软件需求 101
9.3.3 软件需求 101
9.5 需求工作流 102
9.6 需求中的角色 103
9.7 需求中使用的制品 104
9.8 工具支持 106
9.9 小结 106
第10章 分析和设计规程 107
10.1 目的 107
10.2 分析与设计 107
10.3 到底要设计到什么程度 107
10.4 角色和制品 108
10.5 设计以用户为中心的界面 109
10.6 设计模型 109
10.7 分析模型 109
10.8 接口扮演的角色 109
10.11 工作流 110
10.10 基于构件的设计 110
10.9 实时系统的制品 110
10.12 工具支持 113
10.13 小结 113
第11章 实现规程 114
11.1 目的 114
11.2 构造 114
11.3 集成 114
11.4 原型 115
11.5 角色和制品 117
11.6 工作流 118
11.7 工具支持 119
11.8 小结 120
第12章 测试规程 121
12.1 目的 121
12.2 在迭代生命周期中进行测试 122
12.2.1 质量 122
12.3.1 质量维 123
12.2.2 产品质量所有权 123
12.3 测试的维 123
12.3.2 测试的阶段 124
12.3.3 测试的类型 124
12.3.4 回归测试 125
12.4 角色和制品 125
12.5 工作流 128
12.5.1 定义评估任务 129
12.5.2 验证测试方法 129
12.5.3 验证构造的稳定性 129
12.5.4 测试和评估 130
12.5.5 完成验收任务 130
12.5.6 改进测试资产 130
12.6 工具支持 131
12.7 小结 131
13.2 CCM立方体 133
13.1 目的 133
第13章 配置和变更管理规程 133
13.2.1 配置管理 134
13.2.2 变更请求管理 135
13.2.3 状态和度量 136
13.3 角色和制品 137
13.4 工作流 138
13.4.1 计划项目配置和变更控制 138
13.4.2 建立项目CM环境 138
13.4.3 变更和交付配置条款 139
13.4.4 管理基线和发布 140
13.4.5 监控和报告配置状态 140
13.4.6 管理变更请求 140
13.5 工具支持 140
13.6 小结 141
14.1 目的 142
14.1.1 配置RUP 142
第14章 环境规程 142
14.1.2 实例化RUP 143
14.1.3 定制RUP 143
14.1.4 实现RUP 144
14.2 角色和制品 144
14.3 工作流 145
14.3.1 为项目准备环境 145
14.4 工具支持 146
14.3.3 为迭代提供支持环境 146
14.3.2 为迭代准备环境 146
14.5 小结 147
第15章 部署规程 148
15.1 目的 148
15.2 角色和制品 149
15.3 工作流 150
15.3.1 计划部署 150
15.3.2 开发支持材料 150
15.3.5 beta测试产品 151
15.3.3 产品部署单元 151
15.3.4 在开发地点管理接受测试 151
15.3.6 在安装现场管理接受测试 152
15.3.7 打包产品 153
15.3.8 提供对下载地点的访问 153
15.4 小结 153
第16章 典型的迭代计划 154
16.1 定义产品构想和业务用况 154
16.1.1 结果 155
16.1.2 初始阶段的后继迭代 156
16.2 建立架构原型 156
16.2.1 结果 159
16.2.2 细化阶段中的后继迭代 159
16.3 实现系统 159
16.4 小结 161
17.1 概述 162
17.2 实施过程的效果 162
第17章 实施RUP 162
17.3 逐步实施RUP 163
17.3.1 步骤1:评估当前状态 164
17.3.2 步骤2:建立或修订目标 165
17.3.3 步骤3:识别风险 165
17.3.4 步骤4:计划过程实施 166
17.3.5 步骤5:执行过程实施 167
17.4 实施过程也是一个项目 168
17.3.6 步骤6:评价过程实施 168
17.5 小结 169
附录 172
附录A 角色小结 172
附录B 制品小结 175
附录C 缩写词 179
术语表 181
参考文献 187
索引 195