【问题标题】:What is Navigability in UML diagrams?什么是 UML 图中的可导航性?
【发布时间】:2017-03-25 03:49:29
【问题描述】:

UML 图中的可导航性示例是什么?我的教授提供了下图,但我似乎无法弄清楚:

【问题讨论】:

  • 那是错误的箭头。您拥有的意思是“扩展”,仅用于定义刻板印象。
  • @JimL。其实你是对的。然而,许多(大多数?)UML 用户没有看到那些细微的箭头差异(即使在使用 UML 这么多年之后我也没有看到)。他们只是在其中看到了可导航性。还有一些 UML 建模工具(不要问我是哪个),但肯定有一些 UML 绘图工具使用“艺术”箭头,它比任何已批准的 UML 箭头更像鲸鱼矛头。老实说,即使是 UML 规范在相当多的地方都使用了错误的连接器符号(当涉及破折号时)。
  • 对于类图,线/箭头的主要类型有: (a) 带空心箭头的实线:可导航关联。 (b) 带有闭合空心箭头的实线:类继承/泛化。 (c) 带空心箭头的虚线:dependency。 (d) 带有闭合空心箭头的虚线:接口实现.

标签: uml class-diagram


【解决方案1】:

这显示了可导航性。 A 可以看到(意味着它有一个属性引用)B。相比之下,B 不知道/引用 A

UML 2.5 规范 p. 18:

  • 箭头符号用于表示关联端可导航性。根据定义,所有类拥有的关联端都是可导航的。按照惯例,元模型中所有关联拥有的端点都是不可导航的。

  • 两端都没有导航箭头标记的关联意味着该关联可以双向导航。

甚至更相关的 p。 200:

过去通常根据非正式约定使用可导航表示法,即假定不可导航端归协会所有,而可导航端假定归另一端的分类器所有。此约定现已弃用。聚合类型、可导航性和最终所有权是独立的概念,每个都有自己的明确表示法。类所拥有的关联端始终是可导航的,而关联所拥有的则可能是可导航的。

所以你应该改用点符号:

【讨论】:

    【解决方案2】:

    UML 规范是一堆错综复杂的替代符号,可能会让您发疯。 谨慎探索!

    在现实生活中,保持简单!不要使用“点符号”,也不要使用x 来表示不可导航性,除非您的同行熟悉它。

    使用箭头进行可导航的关联。人们对它很熟悉,或者他们不够直观。

    【讨论】:

    • 您好,您能详细说明一下采购订单可以看到产品吗?
    • @Fabiana Purchase Order 类有一个属性,它是 Product 对象的集合。因此,采购订单中的业务逻辑可以访问产品对象。 OTOH,Product 没有对 Purchase Oder 的属性或句法引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    相关资源
    最近更新 更多