目录 1
第1章个人软件过程策略 1
1.1软件工程规范的逻辑 1
1.2什么是软件过程 3
1.3过程成熟度 4
1.4个人职责 5
1.5个人软件过程(PSP)策略 6
1.6 PSP的逻辑 10
1.7生产率和PSP 14
1.8警告 18
1.9小结 19
第2章个人过程的基准线 21
2.1过程的基准线 21
2.2为什么表格是有帮助的 23
2.3 PSP过程元素 24
2.4 PSP0过程 25
2.5 PSP0测度 27
2.6时间记录日志 28
2.7错误记录日志 32
2.8 PSP0项目规划概要 39
2.9自定义初始过程 41
2.11练习 42
2.10小结 42
第3章规划Ⅰ——规划过程 44
3.1为什么要编写规划 44
3.2什么是规划 45
3.3软件规划的内容 46
3.4规划一个软件项目 47
3.5编写质量规划 49
3.6小结 51
3.7练习 52
第4章规划Ⅱ——测度软件规模 53
4.1规模测度 53
4.2规模测度框架 56
4.3建立计数标准 60
4.4使用LOC计数 62
4.5关于重用 64
4.6代码行计数 65
4.7计算生产率 68
4.8 LOC计数器 69
4.9小结 71
4.10练习 72
第5章规划Ⅲ——软件规模估算 73
5.1背景 73
5.2流行的估算方法 75
5.3基于代理的估算 82
5.4 PROBE规模估算方法 87
5.5对象的类别 93
5.6估算需要注意的事项 100
5.7小结 105
5.8练习 105
第6章规划Ⅳ——资源和进度估算 107
6.1资源规划 107
6.2估算开发时间 109
6.3估算任务时间 114
6.4组合多种估算 116
6.5使用多重回归 120
6.6进度估算 124
6.7已获得价值的跟踪 132
6.8估算准确性 143
6.9小结 148
6.10练习 149
第7章个人软件过程中的测度 150
7.1测度概述 150
7.2基本的过程测度 151
7.3 目标问题度量的示意图 153
7.4普通PSP的目的、目标和问题 155
7.5一个GQM的例子 155
7.6收集数据 158
7.7数据收集的影响 163
7.8建立自己的个人过程的基准线 164
7.9小结 165
7.10练习 165
第8章设计评审和代码评审 167
8.1什么是评审 167
8.2为什么要评审程序 168
8.3个人评审 172
8.4评审原则 173
8.5分离设计评审和代码评审 176
8.6设计评审原则 177
8.7评审测度 179
8.8检查列表 187
8.9编译前评审与编译后评审 191
8.10评审和审查之间的关系 194
8.11小结 194
8.12练习 195
第9章软件质量管理 197
9.1什么是软件质量 197
9.2软件质量经济学 199
9.3开发一个质量策略 205
9.4过程基准 208
9.5产出率管理 212
9.6错误排除策略 215
9.7错误预防策略 219
9.8小结 222
9.9练习 222
第10章软件设计 225
10.1设计过程 225
10.2设计质量 228
10.3结构化设计过程 231
10.4设计记号法 234
10.5设计模板 236
10.6功能性说明模板 237
10.7状态说明模板 244
10.8逻辑说明模板 246
10.9可操作场景模板 249
10.10在设计中运用模板 252
10.11设计的基准 254
10.12小结 256
10.13练习 256
第11章提高个人软件过程水平 258
11.1使用抽象 258
11.2产品规模的阶段 260
11.3开发大规模软件 263
11.4抽象中的一个潜在问题 265
11.5开发策略 266
11.6 PSP3 268
11.7小结 270
11.8练习 271
第12章设计验证 272
12.1选择验证方法 272
12.2设计标准 274
12.3验证方法 275
12.4验证对象的状态机 277
12.5程序跟踪 287
12.6验证程序的正确性 299
12.7验证方法的评价 310
12.8小结 311
12.9练习 312
第13章定义软件过程 313
13.1 为什么定义过程 313
13.2软件过程基础 313
13.3过程定义 316
13.4定义过程阶段 324
13.5过程开发考虑事项 327
13.6过程进化 328
13.7过程开发的过程 329
13.9练习 334
13.8小结 334
第14章使用个人软件过程 336
14.1制作个人承诺 336
14.2在组织中使用PSP 337
14.3 PSP的个人代价 339
14.4 PSP的个人收益 341
14.5指导 343
14.6可靠的软件专业人员 345
14.7展望未来 346
附录A个人软件过程的统计方法 348
A.1统计分布 352
A.2方差和标准差 361
A.3相关性 363
A.4相关性的意义 366
A.5数学积分 367
A.6正态测试 373
A.7线性回归 384
A.8线性回归预测区间 387
A.9多元回归 391
A.10多元回归预测区间 394
A.11高斯方法 396
A.12 Pareto分布 399
B.1集合代数 401
附录B软件设计标记 401
B.2简化布尔表达式 404
B.3卡诺图 406
B.4描述程序功能 416
B.5电梯示例 419
B.6功能的完备性和正交性 421
B.7形式化描述设计 423
B.8 B2练习解答 423
附录C个人软件过程的内容 425
C.1 PSP0过程的内容 426
C.2 PSP0.1过程的内容 430
C.3 PSP1过程的内容 434
C.4 PSP1.1过程的内容 438
C.5 PSP2过程的内容 442
C.6 PSP2.1过程的内容 449
C.7 PSP3过程的内容 454
附录D个人软件过程练习 545
D.1做练习的准则 548
D.2编程练习 549
D.3程序开发规范 553
D.4报告练习 567
D.5作业规划-教师建议 572