B.1 UML 基 础
由于本书用UML来表达模式的结构和基本的运行顺序示意,特此为不熟悉UML的朋友准备了一些相关的UML快速入门知识。
这里只是UML知识的一小部分,如果需要了解更多的UML知识,请参阅UML的学习文档,UML的网站http://www.uml.org/是个好去处。
B.1.1 UML是什么
UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。
(1)UML是一种语言。
从上面的定义可以看出,就其本质,UML是一种语言,既然是语言,那就是用来交流的,UML用来在哪些人员之间进行交流呢?很明显,UML主要是在软件开发的整个生命周期所涉及到的人员之间进行交流的语言。
(2)UML是一种建模语言。
那么什么是建模呢?
模型是用某种工具对事物的一种表达方式,通常会表达出事物最重要的方面而简化或忽略其他方面。比如常见的工程模型、飞机模型、车辆模型等。
模型在软件上主要的作用是,可以在一定的抽象层次上,使人们通过对模型的分析和研究,来制定出最终的软件结构和内部的相互关系。
(3)UML是一种图形化建模语言。
为什么要图形化呢?
很简单,图形化的东西直观、简单、准确,更有利于软件开发的整个生命周期所涉及到的人员之间进行交流。因为对于一个大型的软件项目,参与的人员很多,根本不可能相互用语言来交流,图形化是一个很好的方案。
(4)UML是一种标准的图形化建模语言。
只有标准的东西,才会有更多的人学习和使用它,大家对同一表达的理解才会一样,才能真正达到相互交流的目的。
否则要是没有标准,大家各自为政,可能会出现同一个图形,大家有不同的认识和理解,那就没法交流了。
B.1.2 UML历史
UML出现在1995年,到1997年的时候,由OMG进行统一,并于同年由OMG全体成员通过采纳为标准,也就是UML1.1版。
1998年,对UML1.1版进行了少量修改,推出了UML1.2版,随后几年,陆续地推出了1.3、1.4、1.5等版本。
直到2003年UML2.0被OMG接纳为标准,最新的UML2.0的可用版本于2005年7月发布。
B.1.3 UML能干什么
UML主要用于对软件进行描述、可视化处理、构造和建立软件系统的文档,以方便对系统的理解、设计、浏览、配置、维护和信息控制。通过它,参与软件各个生命周期的人员可以很方便地交流。
B.1.4 UML有什么
简单的说,UML由视图构成,视图由图构成,图由图片组成,图片是模型元素的符号化。图是一个具体视图的组成部分,一种视图通常会包含多种图。
■ 视图:描述完整系统中的一个抽象,用来显示这个系统中的一个特定的方面。
■ 图:用来表示系统的一个特殊部分或某个方面。
■ 模型元素:所有可以在图中使用的概念统称为模型元素。
在UML2.0里面,视图被分成三个视图域:结构、动态和模型管理,具体的视图和图如表B.1所示。
表B.1 UML视图和图列表
UML的视图和图基本上都具有可扩展性,这些扩展能力有限但是很有用,包括约束、构造型和标记值,这里就不去介绍了。
本书主要用到了类图和顺序图,下面就简要地介绍一些关于类图和顺序图的基本知识,其他的图这里就不去涉及了,如有需要,请参阅相关资料。