第一章 软件工程概述 1
第一节 计算机系统及其软件的发展 1
第二节 软件、软件生存周期和软件生存周期过程 3
第三节 软件生存周期模型 5
第四节 软件工程定义 8
第五节 软件工具与环境 11
第六节 软件工程的发展 13
主要术语 14
阅读:《人月神话》作者布鲁克斯 14
习题与思考 16
实验:软件工程的计算环境 16
第二章 系统定义与软件计划 20
第一节 系统定义 20
第二节 软件计划 29
第三节 进度安排 31
第四节 计划文件与复审 32
主要术语 33
阅读:软件思想家杰拉尔德·温伯格 33
习题与思考 34
实验:工具、环境与CASE 35
第三章 软件需求分析 42
第一节 需求分析阶段的任务 42
第二节 结构化分析方法 43
第三节 数据流程图 45
第四节 数据字典 48
第五节 加工的分析与表达 51
第六节 需求分析文件与复审 55
主要术语 57
阅读:SA/SD研究的领导者Edward Yourdon 57
习题与思考 58
实验:软件开发绘图工具Visio 59
第四章 软件概要设计 70
第一节 模块的划分 70
第二节 结构化设计方法 75
第三节 Parnas方法 79
第四节 Jackson方法 80
第五节 程序的逻辑构造方法 81
第六节 概要设计文件与复审 81
主要术语 82
阅读:《未来之路》和《数字化生存》 83
习题与思考 83
实验:用Visio绘制工程图形 86
第五章 软件详细设计 92
第一节 概述 92
第二节 结构化构造 93
第三节 图形设计工具 94
第四节 伪码与程序设计语言 100
第五节 各种详细设计工具的比较 101
第六节 详细设计文件与复审 102
主要术语 103
阅读:软件产业的设计大师——VB之父Alan Cooper 103
习题与思考 104
实验:软件工程国家标准 105
第六章 软件编码 113
第一节 结构化程序设计方法 113
第二节 程序设计风格 114
第三节 源代码文件 116
第四节 程序设计与评价 118
第五节 编程语言的特点 120
第六节 选择编程语言 123
第七节 编码文件与复审 125
主要术语 125
阅读:19世纪的传奇合作——巴贝奇与阿达 126
习题与思考 127
实验:指定或自选项目编制软件需求分析与概要设计文档 130
第七章 软件测试 132
第一节 测试的基本概念 132
第二节 测试方法 134
第三节 单元测试 136
第四节 组装测试 137
第五节 确认测试 138
第六节 测试用例设计 140
第七节 测试工具与测试自动化 144
第八节 测试文件与复审 147
主要术语 150
阅读:从程序员到软件测试工程师 151
习题与思考 154
实验:软件自动化测试环境 159
第八章 面向对象分析与设计 163
第一节 面向对象方法 163
第二节 面向对象的概念 166
第三节 面向对象软件的开发过程 167
第四节 面向对象分析OOA 170
第五节 面向对象设计OOD 175
主要术语 180
阅读:极限编程XP方法学的先驱Kent Beck 181
习题与思考 182
实验:了解功能测试软件WinRunner 185
第九章 面向对象的实现 192
第一节 面向对象编程 192
第二节 面向对象测试 194
第三节 OO软件的测试用例设计 198
主要术语 200
阅读:CASE与信息工程的创始人James Martin 200
习题与思考 201
实验:PowerDesigner入门 201
第十章 统一建模语言UML 213
第一节 UML概述 213
第二节 PowerDesigner的OOM 214
主要术语 217
阅读:软件开发的教父Martin Fowler 217
习题与思考 218
实验:PowerDesigner面向对象模型 218
第十一章 软件文件 247
第一节 目的和作用 247
第二节 软件生存周期与各种文件的编制 248
第三节 文件编制中考虑的因素 249
第四节 文件编制的质量要求 251
第五节 文件的管理和维护 251
主要术语 254
阅读:软件工程的7条基本原理 254
习题与思考 255
实验:软件产品开发文件编制指南 256
第十二章 软件维护 263
第一节 概述 263
第二节 软件的可维护性 266
第三节 软件维护的管理 274
主要术语 275
阅读:软件工程学科的内涵 276
习题与思考 277
实验:软件项目管理Project初步 279
第十三章 质量评价与软件管理 284
第一节 软件项目的特点与软件管理职能 284
第二节 对软件质量的需求 285
第三节 软件质量度量 286
第四节 软件质量评估指标体系 288
第五节 软件评价 290
第六节 CMM:软件能力成熟度模型 293
主要术语 294
阅读:软件工程学科的相关学科 294
习题与思考 295
实验:软件配置管理VSS 297
第十四章 软件工程实验总结 307
第一节 实验的基本内容 307
第二节 实验的基本评价 309
第三节 课程学习能力测评 310
第四节 软件工程实验总结 311
第五节 实验总结评价(教师) 312
附录一 WinRunner功能测试实践 313
附录二 Project项目管理实践 331
参考文献 351