第一章 软件工程概述 1
1.1软件及其发展 1
1.2软件危机 3
1.3软件工程 5
1.4软件过程 8
1.4.1软件生存周期 8
1.4.2典型的软件过程模型 10
1.5本章小结 24
第二章 可行性研究 25
2.1计算机系统 25
2.2可行性研究概述 27
2.2.1可行性研究的任务 27
2.2.2可行性研究的步骤 27
2.2.3可行性研究的内容 31
2.2.4成本/效益估计实例分析 34
2.3本章小结 34
第三章 需求分析 36
3.1需求分析概述 36
3.2需求分析的内容 37
3.2.1需求获取 38
3.2.2需求分析 41
3.2.3需求规格说明 43
3.2.4验证 45
3.3需求分析的快速原型方法 46
3.3.1概述 46
3.3.2快速原型方法 47
3.3.3快速原型的实现途径 49
3.3.4原型方法的技术与工具 50
3.4需求分析的结构化分析方法 50
3.4.1概述 50
3.4.2数据建模 52
3.4.3功能建模 55
3.4.4行为建模 67
3.5本章小结 71
第四章 软件设计方法 73
4.1概述 73
4.2软件体系结构设计 74
4.2.1软件体系结构定义 74
4.2.2经典的体系结构风格 76
4.3数据库数据结构设计 84
4.3.1数据结构规范化理论 85
4.3.2数据库数据结构设计 86
4.4结构化设计方法 88
4.4.1结构化设计概述 89
4.4.2结构化设计的依据 90
4.4.3结构化设计的标准工具和设计原则 92
4.4.4结构化设计的设计策略 97
4.4.6结构化设计实例 102
4.5 Jackson软件开发方法 103
4.5.1概述 103
4.5.2 Jackson方法的相关概念 104
4.5.3 Jackson方法的步骤 105
4.6过程设计 107
4.7设计说明书 110
4.7.1设计说明书格式 110
4.7.2设计的复审 115
4.8软件体系结构风格及软件体系结构实例 115
4.9本章小结 117
第五章 面向对象开发方法 119
5.1概述 119
5.2面向对象的基本概念 124
5.3对象模型技术 127
5.3.1基本模型 129
5.3.2对象模型技术方法的开发过程 132
5.3.3应用实例 134
5.4 Coad/Yourdon方法 136
5.4.1面向对象分析 136
5.4.2面向对象设计 138
5.5 Jacobson方法 140
5.5.1基本思想 140
5.5.2基本概念 141
5.5.3 Jacobson方法的步骤 142
5.6统一建模语言 144
5.6.1概述 144
5.6.2 UML内容 146
5.6.3 UML应用 152
5.7面向对象开发中的设计模式 155
5.7.1概述 155
5.7.2设计模式 156
5.9本章小结 164
第六章 软件测试与软件可靠性 166
6.1软件测试概述 166
6.1.1单元测试的基本方法 169
6.1.2集成测试的基本方法 171
6.1.3确认测试的基本方法 174
6.1.4系统测试的基本方法 175
6.2黑盒测试 177
6.2.1等价类划分 178
6.2.2边界值分析 179
6.2.3因果图 180
6.3白盒测试 182
6.3.1程序结构分析 182
6.3.2逻辑覆盖 186
6.3.3程序插装 194
6.3.4其他白盒测试方法简介 196
6.4软件测试工具 199
6.4.1测试工具的分类 199
6.4.2主流测试工具介绍 201
6.4.4测试工具的选择 204
6.5软件可靠性 205
6.5.1影响软件可靠性的主要因素 206
6.5.2软件可靠性模型及其分类 207
6.5.3经典的软件可靠性模型介绍 211
6.6基于体系结构的软件可靠性估计实例 217
6.6.1基于软件体系结构的可靠性模型 218
6.6.2软件构件的可靠性 220
6.6.3 VC++面向对象软件的框架结构 222
6.6.4 VC++集成环境下的测试工具 223
6.6.5 VC++集成环境下的软件可靠性估计 226
6.6.6影响系统可靠性的因素分析 230
6.7本章小结 231
第七章 软件项目管理 233
7.1项目管理过程 233
7.2软件项目计划管理 234
7.3软件项目估算 236
7.3.1软件项目分解 237
7.3.2软件规模估算 238
7.3.3软件工作量估算 244
7.3.4软件进度估算 251
7.4风险管理 257
7.5软件配置管理 261
7.4.1软件配置管理的概念 261
7.4.2软件配置管理的任务 261
7.4.3软件配置工具 267
7.6本章小结 269
第八章 综合应用实例 271
8.1民航机场信息系统的发展过程 271
8.2 Web浏览器/服务器模式及其应用 272
8.3基于软件体系结构的开发方法 273
8.4民航机场领域的基本需求 274
8.5软件体系结构设计 279
8.5.1客户/服务器型软件体系结构风格 279
8.5.2民航机场信息系统软件体系结构模式 280
8.5.3软件体系结构设计 282
8.5.4设计模式在民航机场信息系统软件体系结构中的应用 285
8.6构件库管理系统的设计 290
8.6.1构件库中构件的分类方法 290
8.6.2构件库设计 291
8.6.3领域COM构件开发技术 293
8.7程序说明 296
8.7.1构件实现的功能 296
8.7.2客户端程序功能说明 296
8.8民航机场信息系统的发展 302
8.9本章小结 303
附录 304
附录A 304
附录B 307
附录C 310
参考文献 317