第1章 软件工程概述 1
1.1 软件 1
1.1.1 软件的概念 1
1.1.2 软件的特点 2
1.1.3 软件的分类 3
1.2 软件危机 4
1.2.1 软件危机的表现 4
1.2.2 软件危机的原因 5
1.3 软件工程 6
1.3.1 软件工程的概念 6
1.3.2 软件工程的基本内容 7
1.3.3 软件工程的知识体系 8
1.4 软件生命周期 14
1.4.1 软件生命周期的概念 14
1.4.2 传统软件生命周期的各个阶段 15
1.5 软件开发模型及其发展 16
1.5.1 瀑布模型 17
1.5.2 原型模型 18
1.5.3 增量模型 19
1.5.4 螺旋模型 19
1.5.5 统一软件开发过程模型 20
1.5.6 敏捷模型 21
1.5.7 MSF 24
1.6 理论部分小结 26
1.7 软件工程的相关工具 27
1.8 软件工程的常用信息源 27
1.9 Visio的功能及使用方法介绍 28
1.10 Rose的功能及使用方法介绍 34
练习题 40
第2章 可行性研究及需求分析 41
2.1 可行性研究 41
2.1.1 可行性研究的目的与意义 41
2.1.2 可行性研究的内容 41
2.1.3 可行性研究的步骤 42
2.2 需求分析 43
2.2.1 需求分析的目的与意义 43
2.2.2 需求分析的步骤 44
2.3 结构化需求分析的方法 46
2.4 结构化需求分析的工具 47
2.4.1 数据流图 47
2.4.2 数据字典 48
2.4.3 E-R图 49
2.5 面向对象的软件工程方法 50
2.5.1 面向对象的基本概念 50
2.5.2 面向对象的软件工程方法的特征与优势 53
2.6 面向对象需求分析方法 54
2.7 UML简介 56
2.8 理论部分小结 58
2.9 利用Visio绘制网上书店系统的数据流图 58
2.10 利用Rose创建网上书店系统的用例模型 63
2.11 需求规格说明书编写指南 69
2.12 网上书店系统的需求规格说明书 74
练习题 88
第3章 软件设计 90
3.1 软件设计的基本概念 90
3.1.1 软件设计的分类 91
3.1.2 软件设计的原则 91
3.2 结构化软件设计方法 94
3.2.1 面向数据流的设计方法 95
3.2.2 面向数据结构的设计方法 98
3.3 结构化软件设计工具 100
3.3.1 流程图 100
3.3.2 N-S图 102
3.3.3 PAD图 103
3.4 面向对象软件设计方法 104
3.5 数据库结构设计 107
3.6 软件的体系结构 108
3.6.1 软件的体系结构概述 108
3.6.2 软件系统的设计模式 110
3.7 理论部分小结 115
3.8 利用Visio绘制网上书店系统的结构图 115
3.9 利用Rose绘制网上书店系统的顺序图 118
3.10 软件设计说明书编写指南 120
3.11 网上书店系统的软件设计说明书 124
练习题 139
第4章 编码及实现 140
4.1 编程语言 140
4.1.1 编程语言的发展与分类 140
4.1.2 选择编程语言需考虑的因素 142
4.2 编程风格 142
4.3 理论部分小结 145
4.4 Visual Studio的使用方法介绍 145
4.4.1 Visual Studio概述 145
4.4.2 利用Visual Studio进行开发 148
4.4.3 利用Visual Studio进行调试 155
4.5 Fxcop的功能和使用方法介绍 158
4.5.1 Fxcop概述 158
4.5.2 利用Fxcop对网上书店系统的编码进行规范 159
练习题 163
第5章 软件测试 164
5.1 软件测试的基本概念 164
5.1.1 软件测试的原则 165
5.1.2 软件测试模型 166
5.2 软件测试的分类 169
5.3 软件测试的方法 170
5.3.1 等价类划分法 171
5.3.2 逻辑覆盖法 173
5.4 软件测试的一般步骤 175
5.5 面向对象的软件测试 175
5.6 理论部分小结 178
5.7 利用Visual Studio中的工具进行单元测试 179
5.8 测试分析报告编写指南 184
5.9 网上书店系统的测试分析报告 186
练习题 198
第6章 软件工程的其他相关内容 200
6.1 软件维护 200
6.1.1 软件维护的过程 201
6.1.2 软件维护的分类 202
6.1.3 软件的可维护性 203
6.1.4 软件维护的副作用 204
6.2 软件质量保证 206
6.2.1 软件质量的基本概念 206
6.2.2 软件质量保证的措施 207
6.3 软件配置管理 208
6.4 软件过程能力成熟度模型 209
6.5 软件项目管理 211
6.6 软件文档 213
6.7 理论部分小结 215
6.8 Project的功能及使用方法介绍 215
6.8.1 Project概述 215
6.8.2 利用Project管理网上书店系统的开发过程 223
6.9 用户手册编写指南 227
6.10 用户安装手册编写指南 228
练习题 229
参考文献 230