目录 1
第一章 绪论 1
1.1 软件工程原理 2
1.1.1 计划管理 2
1.1.2 文档 3
1.1.3 评审 3
1.1.4 基线控制 4
1.1.5 软件开发方法和工具 4
1.1.6 对待软件工程的错误概念 5
1.2 软件生存周期 6
1.2.1 定义阶段 6
1.2.2 开发阶段 8
1.2.3 维护阶段 9
1.3 软件质量 10
1.3.1 软件质量度量模型 10
1.3.2 软件质量度量方法 12
1.3.3 软件质量度量技术的应用 14
第二章 可行性研究与计划 16
2.1 现状的调查 17
2.2 系统规划 18
2.3 可行性研究 19
第三章 需求分析 20
3.1 概述 20
3.2 需求分析的内容 20
3.2.1 用户分析 20
3.2.2 计划分析 20
3.2.3 新系统分析 21
3.2.4 旧系统分析 21
3.2.5 硬件环境分析 21
3.2.6 软件环境分析 21
3.2.7 数据结构分析 22
3.3 需求分析的结果 22
4.1 概述 23
4.2 系统要求 23
第四章 概要设计 23
4.2.1 系统目标 24
4.2.2 环境设计 24
4.2.3 通用性与适应性 24
4.2.4 保密性 24
4.2.5 可维护性 24
4.2.6 开发进度计划 25
4.3 外部设计 25
4.3.1 输入说明 25
4.3.2 输出说明 25
4.3.3 系统信息的变化 25
4.4 结构设计和接口设计 26
4.5 文件设计 26
5.1.1 详细设计的主要任务 28
5.1.2 详细设计的实施步骤 28
5.2 过程的结构化构造 28
5.1 详细设计的任务和步骤 28
第五章 详细设计 28
5.2.1 基本逻辑结构 29
5.2.2 基本逻辑结构嵌套 31
5.3 详细设计工具 32
5.3.1 流程图 32
5.3.2 框图 34
5.3.3 程序设计语言(PDL) 36
5.3.4 判定树和判定表 39
5.3.5 详细设计工具比较 41
5.4 过程的逐步求精 42
5.4.1 用PDL语言的逐步求精设计 42
5.4.2 用N-S图的逐步求精设计 46
5.5 详细设计交付的文件 47
5.5.1 程序设计说明书 47
5.5.2 模块开发卷宗 48
5.6 详细设计评审 50
5.6.1 设计验证 50
5.6.2 设计评审 51
6.2 程序设计语言的选择 53
第六章 实现 53
6.1 概述 53
6.2.1 程序设计语言的分类 54
6.2.2 选择语言的依据 56
6.3 结构化编码 58
6.4 几种常用语言的结构编码方法 59
6.4.1 ALGOL-60 59
6.4.2 COBOL 61
6.4.3 FORTRAN 63
6.4.4 PL/1 65
6.4.5 BASIC 67
6.5 编码风格 70
6.5.1 注解 71
6.5.2 空白行与空格 73
6.5.3 标识与顺序号 74
6.5.4 标识符的选择 74
6.5.5 语句的位置 76
6.5.7 按字母顺序排表 78
6.5.6 括号 78
6.5.8 避免程序的自身修改 79
6.5.9 避免不必要的分支 80
6.5.10 选择好的算法 84
6.5.11 使程序直接了当的体现解题过程 86
6.5.12 使用子例程、子程序或函数 87
6.5.13 最大限度的减少GOTO语句 88
6.6.1 编译程序可检测的错误 89
6.6 防止编码错误 89
6.6.2 编译程序不能检测的错误 90
6.6.3 防止编码错误的方法 92
6.7 代码复查 93
6.8 实现工具 95
第七章 软件测试 96
7.1 概述 96
7.2 软件测试的目标和原则 97
7.3 软件测试的步骤 98
7.3.3 确认测试 99
7.3.1 模块测试 99
7.3.2 组装测试 99
7.4 模块测试 100
7.4.1 模块测试内容 100
7.4.2 模块测试过程 101
7.5 组装测试 102
7.5.1 自顶向下组装测试 102
7.5.3 测试小组与测试报告 105
7.6 确认测试 105
7.5.2 组装测试计划 105
7.6.1 确认测试准则 106
7.6.2 确认测试评审 106
7.6.3 软件项目开发总结 107
7.7 测试用例设计技术 107
7.7.1 逻辑覆盖法 107
7.7.2 等价划分法 110
7.7.3 边值分析法 111
7.7.6 综合方法 112
7.7.4 因果图法 112
7.7.5 错误猜测法 112
7.8 排错 115
7.8.1 排错的步骤 115
7.8.2 排错方法 115
7.8.3 调试工具 116
7.9 自动测试工具 117
第八章 软件开发管理 118
8.1 组织机构 119
8.1.1 计划、分析和管理结构 120
8.1.2 定义的管理问题 121
8.1.3 开发的管理问题 122
8.2 计划管理 123
8.2.1 软件计划 123
8.3 文档管理 123
8.3.1 文档汇编的形式标准 126