uml中的那些关系

       我们都知道,uml是一种统一建模语言,它的结构很简单,现在我们就把它的四种关系说一说。所谓关系,就是事物间的关系。    

                                                       

一:依赖关系(dependency)

    对于俩个对象x和y,如果对象x发生了变化,可能会引起对另一个对象y发生变化,则称y依赖于x,在uml中,依赖关系用一条带有箭头的虚线表示。箭头指向被依赖方。


    举一个例子吧,客户以一种方式依赖于提供者。在实际的建模中,类元之间的依赖关系表示某一类元以某种方式依赖于其他类元。从语义上来理解,关联、实现和泛化关系都是依赖关系,但是因为他们有更加特别的语义,就被分离出来啦。我们知道当遥控器改变的时候,电视频道也会随之而发生变化,如下图所示:


                    
   
    4种基本的依赖关系类型分别是:使用依赖、抽象依赖、授权依赖、绑定依赖,他们各有特点,我们以客户使用者和使用提供者来说,其中使用依赖就是就是客户使用提供者提供的服务以实现他的行为。抽象依赖是依赖于不同层次上的事物,授权依赖就是提供者可以规定一定的客户的权利来对提供者控制和限制。绑定依赖就是绑定模版以创建新的模型元


二:泛化关系(generalization)


    首先我们知道泛化就是一般元素和特殊元素之间的关系,也就是父类和子类的关系,子类继承父类的属性和方法,当然子类在继承的基础上还会有新的属性和方法。泛化关系描述了类之间的“is a kind of”的关系。
    在图形上,泛化用从子类指向父类的空心三角形箭头来表示,多个泛化关系可以用箭头线来表示树形来表示,如图所示:
                      

三:实现关系(realization)


     实现关系将一种模型元素和另一种模型元素连接起来,其中接口只是行为的说明而不是结构或者实现。也即是不继承结构但是继承行为。一个接口可以被多个类或者组件实现,一个类或组件也可以有多个接口。
        
    可以在两种情况下实现该关系,第一是在接口和实现该接口的类间,第二是在用例以及实现该用类的协作间。他用一个带空心三角形的虚线箭头来表示,箭头方向指向接口。
  
    例如,打字员和计算机键盘的关系,即使计算机键盘帮助打字员实现了他的工作的功能,所以,可以用下面的图表示:
                
     还有一个很省略的画法,也就是这条实现的线可以用的带圆圈的线来表示。


四:关联关系(association)

    
    关联关系描述了一组具有共同的结构特征和行为特征等的链接,他是一种结构关系,假如俩个事物之间存在链接,则事物的类间存在关联关系。如学院、学生、大学存在链接关系,则他们之间可以建立关联关系。


    关联关系用一条实线表示,除了基本形式外,还有名称、角色、多重性和聚合四种应用来修饰关联。其中名称就是关系的名称,表示该关系的性质,同时可以在名称的前缀或者是后缀添加一个指引阅读方向的实心三角形箭头。角色就是在该类中扮演的角色,也可以是职责等,如学生扮演的是学习着的角色,老师扮演的额是教学者的角色,多重性的具体语法有六种,就不列出啦.


    在这里区别一下聚合关系和组成关系,还有关联关系的导航性。
    聚合关系是便是类间整体和部分的关系,关联关系中描述了一个极大的事物,聚合关系是里面的很小的一部分,即整体对象拥有的部分对象。在图形中用空心的菱形头的实线表示。
    组成关系的关联性强,也是说明了整体和部分的关系,但是部分不能失去整体而单独存在。在图形中用实心得菱形头表示。
   
                   
                                                  

     导航性表示从源头的对象到目标的过程,有单向关联和双向关联之分。目的就是降低类间的耦合度,例如下面的图就是单向关联的模型:


                                    
                             

      uml中,四种关系始终贯彻。但是我也很想说,看视频容易,画图难,EA软件几乎都是英文,对于不懂英文的我,画图更难啊!
           

    

UML(统一建模语言),有几种见的关系类型,它们用于描述类与类之间、对象与对象之间的关联和交互。以下是UML的几种关系类型: 1. 关联(Association):表示类之间的静态关系,描述了对象之间的连接。关联可以是双向的,也可以是单向的,可以是一对一、一对多或多对多的关系。 2. 聚合(Aggregation):表示整体与部分之间的关系,是一种弱关联关系。聚合关系,整体对象可以包含部分对象,但部分对象可以独立存在。 3. 组合(Composition):也表示整体与部分之间的关系,但是组合关系,整体对象负责创建和销毁部分对象,并且部分对象的生命周期与整体对象相关联。 4. 依赖(Dependency):表示一个类依赖于另一个类的定义或实现。当一个类的变化会影响到另一个类时,就存在依赖关系。 5. 继承(Inheritance):表示一个类继承另一个类的属性和方法。继承关系,子类可以继承父类的特性,并且可以添加自己的特性。 6. 实现(Realization):表示一个类实现了一个接口或抽象类的定义。实现关系,类需要实现接口或抽象定义的方法。 7. 依赖关系(Dependency):表示一个类使用了另一个类的对象作为参数、局部变量或返回值。 8. 信号(Signal):表示对象之间的异步通信。 以上是UML的几种常见关系类型,它们用于描述类与类之间的关联和交互。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值