第1章 软件工程基本概念 1
1.1软件危机与软件工程 1
1.2软件生命周期 3
1.3常用的软件开发模型 6
1.4小结 10
习题1 10
第2章 可行性研究 13
2.1可行性研究概述 13
2.2可行性研究报告 16
2.3系统流程图 17
2.4数据流图及数据字典 21
2.5成本/效益分析 28
2.6小结 29
习题2 30
第3章 需求分析 34
3.1需求分析概述 34
3.2需求获取 37
3.3需求分析与建模 40
3.4软件需求规格说明 45
3.5需求验证与管理 46
3.6小结 47
习题3 48
第4章 概要设计 50
4.1设计概述 50
4.2设计原理 52
4.3设计工具 57
4.4设计方法 61
4.5设计文档 70
4.6小结 71
习题4 71
第5章 详细设计 74
5.1设计概述 74
5.2设计工具 75
5.3设计方法 80
5.4设计文档 87
5.5 McCabe方法 87
5.6小结 90
习题5 90
第6章 编码与测试 92
6.1编码 92
6.2测试概述 94
6.3单元测试 97
6.4集成测试 101
6.5白盒测试技术 104
6.6黑盒测试技术 110
6.7 JUnit单元测试 114
6.8小结 127
习题6 127
第7章 维护 132
7.1维护概述 132
7.2维护实施过程 135
7.3软件的可维护性 138
7.4小结 140
习题7 140
第8章 面向对象方法学 142
8.1面向对象方法概述 142
8.2面向对象分析建模 145
8.3建立对象模型 148
8.4建立动态模型 152
8.5建立功能模型 156
8.6设计模式简介 159
8.7面向对象的程序设计与实现 174
8.8小结 182
习题8 182
第9章 软件项目管理 183
9.1软件项目管理概述 183
9.2软件项目成本管理 187
9.3软件项目进度管理 194
9.4软件项目配置管理 199
9.5软件项目风险管理 204
9.6 CMM与CMMI 212
9.7项目管理工具Microsoft Project及使用 215
9.8小结 223
习题9 224
第10章 软件工程实验 226
10.1结构化分析实验 226
10.2数据库概念结构设计实验 228
10.3结构化设计实验 229
10.4软件测试实验 230
10.5软件项目管理实验 232