Topic: 能不能论论UML中关联和依赖实际中怎么用

  Print this page

1.能不能论论UML中关联和依赖实际中怎么用 Copy to clipboard
Posted by: onlover
Posted on: 2003-06-16 17:19

他们有什么区别,干吗用

2.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: HenryYu
Posted on: 2003-06-20 11:55

这个问题怎么解释呢?这样说吧,在UML语言里面大概定义了4种不同类型的关系,分别为:关联、依赖、实现和一般化关系。而常见的累积关系(aggregation)和合成关系(composition)都是属于关联关系的不同类型。
关联关系可以是双向的也可以是单向的,而依赖关系总是单向的,表现为一个类依赖于另一个类的定义。实现关系是把接口和实现分开;一般化关系表现为两个元素(类、角色、用例等)之间的继承关系。
例子:
http://henryyu.nease.net/demo/uml/classDiagram.htm

3.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: fat32
Posted on: 2003-06-20 22:08

我的理解是依赖、实现和范化关系都是一种特殊的关联关系。

4.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: HenryYu
Posted on: 2003-07-01 17:13

这样说就没必要分,通称关系算了,^_^

5.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: mochow
Posted on: 2003-07-01 17:31

依赖是弱关联。
比如一个类A的实例变量是类B的对象 则它们之间的关系称为关联
类A的方法中输入参数有一个是类C的对象,则A与C就是依赖关系

6.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: whisperwind
Posted on: 2003-08-15 11:11

可将Composite理解为组成,组成通常包括Componet和Part。如果这个Component缺少了某个Part,那么这个Component就不具有意义了。如一辆车由多个部分组成,其中包括四个轮子,他们是Composite关系,如果车缺少了一个轮子那么这辆车就不是原来意义上的车了。

Aggregation关系指参与关系的两个逻辑实体之间没有依存关系,如一个人可以有一辆车,没有车的人也还是一个人。

7.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: yj780210
Posted on: 2003-08-18 08:53

当你从顺序图中确定两个类,或两个object有关系的时候。下一步一般就是确定关联和依赖。
两者关系是否紧密,如果经常使用,需要在一个object里保存另一个object的实例的时候,就是关联。
否则,一般就是依赖。(当一个类的实例没有必要作为类变量来保存的时候,可以做参数传递)
确定是关联还是依赖一般比较困难,和设计者的看法一般也有关系。

8.Re:能不能论论UML中关联和依赖实际中怎么用 [Re: onlover] Copy to clipboard
Posted by: frenzieddragon
Posted on: 2003-08-26 16:51

判断两个类的关系,首先看他们是否有关系,如果有:

首先看有没有泛化(即继承)和实现关系,这是最好判断的。

然后看有没有关联关系。关联关系一种是根据属性来判断,如果类A的某一个属性是类B类型,那么二者就会有关联关系;另一种是根据逻辑意义来判断,如果类A与类B在逻辑上有关联,可以通过某种方式导航到另一个类,那么不一定要在属性中体现。例如类A中有一个属性bID,通过这个bID类A可以找到类B的一个对象,那么就可以说类A和类B之间有关联关系。

剩下的都是依赖关系了。上面有说“依赖是弱关联“,“我的理解是依赖、实现和范化关系都是一种特殊的关联关系“,我不这样认为,我认为依赖关系是这4种关系中最低层次的关系,关联可以认为是一种更强语义的依赖。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923