图书前言

前言

在当今智能时代,以OpenAI o系列、DeepSeek R系列为代表的人工智能应用火爆出圈,人工智能技术正以前所未有的速度渗透到各个领域,而软件研发天生就属于数字化领域,受到的影响更为深刻,也就意味着: 软件工程领域正经历着自1968年本学科诞生以来最大的一次范式变革,大模型不仅重构了需求分析、代码生成、测试验证等核心环节,更催生出“软件即模型(SaaM)”的软件全新形态,将我们带入了软件工程3.0时代。

在软件工程3.0时代,研发范式转向模型驱动开发、模型驱动运维,人机交互智能成为常态,数据和模型的价值愈发凸显,项目计划、需求文档、代码、测试用例、测试报告等内容可自动生成,这些变革为软件工程带来了全新的机遇与挑战。传统教材中结构化开发流程与瀑布模型主导的知识体系已难以适应智能时代的工程实践需求。在这样的背景下,为了帮助软件工程或计算机相关专业的学生、软件从业者掌握前沿的软件工程技术与理念,以适应智能时代的软件工程教育的变革、满足智能时代对软件人才培养的迫切需求,我们基于多年的教学与实践积累,融合了软件工程演化历程及对智能化趋势的思考,精心编写了这本《智能软件工程》教材,旨在帮助读者从软件工程3.0出发,全面掌握智能化时代的软件研发方法与实践。

本书在写作思路上,既要继承SWEBOK v4确立的软件工程知识体系,又要构建面向AI原生开发的智能软件工程方法论,即紧密围绕软件工程3.0时代的特点,以软件开发生命周期为主线,将人工智能技术与软件工程的各个环节深度融合。本书在内容组织上,先从软件工程的诞生、发展讲起,详细剖析了软件工程1.0、2.0的特点与局限,自然地引出软件工程3.0时代的变革与创新。然后,深入讲解需求分析、系统设计、编码实现、测试与质量保障、运维与优化等软件工程关键环节,着重阐述了人工智能技术在这些环节中的应用,如LLM驱动的需求分析、AI辅助的软件架构设计、智能编程、智能测试、智能运维等。最后,本书展望智能化浪潮下软件工程的未来。同时,通过丰富的案例分析和实际操作示例,帮助读者更好地理解和应用所学知识。

全书共10章。第1章介绍软件工程的基本概念、发展历程,重点阐述了软件工程3.0时代的特征; 第2章探讨过去的软件开发方式,为后续理解现代软件开发模式做铺垫; 第3~9章分别深入讲解软件需求、设计、开发、质量保障、持续集成与持续交付、维护、运维等方面的知识,融入智能技术在各环节的应用; 第10章展望智能化浪潮下软件工程的未来,分析现状、挑战与发展趋势。为方便读者深入学习,在各章末附加了思考题与参考文献,并提供线上资源(包括论文、LLM生成的完整资料与示例代码),读者可通过扫描目录处二维码获取,便于自学、讨论和实验操作。

对于如何使用本教材,建议教师根据课程安排和学生基础,灵活选择教学内容。对于初学者,教师可以先从基础章节入手,帮助学生建立扎实的软件工程基础; 对于有一定基础的学生,教师可以重点讲解人工智能技术在软件工程中的应用部分,引导学生深入探索前沿知识。在教学过程中,可以结合实际项目案例,组织学生进行小组讨论和实践操作,提高学生的实际应用能力。学生在学习时,应注重理论与实践相结合,积极思考每章的思考题和习题,通过实际操作加深对知识的理解。同时,关注人工智能技术的最新发展动态,将其与教材内容相结合,拓宽自己的视野。

在本书的编写过程中,得到了许多同仁的帮助,在此一并感谢。感谢清华大学出版社给予大力支持,也感谢身边的同事,他们在资料收集、案例分析等方面提供了宝贵的建议和支持; 感谢家人,在编写过程中给予我们的理解和鼓励,让我们能够全身心投入这项工作中。同时,我们参考了大量的文献资料,在此向这些文献的作者表示衷心的感谢。

尽管我们在编写过程中力求做到内容准确、全面,但由于软件工程领域发展迅速,加之编者水平有限,书中难免存在不足之处。例如,对于AI技术在软件工程中的应用,可能探讨得还不够深入; 在案例选取上,可能无法涵盖一些更复杂的应用场景。我们衷心希望读者能够提出宝贵的意见和建议,以便在后续的修订中不断完善本书,使其更好地服务于广大师生和读者。

希望本书能成为高校软件工程、计算机相关专业教学的教材或重要参考,也可供软件工程师、项目经理及技术管理人员参考使用。希望本书能够为广大的师生、读者打开智能软件工程的大门,帮助大家在这个充满机遇与挑战的领域中不断探索,共同推动软件工程行业的发展。

作者

2025年6月