前言页 1
第一部分 绪论 3
第一章 TSPi简介 3
1.1 什么是TSPi 3
1.2 TSPi原则 4
1.3 TSPi的设计 5
1.3.1 提供一个在PSP基础上建立的简单框架 5
1.3.2 把产品的开发划分为数个周期 5
1.3.5 进行角色和小组评估 6
1.3.6 必要的开发纪律 6
1.3.4 为小组和学生们提供明确的评估标准 6
1.3.3 建立标准的质量和效率评估机制 6
1.3.7 提供协同工作指导 7
1.4 TSPi的结构和流程 7
1.5 TSPif过程 10
1.6 课本结构和流程 10
1.7 小结 11
第二章 小组软件开发逻辑 13
2.1 为什么工程会失败 13
2.2 常见小组问题 14
2.2.1 领导不力 14
2.2.6 随意增加功能 15
2.2.4 拖延和缺少自信 15
2.2.5 质量低劣 15
2.2.2 无法协调或合作 15
2.2.3 缺少参与 15
2.2.7 无效的互评 16
2.3 小组是什么 16
2.3.1 小组规模 16
2.3.2 具有凝聚力的小组 16
2.3.3 协同工作基本条件 17
2.4 建立高效的小组 17
2.4.1 小组内聚力 17
2.4.2 挑战性的目标 17
2.4.4 共同工作框架 18
2.5 小组是怎样发展的 18
2.4.3 反馈 18
2.6 TSPi是如何创建小组的 19
2.6.1 目标 19
2.6.2 角色 19
2.6.3 计划 20
2.6.4 交流 20
2.6.5 对外交流 20
2.7 小结 21
第二部分 TSPi过程 25
第三章 启动一个小组工程 25
3.1 为什么需要小组启动过程 25
3.2 小组目标 25
3.2.2 制定小组目标 26
3.2.3 TSPi的目标制定 26
3.2.1 制定目标需要考虑的事项 26
3.3 小组成员目标 28
3.4 角色目标 29
3.4.1 小组长目标 29
3.4.2 开发经理目标 29
3.4.3 计划经理目标 30
3.4.4 质量/生产经理目标 30
3.4.5 技术支持经理目标 30
3.5 TSPi启动流程 30
3.5.2 产品目标 31
3.5.3 小组分配 31
3.5.1 学生信息 31
3.5.4 小组目标 32
3.5.5 小组会议和第一次小组会议 36
3.5.6 数据需求 36
3.5.7 工程开始 36
3.5.8 项目手册 36
3.5.9 TSPi支持工具 36
3.6 小结 40
第四章 开发策略 41
4.1 计划第一 41
4.1.1 工作前先计划 41
4.1.2 为这门课程作计划 42
4.2 什么是策略 42
4.4 风险管理 43
4.3 概念性的设计 43
4.5 复用策略 44
4.6 策略草案 44
4.6.1 开始条件 45
4.6.2 确定策略标准 47
4.6.3 完成概念性的设计 47
4.6.4 选择开发策略 47
4.6.5 进行初步规模估计 49
4.6.6 进行初步时间估计 49
4.6.7 估计风险 50
4.6.8 把策略存档 50
4.6.10 确定配置管理计划 51
4.6.11 结束标准 51
4.6.9 开发策略升级 51
4.7 小结 52
第五章 开发设计 53
5.1 计划的必要性 53
5.1.1 为什么要制订计划 53
5.1.2 平衡的计划 54
5.1.3 跟踪计划过程 54
5.1.4 详细计划 55
5.1.5 完成未计划的任务 56
5.1.6 估计级别 56
5.1.7 执行计划 57
5.2 TSPi计划过程 57
5.3 TSPi支持工具 58
5.4.2 工程计划步聚2.1 60
5.4.3 工程计划步聚2.2 60
5.4 开发计划草案 60
5.4.1 开始条件 60
5.4.4 工程计划步聚3.1 66
5.4.5 工程计划步聚3.2 66
5.4.6 工程计划步聚4.1 66
5.4.7 工程计划步聚4.2 66
5.4.8 工程计划步聚5 67
5.4.9 工程计划步聚6 68
5.4.10 工程计划步聚7 69
5.4.11 最终计划步聚 73
5.4.12 结束条件 73
5.5.3 工程跟踪步聚3 79
5.5.4 工程跟踪步聚4 79
5.5.1 工程跟踪步聚1 79
5.5.2 工程跟踪步聚2 79
5.5 工作跟踪 79
5.5.5 工程跟踪步聚5 80
5.5.6 工程跟踪步聚6 80
5.5.7 工程跟踪步聚7 80
5.5.8 工程跟踪步聚8 80
5.6 质量计划 82
5.6.1 主要比率 82
5.6.2 无缺陷比率(PDF) 82
5.6.3 缺陷数/页 83
5.6.4 缺陷数/KLOC 84
5.6.7 A/FR 85
5.6.5 缺陷比率 85
5.6.6 开发时间比率 85
5.6.8 复核与检查比率 86
5.6.9 缺陷引入比率 86
5.6.10 缺陷除去比率 88
5.6.11 阶段成品率 88
5.6.12 过程成品率 88
5.6.13 处理劣质部分 88
5.6.14 质量标准 89
5.7 小结 89
第六章 定义需求 91
6.1 什么是需求 91
6.3 需求的变化 92
6.2 为什么需要需求 92
6.4 软件需求规格说明书(SRS) 93
6.4.1 需求的可跟踪性 94
6.4.2 平衡工作量 94
6.5 TSPi需求草案 94
6.5.1 需要说明复核 95
6.5.2 需要说明的澄清 96
6.5.3 需求任务的分配 96
6.5.4 需求分析文档 97
6.5.5 系统测试计划 98
6.5.6 需求和系统测试计划的检查 98
6.6 小结 99
6.5.10 结束标准 99
6.5.9 需求的基准 99
6.5.7 需求的更新 99
6.5.8 用户复查SRS 99
第七章 小组设计 101
7.1 设计的原则 102
7.2 小组设计 102
7.2.1 使用整个小组 103
7.2.2 设计研究 103
7.2.3 使用整个小组的才智 103
7.3 设计的标准 104
7.3.1 设计表示的标准 104
7.3.4 生成准确的设计 105
7.4 设计的复用 105
7.3.3 状态机分析 105
7.3.2 使用情形或PSP操作脚本 105
7.4.1 复用界面标准 106
7.4.2 复用文档标准 106
7.4.3 复用部分的质量 106
7.4.4 应用支持 107
7.5 可用性设计 107
7.6 可测性设计 107
7.7 设计的复核和检查 108
7.8 TSPi设计草案 108
7.8.1 开始标准 108
7.8.4 总体产品结构 109
7.8.5 设计任务的分配 109
7.8.3 设计标准 109
7.8.2 总体设计 109
7.8.6 设计详细说明 110
7.8.7 集成测试计划 110
7.8.8 设计的检查 110
7.8.9 设计的更新 114
7.8.10 设计基准 114
7.8.11 结束标准 114
7.9 小结 114
第八章 产品实现 117
8.1 设计完成标准 117
8.1.1 设计的层次 117
8.2.1 标准的复核 118
8.2 实现标准 118
8.1.2 并行的实现 118
8.2.2 编码标准 119
8.2.3 大小标准 119
8.2.4 度量其他类型产品的大小 119
8.2.5 缺陷标准 120
8.2.6 预防缺陷 121
8.3 实现策略 122
8.3.1 实现策略:复核 122
8.3.2 实现策略:复用 122
8.3.3 实现策略:测试 123
8.4 复核和检查 123
8.4.1 随机缺陷 123
8.4.2 对测试的影响 123
8.5 IMP草案 124
8.5.1 开始条件 124
8.4.3 详尽测试的困难 124
8.4.4 对源程序的设计检查 124
8.5.2 实现计划 127
8.5.3 详细设计和设计复核 127
8.5.4 测试的开发 127
8.5.5 详细设计的检查 127
8.5.6 编码和代码复核 128
8.5.7 代码检查 128
8.5.8 单元测试 129
8.5.9 部件质量复核 131
8.5.10 部件的放行 132
8.5.11 结束标准 132
8.6 小结 132
9.1 测试原则 135
第九章 集成和系统测试 135
9.2 TSPi测试策略 136
9.3 建立和集成策略 137
9.3.1 Big-Bang策略 137
9.3.2 每次一个策略 137
9.3.3 聚类策略 138
9.3.4 平面系统策略 138
9.4 系统测试策略 138
9.5 测试计划 139
9.6 跟踪和度量测试 140
9.6.1 测试日志 140
9.7 文档 142
9.6.4 追踪缺陷数据 142
9.6.3 模块缺陷数据 142
9.6.2 有缺陷倾向的模块 142
9.7.1 文档的重要性 143
9.7.2 文档的设计 143
9.7.3 文档的提纲 144
9.7.4 书写风格 144
9.7.5 文档的复核 145
9.8 TSPi测试草案 145
9.8.1 开始条件 145
9.8.2 测试的开发 147
9.8.3 建立 148
9.8.4 集成 149
9.8.5 系统测试 149
9.8.8 结束标准 150
9.9 小结 150
9.8.6 回归测试 150
9.8.7 文档化 150
第十章 后期维护 153
10.1 为什么我们需要一个后期维护 153
10.2 后期维护能为你做什么 153
10.3 过程改进建议 154
10.4 TSPi后期维护草案 154
10.4.1 开始条件 154
10.4.2 复核过程数据 155
10.4.3 质量复核 157
10.4.6 周期报告 158
10.4.4 角色评价 158
10.4.5 准备周期报告 158
10.4.7 角色报告 159
10.4.8 工程师报告 159
10.4.9 制定报告 161
10.4.10 角色评价 161
10.4.11 角色评价意见 161
10.4.12 结束标准 162
10.5 小结 162
11.1 小组领导的目标 165
11.1.1 小组成员的共同目标 165
第十一章 小组领导的角色 165
第三部分 小组角色 165
11.1.2 小组领导目标1 166
11.1.3 小组领导目标2 166
11.1.4 小组领导目标3 166
11.1.5 小组领导目标4 167
11.1.6 小组领导目标5 167
11.2 对小组领导者有帮助的技能和能力 167
11.2.1 有拥护者的领导者 168
11.2.2 领导者需要的特性 168
11.2.3 领导者克服困难 170
11.2.4 领导者处理人际关系 170
11.3 小组领导主要活动 170
11.3.1 小组领导主要活动1 170
11.3.3 小组领导主要活动3 173
11.3.2 小组领导主要活动2 173
11.3.4 小组领导主要活动4 174
11.3.5 小组领导主要活动5 174
11.3.6 小组领导主要活动6 175
11.3.7 小组领导主要活动7 178
11.3.8 小组领导主要活动8 178
11.4 小组领导的工程活动 178
11.5 小结 178
第十二章 开发经理角色 181
12.1 开发经理的目标 181
12.1.1 小组成员的共同目标 181
12.2 对开发经理有帮助的技能和才干 182
12.1.3 开发经理目标2 182
12.1.2 开发经理目标1 182
12.3 开发经理的主要活动 184
12.3.1 开发经理主要活动1 184
12.3.2 开发经理主要活动2 185
12.3.3 开发经理主要活动3 185
12.3.4 开发经理主要活动4 186
12.3.5 开发经理主要活动5 187
12.3.6 开发经理主要活动6 187
12.3.7 开发经理主要活动7 188
12.3.8 开发经理主要活动8 188
12.3.9 开发经理主要活动9 190
12.3.10 开发经理主要活动10 190
12.3.11 开发经理主要活动11 190
12.5 小结 191
12.4 开发经理的工程活动 191
第十三章 计划经理角色 193
13.1 计划经理的目标 193
13.1.1 小组成员的共同目标 193
13.1.2 计划经理目标1 194
13.1.3 计划经理目标2 194
13.2 对计划经理有帮助的技能和能力 195
13.3 计划经理的主要活动 195
13.3.1 计划经理主要活动1 195
13.3.2 计划经理主要活动2 197
13.3.3 计划经理主要活动3 198
13.3.4 计划经理主要活动4 200
13.4 计划经理的工程活动 203
13.5 小结 203
13.3.5 计划经理主要活动5 203
13.3.6 计划经理主要活动6 203
第十四章 质量/生产经理角色 205
14.1 质量/生产经理的目标 205
14.1.1 小组成员的共同目标 205
14.1.2 质量/生产经理的目标1 206
14.1.3 质量/生产经理的目标2 206
14.1.4 质量/生产经理的目标3 207
14.1.5 质量/生产经理的目标4 207
14.2 质量/生产经理应具备的技能与能力 208
14.3 质量/生产经理的主要活动 208
14.3.1 质量/生产经理职能1 209
14.3.3 质量/生产经理职能3 210
14.3.4 质量/生产经理职能4 210
14.3.2 质量/生产经理职能2 210
14.3.5 质量/生产经理职能5 211
14.3.6 质量/生产经理职能6 211
14.3.7 质量/生产经理职能7 213
14.3.8 质量/生产经理职能8 213
14.3.9 质量/生产经理职能9 214
14.4 质量/生产经理的工程活动 214
14.5 小结 215
第十五章 技术支持经理角色 217
15.1 技术支持经理的目标 217
15.1.3 技术支持经理目标2 218
15.1.1 小组成员的共同目标 218
15.1.2 技术支持经理目标1 218
15.1.4 技术支持经理目标3 219
15.1.5 技术支持经理目标4 219
15.2 对技术支持经理有帮助的技能和能力 219
15.3 技术支持经理的主要活动 219
15.3.1 技术支持经理主要活动1 221
15.3.2 技术支持经理主要活动2 221
15.3.3 技术支持经理主要活动3 221
15.3.4 技术支持经理主要活动4 221
15.3.5 技术支持经理主要活动5 221
15.3.6 技术支持经理主要活动6 222
15.3.8 技术支持经理主要活动8 223
15.4 技术支持经理的工程活动 223
15.3.7 技术支持经理主要活动7 223
15.5 小结 224
第四部分 使用TSPi 229
第十六章 管理自我 229
16.1 对工作负责 229
16.1.1 一个失败的工程 229
16.1.2 履行责任 230
16.1.3 决不放弃 230
16.1.4 面对事实 231
16.1.5 负责任所带来的风险 231
16.1.6 陈述事实 231
16.2.1 严格按时间表工作 232
16.2 努力为工作目标奋斗 232
16.1.7 事实是在于辩论 232
16.2.2 明确的工作目标带来了明确的工作目的 233
16.2.3 你想让我做什么 233
16.3 处事的原则 233
16.3.1 不与小组中其他人合作的后果 234
16.3.2 如何遵循处事的几个原则 234
16.4 你对自己的看法 234
16.5 你对别人的看法 235
16.6 你努力工作的承诺 235
16.6.1 优秀的工作是从你开始的 235
16.6.2 养成遵守纪律的习惯 236
16.6.3 愿望的产生 236
16.6.4 提高自我 236
16.7 小结 237
第十七章 小组中的互相协作 239
17.1 配合默契的小组 239
17.2 小组工作的责任 240
17.3 小组中成员的相互交流 240
17.3.1 透明性 240
17.3.2 聆听 240
17.3.3 协商 241
17.3.4 为什么有原则的协商是有效的 242
17.3.5 花费足够的时间 242
17.4 小组由成员对整个小组的承诺和义务 243
17.4.1 负责的承诺 243
17.4.2 做出承诺 243
17.5.2 支持有自己想法的人 244
17.5.1 勇于发表自己的看法 244
17.5 参与小组中的活动 244
17.5.3 唤起别人的注意 245
17.5.4 对他人的意见要给予关注 245
17.6 小组建设的责任 246
17.7 接受并扮演小组所分配的角色 246
17.8 参与小组工作计划的制定并努力按照工作计划开展工作 246
17.9 小组的建设与维护 247
17.9.1 难以相处的小组成员 247
17.9.2 学术小组的问题 248
17.9.3 寻求帮助 248
17.9.4 支持 248
17.10 小结 249
第十八章 小组工作 251