概念建模-我的画是正确的



我明天有个考试,我们拿到了样考,但是因为样考没有答案,所以我想在这里问一下。

那么我们开始吧,这是我不确定自己是否做对的问题之一:Q:画一个描述以下领域的概念模型。在这个领域里有猴子和香蕉。一只猴子可以吃香蕉,但两只猴子不能吃同一根香蕉。

A(我认为是正确的):http://gyazo.com/722ee8618bfee76ed9f616d45d800819

现在,我认为我的答案不正确的原因是因为两只猴子能够吃到同样的香蕉(或者它是正确的吗?)

您的模型缺少关联端点,这是非常重要的。它们在两个方向上赋予语义和多样性。一个实现模型是:

|Monkey|--eatingMonkey[0..1]---------eatenBanana[0..*]--|Banana|

这可以防止香蕉被一只以上的猴子吃掉。这是一种混杂的UML,所以我希望你明白如何制作这样的UML图。

由于这应该是一个概念模型,您可以将eatingMonkey重命名为is eaten by,将eatenBanana重命名为eats,如下所示:

|Monkey|--is eaten by[0..1]---------eats[0..*]--|Banana|

该模型形成了自然语言句子:

  • 一只猴子吃任何数量的香蕉。
  • 一根香蕉被最多一只猴子吃掉。

最新更新