Hee*_*man 9 uml associations ternary
我目前在理解UML中的三元关联方面遇到了一些麻烦.我得到二进制的,但我不确定如何在三元组上进行多重性.我正在做我从大学毕业的练习,目前的练习是这样的:
一个部门可能会销售许多产品,但仅限于一个市场.在市场上,一个产品只能由一个部门出售.
我已经阅读了不同的消息来源,关于我应该如何思考这两个类的一对,我并不是想弄清多重性,但是我的大脑并没有得到它.帮帮我Overflow Kenobi,你是我唯一的希望.
在三元关联的多重性规范中似乎存在一些模糊性.另见本文
但我理解为这样:
多重性说明了对于任何给定元组的链接实例,该关联中可能存在多少次实例.
在任何特定的家庭中,必须有一个父亲,一个母亲和零个或多个孩子.
如果我们将这个应用到你的案例中,那么我会得到这样的结论:
对于任何给定的产品,必须只有一个市场,一个部门和一个或多个产品
这似乎或多或少地满足了所有约束条件
我不认为它是防水的,但正如文章已经说过的那样,UML没有足够的工具来制作防水设计,只有两端的多重性.因此,为了更好地衡量,您的约束也应该建模为UML约束.
免责声明:三元协会对于学术讨论非常好,但并未真正用于(IT)行业,可能是因为它们很难理解.
这种不具体的三元关联只是告诉你有关系在哪里
Market
控制Department
- Product
,Department
控制Market
-Product
和Product
控制Department
- Market
。没有关于单个类如何控制其他两个类的声明。
UML 规范没有详细定义三元运算符。因此,使用该元素似乎需要您自担风险。你可以责怪 OMG 使用但没有定义它超过
任何关联都可以绘制为菱形(大于线上的终止符),每个关联成员用实线表示端点,将菱形连接到端点类型的分类器。有两个以上端点的关联只能这样绘制。
以及 p 上图片中的一个示例。202.
简单关联类
告诉你 theProduct
介于两者之间Department
,Market
而多重性1
告诉你Market
a只有一个Department
。这更像是您的要求。
NB 根据要求分头发并没有多大意义,因此“有Product
没有没有Market
”。这些是在模型中修复之前需要与领域专家讨论的细节。