第2版前言 本书第1版于2018年5月正式出版以来,经过了多次印刷,许多高校将其作为“UML面向对象分析与设计”课程的教材,深受师生的欢迎,获得了良好的社会效益。在第1版中的一些内容,由于技术的进步,有必要做出及时的更新。因此,作者对本书进行了改版。本书相比第1版的改动内容如下。 (1) 在各章节的重要的知识点上都配备了微课视频(见附表的表1),如在讲述类图的正向工程和逆向工程时,就用了微课视频,具体举例来解释,这样能够更形象地使读者理解类图的正向工程和逆向工程。 (2) 提供了在线题库。为每章提供在线习题,包括选择题、判断题和应用题等,并提供习题解答。 (3) 提供完整案例的开发文档(包括项目计划、需求分析说明书、设计说明书和测试分析报告),以及代码(见附表的表2),能够让读者真正理解如何将所学的知识应用到实际的项目开发过程中。 (4) 本书配套资源丰富,包括教学大纲、教学课件和电子教案。 资源下载提示 课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载; 或扫描目录上方的二维码。 在线题库资源: 扫描封底的题库卡,可以在线做题。 视频等资源: 扫描封底刮刮卡中的二维码,再扫描书中相应章节中的二维码,可以在线学习。 希望通过这样的修改之后,教师和学生更喜欢这本书;希望本书信息容量大、知识性强、面向对象的开发能力的全面培养和实际应用等这些特点能够很好地延续下去。 本书的作者为吕云翔、赵天宇,曾洪立参与了部分内容的编写、素材整理和配套资源制作。 感谢陈聪涌团队、李勇杰团队、刘子明团队、刘子辰团队、马瀚元团队、 丘瑞南团队、王丽婷团队、赵瑞琦团队,以及其他为此书做出贡献的同仁。 最后,请读者不吝赐教,提出宝贵意见。 编者2021年1月 第1版前言 随着人类迈进信息时代,计算机软件越来越多地应用到系统控制、资源调配、数据分析等工作中。因此,对软件产品的安全性、稳定性和效率提出了更高的要求。而软件的开发需要人的智慧,很难工程化,这有可能导致在计算机软件开发和维护过程中遇到一系列问题。为解决好这些问题,软件工程学科应运而生。 在软件工程学科发展历程中,UML(Unified Modeling Language,统一建模语言)作为一种定义良好、易于表达、功能强大且使用范围广泛的标准建模语言,获得了工业界、科技界的广泛支持。它融入了软件工程领域的许多新兴的思想、方法和技术,支持从需求分析开始的软件开发的全过程。时至今日,UML已然成为世界公认的面向对象标准建模语言。熟练使用UML建模,是软件工程师、软件设计师的基本素质。对于学生而言,UML可以起到引领认识软件工程核心要素,以体系化、工程化方法思考软件开发过程,清晰各部分逻辑的重要作用。 我们阅读了市面上大量与UML相关的书籍,发现了其中一些缺陷和不足。例如,使用的规范过旧(如UML 1规范,最新则是UML 2.4); 将案例与UML概念的讲解分离开,开发过程不符合软件工程过程的工作流,甚至不提供开发案例,无法让读者从开发过程中深入体会UML的作用,也不能加深读者对概念的印象; 讲解过于针对实例,读者很难根据其描述扩展到解决自己的问题上; 结构混乱,描述过于抽象; 讲解枯燥,缺少实例; 等等。 本书在以下几个重要方面有突出特色: 目标针对性强。本书针对国内计算机、软件相关专业学生,旨在让有一定程序编写能力、未来有志从事软件开发和设计工作的学生学习标准的建模语言,获得设计软件的逻辑能力以及对软件内部各种组织结构的表达能力,为后续课程的学习和求职打下坚实的基础。 内容保持最新。本书结合了互联网时代软件思想更新快的特点,坚持使用最新的UML标准; 重点介绍使用新技术的案例,避免使用老式的、可能导致潜在风险的分析和设计方法。 结构合理,引人入胜。本书结构安排合理,由浅入深,先从读者了解的现实世界入手,抽象出UML的核心概念,而不是“填鸭式”地灌输。在简要介绍UML的元素后,通过提出一个现实需求,引发读者的思考。之后展示UML的10种图,由于读者对核心概念已了然于心,只需要专注于将元素对应到图例符号,减轻了学习难度,激发了学生的思考。 理论结合实践。在讲解UML的视图和图的过程中穿插进了一个实际的软件开发案例,让学生从实践中体会UML的简洁性和重要性,加深对UML概念的印象。在书的最后几章给出了更多的软件工程具体实例,让教师能采用丰富的例子进行教学,同时学生也能够了解到更多的工程相关知识,提高软件分析和设计的综合能力。 需要说明的是,本书遵照UML 2.0规范,主要使用Enterprise Architect软件进行绘图。因此,可能会有部分术语以及图的细节与UML 1.x规范中的图不同。例如: UML 1.x中的“协作图”改名为“通信图”,UML 2.0规范中顺序图与协作图中不再在对象名称下添加下画线,等等。 本书的作者为吕云翔、赵天宇、丛硕,曾洪立、吕彼佳、姜彦华负责了素材整理及配套资源制作等工作。由于我们的水平和能力有限,本书难免有疏漏之处。恳请各位同仁和广大读者给予批评指正,也希望能将实践过程中的经验和心得与我们交流。 编者 2018年2月