第1章 软件工程师的任务 1
1.1 什么是软件工程 1
1.2 为什么工程质量很重要 1
1.3 个体软件过程 2
1.4 高质量工作的规范 2
1.5 高质量工作的重要性 3
1.6 如何提高工作质量 3
1.7 过程改进的步骤 4
1.8 本书的策略 5
1.9 总结 5
1.10 练习1 5
第2章 时间管理 7
2.1 时间管理的逻辑原理 7
2.2 了解时间的使用情况 8
2.3 工程记事本 9
2.4 工程记事本的设计 9
2.5 工程记事本示例 10
2.6 总结 12
2.7 练习2 13
第3章 时间跟踪 15
3.1 为什么要跟踪时间 15
3.2 记录时间数据 15
3.3 跟踪时间 16
3.4 使用标准的时间记录日志 17
3.5 处理中断 19
3.6 跟踪已完成的任务 19
3.7 在工程记事本中登记时间日志 21
3.8 时间记录的提示 21
3.9 总结 22
3.10 练习3 22
第4章 阶段计划与产品计划 23
4.1 阶段计划和产品计划 23
4.2 周活动总结表 24
4.3 总结每周的时间分配 26
4.4 计算阶段时间和工作效率 28
4.5 使用周活动总结表 31
4.6 总结 32
4.7 练习4 32
第5章 产品计划 33
5.1 产品计划的必要性 33
5.2 产品计划的用途 33
5.3 什么是产品计划 34
5.4 产品计划 34
5.5 制订小型任务的计划 35
5.6 术语定义 35
5.7 作业编号日志 35
5.8 关于使用作业编号日志的几点建议 40
5.9 使用产品的时间和效率数据 40
5.10 总结 41
5.11 练习5 41
第6章 产品规模 43
6.1 产品计划过程 43
6.2 规模度量 43
6.3 使用规模度量的注意事项 44
6.4 程序规模 45
6.5 其他的规模度量方法 46
6.6 程序规模估计 47
6.7 较大规模的估计 48
6.8 在作业编号日志中使用规模度量的方法 50
6.9 总结 53
6.10 练习6 54
第7章 管理好时间 55
7.1 时间管理的要素 55
7.2 活动分类 55
7.3 收集活动的时间数据 56
7.4 时间分配的评价 56
7.5 做出时间安排 56
7.6 找出更多的时间 58
7.7 制订基本规则 58
7.8 设定时间分配的优先级 61
7.9 管理好时间安排 63
7.10 关于管理可变动的时间的几点建议 64
7.11 时间管理的目标 64
7.12 总结 65
7.13 练习7 65
第8章 承诺的管理 67
8.1 什么是承诺 67
8.2 认真制订承诺 68
8.3 承诺的一个示例 69
8.4 工业中的示例 70
8.5 处理没有完成的承诺 71
8.6 管理承诺的重要性 71
8.7 不对承诺进行管理的后果 72
8.8 管理承诺的方法 72
8.9 总结 73
8.10 练习8 74
第9章 进度管理 75
9.1 进度管理的必要性 75
9.2 Gantt图 76
9.3 制订项目进度表 77
9.4 检查点 77
9.5 跟踪项目计划 79
9.6 跟踪挣值 81
9.7 总结 84
9.8 练习9 84
第10章 项目计划 85
10.1 项目计划的必要性 85
10.2 项目计划总结表 85
10.3 项目总结 88
10.4 程序规模 89
10.5 开发阶段的时间 91
10.6 估计的准确性 92
10.7 总结 93
10.8 练习10 93
第11章 软件开发过程 95
11.1 为什么使用过程 95
11.2 一些定义 95
11.3 过程脚本 96
11.4 检查点和阶段 98
11.5 更新的项目计划总结表 98
11.6 一个计划的示例 101
11.7 累计时间值计算的示例 104
11.8 总结 107
11.9 练习11 107
第12章 缺陷 109
12.1 什么是软件质量 109
12.2 缺陷和质量 109
12.3 什么是缺陷 110
12.4 缺陷与Bug 111
12.5 缺陷类型 112
12.6 了解缺陷 113
12.7 缺陷记录日志 113
12.8 统计缺陷个数 116
12.9 使用缺陷记录日志 117
12.10 更新的PSP过程 117
12.11 总结 123
12.12 练习12 123
第13章 缺陷查找技术 125
13.1 个人对产品质量的承诺 125
13.2 发现缺陷的步骤 125
13.3 发现和修复缺陷的方法 126
13.4 代码复查 127
13.5 为什么要尽早发现缺陷 127
13.6 发现和修复缺陷的费用 128
13.7 利用代码复查发现缺陷 129
13.8 编译前的复查 130
13.9 编译与测试缺陷的数据 131
13.10 更新后的PSP项目计划总结表 132
13.11 其他种类的代码复查 137
13.12 总结 137
13.13 练习13 138
第14章 代码复查检查表 139
14.1 检查表的用途 139
14.2 代码复查检查表的示例 139
14.3 使用代码复查检查表 142
14.4 建立个人检查表 143
14.5 改进检查表 147
14.6 编码标准 150
14.7 总结 152
14.8 练习14 152
第15章 缺陷预测 153
15.1 缺陷率 153
15.2 缺陷数据的使用 154
15.3 缺陷密度 155
15.4 缺陷率的预测 155
15.5 缺陷估计 156
15.6 更新的项目计划总结表和示例 157
15.7 登入实际的数据 164
15.8 总结 165
15.9 练习15 165
第16章 缺陷排除的经济效益 167
16.1 高质量工作的必要性 167
16.2 缺陷排除问题 168
16.3 缺陷排除时间 168
16.4 缺陷引入和排除的经验 168
16.5 节省缺陷排除时间 170
16.6 在PSP项目计划总结表中每小时缺陷数的计算 171
16.7 缺陷排除效益的计算 175
16.8 提高缺陷排除率 176
16.9 减少缺陷引入率 177
16.10 总结 177
16.11 练习16 178
第17章 设计缺陷 179
17.1 设计缺陷的本质 179
17.2 识别设计缺陷 180
17.3 什么是设计 181
17.4 设计过程 181
17.5 设计缺陷的起因 182
17.6 设计缺陷的影响 183
17.7 设计表达 183
17.8 总结 187
17.9 练习17 187
第18章 产品质量 189
18.1 质量第一 189
18.2 测试 189
18.3 过滤器概念 190
18.4 仔细工作的好处 191
18.5 缺陷排除效益的计算 192
18.6 最终的缺陷排除效益的估计 194
18.7 100%过程效益的好处 194
18.8 缺陷排除效益的经验 195
18.9 原型方法 196
18.10 总结 197
18.11 练习18 197
第19章 过程质量 199
19.1 过程度量 199
19.2 缺陷排除中的矛盾 199
19.3 缺陷排除策略 200
19.4 质量的成本 201
19.5 质量成本的计算 201
19.6 质检/过失比 205
19.7 改进复查的效率 208
19.8 质量成本的精确计算 208
19.9 总结 210
19.10 练习19 210
第20章 个人对质量的承诺 211
20.1 质量的重要性 211
20.2 低质软件的危险正在增长 211
20.3 制订个人质量承诺 212
20.4 个人的目标 213
20.5 成就的回报 213