前言
“软件工程”是高等院校计算机教学计划中的一门核心课程,主要内容包括软件工程背景介绍,软件过程模型,软件需求分析,软件设计,软件编码规范,软件测试,软件项目管理,软件项目度量,软件风险管理,软件质量管理等内容。
本书用理论与实践紧密结合的共同演进方法进行介绍,既介绍了传统软件生命周期过程中的主要内容,又介绍了现代软件工程中比较新颖的技术方法,包括新的过程模型、软件作为一种服务等近年来新兴的方法和技术。
本教材涵盖IEEE和ACM联合研究项目——SWEBOK(工程知识体系)包含的10个知识领域的主要内容,主要介绍软件工程的背景知识、软件过程模型、需求分析、需求建模、设计工程、体系结构设计、编码和新的技术趋势需求、测试技术与策略、项目管理概要、风险分析与管理、软件质量管理等内容。通过理论与实践(实际项目)的紧密结合介绍,使得学生在学习的过程中了解和掌握软件工程的基本概念、原理和方法,并能应用到实际项目中去。
本书将阐释:
● 软件工程的发展背景和发展趋势如何?
● IEEE和ACM软件知识体系建议的软件工程的主要内容有哪些?
● 软件工程的核心内容是什么?
● 经典的软件工程流程包含哪些主要环节?
● 软件工程的主要理论与实践如何结合?
● 如何建立一个全局的需求分析、设计、测试与维护的软件工程观?
● 常用的软件开发工具和编码规范有哪些?
本教材基于作者多年来教学实践与改革的经验,特别是收集了学生的反馈,结合目前软件工程教材的优点并考虑到学生的学习特点而编著。主要特色包括以下几个方面:
(1)增强理论与实践相结合,案例贯穿全教材:教学案例源于已实际开发的项目,从教学一开始直至结束,所有概念、方法都会应用于这些教学案例中。随着案例项目的进展分析,完成全部教学内容,这种方法国外相当流行,的确可以在培养学生分析解决问题的能力上发挥更大作用,因而值得研究和发扬。
(2)突出组织逻辑,增加趣味性:目前的国内教材和选用的国外经典教材,用于本科教学后,学生的普遍反映还是概念原理介绍过多,内容组织的逻辑思路不是很明显,以及介绍得比较技术性,不是很生动等问题。我们希望针对学生的反馈在新编教材中进行改进。
(3)增加软件产业热门和急需的技术知识:适当介绍软件产业热门和急需的软件/平台等知识,开阔学生的视野并为他们就业做好准备。
本书主要内容包括软件工程简介(第1章),过程模型(第2章),软件需求(第3章),软件设计工程(第4章),软件生产率和工作量度量(第5章),软件质量管理(第6章),测试方法(第7章),测试策略(第8章),软件维护(第9章),软件项目管理(第10章),软件风险分析和管理(第11章),软件工程开发工具(第12章),最后为喜欢实践的读者在附录A中准备了“软件项目的一般风格和编码标准”。
本书既可作为本科生及低年级研究生“软件工程”课程的教材,也可供软件工程从业人员学习、参考。
本书由田文洪主编,王玉林、周俊临、袁敏为副主编。孙夏爽、胡金安、董旭、钟元椋、景晨、王浩严为本书的编写做出了贡献,在此表示诚挚的感谢。本书是编写组成员对以上内容大量理论知识与实践经验的积累结果,因时间仓促,可能存在不妥之处,欢迎指正,请发邮件至:SE_Coevolutionary@gmail.com
编者