图书前言

前言

随着人类迈进信息时代,计算机软件越来越多地应用到系统控制、资源调配、数据分析等工作中。因此,对软件产品的安全性、稳定性和效率提出了更高的要求。而软件的开发需要人的智慧,很难工程化,这有可能导致在计算机软件开发和维护过程中遇到一系列问题。为解决好这些问题,软件工程学科应运而生。

在软件工程学科发展历程中,UML(Unified Modeling Language,统一建模语言)作为一种定义良好、易于表达、功能强大且使用范围广泛的标准建模语言,获得了工业界、科技界的广泛支持。它融入了软件工程领域的许多新兴的思想、方法和技术,支持从需求分析开始的软件开发的全过程。时至今日,UML已然成为世界公认的面向对象标准建模语言。熟练使用UML建模,是软件工程师、软件设计师的基本素质。对于学生而言,UML可以起到引领认识软件工程核心要素,以体系化、工程化方法思考软件开发过程,清晰各部分逻辑的重要作用。

我们阅读了市面上大量与UML相关的书籍,发现了其中一些缺陷和不足。例如,使用的规范过旧(如UML 1规范,最新则是UML 2.4); 将案例与UML概念的讲解分离开,开发过程不符合软件工程过程的工作流,甚至不提供开发案例,无法让读者从开发过程中深入体会UML的作用,也不能加深读者对概念的印象; 讲解过于针对实例,读者很难根据其描述扩展到解决自己的问题上; 结构混乱,描述过于抽象; 讲解枯燥,缺少实例; 等等。

本书在以下几个重要方面有突出特色:

目标针对性强。本书针对国内计算机、软件相关专业学生,旨在让有一定程序编写能力、未来有志从事软件开发和设计工作的学生学习标准的建模语言,获得设计软件的逻辑能力以及对软件内部各种组织结构的表达能力,为后续课程的学习和求职打下坚实的基础。

内容保持最新。本书结合了互联网时代软件思想更新快的特点,坚持使用最新的UML标准; 重点介绍使用新技术的案例,避免使用老式的、可能导致潜在风险的分析和设计方法。

结构合理,引人入胜。本书结构安排合理,由浅入深,先从读者了解的现实世界入手,抽象出UML的核心概念,而不是“填鸭式”地灌输。在简要介绍UML的元素后,通过提出一个现实需求,引发读者的思考。之后展示UML的十种图,由于读者对核心概念已了然于心,只需要专注于将元素对应到图例符号,减轻了学习难度,激发了学生的思考。

理论结合实践。在讲解UML的视图和图的过程中穿插进了一个实际的软件开发案例,让学生从实践中体会UML的简洁性和重要性,加深对UML概念的印象。在书的最后几章给出了更多的软件工程具体实例,让教师能采用丰富的例子进行教学,同时学生也能够了解到更多的工程相关知识,提高软件分析和设计的综合能力。

需要说明的是,本书遵照UML 2规范,主要使用Enterprise Architect软件进行绘图。因此,可能会有部分术语以及图的细节与UML 1.x规范中的图不同。例如: UML 1.x中的“协作图”改名为“通信图”,UML 2规范中顺序图与协作图中不再在对象名称下添加下画线,等等。

本书的作者为吕云翔、赵天宇、丛硕,曾洪立、吕彼佳、姜彦华负责了素材整理及配套资源制作等工作。由于我们的水平和能力有限,本书难免有疏漏之处。恳请各位同仁和广大读者给予批评指正,也希望能将实践过程中的经验和心得与我们交流(yunxianglu@hotmail.com)。

编者

2018年2月