第1章 软件过程 1
1.1 软件开发基本功 1
1.2 软件过程的作用 2
1.3 瀑布式软件过程 3
1.4 增量式软件过程 4
1.5 软件过程的具体体现 5
第2章 软件系统设计 7
2.1 设计基本手段 7
2.2 设计任务 8
2.3 结构化设计 9
2.4 模块化方法 11
2.5 面向对象设计 13
2.6 软件设计重用 14
2.7 软件设计检查 15
第3章 高质量编程 17
3.1 编程风格约定 17
3.2 高质量程序语句 18
3.2.1 直截了当说明意图 18
3.2.2 少使用临时变量 19
3.2.3 避免使用相似代码 20
3.2.4 促使语句松耦合 21
3.3 高质量函数原形 21
3.3.1 声明函数的理由 21
3.3.2 函数命名 23
3.3.3 函数参数 24
3.4 高质量函数编程 25
3.4.1 选择控制流结构 25
3.4.2 从伪码入手编排函数 26
3.4.3 尽量简化控制流 27
3.4.4 防错性编程 27
3.5 高质量程序结构 29
3.5.1 促使程序模块化 29
3.5.2 使模块关系清晰 29
3.5.3 每个模块只做一件事 30
3.5.4 分块编写大的程序 30
3.5.5 尝试优化数据结构 31
3.6 几条经验法则 32
3.6.1 检查程序清晰性 32
3.6.2 重编质量差的程序 32
3.6.3 从算法入手提高质量 32
3.6.4 尽量删除注释的代码 33
第4章 程序代码复查 34
4.1 微软的教训 34
4.2 代码复查的特点 35
4.3 微软人的复查 36
4.4 浏览程序不是复查 36
4.5 复查的层次化方法 37
4.6 复查效果激励 39
4.6.1 提高复查的效率 39
4.6.2 降低缺陷引入率 40
4.6.3 以老带新,时时学习 40
第5章 调试与优化 42
5.1 调试的误区 42
5.1.1 靠猜测发现错误 42
5.1.2 舍不得花时间理解问题 42
5.1.3 对调试工具的迷信 43
5.2 对复查进行验证 43
5.2.1 验证顺序程序代码 43
5.2.2 验证条件程序代码 44
5.2.3 验证循环程序代码 46
5.2.4 验证某些控制结构 48
5.3 卓有成效地调试 49
5.4 程序优化的涵义 51
5.5 提高执行效率 51
5.6 优化程序结构 56
5.6.1 尽量减少数组维数 56
5.6.2 运用辅助数据结构 57
5.6.3 促使程序简单化 58
第6章 程序质量保证 62
6.1 SQA与软件过程 62
6.2 SQA的回报 63
6.2.1 保证用户满意度 64
6.2.2 促进销售 64
6.2.3 降低维护成本 64
6.2.4 提高实践能力 65
6.3 程序接口质量保证 65
6.3.1 参数要直观 66
6.3.2 返回值要统一 68
6.3.3 函数用途要单一 69
6.3.4 信息隐藏 70
6.4 程序实现质量保证 70
6.4.1 句法技巧 71
6.4.2 语法检查 71
6.4.3 全局变量 72
6.5 测试阶段的SQA 72
6.5.1 单元测试 73
6.5.2 集成测试 73
6.5.3 系统测试 74
第7章 编写软件文档 75
7.1 软件文档的作用 75
7.1.1 程序修改 75
7.1.2 工作交接 76
7.2 文档观念中的误区 78
7.2.1 文无定法 78
7.2.2 放弃质量,保证进度 79
7.2.3 程序比文档更重要 80
7.2.4 错几个字算得什么? 81
7.3 轻松写文档 82
7.4 必须纠正的缺陷 83
7.4.1 滥用省略 83
7.4.2 不遵守文法 84
7.4.3 交代不明 85
7.4.4 眉目不清 85
7.4.5 未认真编辑 85
7.5 案例点评 86
7.6 重视文档常规项 87
第8章 程序版本控制 89
8.1 版本控制方法 89
8.2 个案讨论 93
8.3 解决具体问题 95
8.4 适应版本控制要求 97
8.4.1 用工具管理版本 97
8.4.2 适应变更控制的要求 98
8.4.3 开发小组的版本协调 98
8.5 向配置管理过渡 100
第9章 软件质量控制 104
9.1 软件质量概念 104
9.2 质量控制手段 106
9.3 最常规的手段 108
9.4 质量要求具体化 109
9.5 质量问题分辨 110
9.6 质量问题改进 112
9.7 解决好技术干扰 114
第10章 团队协作基本功 115
10.1 让会议有效果 115
10.2 与主管共事 116
10.3 强化产品观念 117
10.3.1 控制成本观念 117
10.3.2 软件重用观念 118
10.3.3 “用户第一”观念 119
10.4 调配工作时间 120
10.5 在实践中提高能力 121
参考文献 124