本书是作者在多年从事软件工程、软件设计模式课程教学实践基础上编写的。全书共分为8章,通过大量的实例,介绍了实用软件工程学的原理及设计模式的相关知识,根据软件开发工程化思想,系统地讲授了软件工程学、软件设计过程、23种先进的设计模式、软件测试方法、软件项目管理、应用技术和实用工具等相关知识。全书采用社会所需实际案例为基线,以案例、项目式教学思路贯穿始终,根据需要安排了多个任务和子任务,读者可以通过实践掌握课程所学内容。书后配有适量的思考题和练习题,使读者能够在学习过程中提高操作能力和实际应用能力。
本书可作为高等院校学生学习软件工程、软件设计模式、软件体系结构设计等课程的教材,也可以作为读者自学的参考书。
软件工程是软件开发组织根据所要开发的软件特点及项目自身的特点,选择适合的软件设计模式,把各种软件工程学原理的特性和软件设计模式有机地结合起来,充分利用它们的优点,回避缺陷,有效地提高软件质量的过程。
本书是软件开发方法体系的完整体现,有别于传统软件工程学,增加了许多实际软件开发过程中需要的实用方法技术,填补了传统软件工程的设计薄弱环节。
前 言
21世纪是信息社会,信息技术已经渗透到社会的各行各业。随着计算机应用技术的不断发展,软件工程学也渗入软件研发的各个环节中。实用软件工程是一门将理论和知识应用于实践的工程,它借鉴了传统工程的原则和方法,讲解了常用的23种设计模式,以求高效地开发高质量软件。近年来,大多数高等院校,无论是理工科还是文科专业都将软件工程作为计算机应用技术类课程的必修课或选修课。
软件工程是软件开发组织根据所要开发的软件特点及项目自身的特点,选择适合的软件设计模式,把各种软件工程学原理的特性和软件设计模式有机地结合起来,充分利用它们的优点,回避缺陷,有效地提高软件质量的过程。
本书是软件开发方法体系的完整体现,有别于传统软件工程学,增加了许多实际软件开发过程中需要的实用方法技术,填补了传统软件工程的设计薄弱环节。
全书共分为8章,各章的主要内容安排如下。
第1章主要介绍软件工程学的基本概念、理论和基础知识。
第2章主要介绍软件设计过程基本原理、软件设计建模工具UML,以及软件设计环境Visio、PowerDesigner、Violet等。
第3章主要介绍23种先进的设计模式,体现23种设计模式在软件开发过程中的重要设计地位和作用。
第4章主要介绍在面向对象程序设计语言Java中实现23种设计模式的方法和实践。
第5章主要介绍面向对象技术。面向对象技术是一种以对象为基础,以事件或消息驱动对象执行相应的消息处理函数的程序设计技术。
第6章主要介绍各种行之有效的软件测试方法和技术。
第7章主要介绍23种设计模式在实际应用中的原则和分类。
第8章主要介绍软件工程控制活动中的质量保证、配置管理和项目管理的基本知识。
本书以学习、应用为目的,以案例贯穿始终,系统地讲授了软件工程学和软件设计模式,各章均以项目分配任务形式编排,有助于提高学生的实操和实际应用能力。
本书由白文荣主编,在本书策划和编写的过程中,得到了清华大学出版社的大力支持,在此表示衷心的感谢。
由于作者水平有限,书中难免存在错误和不足之处,敬请广大读者批评指正。
为了方便教师教学和学生自主学习,本书配有电子教案、案例源代码、安装软件等,若有需要,可从清华大学出版社网站下载。
编 者