前言
第1章 软件工程概述
1.1 软件工程产生背景
1.1.1 软件特点及分类
1.1.2 软件危机
1.2 软件工程的要素
1.2.1 软件翻里的定义
1.2.2 软件工程三要素
1.2.3 软件丁程原理与原则
1.3 软件过程与软件生存周期
1.3.1 软件过程的概念
1.3.2 软件过程的构造
1.3.3 软件生存周期
1.4 软件工程方法学与软件开发模型
1.4.1 软件工程方法学
1.4.2 软件开发模犁
1.5 软件开发工具与环境
1.5.1 软件工具
1.5.2 软件开发环境
本章小结
思考题1
第2章 软件工程标准化与工程化
2.1 软件工程标准
2.1.1 软件工程标准概述
2.1.2 软件工程标准的层次
2.1.3 我国的软件标准
2.2 软件文档与编写要求
2.2.1 文档的分类
2.2.2 文档编制的要求
2.3 软件质量
2.4 软件质量保证与过程改进
2.4.1 质量保证的概念
2.4.2 软件过程改进
2.4.3 软件过程成熟度模型
2.4.4 ISO9000标准及软件质量认证
2.4.5 软件过程工程化
本章小结
思考题2
第3章 软件项目管理
3.1 软件项目管理概述
3.2 软件项目启动与计划
3.3 软件项目人员组织与技能
3.3.1 项目组织结构的形式
3.3.2 程序设计小组的形式
3.3.3 人员配备
3.4 软件项目实施与控制
3.4.1 软件项目风险管理
3.4.2 软件项目进度管理
3.4.3 软件项目质量管理
3.5 软件配置管理
本章小结
思考题3
第4章 系统工程与需求工程方法
4.1 系统思维方法
4.1.1 系统的概念
4.1.2 系统思维
4.1.3 系统分析员
4.2 计算机系统工程
4.3 需求获取方法
本章小结
思考题4
第5章 可行性研究
5.1 可行性研究步骤与任务
5.2 可行性分析
本章小结
思考题5
第6章 结构化分析与设计
6.1 需求分析任务
6.1.1 需求分析任务与步骤
6.1.2 需求获取的内容
6.2 结构化分析
6.2.1 功能建模
6.2.2 数据建模
6.2.3 行为建模
6.3 需求规格说明书编写与评审
6.4 结构化设计概述
6.4.1 任务与步骤
6.4.2 设计原则与原理
6.5 软件结构设计
6.5.1 结构表示
6.5.2 面向数据流的设计方法
6.6 人机界面设计
6.6.1 人机界面设计问题
6.6.2 人机界面设计过程
6.6.3 人机界面设计指南
6.6.4 人机界面测试与评估
6.7 过程设计
6.7.1 结构化程序设计方法
6.7.2 图形表示法
6.7.3 表格表示法
6.7.4 语言描述法
6.8 软件设计规格说明书编写与评审
本章小结
思考题6
第7章 面向对象分析与设计
7.1 面向对象方法概述
7.1.1 面向对象的概念
7.1.2 面向对象方法学概述
7.1.3 统一建模语言
7.2 面向对象分析
7.2.1 用况建模
7.2.2 静态建模
7.2.3 对象模型技术
7.2.4 动态建模与物理建模
7.3 面向对象设计
7.3.1 系统设计
7.3.2 对象设计
案例:“图书管理系统”面向
对象分析与设计
本章小结
思考题7
第8章 编码与实现
8.1 结构化程序设计
8.1.1 程序设计语言的选择
8.1.2 程序设计风格
8.2 程序结构复杂程度的度量
8.2.1 McCabe方法
8.2.2 Halstead方法
8.3 面向对象实现
本章小结
思考题8
第9章 软件测试
9.1 软件测试目标和方法
9.1.1 测试目标
9.1.2 测试方法
9.1.3 测试原则
9.2 测试步骤
9.2.1 单元测试
9.2.2 集成测试
9.2.3 确认测试
9.2.4 系统测试
9.3 测试用例设计
9.3.1 黑盒法
9.3.2 白盒法
9.4 调试
9.5 可靠性分析
9.6 面向对象测试策略
本章小结
思考题9
第10章 软件维护
10.1 软件维护过程
10.1.1 软件维护的定义
10.1.2 软件维护的特点
10.1.3 软件维护的过程
10.2 可维护性
10.2.1 决定可维护性的因素
10.2.2 提高可维护性的方法
10.3 再工程
本章小结
思考题10
附录
附录A 图书管理系统可行性研究报告
附录B 图书管理系统项目开发计划
附录C 图书管理系统需求规格说明书
附录D 图书管理系统软件设计规格说明书
附录E 软件工程实践指导书
参考文献