软件工程

简述关联和依赖的区别。

题目

简述关联和依赖的区别。

参考答案和解析
正确答案: 关联是类之间的“静态”关系,只有通过这个关系的导航,一个对象才能找到另一个对象。它就象我们手中的通信录,取得其他对象的联系方法。除了这个职责之外,关联没有进一步的意义了。这时有人可能会问,我们总该用关联(通信录)为程序做点什么呀!不好意思,关联除了能找到对方之外,别的什么都不懂了。因此,一般来说,关联是用语言机制中的指针来实现,可以在程序初始或运行是建立。当然,也可以用任何标识对象,并能在运行中定位对象的机制来实现。
依赖关系,简单地来说就是“动态”的关系,提供者可能要求或指示依赖关系中客户的变化,依赖者为了达成要求被依赖对象行动的目的,依赖首先要取得对方的引用,以便于实施这个依赖操作,对方对象的引用可以通过二种方法获得,一种是依赖对象之间也存在关联关系,所以它可以直接通过自己的关联找到对方对象的引用,第二种是依赖对象之间不存在直接关联关系,程序设计者有责任设计通过第三方对象的关联,经过一次或多次的关联导航获得目标对象的引用。最后,依赖对象通过这二种的任一种方法获得目标对象引用后,就可以向目标对象施加相应的依赖关系行为。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

产业关联理论分析的内容包括()

A.前向关联

B.后向关联

C.就业和资本需求量

D.生产的最终依赖度


参考答案:B, C

第2题:

UML中有4种关系:依赖、关联、泛化和实现。( )是一种特殊/一般关系,使子元素共享其父元素的结构和行为

A.依赖
B.关联
C.泛化
D.实现

答案:C
解析:
本题考查面向对象UML建模语言知识点UML用关系把事物结合在一起,主要有下列四种关系:依赖(Dependency)依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义关联(Association)关联描述一组对象之间连接的结构关系泛化(Generalization)泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象实现(Realization)实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约

第3题:

类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中提供了4种关系:依赖(dependency)、概括(generalization )、关联(association)和聚集(aggregation)。请分别说明这4种关系的含义,并说明关联和聚集之间的主要区别。


正确答案:依赖关系:有两个元素A、B如果元素A的变化会引起元素B的变化则称元素B依赖于元素A。 概括关系:描述一般事物与该事物中的特殊种类之间的关系也就是父类与子类之间的关系。 关联关系:表示两个类的实例之间存在的某种语义上的联系。 聚集关系:表示一种整体和部分的关系。 聚集关系是关联关系的特例它是传递和反对称的。
依赖关系:有两个元素A、B,如果元素A的变化会引起元素B的变化,则称元素B依赖于元素A。 概括关系:描述一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。 关联关系:表示两个类的实例之间存在的某种语义上的联系。 聚集关系:表示一种整体和部分的关系。 聚集关系是关联关系的特例,它是传递和反对称的。 解析:图13-8是一个UML的用例图。在工程的分析阶段,用例图被用来鉴别和划分系统功能,它们把系统分成动作者(actor)和用例。
动作者(actor)表示系统用户能扮演的角色(role)。这些用户可能是人,可能是其他的计算机、一些硬件或者是其他软件系统。判断它们的唯一标准是它们必须要在被划分进用例的系统部分以外。它们必须能刺激系统部分,并接收返回。
用例描述了当动作者之一被系统特定地刺激时系统的活动。这些活动用文本来描述,即描述了触发用例的刺激的本质,输入和输出到其他活动者,以及转换输入到输出的活动。用例文本通常也描述每一个活动在特殊的活动线时可能的错误和系统应采取的补救措施。
图中的网络用户、公司客户、管理人员都是动作者。题目说明中提到了系统有4个功能:浏览客户信息、登录、修改个人信息、删除客户信息。这也就是4个用例,我们现在只需把它们对号入座即可。根据题目说明,我们可以知道任何使用Internet的网络用户都可以浏览电话公司所有的客户信息,在图中符合这一条件的只有A了,所以A应填浏览客户信息。又因为只有公司的管理人员才能删除不再接受公司服务的客户的信息,所以D应填删除客户信息。
剩下就只有登录和修改个人信息两个用例了,那么B究竟是填登录还是修改呢?我们先来看包含和扩展的概念。
两个用例之间的关系可以主要概括为两种情况:一种是用于重用的包含关系,用构造型include>>表示;另一种是用于分离出不同行为的扩展关系,用构造型extend>>表示。
包含关系:如果可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例的部分功能是很重要的事,则应该使用包含关系来表示它们,如图13-35所示。

扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,我们将这个用例分为一个主用例和一个或多个辅用例来描述可能更加清晰,如图13-36所示。

