前言 软件工程旨在研究如何规范、系统化地设计、开发和维护软件。软件工程的主要任务是以工程化方法构建和维护有效、实用的高质量软件,使软件开发更加高效、规范和可控。软件工程已成为计算机科学和信息技术领域中的重要学科,应用范围非常广泛,与人工智能、计算机网络、数据库等领域相互关联,共同推动着信息化时代的发展。 软件工程课程的重要性随着软件工程学科的不断发展日益凸显。近年来,随着计算机新技术的迅猛发展,要求软件工程教材不断更新理论和方法,注重结合实例讲解软件工程方法和技术的综合应用,避免抽象和枯燥的理论罗列。 本书在编写中力图遵循以下原则: (1) 以案例促进对理论知识的理解。本书对各章节的案例进行了顶层设计和融会贯通。对分散在书中的知识重点或难点,配备了小的案例加以说明; 以“智慧社区养老服务系统”软件项目为综合实战案例,配合各章的理论知识讲解,在每章或节的最后生成案例相应的软件生命周期阶段性成果,逐步呈现软件工程理论知识在实践中的应用。通过案例分析,帮助读者在短时间内掌握软件项目开发的基本知识和基本过程,有效提高实践能力。 (2) 引导读者深入学习和灵活运用软件工程相关知识。本书在各章节设计了多个供读者深入思考的问题,并通过微课视频的方式对提出的问题进行了探讨,同时给出了参考答案,引导读者不断拓展软件工程相关知识的深度和广度,提高自主学习的能力。在附录部分,针对软件开发类毕业设计中软件工程知识的运用,给出了常见的典型错误及正确用法,为学生撰写高质量的毕业论文,提高软件工程知识素养和能力素养提供帮助和指导。最后给出了基于软件工程专业知识框架下的毕业论文示例,为学生提供了一个基于软件工程阶段成果的毕业论文参考模板,以体现软件工程知识在毕业论文中的融会贯通。 (3) 融入企业实践经验。本书作者通过与企业高级软件工程师合作,将企业的软件工程实践经验融入教材中,使得本书最大限度地贴近企业的工程开发实际。力争做到既体现软件工程知识点的连贯性和完整性,又通过案例实践体现知识点在软件系统实际开发中的应用。 本书由胡晓鹏和陈桂友主编,副主编为宁玉富、郑磊、马坤、宋言伟,参加内容编审工作的还有李保田、张斌、崔琦、于君等。在编写过程中,还得到了企业高级工程师石柏成的大力支持和帮助,并得到了清华大学出版社的大力支持和指导。在此,对所有为本书提供帮助的人深表感谢! 由于时间仓促,并且作者水平有限,书中不妥或错误之处在所难免,敬请读者批评指正。 作者2024年2月