用于描述关系的UML表示法

时间:2017-09-30 04:01:23

标签: uml

有人可以向我解释一下突出显示的元素在下面显示的UML类图的快照中的含义:

  1. 加号
  2. 大括号内的文字
  3. Sample UML

    上面的图片取自http://www.omg.org/spec/UML/

    的UML规范

    在进一步阅读中我找到了

    大括号被称为"装饰品",在这种情况下,它们被放置在关系上。在这种情况下,它们被用于对作为关系一部分的元素施加约束。

    仍然没有关于+符号的线索。

1 个答案:

答案 0 :(得分:3)

装饰品是添加到连接器的所有内容,即文本标签。大括号是约束。这些可以是纯文本或OCL。 subsets是UML中的关键字。 UML规范的第17页说

  

关联结束:每个由其名称,类型和多样性指定,任何其他属性(如{union})和指向其对端的链接。如果关联结束子集或重新定义其他关联,则会在附加属性中显示为{subsets}或{redefines},其中是指向适用端的链接。接下来是对关联结束的目的和含义的文本描述。如果派生了关联结束,则名称前面会有正斜杠。如果关联结束是一个合成,则由与末端名称相邻的小黑色菱形表示。

加号表示属性(角色名称ownedTemplateSignature)具有公共可见性。第60页规格:

  
      
  • 公开   具有公共可见性的命名元素对于可以访问拥有它的命名空间内容的所有元素都是可见的。
  •   
  • 私有   具有私有可见性的NamedElement仅在拥有它的命名空间内可见。
  •   
  • 保护   具有受保护可见性的NamedElement对于与拥有它的命名空间具有泛化关系的元素是可见的。
  •   
  •   具有包可见性的NamedElement对最近的封闭包中的所有元素可见(假设其他拥有元素具有适当的可见性)。在最近的封闭包之外,标记为具有包可见性的NamedElement不可见。只有不属于Packages的NamedElements才能被标记为具有包可见性。
  •   

在p。 111:

<visibility> is the visibility of the Property. (See VisibilityKind - sub clause 7.4.)
<visibility> ::= ‘+’ | ‘-‘ | ‘#’ | ‘~’

(按照上面列表的顺序,例如'+'是公开的)

并且按照@granier的建议进行扩展,在关联结束时的小点(在2.1.1中引入)具有以下含义:(第200页)

  

关联分类器结束的关联所有权可以通过一个小的实心圆圈以图形方式表示,为简洁起见,我们将其称为一个点。点将被绘制为线的图形路径的整体,在它与分类符相交的点处,插入到行的末尾和表示分类器的节点的一侧之间。点的直径不得超过聚合金刚石高度的一半,并且应大于线的宽度。这避免了与填充的钻石符号的视觉混淆,同时确保它可以与线条区分开。该点表示该模型包括由点所触及的分类器表示的类型的属性。此属性由另一端的分类器拥有。在这种情况下,从拥有的分类器的属性区域中抑制属性是正常的。

实际上整个页面都在谈论所有权和导航性。但基本上,点意味着对方的类拥有关系,这意味着它可以导航到虚线类。任何一方的点都意味着两个阶级都知道彼此。