Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UML类图中的错误基数_Uml_Multiplicity - Fatal编程技术网

UML类图中的错误基数

UML类图中的错误基数,uml,multiplicity,Uml,Multiplicity,我的学校老师和我正在争论如何为两个班级之间的关系写出正确的基数: Customer ----places->---- Order 所以这个练习告诉我,一个客户有0-x个订单,而一个订单总是属于一个特定的客户。所以我的想法是: Customer -1---places->---*- Order 我的教师解决方案: Customer -1..*---places->---*- Order 那么,你觉得怎么样?我希望,我是对的:)第一个是正确的。0..*

我的学校老师和我正在争论如何为两个班级之间的关系写出正确的基数:

    Customer ----places->---- Order
所以这个练习告诉我,一个客户有0-x个订单,而一个订单总是属于一个特定的客户。所以我的想法是:

    Customer -1---places->---*- Order
我的教师解决方案:

    Customer -1..*---places->---*- Order

那么,你觉得怎么样?我希望,我是对的:)第一个是正确的。0..*,或者简称为*,位于Order类的旁边。1..1,或者简称为1,位于Customer类旁边

你确定你的老师指定了UML吗

你说得对

您描述的1:n关系表示,1个客户下了0..n个订单。可能有没有订单的客户,但如果有订单,就只有一个客户。一个订单必须有且只有一个客户。这对我来说完全有道理


1..n:?解决方案在各个方面都有缺陷。首先,顺序端没有基数。但是规范并没有定义默认值。当然,图不必包含基数,但图也只是模型的一个视图。如果你忽略了基数,而没有在其他地方提及它,那么它是未定义的。此外,1..n基数表示,一个或多个客户已经下了订单。假设这个练习涉及到一些现实世界的问题,这对我来说似乎毫无意义。

好消息:你是对的!你的第一个想法是正确和明确的。祝贺你

你老师的答案是正确的,但不完整,因为它没有定义多重性。如果他坚持争辩,这里是要求你的权利的理由;-)

UML2.5-第11.5.4节

各种其他符号可以放置在行的末尾附近,如图所示 如下所示:
•多重性
•多重性 用大括号括起来,在哪里 在属性中定义(见9.5.4)
•符号。
注:如果图中未显示多重性,则不可能得出任何结论 关于模型中的多重性绘制


在“正常”业务中,我会同意。但在不知道领域的情况下,答案是未知的。可能有一个企业,你有一个单一的订单,有很多客户。我想问题是把多重性放在哪里。是的。但是如果你有几个人下一个订单,老师可能是对的。不寻常,但可能。OP告诉我们,“一个客户有0-x订单,一个订单总是属于一个特定的客户”。谢谢你们的回答。现在我知道我走的是对的:)老师的答案被编辑成与原来的问题有很大的不同。这个问题的初衷已经失去了吗?!欢迎来到StackOverflow,@alanb。如果你找到了你的问题的答案,请考虑(点击复选标记),并考虑投票(点击上箭头)。接受一个答案向更广泛的社区表明,你已经找到了解决方案,给了自己一些声誉分数,并给回答你问题的人一些声誉分数。如果您的问题没有找到满意的答案,请留下评论。谢谢您的回答!现在我知道我走对了:)谢谢你的回答!现在我知道我走对了:)