序 1
前言 1
第1章 项目管理与软件项目管理 1
1.1 项目与软件项目 1
1.1.1 项目及其特征 1
目录 1
1.1.2 项目群与项目、项目与子项目的关系 2
1.1.4 软件项目要素组成 3
1.1.5 实现项目目标的制约因素 3
1.1.3 软件项目 3
1.2 项目管理 4
1.2.1 项目管理背景 4
1.2.2 项目管理定义 5
1.2.3 项目管理主要内容 6
1.2.4 软件项目管理的特征及重要性 6
1.3 项目管理知识体系 7
1.4 项目管理的范围 10
1.4.1 项目管理的五要素 10
1.4.2 从战术看 11
1.4.3 从战略看 11
1.5.1 软件过程定义 12
1.5 过程管理与软件项目管理的关系 12
1.5.2 过程管理在软件项目中的作用 13
1.5.3 过程管理与项目管理的关系 14
1.6 软件项目管理过程 14
1.6.1 项目启动 15
1.6.2 项目规划 15
1.6.3 项目跟踪控制 15
1.6.4 项目结束 16
1.7 本书的组织结构 16
1.8 小结 16
1.9 习题 17
2.1 合同管理概述 18
第2章 软件项目合同管理 18
2.2 需方合同环境 20
2.2.1 合同准备 20
2.2.2 合同签署 22
2.2.3 合同管理 23
2.2.4 合同终止 24
2.3 供方合同环境 24
2.3.1 合同准备 25
2.3.2 合同签署 26
2.3.3 合同管理 26
2.5 案例分析 29
2.4 企业内部合同环境 29
2.3.4 合同终止 29
2.6 小结 36
2.7 习题 37
第3章 软件项目生存期模型 38
3.1 软件项目生存期模型定义 38
3.1.1 生存期的定义 39
3.1.2 生存期的重要性 40
3.1.3 生存期模型 40
3.2.2 特点 41
3.2.3 使用指南 41
3.2.1 定义 41
3.2 瀑布模型 41
3.2.4 适合的项目类型 42
3.3 V型模型 42
3.3.1 定义 42
3.3.2 特点 42
3.3.3 使用指南 43
3.3.4 适合的项目类型 43
3.4 原型模型 43
3.4.1 定义 43
3.4.2 特点 43
3.5.1 定义 44
3.5 增量式模型 44
3.4.4 适合的项目类型 44
3.4.3 使用指南 44
3.5.2 特点 45
3.5.3 使用指南 45
3.5.4 适合的项目类型 45
3.6 螺旋式模型 45
3.6.1 定义 45
3.6.2 特点 45
3.6.3 使用指南 46
3.6.4 适合的项目类型 46
3.7 快速应用开发模型 46
3.7.3 使用指南 47
3.7.1 定义 47
3.7.2 特点 47
3.7.4 适合的项目类型 48
3.8 渐进式阶段模型 48
3.8.1 定义 49
3.8.2 特点 49
3.8.3 使用指南 49
3.8.4 适合的项目类型 50
3.9 其他模型说明 50
3.10 案例说明 50
3.12 习题 54
3.11 小结 54
第4章 软件项目需求管理 55
4.1 软件项目需求概述 55
4.1.1 需求定义 56
4.1.2 需求类型 57
4.1.3 需求管理的重要性 57
4.2 需求管理过程 58
4.2.1 需求获取 59
4.2.2 需求分析 60
4.2.3 需求规格 61
4.2.4 需求验证 64
4.2.5 需求变更 65
4.2.6 需求管理与项目管理的关系 67
4.3 需求建模的基本方法 68
4.3.1 原型分析方法 68
4.3.2 结构化分析方法 68
4.3.3 用例分析方法 71
4.3.4 功能列表方法 79
4.3.5 其他方法 81
4.4 案例说明 81
4.6 习题 84
4.5 小结 84
第5章 软件项目任务分解 85
5.1 任务分解定义 86
5.2 任务分解的类型 86
5.2.1 清单类型 86
5.2.2 图表类型 87
5.3 任务分解的过程 87
5.3.1 基本步骤 88
5.3.2 分解的标准 89
5.3.3 分解结果的检验 90
5.4 任务分解的注意事项 90
5.6 案例说明 91
5.5 任务分解的意义 91
5.7 小结 92
5.8 习题 92
第6章 软件项目规模成本估算 93
6.1 关于估算的概念 93
6.1.1 项目规模与成本的关系 94
6.1.2 成本估算的定义 94
6.1.3 规模成本估算的目标 94
6.2 估算的过程 95
6.2.1 估算输入 95
6.3 估算的方法 96
6.3.1 代码行、功能点及对象点 96
6.2.3 估算输出 96
6.2.2 估算处理 96
6.3.2 类比估算法 100
6.3.3 自下而上估算法 100
6.3.4 参数估算法 100
6.3.5 专家估算法 102
6.3.6 猜测估算法 102
6.4 估算方法综述 102
6.5 估算的误差度 104
6.5.1 估算的准确度 104
6.5.2 估算不准的主要原因 104
6.5.3 对付估算误差的方法 105
6.6 案例说明 106
6.7 小结 108
6.8 习题 108
第7章 软件项目进度计划 109
7.1 项目进度中的基本概念 109
7.1.1 软件项目进度定义 110
7.1.2 软件活动定义 110
7.1.3 活动之间的关系 110
7.1.4 活动之间关系的依据 111
7.2 进度管理图示 111
7.2.1 网络图 111
7.2.2 甘特图 113
7.2.3 里程碑图 114
7.2.4 资源图 115
7.3 项目进度估算 115
7.3.1 基于规模的进度估算 116
7.3.2 工程评价技术 117
7.3.3 关键路径法 118
7.3.4 专家估算方法 119
7.3.5 类推估算方法 119
7.3.6 模拟估算方法 119
7.3.7 进度表估算方法 119
7.4 进度计划编制 123
7.4.1 关键路径法(CPM) 123
7.3.9 Jones的一阶估算准则 123
7.3.8 基于承诺的进度估算方法 123
7.4.2 时间压缩法 128
7.4.3 资源调整尝试法 130
7.4.4 成本预算 131
7.4.5 项目管理软件 131
7.4.6 项目进度计划的优化 131
7.4.7 渐进式的项目计划 131
7.5 案例说明 132
7.6 小结 137
7.7 习题 137
8.1 质量概述 138
第8章 软件项目质量计划 138
8.1.1 软件质量 139
8.1.2 软件质量与硬件质量的比较 140
8.1.3 软件质量的重要性 141
8.1.4 软件质量管理的发展过程 141
8.2 质量管理过程 141
8.2.1 软件项目的质量计划 142
8.2.2 质量保证 142
8.2.3 质量控制 145
8.2.4 质量保证与质量控制的关系 149
8.3 质量成本 149
8.4.1 质量计划的要求 150
8.4 质量计划制定 150
8.4.2 质量计划的编写 151
8.4.3 软件质量改善的建议 152
8.5 质量体系 153
8.6 案例说明 154
8.7 小结 157
8.8 习题 158
第9章 软件项目配置管理计划 159
9.1 软件配置管理概述 159
9.1.1 配置管理定义 160
9.1.2 配置管理的目标 160
9.1.3 配置管理在软件开发中的作用 161
9.2 配置管理的相关概念 162
9.2.1 配置项 162
9.2.2 基线 163
9.2.3 配置控制委员会 164
9.3 配置管理过程 164
9.3.1 配置项标识、跟踪 165
9.3.2 配置管理环境的建立 166
9.3.3 基线变更管理 168
9.3.4 配置审核 171
9.3.6 配置管理的其他作用 172
9.3.5 配置状态统计 172
9.4 配置管理工具 174
9.5 配置管理计划 175
9.5.1 配置管理计划过程 175
9.5.2 配置管理计划的主要内容 175
9.5.3 配置管理建议 176
9.6 案例说明 177
9.7 小结 180
9.8 习题 180
第10章 软件项目风险管理计划 181
10.1 软件项目风险管理概述 181
10.1.1 风险概念 182
10.1.2 风险类型 183
10.1.3 风险的基本性质 184
10.1.4 风险管理概述 184
10.1.5 风险管理的意义 185
10.2 风险识别 185
10.2.1 概念 186
10.2.2 德尔菲方法 186
10.2.3 头脑风暴法 186
10.2.4 情景分析法 187
10.2.5 风险条目检查表 187
10.2.7 风险识别的结果 193
10.2.6 其他方法 193
10.3 风险评估 194
10.3.1 概念 194
10.3.2 定性风险评估 194
10.3.3 定量风险评估 195
10.3.4 风险分析结果表 197
10.4 风险规划 199
10.4.1 概念 199
10.4.2 回避风险 199
10.4.3 转移风险 199
10.4.5 自留风险 200
10.4.6 风险规划结果 200
10.4.4 损失控制 200
10.5 风险控制 201
10.6 风险管理的建议 201
10.7 案例说明 202
10.8 小结 202
10.9 习题 202
第11章 软件项目团队管理 203
11.1 软件项目团队管理概述 203
11.1.1 团队定义 204
11.1.2 团队管理意义 204
11.1.3 团队管理过程 204
11.2.3 项目经理的职责 205
11.2.4 项目经理的权利 205
11.2 项目经理确定 205
11.2.2 项目经理的角色 205
11.2.1 项目经理定义 205
11.2.5 项目经理的能力 206
11.2.6 项目经理的政治环境 206
11.2.7 项目经理的职业道德 207
11.3 项目组织形式 208
11.3.1 组织结构定义 208
11.3.2 职能型组织结构 208
11.3.3 项目型组织结构 209
11.3.4 矩阵型组织结构 210
11.4 团队建设 212
11.4.1 选择人员 212
11.4.2 项目成员的培训 214
11.4.3 项目成员的激励 214
11.4.4 团队管理的方法 217
11.5 沟通管理 218
11.5.1 项目沟通管理概述 219
11.5.2 项目沟通的方式 219
11.5.3 编制项目沟通计划 219
11.6 案例说明 220
11.7 小结 221
11.8 习题 222
第12章 软件项目度量管理 223
12.1 软件度量概述 224
12.1.1 度量定义 224
12.1.2 度量的类型 225
12.1.3 度量的作用 225
12.1.4 度量的成本 226
12.2 度量体系 226
12.3 度量技术 227
12.3.1 GQM技术 227
12.3.2 PSM技术 228
12.4 度量管理过程 229
12.4.1 标识目标 229
12.4.2 选择度量指标 229
12.4.3 定义数据收集 230
12.4.4 分析度量 231
12.4.5 改进度量过程 232
12.5 度量计划 232
12.5.1 度量计划的构成 232
12.5.2 度量计划的实施 234
12.6.1 PSM信息分类组 235
12.6 度量指标选择 235
12.6.2 SEI度量指标 237
12.6.3 PSP度量 240
12.6.4 SEL的度量指标 241
12.7 软件度量的建议 242
12.8 案例说明 243
12.9 小结 244
12.10 习题 244
第13章 软件项目集成计划 245
13.1 软件项目的集成管理 245
13.2 项目集成计划 246
13.3 案例分析 252
13.5 习题 259
13.4 小结 259
第14章 软件项目跟踪控制 260
14.1 项目跟踪控制 260
14.1.1 项目跟踪控制概念 261
14.1.2 项目跟踪控制的范围 262
14.1.3 项目跟踪控制的重要性 263
14.1.4 项目跟踪控制的标准 263
14.2 建立项目跟踪控制的标准 264
14.3 建立项目监控和报告体系 264
14.3.1 跟踪采集的过程 264
14.4.1 项目范围的跟踪控制 265
14.3.2 建立跟踪采集对象 265
14.4 项目跟踪控制过程 265
14.4.2 项目进度、成本(资源)的跟踪控制 266
14.4.3 项目质量的跟踪控制 275
14.4.4 项目风险的跟踪控制 277
14.4.5 其他方面的监控 278
14.4.6 利用工具分析项目性能 279
14.5 项目评审 279
14.5.1 项目评审概述 279
14.5.2 评审准备 280
14.5.3 评审过程 280
14.5.4 评审报告过程 281
14.5.5 问题跟踪列表 282
14.6 项目计划修改 283
14.7 案例分析 283
14.8 小结 287
14.9 习题 288
第15章 软件项目结束过程 289
15.1 项目结束概述 289
15.1.1 项目终止 289
15.2 项目结束过程 290
15.2.2 项目收尾的内容 290
15.2.1 项目结束计划 290
15.1.3 项目关闭必须完成的任务 290
15.1.2 项目成功与失败的标准 290
15.2.3 项目最后评审 291
15.2.4 项目总结 291
15.3 项目管理过程总结 291
15.4 项目管理的建议 292
15.5 案例分析 293
15.6 小结 295
15.7 习题 295
结束语 296
附录 PMBOK的9个知识领域简介 297
参考文献 302