1

有人问过类似的问题,但这并不能完全解决我的问题:

我对老师的以下陈述有疑问:

  1. “您只能拥有内置或自定义的数据类型,作为类中的属性类型。对于其他属性,多重性定义了数量以及它是否是强制性的。” (很公平)

让我们假设以下描述:

[...]每个操作都包含一系列要在所需质量级别上执行的任务 - 对于每个任务,都有一个从该任务的可用质量级别列表中选择的关联质量级别。[...](操作保持其他属性的数量)。

现在我已经绘制了以下“类图”: 类图

问题:

  1. 我可以将自定义数据类型作为类图(作为类)的一部分,还是只能用作其他类中的属性?

  2. 如果这些数据类型只能用作属性,那么我不知道如何通过将此属性添加到一个类来标记集合是有序且唯一的事实 - 根据我的老师 - 这是不允许的 - 因为那么我将拥有一个既不是内置类型也不是自定义类型的类型的集合作为属性。

  3. 据我所知,将属性添加到类并指定此集合是有序的,这是标记此类属性的唯一方法,并且不能通过多重性来实现。

有人可以阐明什么是正确的符号吗?

4

1 回答 1

2
  1. 您可以根据需要在图表上定义任意数量的自定义,但请注意:a和 aDatatype之间存在差异DatatypeClass

  2. UML 允许同时使用ClassesDatatypes成为您的Attribute.

  3. 在 UML中AttributesAssociations通常是可以互换的。两者的定义特征在 中定义Property,其中包括多重性和其他约束,例如{ordered}

但是,您的老师也可能会参考一些最佳实践。Datatypes对关系使用属性,对关系使用关联是非常明智的Classes。有关这方面的更多信息,请参阅UML 最佳实践:属性或关联

于 2016-01-11T21:01:00.593 回答