模型元素属性

属性用于定义 UML 图中的模型元素的特征。例如,可以设置对象的并发性属性,以指定它如何与其他对象进行协调。可以设置多重性属性以指定可以与一个模型元素相关联的值数。还可以设置类型和可视性属性以指定一个模型元素属于 String 还是 Integer 类型,是具有“公有”还是“私有”可视性。

并发性

活动对象中的操作的并发性属性指定当另一个活动对象调用操作时系统将具有的行为。

仅当应用程序具有活动对象、流程或线程时,才涉及到并发性属性。可以对属于应用程序中的活动对象的操作设置并发性属性。
并发性值 描述
顺序 此值是一项操作的并发性属性的缺省值。并发流程之间可能会发生冲突。调用对象之间应该互相协调,以便对于某项操作一次只有一个调用。
受保护 可以同时对一项操作执行多个调用,但是只允许继续执行其中一个调用。后续调用将被阻塞,直到完成第一个调用为止。系统设计人员应该确保应用程序可以同时阻塞对操作执行的所有调用。
并发 可以同时对一项操作执行多个调用并且同时继续执行。

多重性

多重性属性适用于多个模型元素,而且尤其适用于属于类元和组合结构图部件的属性以及类元之间的关联。属性的多重性告诉您可以与模型元素相关联的值数。例如,可以定义一个称为 Attribute1 的属性,其数据类型为 Integer,整数值的范围是 0 到 3,即,Attribute1 : Integer [0..3]。关联关系端的多重性值或范围值表示可以参与关系的对象数。多重性规范可以是单个正整数,也可以是由下限和上限指定的一定范围内的正整数,或者是用逗号分隔的一些正整数组成的列表。星号(*)表示无限制的上限。例如,下表显示了多个多重性规范:

示例 描述
1 刚好为 1
0..1 0 或 1
* 任意数(包括 0)
n 任意数(包括 0)
1..* 一个或多个
注: 当在产品中使用 en (n) 多重性表示法时,en 将被转换为星号(*)。

在具有参数的上下文(例如,模板)中,多重性规范的上限和下限可以是求值为整数值的表达式。

如下图所示,当多重性值与某个属性相关联时,将用方括号将它们括起来:

显示了一个称为 Attribute1 的属性。该属性属于 Integer 类型并且具有“公有”可视性。它还具有一个多重性规范,值的范围是 0 到 3,并将此范围用方括号括起来,位于属性类型旁边。

如下图所示,当多重性值与组合结构图中的部件相关联时,也将用方括号将它们括起来:

显示了组合结构图中的一个称为 PartName 的部件。该部件包含一个多重性规范,值的范围是 0 到 3,并将此范围用方括号括起来,位于该部件的名称后面。

如下图所示,当多重性值与关联关系端相关联时,它们显示在将它们应用于的关联关系端:

显示了两个分别称为 ClassifierOne 和 ClassifierTwo 的类元。这两个类元通过一个关联相关,该关联在 ClassifierOne 端具有一个范围为 0 到 3 的多重性规范,而在 ClassifierTwo 端有一个星号(*)。

类型

可以指定属性、操作、参数和关联关系端的类型。所指定的类型可以是一个类、一种 UML 数据类型(例如,Integer、String、无限制的自然数或 Boolean),也可以是一个接口。

可视性

可视性用于确定模型元素是可以访问同一个类、同一个包和继承结构中的其他模型元素,还是可以访问整个系统中任何位置的模型元素。可以为下列模型元素指定可视性:
  • 属于某个类元的属性和操作
  • 属于某个包的类元
  • 属于用来连接两个类元的关联关系的关联关系端

例如,其他类可以看见并使用具有“公有”可视性的类中的属性和操作。如果属性和操作具有“私有”可视性,那么只有包含它们的类才能看见和使用这些属性和操作。

UML 中的可视性说明符与许多面向对象程序设计语言中的可视性说明符都相同。可以使用图标或文本符号来显示属性和操作的可视性级别。位于关联关系端名称旁边的文本符号(例如,编号符号(#))说明该关联关系端的可视性。
级别 属性图标 操作图标 文本符号 描述
公有 显示了一个称为 Attribute1 的属性。在该属性的左边有一个很小的绿色空心圆,它表示该属性具有“公有”可视性。 显示了一项称为 Operation1 的操作。在该操作的左边有一个很小的绿色实心圆,它表示该操作具有“公有”可视性。 + 可以看见容器的模型元素也就可以看见并使用公有模型元素。
私有 显示了一个称为 Attribute1 的属性。在该属性的左边有一个很小的红色空心正方形,它表示该属性具有“私有”可视性。 显示了一项称为 Operation1 的操作。在该操作的左边有一个很小的红色实心正方形,它表示该操作具有“私有”可视性。 - 位于同一容器中的模型元素可以看见并使用该容器中的私有模型元素。
保护 显示了一个称为 Attribute1 的属性。在该属性的左边有一个很小的黄色空心菱形,它表示该属性具有“保护”可视性。 显示了一项称为 Operation1 的操作。在该操作的左边有一个很小的黄色实心菱形,它表示该操作具有“保护”可视性。 # 位于同一容器或者该容器的后代中的模型元素可以看见并使用该容器中的受保护模型元素。
显示了一个称为 Attribute1 的属性。在该属性的左边有一个很小的蓝色空心三角形,它表示该属性具有“包”可视性。 显示了一项称为 Operation1 的操作。在该操作的左边有一个很小的蓝色实心三角形,它表示该操作具有“包”可视性。 ~ 与容器位于同一个包中的模型元素可以看见并使用具有“包”可视性的模型元素。
相关任务
在活动图中指定分区类型
设置模型元素的属性

反馈