因为要先登录才能修改信息,所以B应填修改个人信息,C应填登录。
在UML,中,重复度(Multiplicity)又称多重性,多重性表示为一个整数范围n..m,整数n定义所连接的最少对象的数目。而m则为最多对象数(当不知道确切的最大数时,最大数用*号表示)。最常见的多重性有:0..1、0..*、1..1、1..*。
因为一个Customer List的实例可以与0个或多个Customer的实例相关联,而一个 Customer的实例只能与一个CustomerList的实例相关联,所以(1)应填1,(2)应填 0..*。因为Customer是CompanyCustomer的相应的详细信息,所以(3)和(4)都应该填写0..1。
用UML,建立业务模型时,可以把业务人员看做是系统中的角色或者类。在建立抽象模型时,很少有类会单独存在,大多数都将会以某种方式彼此通信,因此还需要描述这些类之间的关系。关系是事物间的连接,在UML中有以下几个很重要的关系:
(1)依赖关系。有两个元素A、B,如果元素A的变化会引起元素B的变化,则称元素 B依赖(Dependency)于元素A。在类中,依赖关系有多种表现形式,如:一个类向另一个类发消息;一个类是另一个类的成员;一个类是另一个类的某个操作参数,等等。
(2)概括关系。概括关系(Generalization,也翻译为“泛化关系”)描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是从父类中继承的,而父类则是子类的泛化。在UML中,对泛化关系有以下3个要求:
.子类应与父类完全一致,父类所具有的关联、属性和操作,子类都应具有。
.子类中除了与父类一致的信息外,还包括额外的信息。
.可以使用父类实例的地方,也可以使用子类实例。
(3)关联关系。关联(Association)表示两个类的实例之间存在的某种语义上的联系。例如,一个老师为某个学校工作,一个学校有多间教室。我们就认为老师和学校、学校和教室之间存在着关联关系。关联关系为类之间的通信提供了一种方式,它是所有关系中最通用、语义最弱的。关联关系通常可以再细分成以下几种。
.聚集关系(Aggregation):是关联关系的特例。聚集关系是表示一种整体和部分的关系。如一个电话机包含一个话筒,一个电脑包含显示器、键盘和主机等都是聚集关系的例子。
.组合关系:如果聚集关系中表示“部分”的类的存在与表示“整体”的类有着紧密的关系(例如“公司”与“部门”之间的关系),那么就应该使用“组合”关系来表示。

第4题:

Rose的类图中的类之间存在4种关系:关联、聚集、泛化、依赖,请简述它们的不同之处。


正确答案: (1)关联关系是类与类之间的一种词法连接,使得一个类可以访问或使用另一个类的公共属性和操作,实现在不同类之间的交互和通信,关联关系又分为单向关联和双向关联。
(2)依赖关系表示一个类需要引用另一个类的定义,其目的也是为了实现不同类之间的信息交换。但依赖关系与关联关系不同之处在于:它们对程序代码有不同的影响;依赖关系只能是单向的,而关联关系可以单向的也可以是双向的。
(3)聚集关系表示的是类之间“整体与部分”的关系。
(4)泛化关系表示类之间“一般与特殊”、“抽象与具体”的关系即不同类之间的继承关系。

第5题:

关联推导和因果推导的区别在于因果推导是时间上先后的关联,先有因,后有果;关联推导是同时发生的事件之间的关联。


正确答案:正确

第6题:

下图是( )设计模式的类图,该设计模式的目的是( ),图中,Decorator和Component之间是(请作答此空)关系,ConcreteDecorator和Decorator之间是( )关系。

A.依赖和关联
B.依赖和继承
C.关联和实现
D.继承和实现

答案:C
解析:
图中Component定义一个对象接口,可以给这些对象动态地添加职责ConcreteComponent定义一个对象,可以给这个对象添加一些职责Decorator维持一个指向Compnonent对象的指针 ,并定义一个与Component接口-致的接口ConcreateDecorator向组件添加职责装饰( Decorator )模式适应于:在不影响其它对象的情况下,以动态、透明的方式给单个对象添加职责;处理那些可以撤销的职责;当不能采用生成子类的方式进行扩充时Decorator和Component之间应为关联与实现关系ConcreteDecorator和Decorator之间是继承(泛化)关系

第7题:

UML中有4种关系:依赖、关联、泛化和实现。( )是一种结构关系,描述了一组链,链是对象之间的连接

A.依赖
B.关联
C.泛化
D.实现

答案:B
解析:
本题考查面向对象UML建模语言知识点UML用关系把事物结合在一起,主要有下列四种关系:依赖(Dependency)依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义关联(Association)关联描述一组对象之间连接的结构关系泛化(Generalization)泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象实现(Realization)实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约

第8题:

UML是一种面向对象的统一建模语言。在UML中有(51)四种关系。

A.依赖、关联、特殊、实现

B.依赖、结构、泛化、实现

C.依赖、关联、泛化、语义

D.依赖、关联、泛化、实现


正确答案:D
解析:UML是一种面向对象的统一建模语言,在UML中有四种关系:依赖、关联、泛化和实现。依赖关系是两个事物之间的语义关系:关联关系描述了一组对象之间链接的结构关系:泛化关系则是一种一般化—特殊化的关系:实现关系是类之间的语义关系。

第9题:

什么是依赖?他与关联有什么区别?


正确答案:依赖是一种使用关系,它说明了一个事物声明说明的变化可能影响到使用它的另一个事物,但反之未必。也就是说,服务的使用者以某种方式依赖于服务的提供者。而关联是一种结构关系,它详述了一个事物的对象与另一个事物的对象相互联系。

第10题:

请简述企业物料和MES工厂物料的关联和区别。


正确答案:企业物料是MES工厂物料的基础,基于企业物料来定义MES工厂物料,MES工厂物料全集只能是企业物料的子集。MES工厂物料定义主要确定物料在工厂工内的罐物料标志、进出厂物料标志、互供物料标志和物料类型以及物料层次。企业物料的层次对MES工厂物料层次没有约束,仅作为参照。