第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 软件开发模型
习题
第2章 结构化分析
2.1 软件定义过程概述
2.1.1 问题的定义
2.1.2 可行性研究
2.1.3 需求分析
2.2 结构化分析
2.2.1 结构化分析方法概述
2.2.2 数据流图
2.2.3 数据词典
2.2.4 加工逻辑的描述方法
2.3 需求规格说明与评审
2.3.1 需求规格说明的主要内容
2.3.2 需求分析的评审
2.4 需求规格说明书写作范例
习题
第3章 概要设计
3.1 概要设计的任务与步骤
3.1.1 概要设计的任务
3.1.2 概要设计的过程
3.2 软件设计的概念与原则
3.2.1 模块化
3.2.2 抽象与逐步求精
3.2.3 信息隐蔽和局部化
3.2.4 模块独立性
3.2.5 设计准则
3.3 面向数据流的设计方法
3.3.1 基本概念
3.3.2 系统结构图
3.3.3 变换分析
3.3.4 事务分析
3.3.5 设计优化
3.4 概要设计文档评审
3.5 概要设计文档写作范例
习题
第4章 详细设计
4.1 详细设计的任务与原则
4.1.1 详细设计的任务
4.1.2 详细设计的原则
4.2 详细设计的方法
4.2.1 程序流程图
4.2.2 N-S图
4.2.3 PAD图
4.2.4 PDL
4.3 详细设计规格说明书与评审
4.3.1 详细设计说明书
4.3.2 详细设计复审
4.4 详细设计文档写作范例
习题
第5章 面向对象的分析和设计
5.1 面向对象方法概述
5.1.1 面向对象方法概述
5.1.2 面向对象的软件工程
5.1.3 面向对象的基本概念和特征
5.1.4 面向对象的开发方法
5.2 面向对象分析
5.2.1 OOA方法概述
5.2.2 确定对象
5.2.3 确立结构
5.2.4 确立主题
5.2.5 确定属性
5.2.6 确定服务和消息
5.3 面向对象设计
5.3.1 OOD方法概述
5.3.2 人机交互子系统的设计
5.3.3 问题域子系统的设计
5.3.4 任务管理部分的设计
5.3.5 数据管理部分的设计
5.3.6 OOD的基本准则
习题
第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 UML的构造块
6.2.2 UML的规则
6.2.3 UML中的公共机制
6.3 UML的静态建模机制
6.3.1 用例图
6.3.2 类图
6.3.3 对象图
6.3.4 包
6.3.5 使用类图的几个建议
6.4 UML的动态建模机制
6.4.1 对象之间的交互
6.4.2 次态图
6.4.3 交互图
6.4.4 活动图
6.4.5 四种图的运用
习题
第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.4 动态建模
7.4.1 动态用例分析
7.4.2 对象状态分析
7.4.3 描述对象操作
7.5 系统设计
7.5.1 系统总体设计
7.5.2 系统详细设计
习题
第8章 程序编码
8.1 程序设计语言
8.1.1 程序设计语言分类
8.1.2 程序设计语言的特点
8.1.3 程序设计语言的选择
8.2 编码风格
8.3 程序调试
8.3.1 调试过程
8.3.2 调试途径
8.4 面向对象程序设计
8.4.1 面向对象语言的一些技术特点
8.4.2 面向对象语言的选择
习题
第9章 软件测试
9.1 软件测试
9.1.1 软件测试概述
9.1.2 测试方法
9.1.3 测试过程
9.2 测试用例设计
9.2.1 白盒子法测试用例设计
9.2.2 黑盒子法测试用例设计
9.3 程序调试
9.4 面向对象测试
习题
第10章 软件维护
10.1 软件维护的内容
……
第11章 配置管理与文档技术
第12章 软件质量管理
第13章 软件复用和CASE技术
附录 计算机软件开发文档编写指南
附录1 可行性研究报告
附录2 项目开发计划
附录3 需求规格说明书
附录4 概要设计说明书
附录5 详细设计说明书
附录6 测试计划
附录7 测试分析报告
附录8 开发进度月报
附录9 项目开发总结报告
主要参考文献