【发布时间】:2020-10-20 20:09:55
【问题描述】:
我正在制作一个显示以下内容的图表:
学生每天在自助餐厅点菜,他们可以选择今天的完整菜单(例如,汤、三明治、甜点、饮料),也可以只选择菜单中的部分菜品(例如,只有汤)。
如何在类图上显示它。这是我的图表。订单与菜单或订单与菜品之间应该有关系吗?
【问题讨论】:
标签: uml modeling class-diagram
我正在制作一个显示以下内容的图表:
学生每天在自助餐厅点菜,他们可以选择今天的完整菜单(例如,汤、三明治、甜点、饮料),也可以只选择菜单中的部分菜品(例如,只有汤)。
如何在类图上显示它。这是我的图表。订单与菜单或订单与菜品之间应该有关系吗?
【问题讨论】:
标签: uml modeling class-diagram
订单和菜单或者订单和菜品之间应该有关系吗?
如果你只有 Order 和 Menu 之间的关系,你无法知道学生不想要哪些菜,所以如果你有这种关系,你也需要表示(不)想要的 Meal 的另一个关系,但是具有该附加关系会使 Order 和 Menu 之间的关系无用。
所以 Order 和 Meal 之间有关系,但 Order 和 Menu 之间没有(直接)关系.
除此之外:
ordersType 有用吗?同样对其进行组合也没有任何意义,因为枚举项始终存在
一个Menu与几个Meal相关,所以对应的multiplicity必须是1..*
一个Pupil可以有多个Order(多重性'*'),所以看起来Menu的多个实例可以同时存在,那么一个 Meal 可以是多个 Menu 的一部分,因此相应的多重性也必须是 1..*。
一顿饭的价格是一个int,看起来很奇怪
Menu/Order 的日期是 double,看起来也很奇怪
Pupil 的 numClass 是一个字符串,如果 num 表示数字就很奇怪
【讨论】:
作为对布鲁诺出色回答的补充,我想补充一下您的要求非常模糊的记录。例如:
根据您的答案,有很多可能性可以对此进行建模。例如:
【讨论】: