UML的构造块
UML的词汇表包含下面3种构造块:
- 事物
- 关系
- 图
事物是对模型中首要成分的抽象;关系把事物结合在一起;图聚集了相关的事物。
UML中的事物
在UML中有4种事物:
- 结构事物
- 行为事物
- 分组事物
- 注释事物
这些事物是UML中基本的面向对象的构造块,用它们可以写出结构良好的模型。
结构事物
结构事物(structural thing)是UML模型中的名词。它们通常是模型的静态部分,描述概念元素或物理元素。结构事物总称为类目(classfier)。
第一,类(class)是对一组具有相同属性、相同操作、相同关系和相同语义的对象的描述。类实现一个或多个接口。在图形上,把类画成一个矩形,矩形中通常包括类的名称、属性和操作。
第二,接口(interface)是一组操作的集合,每个操作描述了类或构件的一个服务。因此,接口描述了元素的外部可见行为。一个接口可以描述一个类或构件的全部行为或部分行为。接口定义了一组操作规约(即操作的特征标记),而不是操作的实现。接口的声明看上去是在名称的上方标注着关键字<<interface>>的类;除非有时用来表示常量,否则不需要属性。
UML中的关系
在UML中有4种关系:
- 依赖
- 关联
- 泛化
- 实现
第一,依赖(dependency)是两个模型元素间的语义关系,其中一个元素(独立元素)发生变化会影响另一个元素(依赖元素)的语义。在图形上,把依赖画成一条可能有方向的虚线,偶尔在其上还带有一个标记。
第二,关联(association)是类之间的结构关系,它描述一组链,链是对象(类的实现)之间的连接。聚合是一种特殊类型的关联,它描述了整体和部分间的结构关系。在图形上,把关联画成一条实线,它可能有方向,偶尔在其上还带有一个标记,而且它还经常含有诸如多重性和端名这样的修饰。
第三,泛化(generalization)是一种特殊/一般关系,在其中特殊元素(子元素)基于一般元素(父元素)而建立。用这种方法,子元素共享了父元素的结构和行为。在图形上,把泛化关系画成一条带有空心箭头的实线,该实线指向父元素。
第四,实现(realization)是类目之间的语义关系,其中的一个类目指定了由另一个类目保证执行的合约。在两种地方会遇到实现关系:一种是接口和实现它们的类或构件之间;另一种是在用况和实现它们的协作之间。在图形中,把实现关系画成一条带有空心箭头的虚线,它是泛化和依赖关系两种图形的结合。
这4种元素是UML模型中可以包含的基本关系事物。它们也有变体,例如,精化、跟踪、包含和扩展。
UML中的图
图(diagram)是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)的连通图。为了对系统进行可视化,可以从不同的角度画图,这样图是对系统的投影。对所有的系统(除非很微小的系统)而言,图是系统组成元素的省略视图。有些元素可以出现在所有图中,有些元素可以出现在一些图中(很常见),还有些元素不能出现在图中(很罕见)。在理论上,图可以包含事物及其关系的任何组合。然而,实际上仅出现少量的常见组合,它们要与组件软件密集型系统的体系结构的5种最有用的视图相一致。UML包括13种这样的图:
- 类图
- 对象图
- 构件图
- 组合结构图
- 用况图
- 顺序图
- 通信图
- 状态图
- 活动图
- 部署图
- 包图
- 定时图
- 交互概览图