String 如何在UML中处理字符串集合?

String 如何在UML中处理字符串集合?,string,uml,multiplicity,String,Uml,Multiplicity,我一直想知道用UML建模字符串集合的最佳方法是什么(我指的是OMG认可的标准方法)。 假设我有一个简单的设计,其中有引号,每个引号由几个关键字表示。因此,我建立了一个“Quote”类的模型,其中包含Quote本身(一个字符串)、其作者的姓名(另一个字符串)和一组关键字(每个关键字都是字符串)。如果我想在“keywords”属性中显示字符串的多重性,我必须在设计中添加“String”类。但由于在大多数语言中这是一个内置类,所以我将其留空,因为我不知道它实际上是如何实现的。 所以我会有这样的东西:

我一直想知道用UML建模字符串集合的最佳方法是什么(我指的是OMG认可的标准方法)。 假设我有一个简单的设计,其中有引号,每个引号由几个关键字表示。因此,我建立了一个“Quote”类的模型,其中包含Quote本身(一个字符串)、其作者的姓名(另一个字符串)和一组关键字(每个关键字都是字符串)。如果我想在“keywords”属性中显示字符串的多重性,我必须在设计中添加“String”类。但由于在大多数语言中这是一个内置类,所以我将其留空,因为我不知道它实际上是如何实现的。 所以我会有这样的东西:

我觉得有点尴尬。。。是否有更好的(标准UML)方法对此进行建模?

如果“我想在“关键字”属性中显示字符串的多重性,我必须在设计中添加“字符串”类,这是不正确的。没有必要建模与
字符串
类的这种关联

您只需将
*
指定为多值
关键字
属性的多重性,它将显示在
引号
类矩形中

quote[1] String
author[1] String
keywords[*] String

请注意,在您的图表中没有显示属性的多重性,因此默认情况下它是
1

谢谢您的回复,gwag。在本例中,我遇到了一个新的难题:假设我构建了另一个类,“Author”类和一个引用可以有多个Author(不太现实,但为了保持相同的示例)。在这种情况下,我是否应该像添加字符串集合一样添加“author”集合属性?或者现在我应该混合使用两种表示集合的方法,就像这样:我在这里关心的是,在同一个图表中,我有两种不同的表示集合的方法。请记住,我正在寻找在UML中实现这一点的标准方法。实际上,在UML类图中,与另一个类的(单向二进制)关联可以表示为关联行或引用属性,另请参见或。但是你不应该把这两种方式混为一谈。第一种表示更具概念性和视觉性,而第二种表示已经朝着实现迈出了一步。