第1章 初识软件工程
1.1 软件与软件危机
1.1.1 理解软件的概念
1.1.2 软件的特点
1.1.3 产生软件危机的原因
1.2 软件工程的由来
1.2.1 软件工程的产生和发展
1.2.2 浅谈软件工程的定义
1.2.3 理解软件工程的作用
1.2.4 软件工程研究的内容
1.3 软件的开发方法
1.3.1 面向过程的方法
1.3.2 面向数据的方法
1.3.3 面向对象的方法
1.4 软件生存周期
1.5 了解软件开发模型
1.5.1 瀑布模型
1.5.2 快速原型模型
1.5.3 渐增模型
1.5.4 螺旋模型
1.5.5 快速应用开发模型
1.6 小结
1.7 习题
第2章 软件需求分析
2.1 需求分析的任务
2.2 需求分析的步骤
2.3 实体一关系图
2.4 数据流图
2.5 数据字典
2.6 需求分析图形工具
2.7 需求分析的文档
2.8 案例分析
2.9 小结
2.10 习题
第3章 软件设计
3.1 软件设计概述
3.1.1 软件设计概念与重要性
3.1.2 软件设计的任务与策略
3.1.3 软件设计基本原则
3.2 概要设计
3.2.1 概要设计的任务和步骤
3.2.2 面向数据流图的设计方法
3.2.3 面向对象的设计方法
3.3 模块和模块化
3.3.1 模块
3.3.2 模块化
3.3.3 模块分割评价标准
3.3.4 模块设计规则
3.4 详细设计
3.4.1 详细设计的目标与任务
3.4.2 面向过程详细设计
3.4.3 面向数据详细设计
3.4.4 面向对象详细设计
3.5 Jackson程序设计方法
3.6 Warn1er程序设计方法
3.7 用户界面设计
3.8 软件设计规格说明书
3.9 案例分析
3.10 小结
3.11 习题
第4章 程序编码
4.1 程序编码概述
4.2 结构化程序设计
4.3 程序设计风格
4.3.1 源程序文件
4.3.2 语句构造方法
4.3.3 输入/输出技术
4.4 程序设计效率
4.5 程序设计语言的选择
4.6 小结
4.7 习题
第5章 面向对象技术
5.1 面向对象技术的概念
5.1.1 面向对象方法概述
5.1.2 面向对象的概念
5.1.3 面向对象方法的主要优点
5.2 面向对象分析
5.2.1 面向对象的分析过程
5.2.2 面向对象的分析原则
5.3 面向对象设计
5.3.1 系统设计
5.3.2 对象设计
5.3.3 面向对象设计的准则
5.3.4 面向对象设计的启发规则
5.4 面向对象系统的实现
5.5 案例分析
5.6 小结
5.7 习题
第6章 统一建模语言UML
6.1 UML概述
6.1.1 UML的形成
6.1.2 UML的内容
6.1.3 UML的特点
6.1.4 UML的应用领域
6.2 UML的静态建模机制
6.2.1 用例图
6.2.2 类图、对象图和包
6.2.3 构件图和配置图
6.3 UML的动态建模机制
6.3.1 状态图
6.3.2 顺序图
6.3.3 协作图
6.3.4 活动图
6.4 案例分析
6.5 小结
6.6 习题
第7章 软件测试
7.1 基本概念
7.1.1 软件测试的目标
7.1.2 软件测试的原则
7.2 软件测试方法
7.2.1 静态分析与动态测试
7.2.2 黑盒测试与白盒测试
7.3 黑盒测试用例设计
7.3.1 等价类划分法
7.3.2 边界值分析法
7.3.3 错误推测法
7.3.4 因果图法
7.4 白盒测试用例设计
7.4.1 逻辑覆盖法
7.4.2 路径覆盖法
7.4.3 循环覆盖法
7.5 软件测试步骤
7.5.1 单元测试
7.5.2 集成测试
7.5.3 确认测试
7.5.4 系统测试
7.6 面向对象的软件测试
7.6.1 OOA和OOD模型的测试
7.6.2 面向对象的测试策略
7.7 案例分析
7.8 小结
7.9 习题
第8章 软件维护
8.1 软件维护过程
……
第9章 软件工程管理
第10章 软件复用与构件技术
第11章 软件工具与集成化环境
第12章 综合实例——网站新闻管理系统
第13章 实训指导
参考文献