首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何绘制类图,其中类包含其他6个类或多个不同的类

如何绘制类图,其中类包含其他6个类或多个不同的类
EN

Software Engineering用户
提问于 2013-10-27 10:39:28
回答 1查看 254关注 0票数 3

我知道基本知识,但不知道如何建模(这是一个没有提供解决方案的练习):

一份订单可以装一箱或更多箱啤酒。每个纸箱包含6瓶同类型的啤酒,但也有一些由3种不同类型的啤酒组成(共6种)。

也有一个“纸箱”类,我如何使它的方式,要么6啤酒(相同的)或6啤酒3种不同类型?

EN

回答 1

Software Engineering用户

发布于 2013-11-01 10:42:31

您可以使用xor contstraint来建模独占或。如果你真的知道基本知识,你应该已经看到它了。

其余的都很简单。您有一个订单类,它有一个或多个纸箱(1.*)。您可以使用聚合来建模这个关联,但是它没有被精确地指定。然而,这不是一个成分,因为纸箱可以肯定地存在于他们自己。

如何对纸箱建模有多种解决方案。我首先想到的是把纸箱分成两种。一种是单种啤酒,一种是多种啤酒。两者都是从使用泛化的抽象类派生出来的。订单只与抽象纸箱类相关联。

啤酒的特点是,你也可以把它分割成一个抽象的类和它派生的啤酒类型,但是这里并不需要这样做。所以你可以创建三个不同的啤酒类。第一盒(单啤酒类型)与所有三个啤酒类相关联,具有多重性6,并受三个关联之间的xor约束。另一个纸箱(三种啤酒类型)也与所有三种啤酒类型相关联。但是,您不需要xor约束,每个关联的多重性为2。

肯定有更优雅的方法来模拟这个模型,但是这个方法至少应该被认为是正确的。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/215682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档