本书将软件工程理论与软件开发实践相结合,在作者多年从事软件工程教学、科研和开发所取得的经验和成果基础上,引入以开源软件技术为代表的软件产业界成功实践和软件资源,通过具体和完整的软件开发案例,深入诠释程序、软件和软件工程的概念、思想和内涵,系统介绍软件工程的过程、方法学和工具,强化软件工程课程的综合实践。
全书分为6部分,共16章。第一部分是基础篇,包含第1~3章,从程序和软件入手,介绍软件工程的基本概念和思想、常见的软件过程及主流的软件开发方法。第二部分是需求篇,包含第4~6章,介绍获取、分析、建模和文档化软件需求的过程和策略、语言和工具、软件制品和质量保证。第三部分是设计篇,包含第7~10章,介绍软件体系结构设计、用户界面设计、软件详细设计的过程和策略、语言和工具、软件制品和质量保证。第四部分是实现篇,包含第11~13章,介绍程序编码和软件测试的过程和策略、技术和工具、软件制品和质量保证。第五部分是运维篇,包含第14~15章,介绍软件部署、运行、维护和演化的策略和方法。第六部分是管理篇,包含第16章,介绍软件项目管理的相关内容。
本书遵循课程规范,具有知识体系新颖、内容组织科学、知识诠释深入、教学资源丰富等特点,可作为高校计算机或信息大类专业的本科生教材,也可作为研究生教材和软件开发工程师的参考用书。
“软件工程”课程旨在讲授软件工程的基本思想、原则、方法、技术、过程和工具等,培养学生开展复杂软件系统的工程化开发能力,包括:系统能力、解决复杂工程问题能力、创新实践能力、团队协作能力、交流表达能力等。教授的知识点包括:软件工程基本思想和原则、面向对象软件开发方法、软件需求工程、软件设计技术、软件构造技术、软件测试、软件部署、软件维护、软件项目管理等。本课程还需开展相关的软件开发实践,要求学生运用所学的知识,借助CASE 工具和平台,开发一个上规模、 有创意和高质量的软件系统,以帮助学生深入理解和掌握软件工程知识,积累软件开发经验,培养软件工程能力。