第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.3.4 软件过程
1.4 软件过程模型
1.4.1 瀑布模型
1.4.2 原型模型
1.4.3 增量模型
1.4.4 螺旋模型
1.4.5 喷泉模型
1.4.6 敏捷过程模型
1.4.7 渐进交付迭代模型
1.4.8 微软解决框架过程模型
1.4.9 软件过程模型的比较
1.5 软件开发方法
1.5.1 结构化开发方法
1.5.2 面向对象开发方法
1.6 案例描述
1.6.1 简历信息自动获取和查询系统
1.6.2 试卷自动生成系统
1.7 本章小结
习题
第2章 软件需求工程
2.1 软件需求的基本概念
2.1.1 需求分析的任务
2.1.2 需求分析的原则
2.1.3 需求分析的内容
2.2 可行性分析
2.2.1 可行性分析的内容
2.2.2 系统流程图
2.3 需求工程的过程
2.3.1 需求工程中的参与人员
2.3.2 需求工程中的活动
2.3.3 需求工程的管理
2.4 需求获取技术
2.5 结构化需求分析和建模
2.5.1 结构化需求分析概述
2.5.2 面向数据的数据建模
2.5.3 面向数据流的功能建模
2.5.4 面向状态转换的行为建模
2.6 数据字典
2.6.1 数据字典的编写要求
2.6.2 数据字典的定义
2.7 案例——简历自动获取和查询系统的需求建模
2.7.1 数据建模——E-R图描述
2.7.2 功能建模——数据流图
2.7.3 行为建模——状态转换图
2.7.4 加工逻辑——PDL语言的描述
2.7.5 数据字典
2.8 需求评审
2.8.1 软件需求规格说明
2.8.2 需求评审标准及需求验证
2.8.3 需求变更管理
2.9 本章小结
习题
第3章 软件设计基础
3.1 软件设计概述
3.1.1 软件设计与软件需求
3.1.2 软件设计的任务
3.1.3 软件设计的原则
3.2 软件体系结构设计
3.2.1 体系结构设计概述
3.2.2 以数据为中心的数据仓库模型
3.2.3 客户端/服务器模式的分布式结构
3.2.4 层次模型
3.2.5 MVC模型
3.3 模块化设计
3.3.1 软件模块化与分解
3.3.2 抽象
3.3.3 信息隐藏
3.3.4 模块独立性
3.3.5 启发式规则
3.4 界面设计
3.4.1 界面设计的任务
3.4.2 界面设计的原则
3.4.3 界面设计的特性
3.5 软件设计评审
3.5.1 软件设计规格说明
3.5.2 软件设计评审标准
3.5.3 软件设计验证
3.6 本章小结
习题
第4章 结构化设计方法
4.1 结构化设计方法概述
4.2 面向数据流的设计方法
4.2.1 层次图和结构图
4.2.2 变换分析法
4.2.3 事务分析法
4.2.4 混合分析法
4.3 案例——简历自动获取和查询系统的数据流设计方法
4.3.1 用变换分析法进行设计
4.3.2 用事务分析法进行设计
4.3.3 两种方法的比较
4.4 结构化详细设计的工具
4.4.1 程序流程图
4.4.2 盒图
4.4.3 问题分析图
4.4.4 判定树
4.4.5 判定表
4.4.6 详细设计工具的比较
4.5 本章小结
习题
第5章 软件实现
5.1 程序设计语言
5.1.1 程序设计语言的分类
5.1.2 程序设计语言的特性
5.1.3 选择程序设计语言
5.2 程序设计风格
5.2.1 程序编排和组织的准则
5.2.2 程序设计的效率
5.3 代码重用
5.4 代码评审
5.5 本章小结
习题
第6章 软件测试
6.1 软件测试基础
6.1.1 软件测试概念
6.1.2 软件测试过程模型
6.1.3 软件测试原则
6.1.4 软件测试在软件开发各阶段的工作流程
6.1.5 软件测试信息流
6.1.6 软件测试技术分类
6.2 白盒测试
6.2.1 逻辑覆盖
6.2.2 循环测试
6.2.3 路径测试
6.3 黑盒测试
6.3.1 等价类划分
6.3.2 边界值分析
6.3.3 错误推测法
6.3.4 因果图法
6.4 白盒测试和黑盒测试的比较
6.4.1 应用角度的不同
6.4.2 白盒测试的优点与不足
6.4.3 黑盒测试的优点与不足
6.5 软件测试策略
6.5.1 单元测试
6.5.2 集成测试
6.5.3 确认测试
6.5.4 系统测试
6.6 调试
6.6.1 软件调试过程
6.6.2 软件调试方法
6.7 软件测试报告
6.7.1 软件测试说明
6.7.2 软件测试报告
6.8 本章小结
习题
第7章 统一建模语言UML
7.1 UML的发展