解密UML九中关系

来源:互联网 发布:软件推广平台 编辑:程序博客网 时间:2024/05/01 10:04

  将UML中常用的九种关系分为了四组进行解释。




一、组合和聚合讲解:

相同:均是指有部分组成整体。

不同:聚合是指可以独立存在的个体组成整体。(弱的拥有关系)

      组合存在时间上的关系。整体和部分具有相同的生命周期。且部分本就是整体的       一部分。(强拥有关系)

比如:书架和书及书页之间关系。

      书是书架的一部分,但是书可以离开书架单独存在。这种关系是组合

      很多的书页可以组成一本书,但是书是不能离开书页单独存在的,且书和书页是       同时存在的。这就是组合关系。


二、包含和扩展讲解:

  两者存在于用例图中,指的是用例之间的关系。

包含:是用来描述将一个基用例中过于复杂的功能用例。来分解成多个新的用例。

      且这些新的用例不可缺少。

扩展:是将基用例中的相对独立且可选的用例与基用例之间的描述。

如:机房收费系统中的:用户上机记录查看,包含了查询、查看、退出、导出  Excel表等功能。若将上机记录查看作为一个用例那么这些功能均要在此用例中描    述。过于复杂。那么可以将这些功能分解成子用例。


    因为查询、查看、退出,是被包含在上机记录查看不可缺少的功能,这三个功能是无条件存在的,将上机记录查看描述的更完整。

    而导出为Excel表是在查询出现结果之后,对于上机记录查看这个功能,能不能导出Excel表都是一样的。

 

三、继承和泛化:

泛化其实也是一种继承关系。

不同的是泛化关联箭头从子类指向父类的 与继承相反。



             是泛化关系

四、关联和依赖的认识:

依赖是比关联弱的关系,关联其实是一种较强的依赖关系。

     依赖是指两个独立的系统之间的关系,一个系统负责构造另一个系统实例,或依赖于另一个系统服务时存在的。比如:但机器负责生产零件时,机器构造的零件实体;打气筒为自行车提供打气服务也是一种依赖关系。


关联是只特定的对象实例之间存在较长期的固定关系。

依赖是指两个对象之间存在短时间的关系。


如用人、自行车、打气筒三者之间的关系来描述。

人和自行车是特定的配对,且在很长的时间中人均可以骑自行车。

但是,自行车和打气筒之间不存在配对关系,你可能在路上用这个打气筒一次,有用另外各一次,且每次使用时间较短。



五、实现关系;

两个实体与接口之间的关系。


总的来说这几种关系的强弱是:泛华=实现>组合>聚合>关联>依赖
在使用关系时一定要使用最准确的关系进行描述。
0 0
原创粉丝点击