设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
什么是关联关系??
返回列表
发新帖
什么是关联关系??
[复制链接]
11
|
1
|
2006-4-19 02:37:38
|
显示全部楼层
|
阅读模式
关联关系 关联关系表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起(这与依赖关系不同,依赖关系表示两个实例之间的临时关联关系)。
回复
使用道具
举报
千问
|
2006-4-19 02:37:38
|
显示全部楼层
关联关系 关联关系表示不同类的对象之间的结构关系,它在一段时间内将多个类的实例连接在一起(这与依赖关系不同,依赖关系表示两个实例之间的临时关联关系)。 您可以使用关联关系表示对象了解其他对象。有时,对象必须相互引用才能实现交互,例如互相发送消息。因此,在某些情况下,关联关系可以采用序列图和协作图中的交互模式。 关联关系名称 多数关联关系是二元的(即只存在于两个类之间),在图中表示为连接类符号对的实线路径。既可能是关联关系具有名称,也可能是各关联关系角色具有名称。最好采用角色名称,因为它们能表达更多信息。如果只能给其中一个角色命名,那么只要该关联关系将是单向的(即从与该角色名称相关的对象引出),角色名称仍比关联关系名称更可取。 关联关系通常是在分析过程中命名的,此时还没有足够的信息来对角色进行适当的命名。如果使用关联关系名称,关联关系名称就应该反映该关系的目的,并且应该是一个动词词组。关联关系名称应放置在关联关系路径上或其附近。 示例 在 ATM 中,钞箱提供出钞模块需要的钱。为了使出钞模块能够出钞,它必须随时能对钞箱对象进行引用。同样,如果钞箱中的现金被取尽,就必须通知出钞模块对象,所以钞箱必须随时能对出钞模块进行引用。有一种关联关系可对这种引用进行建模。 出钞模块和钞箱之间的关联关系,其名称为提供现金。 如果选择了不适当的关联关系名称,就会导致理解上的混乱和错误。以下是对关联关系名称使用好坏的正反示例: 好关联关系名称和坏关联关系名称示例 角色 关联关系的两端为角色,角色规定了类在关联关系中所起的作用。每个角色都必须有名称,而且对应一个类的所有角色名称都必须是唯一的。角色名称应该是一个名词,能够表达被关联关系对象的角色与关联关系对象之间的关系。例如,在与教程的关联关系中,教师的合适角色名称就可以是讲师;应避免使用“有”和“包含”之类的名称,因为它们不能提供有关类间关系的信息。 注意,关联关系名称和角色名称的使用是互斥的:不能同时使用关联关系名称和角色名称。角色名称通常比关联关系名称更可取,除非没有足够的信息来正确命名角色(这常见于分析阶段中;在设计阶段中应始终使用角色名称)。如果没有好的角色名称,通常都意味模型不完善或构建不合理。 角色名称紧邻关联关系线的末端。 示例 以一个订单输入系统中各类之间的关系为例。客户可以使用两种不同地址:一个帐单发送地址和一些订货发送地址。结果,客户和地址之间存在两个关联关系,如下所示。这些关联关系中标注了关联关系地址为客户担任的角色。 客户、地址和订单之间的关联关系,显示了角色名称和多重性。 多重性 对于每个角色,您都可以指定其类的多重性,即该类的多少个对象可以与另一个类的一个对象相关联。多重性由角色上的文本表达式指出。表达式是一个由逗号隔开的整数范围列表。一个整数范围由一个整数下限、两个圆点和一个整数上限来表示。单个整数也是有效的范围,而符号 '*' 表示“许多”,即对象的数量不受限制。符号 '*' 本身等价于 '0..*',即包括零在内的任何数;这是默认值。一个可选标量角色的多重性为 0..1。 示例 上例中显示了订单和客户之间以及客户和地址之间关联关系的多重性。从该图可看出,一份订单必然有一个关联关系的客户(客户的多重性为 1..1),但是客户却可能没有任何订单(订单的多重性为 0..*)。此外,一个客户有一个帐单发送地址,但是有一个或多个送货地址。为了减少符号带来的混乱,如果忽略多重性,就可以将它们假定为 1..1。 导向性 角色的导向性特征表示可以通过关联关系从关联类导向到目标类上。这可通过多种方式来实施:直接引用对象、关联关系数组、散列表或其他任意一种允许一个对象引用另一个对象的实施技术。导向性用一个开箭头表示,该箭头置于关联关系线的目标端,紧靠目标类(即所导向的类)。导向性特征的默认值为 true。 示例 在订单输入示例中,订单与客户之间可以进行双向导航:订单必须知道是哪位客户发出的订单,而客户必须知道他发出了哪一个订单。如果没有显示箭头,则默认关联关系能够双向导航。 在客户和地址之间的关联关系中,客户必须知道其地址,但是地址却并不知道哪位客户(或其他类,因为许多事物都有地址)与该地址相关联。结果,关联关系中客户一端的导向性特征被关闭。 更新后的订单输入系统类,显示关联关系的导向性。 自关联关系 有时,一个类与其自身存在一种关联关系。这并不一定意味着该类的某个实例与其自身存在关联关系,更多的情况下,它意味着该类的某个实例与该类的其他实例之间存在关联关系。在自关联关系的情况下,角色名称对于区分关联关系的目的非常重要。 示例 以涉及类雇员的自关联关系为例: 在此示例中,一个雇员可能与其他雇员存在关联关系;如果如此,那么该雇员为经理,而其他雇员则是此经理的属下。由于雇员知道他们的经理,而经理也知道他的属下,所以该关联关系能够双向导航。 多重关联关系 在相同对象关联关系两次的类之间做两个关联关系;一个指定对象可通过不同的关联关系链接到不同的对象上。每个关联关系都是独立的,用角色名称来区分。如上所示,一个客户能与同一个类的不同实例之间建立关联关系,而且每个关联关系都有不同的角色名称。 角色排序 如果关联关系的多重性大于 1,则那些被关联关系的实例就可能会排序。角色排序特征意味着参与关联关系的那些实例要进行排序。在默认情况下,它们是并不进行排序。模型并未规定如何对排序进行维护;用于对排序后的关联关系进行更新的操作必须规定更新元素的插入位置。 链接 一个关联关系的各个实例称为链接;一个链接就是实例间的关系。可以通过链接发送消息,而且链接可以表示对象间的引用和聚合关系。参见指南:协作图以获取详细信息。 关联类 关联类是一种关联关系,它具有类的特征(例如属性、操作和关联关系)。它用一条从关联关系路径到类符号的虚线表示,其中类符号包含此关联关系的属性、操作和关联关系。这些属性、操作和关联关系适用于原始关联关系本身。关联关系中的每个链接都有指定的特征。关联类最常见的用途是协调多对多关系。原则上,关联关系和类的名称应该是一致的,但是在必要情况下,也可使用不同的名称。一个退化的关联类只包含此关联关系的属性;在这种情况下,您可以忽略关联类名称,以弱化其独立性。 示例 借用并扩展前面的雇员示例。考虑一下一名雇员(职员)为另一名雇员(经理)工作的情况。经理定期对职员进行评估,以反映出他们在一定时间内的表现。 评估不能作为经理或职员个人的属性,但是我们可以将评估信息与此关联关系自身进行关联关系,如下所示: 关联类评估获取了与关联关系自身有关的信息。 限定关联关系 可使用限定词进一步限定和定义一组与另外某个实例相关联的实例;一个对象和一个限定词的值可以确定该关联关系的一组唯一对象,从而形成一个复合关键字。限定通常会降低关联关系另外一端角色的多重性;多重性净值显示相关类中有多少个实例与第一个类以及给定限定词的值相关联。限定词表示为关联关系一端紧靠限定类的小框。他们是关联关系的一部分,而不是类的一部分。一个限定词框可以包含多个限定词的值;限定以整个值列表为基础。限定关联关系是关联关系属性的一种变体。 示例 考虑对明细分类项和产品之间的关联关系进行的以下改进:明细分类项与所订购的产品之间存在关联关系。每个明细分类项引用且只涉及一件产品,而一件产品则可以在多个明细分类项中订购。通过使用限定词产品代码对该关联关系进行限定,我们还指出每个产品具有一个唯一的产品代码,而明细分类项则是通过这个产品代码与产品相关联的。 明细分类项和产品之间的关联关系具有限定词产品代码。 N 维关联关系 N 维关联关系是指在三个或更多类之间的关联关系,其中单个类可以多次出现。N 维关联关系表示为一个大菱形,菱形上对应每个参与类都有一条关联关系路径发出。这是关联关系的实体关系模型的传统符号。为简洁起见,二元关联关系不用菱形表示,因为实际模型中大多数是二元关联关系。N 维关联关系相当少见,而且可以将他们晋升为类来建模。N 维关联关系还可以有关联类;这可用菱形到类符号的虚线来表示。角色可以有角色名称,但是多重性更加复杂,最好是通过列出备选关键字来加以说明。如果给出了多重性,那么它代表的实例数量对应于所指定的其他 N-1 个对象组。多数 N 维关联关系都可以使用限定的关联关系或者关联类来消除。他们还可以被普通类替代,尽管这会失去一种限制,即一个指定的参与对象元组只能有一个链接。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
[11-29]莲坂附近的单身公寓租金多少
2
男人不抽烟、不喝酒不是男人吗?
3
[11-29]求助求助!!!单位附近野猫太多,怎么处理?
4
一名专科生选择工作还是继续读书,大家可以给我一点意见吗?感激!
5
[11-29]捡钱了,怎么办
6
喜欢了三年的男生好像终于和一个女生在一起了我是否该删了他?真的很难过。
7
我在园艺潜伏五年,揭秘仿真树假山假山是怎么做出来的
8
[12-01]求解答
9
[11-19]想问一下,住圣地亚哥的话,在哪找工作比较方便
10
王梓盈 什么门当户对 去他妈的
11
[12-04]老是不请自来,我该怎么拒绝?烦死了!
12
迷忙的日子,是否要到老死……
13
所以现在yy是不能提的吗?还是某女士?
14
满分十分,说说你现在的床伴打几分~
15
趣店发生了什么
16
如果回到古代,你们女的是愿意嫁到有钱人家做妾还是嫁到穷人家做妻???
17
咨询一个眼科问题
18
[12-06]2018年要过去了,你还有哪些心愿未达成?
19
反面教材,一个循规蹈矩,五毒不沾的混成什么样
20
留下你心目中的2018年流行语,看看哪些是大家公认的热词
21
万能的天涯,欧阳娜娜这件衣服谁知道是什么牌子?
22
身高一米六4,我想知道个子真的好低么??
23
万能的天涯,求教如何才能解除这个尴尬
24
818为什么韩剧里吃个紫菜包饭或者喝个海带汤都算是很有营养的东西?
25
嘿,你家住哪?
26
为什么都那么喜欢玩小号
27
不知道打什么标题。
28
跪求藏头诗,刚出生的女孩子,朱芷若
29
和自己的孩子交朋友,真的这么难吗?
30
什么都没有??????
31
看了麻雀,里面两男主百度都是181身高…可是李比张矮啊
32
真是奇怪,案犯刚落网,大家不好奇作案原因,却对罪犯两儿子揣度起来
33
[12-05]金庸小说里,哪个人物武功最高?
34
[11-28]寻求财务知识解答
35
巅峰时期的古天乐和现在的吴亦凡谁更帅?让票数说话
36
大家来看看我是不是要发财了?????
37
谁认识这个帅哥啊啊啊啊啊啊啊啊啊啊啊啊啊!替姐们问的!
38
头发毛燥该怎么办呀?大家快来集思广益扒一扒各种护发美容的方法吧
39
so,男人到底有没有出轨?
40
揭秘邓超不支持王宝强的真正原因 邓超为人圆滑(转载)
41
招募:中国人寿!要求21-50岁(男女不限),文化:初中以上,工作时间:岗前培训
42
那些腐女会不会贡献自己的弟弟和儿子出来?
43
高分考生谈经验 上网聊天成法宝
44
请教达人自靠升学率怎么样?
45
如何才能使自己变的中庸起来?
46
有没有闲人啊?
47
补办驾驶证是要去集美的车管所么?高速违章处理还是只能去集美么?
48
[01-08]在厦门多少工资够用,算一笔帐。一算好可怕啊。
49
喝满月酒要包红包吗?(之前出生已经包过了)
50
关于公司涨薪问题
51
厦门哪家酒店好
52
[01-10]去云水谣怎么自己坐车方便?
53
怎么改自己的名字!
54
请问厦门哪里修手机厉害
55
请问有会测名字的高手吗?谢谢
56
[01-10]想知道厦门哪里有急救方面知识培训的呢?
57
求助杏东小学入学问题
58
[12-03]厦门限购限贷政策太严了,倾听民意:强烈要求放松
59
我的高考作文凭什么被判死缓
60
高速过路费有疑问找哪里处理?
61
90后的有吗?
62
[04-11]如果小鱼网允许你更名一次,你想重新取啥名字?选取200个最符合申请的鱼鱼,给予更名!(结束)
63
我该怎么面对啊
64
发现一个新问题
65
此时,你的天空下雨了吗?
66
看看犹太人怎样教育孩子
67
[01-07]咨询一个关于撤销技能落户申请的问题