面向对象分析与设计
上QQ阅读APP看书,第一时间看更新

2.2.1 UML的概念模型

从概念结构上来看,UML的概念模型主要由UML基本构造块、构造块的语义规则和可以运用于整个语言的通用机制三种基本要素构成。

1.UML基本构造块

所谓的基本构造块是对用于构造UML模型的基本元素的一种抽象,或者说是UML模型的构造元素。UML将基本构造块划分成事物(Thing)、关系(Relationship)和图(Diagram)三种类型。

UML又特别地将可以在图(Diagram)中使用的构造块称为模型元素。当然,UML共定义了事物和关系这两种模型元素。

(1)事物(Thing)

事物用于表示模型中的某个事物对模型中某些重要元素的抽象,UML分别定义了结构、行为、分组和注释(Note)四种事物。

结构事物(Structural Thing)通常用某个名词表示,通常是模型的某个静态的结构性构成元素,用于表示某个概念元素或物理元素。结构事物的总称为分类器(Classifier),UML中的类(Class)、接口(Interface)、协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node)等模型元素都属于这类事物。

行为事物(Behavioral Thing)通常指模型中的动态部分,描述系统的动态行为,通常包括交互(Interaction)、状态机(State Machine)和活动(Activity)等。

分组事物(Grouping Thing)是UML的组织部分,用于对模型元素进行分组。UML主要使用包(Package)来实现多模型元素的分组。

注释事物(Annotational Thing)是模型的注释部分,用于描述、说明和标注模型的任何元素,主要的描述方式是提供一个基于文本的注释。注释没有语义方面的作用。

(2)关系(Relationship)

这里的关系主要指模型中各种设施之间的关系,用于将设施结合在一起,以组成更高一层的设施。UML主要定义了依赖(Dependency)、关联(Association)、泛化(Generalization)和实现(Implementation)四种关系,而且不仅给出了这四种关系的定义,UML同时也给出了这四种关系的图形表示。

(3)图(Diagram)

UML中,所谓的图(Diagram)可以看成是一个由具有某些特定关系的模型元素构成的集合。每一张图也可以看成是一个以模型元素为结点,模型元素之间关系为边构成的图。

与前面两种构造块相似的是,UML还为这种构造块定义了它们的图形表示。

UML定义了用例图(Use Case Diagram)、类图(Class Diagram)、对象图(Object Diagram)、顺序图(Sequential Diagram)、通信图(Communication Daigram)、状态图(Statechart Diagram)、组件图(Component Diagram)、部署图(Deployment Diagram)、活动图(Activity Diagram)和包图(Package Diagram)是十种基本的UML图。

2.UML的语义规则

任何UML模型都不是随意地将一些简单的模型元素堆砌起来的,而是按照特定的建模规则进行构建。任何一个结构良好的UML模型都应该在语义上自我一致,并且与相关的模型相协调。

UML定义了五个方面的语义规则。

1)名字(Name)。任何一个UML模型成员都需要有一个名字。

2)作用域(Scope)。任何一个UML模型成员都有其特定的上下文环境,这个上下文规定了其名字的使用区域。

3)可见性(Visibility)。规定了一个成员被其他成员引用的方式。

4)完整性(Integrity)是指成员之间相互连接的合法性和一致性。

5)执行性(Execution)是指UML成员在运行时所表现出来的特性,描述运行或模拟动态模型的含义是什么。

3.通用机制

虽然UML模型是图形化的,但是UML建模过程却不仅仅是绘制图形的过程。对于模型中使用的各种模型元素,仍然需要对这些元素附加详细的说明和解释。UML定义了贯穿整个语言的且一致的通用机制为各种模型元素附加这样的信息。

通用机制(General Mechanism)是指用于表示模型元素相关的信息或附加信息的机制。内容包括元素规约(Specification)、修饰(Modifier)、公共划分(Common Division)和扩展机制(Extensibility)四种通用机制。其中扩展机制又分成构造型(Stereotype)、标记值(TaggedValue)和约束(Constraint)等。

图2-1描述了UML的概念模型。

图2-1 UML的概念模型