[英]UML Relationships
问题是将给定的UML图片与所有可能的描述结合起来。
UML图
一种。 可以从B导航到A。
b。 可以从A导航到B。
C。 B对A的裁判很少。
d。 A是B的一部分。
e。 B是A的一部分。
F。 A和B之间没有不确定的关系。
G。 当B不再存在时,就没有理由A存在。
H。 当B不再存在时,仍然有理由A存在。
一世。 B使用A,但没有对A的引用。
我的尝试...
好吧,我记不清尝试了多少次。 但是在我看来,描述有些含糊。 你可能会说它适用与否...最后我这样研究...
而且,ofc仍然不正确……也许我肯定持有的东西错了。 但是我们的导师显然没有为我们提供足够的材料来解决这个问题,并且拒绝给出任何提示。 这就是我从Google阅读帖子和文章的距离...有人可以帮忙指出什么地方是错的或遗漏的吗? 我觉得我要吐...
从UML 2.5角度来看:
(¹)我将假设,用于绘制图表的工具没有明确显示关联端所有权或不可导航的端,因此我将坚持“通用解释”:
先进的UML工具可以通过在末尾或小十字上添加黑点来明确区分,以分别说明谁拥有该关联以及该关联是否可导航。
结论:我强烈建议查看UML 2.5规范的 11.5.5节中的示例。 整个章节(11.5)可以为您提供更多的见解,但是如果您仅将UML视为图表而不是模型,则可能会让人感到不知所措。
更新:依赖
模型中依赖关系的存在不具有任何运行时语义含义。
我更仔细地研究了Specs,这是Dependency元模型
据此,客户和供应商之间都不相互了解。 严格来讲,模型确实声明NamedElement(Class的超类)知道它依赖谁(clientDependency),但是定义如下:
{OCL} result = (Dependency.allInstances()->select(d | d.client->includes(self)))
我称其为胡说八道,因为然后可以使用相同的方法使每个不可通航的目的地都可以通航。
因此,鉴于此,对于依赖项:
因此,A + B都可以接受解释。
根据该模型,它不直接引用,但是该模型还表示
依赖关系意味着没有供应商,客户的语义是不完整的。 ...用法是一种依赖关系,其中一个NamedElement 需要另一个NamedElement [...]来实现其完整实现或操作。
所以我不会称其为弱引用,因为客户需要它。 实际上,UML 2.5在规范的相关部分中并未使用“ 弱 ”一词(更不用说“ 弱引用”)了,因此该术语本身没有任何意义(也许是在UML的旧版本中使用的)。
涉及派生属性的动作的行为与非派生属性相同。
简介:依赖关系是思想的表示,而不是实现的表示。 因此,实际的解释对使用它的人以及在特定情况下最有意义的解释是开放的。
我保留了原来的答案,在这一部分中,我或多或少地提出了非常机械和无意识的约束应用程序,这通常不是一个好主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.