目录 1
第一章 软件危机与软件工程 1
1.1 软件危机 1
1.2 软件工程学的范畴 2
1.3 软件工程的应用 4
习题 6
第二章 软件生存周期 7
2.1 生存周期的瀑布模型 7
2.2 瀑布型软件开发的特点 10
*2.3 快速的原型化开发 11
习题 12
3.2 需求分析的步骤 13
3.1 需求分析的任务 13
第三章 软件需求分析 13
3.3 需求规格说明书 15
3.4 结构化分析方法 27
*3.5 需求分析的工具 32
小结 36
习题 37
第四章 软件设计概述 38
4.1 软件设计的任务和步骤 38
4.2 模块化设计 39
4.3 自顶向下逐步细化 43
4.4 设计文档及其复审 44
小结 50
习题 51
第五章 结构化系统设计 52
5.1 概述 52
5.2 软件结构的典型形式 52
5.3 建立初始结构图 54
5.4 结构图的改进 61
5.5 SD方法应用举例 66
小结 76
习题 76
第六章 详细设计 78
6.1 目的与任务 78
6.2 模块的逻辑设计 79
6.3 常用的表达工具 82
*6.4 结构复杂性的度量 85
小结 90
习题 90
第七章 其它设计方法 93
7.1 面向数据结构的设计 93
7.2 Jackson图 94
7.3 Jackson设计方法 97
7.4 Warnier图 107
*7.5 LCP设计方法 110
小结 115
习题 115
第八章 编码和语言选择 117
8.1 编码的目的 117
8.2 编码的风格 118
8.3 编码语言的发展 126
8.4 编码语言的选择 130
小结 131
习题 131
第九章 软件测试 133
9.1 基本概念 133
9.2 代码的复审 136
9.3 测试用例的设计 137
9.4 单元测试 151
9.5 综合测试 155
9.6 高级测试 158
9.7 纠错 160
小结 163
习题 163
第十章 软件维护 165
10.1 维护的种类 165
10.2 可维护性 166
*10.3 维护工作的步骤 169
*10.4 维护工作的管理 170
小结 172
习题 173
第十一章 软件项目计划 174
11.1 问题定义 174
11.2 可行性研究 175
小结 180
11.3 项目实施计划 180
习题 181
第十二章 软件工程管理 182
12.1 管理的目的与内容 182
*12.2 软件估算模型 183
12.3 成本估计 187
12.4 人员的分配与组织 192
*12.5 进度安排 194
小结 198
习题 198
*第十三章 软件质量保证 200
13.1 质量保证 200
13.2 软件可靠性 202
13.3 程序正确性证明 206
小结 207
习题 208
第十四章 软件工程环境 209
14.1 什么是软件工程环境 209
14.2 软件开发环境的演变 209
14.3 集成化项目支持环境 211
*14.4 UNIX程序设计环境 214
*14.5 Ada程序设计支持环境 220
14.6 应用生成器简介 221
小结 222
习题 222
主要参考文献 224