第1章 软件工程概述 1
1.1 软件工程与软件危机 1
1.1.1 软件的发展阶段 1
1.1.2 软件工程与软件危机的产生 2
1.2 软件开发模型 4
1.2.1 软件生命周期 4
1.2.2 软件开发的瀑布型模型 8
1.2.3 原型化开发模型 9
1.2.4 面向对象的方法学 11
第2章 软件计划 14
2.1 软件计划的目标与任务 14
2.1.1 软件系统目标定义 14
2.1.2 可行性研究 15
2.1.3 资源需求分析 17
2.2.1 软件进度安排 18
2.2 软件计划 18
2.2.2 软件计划说明书 19
2.2.3 软件计划复审 19
第3章 软件需求分析 21
3.1 需求分析概述 21
3.1.1 需求分析的任务 21
3.1.2 获取需求的一般原则 22
3.2 结构化分析方法 23
3.2.1 数据流图 24
3.2.2 数据词典 28
3.2.3 应用示例 32
3.3 软件需求分析文档 37
3.4 需求分析复审 39
第4章 软件设计 41
4.1 总体设计概述 41
4.2.2 抽象与信息隐蔽原则 42
4.2.1 软件设计模块化 42
4.2 软件设计的基本概念 42
4.2.3 模块独立性 43
4.2.4 软件模块设计的启发式规则 46
4.2.5 用于软件设计的其它图形工具 49
4.3 结构化设计方法 50
4.3.1 基于变换分析的结构映射 50
4.3.2 基于事务分析的结构映射 52
4.3.3 变换、事务混合型的结构映射 53
4.3.4 SD方法的实施步骤 54
4.4 面向数据结构的设计 55
4.5 详细设计 59
4.5.1 SP方法 59
4.5.2 详细设计的描述工具 61
4.5.3 软件设计优化 65
4.5.4 程序结构复杂度的度量 65
4.6 用户界面设计 67
4.6.1 用户界面设计的一般原则 68
4.6.2 基于命令行方式的界面设计 70
4.6.3 菜单(menu)设计方法 71
4.6.4 对话框设计 72
4.6.5 多窗口界面设计 74
4.7 软件设计文档 75
4.8 软件设计复审 77
第5章 程序编码 79
5.1 程序设计语言 79
5.1.1 程序设计语言分类 79
5.1.2 程序设计语言的特征属性 82
5.1.3 选择程序设计语言准则 84
5.2 程序设计要点 85
5.2.1 程序设计风格 85
5.2.2 程序设计方法 91
5.2.3 程序设计自动化 92
第6章 软件测试 95
6.1 测试的基本概念 95
6.1.1 软件测试目的 95
6.1.2 测试任务的复杂性 96
6.1.3 测试的基本原则 97
6.1.4 测试工作的步骤 98
6.2 软件测试的基本方法 100
6.2.1 白盒法与路径覆盖标准 100
6.2.2 黑盒法测试的基本技术 104
6.2.3 实用综合测试策略 111
6.3 单元测试 112
6.3.1 单元测试内容 112
6.3.2 单元测试过程 113
6.4 集成测试 115
6.5 确认验收测试 118
6.6 软件调试 119
6.6.1 常用调试技术 120
6.6.2 常用调试策略 120
6.7 自动测试工具 121
6.7.1 测试数据产生程序 121
6.7.2 动态分析程序 121
6.7.3 静态分析程序 122
6.7.4 文件比较程序 122
6.8 软件可靠性 122
6.8.1 基本概念 122
6.8.2 估算MTTF的方法 123
第7章 软件维护 126
7.1 软件维护基本概念 126
7.2 维护过程 128
7.3.1 分析理解程序 130
7.3.2 修改程序 130
7.3 程序修改的步骤和副作用 130
7.3.3 程序修改的副作用 131
7.3.4 重新验证程序 131
7.4 软件的可维护性 132
第8章 软件项目管理 135
8.1 人员组织管理 135
8.1.1 程序设计小组 136
8.1.2 主程序员组 137
8.2 软件质量控制 137
8.2.1 软件质量指标 137
8.2.2 软件质量控制 139
8.3 项目计划管理 139
8.4 软件成本效益估计 141
8.4.1 基于代码行的成本估算方法 141
8.4.3 经验统计估算模型 142
8.4.2 任务分解成本估算 142
8.4.4 效益估算 144
8.5 文档管理 144
8.6 软件配置管理 146
8.6.1 基本概念 146
8.6.2 配置标识与版本控制 147
8.6.3 变更控制 149
8.6.4 软件配置审核 150
附录1. 可行性研究报告编写提示 152
附录:软件工程常用文档参考大纲 152
附录2. 项目开发计划编写提示 157
附录3. 软件需求规格说明书编写提示 159
附录4. 概要设计说明书编写提示 161
附录5. 详细设计说明书编写提示 163
附录6. 测试计划编写提示 165
附录7. 测试分析报告编写提示 167
附录8. 用户手册编写提示 168