软件工程
第1章 绪论
1.1 软件工程的产生
1.1.1 软件的特点
1.1.2 软件生产的发展
1.1.3 软件危机
1.1.4 软件工程
1.2 软件工程过程和软件生存周期
1.2.1 软件工程过程
1.2.2 软件生存周期
1.3 软件生存周期模型、方法和工具
1.3.1 软件生存周期模型
1.3.2 软件开发方法
1.3.3 软件开发工具
习题1
第2章 软件可行性研究与项目开发计划
2.1 可行性研究
2.1.1 可行性研究的任务
2.1.2 可行性研究的具体步骤
2.1.3 可行性研究报告的主要内容
2.2 系统流程图
2.3 成本——效益分析
2.4 项目开发计划
习题2
第3章 软件需求分析
3.1 需求分析的任务
3.1.1 需求分析的概念
3.1.2 需求分析的基本任务
3.1.3 需求规格说明书.主要内容
3.2 结构化分析方法
3.2.1 自顶向下逐层分解的分析策略
3.2.2 描述工具
3.2.3 SA分析步骤
3.3 数据流图(DFD)
3.3.1 基本图形符号
3.3.2 画数据流图的步骤
3.3.3 实例——销售管理系统
3.4 数据字典(DD)
3.4.1 数据字典的内容及格式
3.4.2 数据字典的实现
3.5 加工逻辑的描述
3.5.1 结构化语官
3.5.2 判定表
3.5.3 判定树
3.6 IDEF方法
3.6.1 IDEF的图形表示
3.6.2 建立功能模型的基本方法
3.6.3 IDEFn方法的特点
3.7 结构化分析方法小结
习题3
第4章 软件概要设计
4.1 软件概要设计的基本任务
4.1.1 基本任务
4.1.2 软件概要设计说明书的主要内容
4.2 软件设计的基本原理
4.2.1 模块化厂
4.2.2 抽象
4.2.3 信息隐蔽
4.2.4 模块独立性
4.3 软件结构优化准则
4.3.1 软件结构图
4.3.2 软件结构设计优化准则
4.4 面向数据流的设计方法
4.4.1 数据流的类型
4.4.2 设计过程
4.4.3 变换分析设计
4.4.4 事务分析设计
4.4.5 综合型数据流图与分层数据流图映射成软件结构的设计
4.4.6 实例:将3.3.3 实例——销售管理系统的数据流图转化为软件结构
4.4.7 设计的后处理
4.5 基于IDEF图的设计方法
4.6 表示软件结构的另一种图形工具——HIPO图
习题4
第5章 软件详细设计
5.1 详细设计的基本任务
5.2 结构化程序设计方法
5.3 详细设计描述法
5.3.1 程序流程图
5.3.2 PAD图
5.3.3 过程设计语官
5.4 Jackson方法
5.4.1 概述
5.4.2 Jackson结构图
5.4.3 JSP设计步骤
5.4.4 Jackson方法小结
习题5
第6章 软件编码
6.1 程序设计语言的特性及选择
6.1.1 程序设计语官特性
6.1.2 程序设计语言的选择
6.2 程序设计风格
习题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.4 测试过程
7.4.1 软件测试过程中的信患
7.4.2 软件测试的步骤及与各开发阶段的关系
7.4.3 单元测试
7.4.4 集成测试
7.4.5 确认测试
7.5 调试
7.5.1 调试的目的
7.5.2 调试技术
习题7
第8章 软件维护
8.1 软件维护的内容
8.2 维护的特点
8.2.1 非结构化维护和结构化维护
8.2.2 维护的困难性
8.2.3 软件维护的费用
8.3 维护任务的实施
8.3.1 维护的组织
8.3.2 维护的流程
8.3.3 维护技术
8.3.4 维护的副作用
8.4 软件可维护性
8.4.1 可维护性定义
8.4.2 可维护性的度量
8.4.3 提高可维护性的方法
习题8
第9章 软件开发的增量模型
9.1 概述
9.1.1 瀑布模型的局限性
9.1.2 增量模型的基本思想
9.1.3 增量模型的分类
9.2 渐增模型
9.2.1 增量构造模型
9.2.2 演化提交模型
9.3 快速原型模型
9.3.1 基本思想
9.3.2 快速原型模型表示
9.3.3 原型开发过程
9.4 快速原型的开发技术和开发环境
9.5 增量模型的评价
习题9
第10章 面向对象的方法
10.1 面向对象概述
10.1.1 传统开发方法存在的问题
10.1.2 面向对象的概念
10.1.3 面向对象的开发方法
10.2 面向对象的模型
10.2.1 对象模型
10.2.2 动态模型
10.2.3 功能模型
……
第11章 软件质量与质量保证
第12章 软件工程管理
第13章 软件开发环境
软件工程自学考试大纲