第1章 绪论
1.1 软件发展简史
1.1.1 软件的概念
1.1.2 软件的分类
1.1.3 软件技术的发展
1.1.4 软件开发技术的发展
1.1.5 面向对象软件开发技术
1.2 软件危机
1.2.1 软件危机的概念
1.2.2 软件危机的形成原因
1.2.3 软件危机的解决方法
1.3 软件工程
1.3.1 软件工程的概念
1.3.2 软件工程的基本原理
1.3.3 软件工程的基本内容
1.4 关于本书
习题
第一篇 软件工程原理篇
第2章 软件生存周期
2.1 软件工程过程
2.1.1 软件工程过程的概念
2.1.2 软件工程过程模型
2.1.3 过程技术工具
2.2 软件生存周期
2.2.1 软件定义
2.2.2 软件开发
2.2.3 软件的使用、维护和退役
2.3 瀑布模型
2.4 原型模型
2.5 软件生存周期的其他模型
习题
第3章 系统分析和设计
3.1 可行性分析
3.1.1 可行性分析的任务
3.1.2 可行性研究的过程
3.1.3 系统流程图
3.1.4 成本/效益分析
3.2 需求分析
3.2.1 需求分析的任务
3.2.2 需求分析的过程
3.2.3 需求分析的原则
3.2.4 需求分析的方法
3.2.5 需求分析的工具
3.2.6 结构化分析
3.2.7 面向对象分析
3.3 概要设计
3.3.1 概要设计的任务
3.3.2 概要设计的过程
3.3.3 概要设计的原则
3.3.4 概要设计的方法
3.3.5 概要设计的工具
3.3.6 结构化设计
3.3.7 面向对象设计
3.4 详细设计
3.4.1 详细设计的任务
3.4.2 详细设计的过程
3.4.3 详细设计的原则
3.4.4 详细设计的方法
3.4.5 详细设计的工具
3.5 界面设计
3.5.1 界面设计的任务
3.5.2 界面设计的过程
3.5.3 界面设计的方法
3.5.4 界面设计的工具
习题:
第4章 软件编码和测试
4.1 程序设计语言
4.1.1 软件实现的原则
4.1.2 程序设计语言的特性
4.1.3 程序设计语言的分类
4.1.4 程序设计语言的特点
4.1.5 程序设计语言的选择
4.2 程序设计风格
4.2.1 代码文档化
4.2.2 数据说明
4.2.3 语句构造
4.2.4 输入/输出
4.2.5 效率
4.3 软件测试
4.3.1 软件测试的概念
4.3.2 软件测试的目标
4.3.3 软件测试的基本原则
4.3.4 软件测试的信息流
4.3.5 软件测试的分类
4.4 软件测试的过程
4.4.1 单元测试
4.4.2 集成测试
4.4.3 确认测试
4.4.4 系统测试
4.4.5 测试用例设计
4.4.6 面向对象的测试
4.4.7 软件测试工具
4.5 软件调试
4.5.1 调试方法
4.5.2 调试策略
4.6 软件维护
4.6.1 软件维护的概念
4.6.2 软件维护的分类
4.6.3 软件维护的步骤
4.6.4 软件维护的组织
4.6.5 维护文档与编写
习题
第二篇 软件工程应用篇
第5章 图书馆管理系统的分析
5.1 系统定义
5.2 系统功能模块
5.3 需求描述
5.3.1 借书模块
5.3.2 还书模块
5.4 开发工具需求
5.4.1 VisualC++6.0
5.4.2 Access
第6章 图书馆管理系统的设计
6.1 概要设计
6.1.1 软件结构设计
6.1.2 数据设计
6.1.3 数据库设计
6.2 详细设计
6.2.l主模块
6.2.2 登录模块
6.2.3 借书模块
6.2.4 还书模块
6.3 用户界面设计
6.3.1 用户界面设计的基本准则
6.3.2 主界面设计
6.3.3 菜单设计
第7章 图书馆管理系统的实现
7.1 创建工程
7.2 数据库操作
7.2.1 ODBC
7.2.2 ADO
7.2.3 ADO在VisualC++中的使用
7.2.4 数据库操作的封装
7.3 模块实现
7.3.1 主模块
7.3.2 登录模块
……
第8章 软件测试
8.1 软件测试过程
8.2 软件测试的分类
8.3 白盒测试
8.4 黑盒调试
8.5 软件调试
习题
第9章 软件维护
9.1 可维护性
9.2 软件维护分类
9.3 软件维护实施
9.4 逆向工程与再工程
习题
第10章 软件管理
10.1 软件项目管理过程
10.2 成本估算
10.3 风险分析
10.4 进度安排
10.5 软件项目的组织
10.6 质量保证
习题
主要参考文献