语义关系
这意味着有被关联,从问题空间出现的事物之间的结构关系。例如:关联Person owns Dog
。在狗牌许可申请中,这种关系是中心概念;该应用程序用于管理人与狗之间的链接。这是一种“语义”关系,因为它具有源于问题空间的意义。
集有关的分类
元组是“的有序集的元素的”(wikipedia)的实例的元组。狗所有权协会的一个例子可以是("Fido", "Fred")
,其中“Fido”代表狗和“Fred”人。一个关联可以表示为一组元组,其中每个Dog的组合都有一个元组,这个关系可以持有这个元组;例如
[("Fido", "Fred"), ("Angel", "Chuck Norris"), ("Boatswain", "Lord Byron")]
注有用于对没有的元组关系不保持;例如("Fido", "Lord Byron")
。
每个元组值可能最多只能出现一次
这是不可能的设置为包含重复的,因为这也只是两次说同样的事情。所以没有必要再将("Fido", "Fred")
添加到上面的列表中;我们已经知道Fred拥有Fido。
协会代表的量词
的实例中的一组连接这只是另一种方式去思考的关系。对于集合中的每个元组,都可以考虑相关对象之间的链接或连接。
一个关联的一个实例是一个链接,这是实例的元组
见上文。每个元组代表一对链接的对象。链接指向关联,因为对象是类。类有很多对象;协会有很多链接。
从根本上说,存在的关联表明事物系统地与其他事物相联系。元组和集合是思考和/或表示这些链接事物的一种方式。 (事实上,我对你的OP中的定义有所质疑:关联中的链接可以表示为作为一组元素:但这不是他们的是,它们是如何建模的。信息可同样由一个图形,其中每个对象是由顶点(节点)表示,并且每个关联来建模的边缘
HTH
编辑:。
响应您的问题外观。就像你理解得很好;一些观察。
首先,这里我将如何模型,可以:
我们每个点:
名称:是的关联关系的名称(可选项,你可以给它一个名字或不)
我喜欢基于动词短语的命名,因为它带出了关系的含义。我的模型可以直接读作:
- 每个人拥有许多狗(其中“多”是指0或更多)
- 每条狗正好由一个人
这样做会删除所拥有的需要明确命名关联,尽管如果你愿意,你仍然可以这样做。
知名度(我不关心它,至少现在,我直到现在才意识到它的重要性)。
我同意。就我个人而言,我从来没有用可见度来标注模型。
名称:(这里是MemberEnd的名称),这样,我的截图
留下了它的默认名称有关上述关联命名见注释。我更喜欢基于角色的基于动词的命名:'拥有'在描述关系的目的方面明显要比命名关联结束'狗'或'狗'更明确。
memberEnd的所有者[...]
个人:我不使用这个。关于这个问题还有其他一些讨论,我不认为在大多数情况下都会产生重大影响。
通航[...]
再次我不亲自使用此。实际上,导航能力应该来自潜在的行为。它是否需要单向/双向导航?然后相应地设置导航。然而,有些人喜欢明确地指定它,在此基础上它使得实现更加清晰(如果只能以一种方式导航,则只能在一个类中使用引用来实现;如果双向它需要双向引用 - 伴随逻辑保持一致)。
多重
我同意你的选择。
希望有所帮助。
嗨@ sfinnie!我很幸运地得到这样的答案.I've花了过去三小时 左右只是吸收每一个字,我真不知道怎么感谢你 不够。 我已经建立了“人拥有狗”的关联。我希望你 对我的尝试发表评论,确认我正在尝试做的是否正确,并且 在UML中有效。 这是一个类图:http://postimg.org/image/cjn6js2ex/这是关联的相应'属性视图' 关系类图(编辑其属性) http://postimg.org/image/llblttv5d/ – Carlos
这是我对关联关系的理解: #Name:是关系的名称(可选,你可以给它 它的名字与否) #visibility(我不关心它,至少目前为止,我还没有意识到它的重要性,直到现在)#Name:(这里是MemberEnd的名字),所以,我在 的屏幕上留下了它的默认名称,但它是类类型的实例我们的e xample 这是菲多 – Carlos
memberEnd的#the主人:我有两个选择要么协会或 分类[我的理解,我应该为两端 指定的分类,因为我觉得是菲式'狗class'和弗雷德是'Person 类'],但我不知道在哪些情况下AssociationEnds应该是 由协会拥有,不属于分类器? – Carlos