第1章 软件项目管理概述 1
1.1 项目与软件项目的概念 1
1.1.1 项目与项目属性 1
1.1.2 软件项目 2
1.1.3 项目的组成要素 3
1.2 项目管理的概念 4
1.2.1 项目管理的定义 4
1.2.2 项目管理的基本内容 5
1.2.3 项目管理与软件项目管理的特点 5
1.3 软件项目生命期与管理过程 6
1.3.1 软件项目生命期 6
1.3.2 软件项目管理过程 7
1.3.3 项目生命期中的几个重要概念 8
1.4 本书内容的组织 9
1.5 本章小结 10
1.6 复习思考题 11
第2章 软件项目合同管理 12
2.1 合同管理概述 12
2.1.1 合同的概念 12
2.1.2 合同生存期 12
2.1.3 合同要素 13
2.2 需方合同环境 13
2.2.1 合同准备 14
2.2.2 合同签署 15
2.2.3 合同管理 15
2.2.4 合同终止 16
2.3 供方合同环境 16
2.3.1 合同准备 16
2.3.2 合同签署 17
2.3.3 合同管理 17
2.3.4 合同终止 18
2.4 软件项目合同条款分析 19
2.5 案例分析 20
2.5.1 合同文本样例 20
2.5.2 合同附件样例 22
2.6 本章小结 24
2.7 复习思考题 24
第3章 软件开发过程管理 25
3.1 CMM和ISO 9000 25
3.1.1 SW-CMM和CMMI 25
3.1.2 ISO 9000质量标准 27
3.1.3 三者之间的比较 28
3.2 传统软件开发生命周期模型 29
3.2.1 瀑布模型 30
3.2.2 原型模型 30
3.2.3 增量模型 32
3.2.4 进化模型 33
3.2.5 螺旋模型 35
3.3 扩展软件开发生命周期模型 36
3.3.1 极限模型 36
3.3.2 Rational统一过程 38
3.3.3 微软产品开发周期模型 42
3.4 案例分析 43
3.5 本章小结 47
3.6 复习思考题 48
第4章 软件质量管理 49
4.1 软件质量与质量保证概述 49
4.1.1 软件质量 49
4.1.2 软件质量工作 50
4.1.3 软件质量保证 51
4.2 软件质量度量 52
4.2.1 软件质量模型 52
4.2.2 软件质量度量的内容 60
4.2.3 软件质量工具 66
4.3 软件质量保证的措施 75
4.3.1 质量保证计划 75
4.3.2 软件评审 77
4.3.3 软件配置管理 83
4.3.4 各阶段的质量保证活动 84
4.4 软件测试过程管理 85
4.4.1 软件测试过程模型 85
4.4.2 软件测试过程管理实践 88
4.4.3 软件测试过程可持续改进 93
4.5 案例分析 94
4.6 本章小结 104
4.7 复习思考题 104
第5章 软件项目团队管理 106
5.1 软件项目团队管理概述 106
5.1.1 软件项目团队 106
5.1.2 软件项目团队管理 106
5.2 软件项目组织计划编制 107
5.2.1 项目组织计划编制概述 107
5.2.2 项目团队的角色分类 108
5.2.3 项目角色与职责分配过程 109
5.2.4 项目组织结构设计 110
5.3 软件项目团队人员的获取 112
5.3.1 项目经理的确定 112
5.3.2 项目团队人员的确定 112
5.4 软件项目团队建设 113
5.4.1 软件项目团队的组建 113
5.4.2 团队合作 114
5.4.3 团队成员激励 114
5.4.4 团队的学习 115
5.4.5 软件项目团队成员绩效评估管理 115
5.5 案例分析 115
5.5.1 MSF团队角色和责任分配 116
5.5.2 微软项目团队结构 116
5.5.3 微软VSTS工具 117
5.6 本章小结 117
5.7 复习思考题 117
第6章 软件项目需求管理 119
6.1 软件项目需求管理概述 119
6.1.1 需求定义 119
6.1.2 需求类型 120
6.2 需求开发和管理过程 121
6.2.1 需求获取 122
6.2.2 需求分析 123
6.2.3 需求规格说明 124
6.2.4 需求验证 125
6.2.5 需求变更管理 125
6.2.6 可测试性需求 126
6.3 需求获取方法 128
6.3.1 访谈和调研 128
6.3.2 专题讨论会 128
6.3.3 脑力风暴 129
6.3.4 场景串联 130
6.4 需求分析建模方法 130
6.4.1 用例分析方法 131
6.4.2 原型分析方法 131
6.4.3 结构化分析方法 132
6.5 需求管理工具 133
6.6 案例分析 134
6.6.1 案例背景 135
6.6.2 需求开发 135
6.6.3 需求变更管理 140
6.7 本章小结 141
6.8 复习思考题 142
第7章 软件项目开发计划 143
7.1 软件项目任务分解 143
7.2 软件项目估算的概念 143
7.3 软件项目规模估算 144
7.3.1 LOC估算法 144
7.3.2 FP估算法 144
7.3.3 PERT估算法 146
7.4 软件项目成本估算 147
7.4.1 成本估算方法 147
7.4.2 成本估算模型 148
7.4.3 COCOMOⅡ模型 149
7.4.4 Putnam模型 152
7.4.5 成本估算步骤 153
7.4.6 成本模型的评价 154
7.5 软件项目进度估算 155
7.5.1 基于规模的进度估算 155
7.5.2 工程评价技术 156
7.5.3 关键路径法 157
7.6 软件项目进度计划 157
7.6.1 进度计划中的概念 157
7.6.2 进度计划方法 159
7.7 案例分析 164
7.8 本章小结 166
7.9 复习思考题 167
第8章 软件项目风险管理 168
8.1 软件项目风险管理概述 168
8.1.1 风险定义与分类 168
8.1.2 风险管理 169
8.1.3 风险管理的意义 169
8.2 风险识别 169
8.2.1 风险识别过程 169
8.2.2 风险识别的方法 171
8.3 风险评估 173
8.3.1 风险评估过程 173
8.3.2 风险评估的方法 175
8.4 风险计划 177
8.5 风险控制与管理 179
8.6 案例分析 179
8.6.1 项目各开发阶段的风险 180
8.6.2 本系统开发过程中需考虑的其他风险 182
8.6.3 某教育管理系统的风险管理 183
8.7 本章小结 184
8.8 复习思考题 185
第9章 软件项目跟踪控制 186
9.1 软件项目跟踪控制概述 186
9.2 软件项目跟踪控制的标准 186
9.3 软件项目监控和报告体系 187
9.3.1 跟踪采集的过程 187
9.3.2 建立跟踪采集对象 187
9.4 软件项目跟踪控制过程 187
9.4.1 对软件项目范围的跟踪控制 188
9.4.2 对软件项目的进度、成本和资源的跟踪控制 188
9.4.3 软件项目质量的跟踪控制 190
9.4.4 软件项目风险的跟踪控制 191
9.4.5 其他方面的监控 192
9.5 软件项目评审 193
9.5.1 软件项目评审概述 193
9.5.2 评审准备 193
9.5.3 评审过程 193
9.5.4 评审报告过程 194
9.5.5 问题跟踪列表 194
9.6 软件项目计划修改 195
9.7 案例分析 195
9.7.1 软件项目跟踪与监控的目标和步骤 195
9.7.2 软件项目跟踪、控制的实现 196
9.7.3 软件项目中的跟踪监控方针 196
9.8 本章小结 197
9.9 复习思考题 197
第10章 软件项目配置管理 198
10.1 软件项目范围核实 198
10.2 软件项目配置管理概念 198
10.3 软件项目配置管理过程 200
10.4 配置管理组织与实施 203
10.4.1 配置管理组织 203
10.4.2 配置管理实施 204
10.5 案例分析 204
10.6 本章小结 208
10.7 复习思考题 208
第11章 软件项目收尾 209
11.1 软件项目收尾概述 209
11.2 软件项目收尾过程 209
11.2.1 项目文件整理 209
11.2.2 项目结束过程 209
11.3 软件项目验收 210
11.3.1 项目验收的意义 211
11.3.2 项目验收标准和依据 211
11.3.3 项目验收流程 211
11.3.4 项目验收范围 211
11.3.5 项目验收收尾与移交 212
11.4 成功的软件项目收尾的特点 212
11.5 案例分析 213
11.6 本章小结 214
11.7 复习思考题 214
第12章 综合案例分析 215
12.1 AMFI案例研究综述 215
12.2 AMFI项目的过程规划 215
12.3 AMFI项目的质量计划 216
12.4 AMFI项目的度量和跟踪计划 218
12.5 AMFI项目计划 218
12.6 AMFI项目的配置管理计划 219
12.7 AMFI项目的收尾分析报告 220
参考文献 228