【问题标题】:How to draw class diagram for this situation如何为这种情况绘制类图
【发布时间】:2013-10-26 07:50:29
【问题描述】:

一个客户可以有多个订单。一个订单最多可以包含 10 套。每组可以有 10 个相同种类的物品或 3 组不同的物品。 我不知道如何为第二部分绘制图表,例如可以有 10 个项目或 3 组不同项目的集合。

【问题讨论】:

  • 到目前为止,您的图表看起来如何?
  • 这个确切的业务规则不能完全用类图来表达。您应该制作适当的(以保存所有数据并易于使用)类结构并使用运行时检查来强制执行限制,这些限制不遵循类结构。
  • 我有客户订单 (1-*) 关系。订购成套 (1..10)。设置为项目(1-10)..最后一部分我不知道,这三组不同的项目。可能是 Set-group(1-3) 和 Group-item (1*n)?
  • 你认为像 order (1..10) 这样的东西真的意味着什么吗?你可以画它们,但你的目标语言不支持它们,所以你真的会得到通常的 (1..*) 并且 (1..*) 和 (1..10) 之间的差异只能通过手动编写来检查代码。
  • 这是关于类图的,仅此而已。这是正确的表示法..不确定你为什么质疑 UML 表示法..

标签: class model diagram


【解决方案1】:

可能是这样的

它表明Order 类将具有Item 的列表或ItemGroup 的引用(其中ItemGroup 有3 个不同的Item 列表),但不能 两者都有。
换句话说,singleSetmultiSet 变量之一应该为空。

根据 UML 2.4.1,第 7.3.10 节约束(来自内核)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2021-06-19
    • 2021-02-21
    • 2020-04-17
    相关资源
    最近更新 更多