【问题标题】:Modelling unique relationships in UML class diagrams在 UML 类图中建模独特的关系
【发布时间】:2014-07-21 18:58:05
【问题描述】:

这个问题是关于分析阶段的UML类图。 为了便于说明,我制作了一个最小的示例:

一张票适用于一个座位和一个特定的研讨会。 一个座位可以分配给多张门票,但只能分配给一张独特的门票/研讨会组合。 (研讨会和独特的门票/座位组合也是如此。)

图表没有反映这一点。我用红色标记了错误的多重性。

您知道哪些选项(越多越好)来正确建模需求?

【问题讨论】:

    标签: associations uml unique diagram


    【解决方案1】:

    这种交换一致性检查不能用 UML 或实体关系图表示。顺便说一句,您也不能表示,从工单实例中,路径工单 -> 座位 -> 研讨会位置必须指向与工单 -> 研讨会 -> 研讨会位置相同的实例。

    形式上,您用红色标记的多重性是正确的。一个座位可以看到不止一张票,只是针对不同的研讨会,反之亦然。

    所以我能提供的唯一解决方案是将要求包含在这些关系的文本规范中。这不是一件坏事,因为任何有限的图形符号集都只能表达所有可能需求的一个子集。

    【讨论】:

      【解决方案2】:

      Ticket 可以是座位和研讨会之间的关联类。或者只是使用 OCL 来表达这个约束

      【讨论】:

        【解决方案3】:

        “您也不能表示,从工单实例,路径工单 -> 座位 -> 研讨会位置必须指向与工单 -> 研讨会 -> 研讨会位置相同的实例”

        1) OCL - context Ticket inv:seminar.seminarLocation=seat.seminarLocation

        2) 在 Seat 和 Seminar 之间绘制 Seat、Seminar 和关联类 Ticket - 到 SeminarLocation(图 13-70 http://msdl.cs.mcgill.ca/people/tfeng/docs/The%20Unified%20Modeling%20Language%20Reference%20Manual.pdf 或图 14-84 http://www.utdallas.edu/~chung/Fujitsu/UML_2.0/Rumbaugh--UML_2.0_Reference_CD.pdf

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-08
          • 1970-01-01
          • 1970-01-01
          • 2010-11-21
          • 1970-01-01
          相关资源
          最近更新 更多