本书的目的是提供一本实用的和易于理解的面向对象设计的入门教程,它要求读者具有面向对象程序设计语言的知识(最好是Java),而且阐述了UML的原则和应用。本书针对的读者主要是计算机科学或软件工程专业的大学本科高年级学生或硕士生,当然也希望其他读者会发觉这本书是有用的。 本书的总体设想是强调设计的表示法与代码之间的联系。现在已经有许多讨论用UML进行系统分析和设计的教程,不过对最终产品,即被开发系统的代码,给予特别注意的还不多见。然而UML实质上是一种表达面向对象程序的设计语言,从这个角度考虑该语言的表示法和语义看来是很自然的。在过去几年,我已发现这是把设计表示法的真实含义传授给学生的好方法。 与这个总体设想有关,本书有两个主要目标。第一个是提供一个使用UML描述的面向对象开发的完整示例。开始讲述需求,最后讲述一个完整的可执行代码,这个代码可以运行、修改和扩展。 教程的目标限制了可以考虑的事例的规模。为此,本书采用一个典型的独立的桌面应用系统,作为范例体系结构。它支持图形用户界面并与关系数据库接口。在这个框架中,正文仔细地对某些核心功能的开发进行了探讨,并把系统的扩展作为练习留给读者。 第二个目标是对UML在开发这种应用的重要方面提供指导。特别把重点放在清楚地阐明此设计语言的结构和表示法,并通过示例说明设计和面向对象程序实现之间的紧密关系。这些问题在许多书中讲的相当粗略。然而,如果对此没有清楚的理解,就难以正确使用UML。 UML是一个庞大而复杂的语言,学习UML时的危险是被这些表示法的细节所淹没。为了避免这点,本书使用的是足以用于开发桌面应用的UML的一个子集。并发性、活动图和除了部署图的简要叙述外的其他部分,都作了相当大的省略。UML语言的这些方面对于UML的“工业化”应用显然是重要的,但是这些已超出本书针对的读者的经验。