本书的适用范围主要是作为计算机科学与技术及相关专业应用型本科或专科学生的教材或教学参考书。书中从实用的角度,力求点面兼顾、深入浅出地介绍软件工程学的基本概念、方法和技术。希望读者通过阅读和学习,能够了解软件开发过程中的主要活动,初步认识当今主流的软件开发方法及其关键技术。在深入理解基本概念、基本原理的同时,动手实践是掌握软件工程方法和技术的唯一途径。为此,在部分章节中给出了应用案例,可用于教学中案例分析的素材。并在附录中给出了课程设计内容,读者可以通过多人合作参与课程设计或小型项目的开发,逐步培养团队精神和工程化意识,为今后从事软件开发工作奠定良好的基础。
本书从实用的角度,力求点面兼顾、深入浅出地介绍软件工程学的基本概念、方法和技术。同时,在注重基本概念、基本原理的基础上,强调了实践的重要性和必要性,部分章节给出了应用案例,可作为案例教学的素材,并在附录中编排了课程设计内容,供读者进行实践教学。
全书分为10章,主要内容包括软件工程学概述、软件需求分析、软件设计(包括概要设计与详细设计)、编码与语言选择、软件测试、面向对象方法、软件复用、软件维护、软件项目管理与软件质量保证简介、软件工程环境。
本书的适用范围主要是作为计算机科学与技术及相关专业应用型本科层次或专科学生的教材,也可作为相关专业的教师或工程技术人员的参考书。
前言
第1章 软件工程学概述
1.1 软件发展史与软件危机
1.2 软件工程学的概念
1.3 软件生命周期
1.4 软件过程模型
1.5 传统软件工程与面向对象软件工程
1.6 软件开发工具
1.7 小结
习题1
参考文献
第2章 软件需求分析
2.1 软件需求分析的前期工作
2.2 软件需求分析的重要性
2.3 软件需求获取的常用方法
2.4 分析建模
2.5 结构化分析方法
2.6 其他图形工具
2.7 软件需求规格说明和需求验证
2.8 应用案例
2.9 小结
习题2
参考文献
第3章 软件设计
3.1 软件设计概述
3.2 软件概要设计
3.3 软件设计的基本原理
3.4 软件设计的准则
3.5 用户界面设计
3.6 概要设计工具
3.7 结构化设计方法——面向数据流的设计方法
3.8 详细设计
3.9 设计文档及其复审
3.10 小结
习题3
参考文献
第4章 编码与语言选择
4.1 编码语言的选择
4.2 编码的风格
4.3 程序设计方法
4.4 小结
习题4
参考文献
第5章 软件测试
5.1 软件测试概述
5.2 黑盒测试
5.3 白盒测试
5.4 软件测试的过程
5.5 软件纠错
5.6 小结
习题5
参考文献
第6章 软件维护
6.1 软件维护的定义和分类
6.2 软件维护的特点
6.3 软件可维护性
6.4 维护过程与维护活动
6.5 软件维护的副作用
6.6 软件再工程
6.7 小结
习题6
参考文献
第7章 面向对象方法
7.1 面向对象方法概述
7.2 面向对象的分析
7.3 面向对象的设计
7.4 面向对象的实现
7.5 统一建模语言
7.6 基于UML的统一过程RUP简介
7.7 应用案例
7.8 小结
习题7
参考文献
第8章 软件复用
8.1 软件复用技术概述
8.2 构件库的构造
8.3 面向对象的软件复用技术
8.4 小结
习题8
参考文献
第9章 软件项目管理与软件质量保证简介
9.1 软件项目管理的目的与内容
9.2 软件质量保证
9.3 能力成熟度模型简介
9.4 小结
习题9
参考文献
第10章 软件工程环境
10.1 软件工具
10.2 集成化的计算机辅助软件工程(CASE)环境
10.3 集成化CASE环境系统简介
10.4 小结
习题10
参考文献
附录A 课程设计
附录B 软件工程文档规范