UML的五种关系

http://blog.csdn.net/zfrong/article/details/3771842

http://www.51testing.com/html/93/n-234293.html

http://www.guan8.net/Java/109821.html

UML中有依赖(dependency),关联(association),聚合(aggregation),组合(composition)和泛化(generalization)。他们之间的依赖性由弱到强为:依赖—>关联—>聚合-->组合—>泛化

依赖(dependency

表现为函数中的参数(use a)。就是一个类使用到了另外一个类,而这种使用关系是具有偶然性、临时性,非常弱,但是另外一个类的变化会影响到这个类。是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。是一种典型的临时关系,代表了类之间一种短暂的交互。例如表现在代码层面如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。

关联(association)

表现为变量(has-a)。类与类之间的联接,表示类之间的一种持续一段时间的合作关系,但是二者生命线不被绑定。是一种强依赖关系,不存在依赖关系的偶然性,也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护。

聚合(aggregation

关联关系的一种,是强的关联关系。体现的是整体与部分,拥有的关系即owns关系。此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。聚合关系是整体和个体的关系。普通关联关系的两个类处于同一层次上,而聚合关系的两个类处于不同的层次,一个是整体,一个是部分。同时,是一种弱的拥有关系。体现的是A对象可以包含B对象,但B对象不是A对象的组成部分。具体表现为,如果AB聚合成,表现为A包含有B的全局对象,但是B对象可以不在A创建的时刻创建。

组合(composite

关联关系的一种,是比聚合关系强的关系(is part of),也称之为强聚合。这种关系是非共享的,也就是说在任何时间,部分只能包含在一个整体中,二者的生命线总是相连的。这里非共享的关系是指实例,就是说一个类的不同实例可以属于不同拥有者,但是一个特定的实例只能有一个拥有者。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Composition(组合关系)是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一致。如果AB组成,表现为A包含有B的全局对象,并且B对象在A创建的时刻创建。

泛化(generalization

Generalization(泛化)表现为继承或实现关系(is a)。具体形式为类与类之间的继承关系,接口与接口之间的继承关系,类对接口的实现关系。继承值得是一个类继承另外一个类的功能,并可以增加它自己的功能。实现值得是一个类实现父类的接口,实现是类接口之间最常见的关系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UML(Unified Modeling Language)是一种用于面向对象软件系统建模的标准语言。在UML中,有五个主要的视图和九种图形,它们分别是: 五个主要视图: 1. 用例视图(Use Case View):用于描述系统的功能需求及其与用户之间的关系。 2. 设计视图(Design View):用于描述系统的静态结构,包括类、对象、接口等。 3. 实现视图(Implementation View):用于描述系统的实现细节和代码结构,包括包、组件、部署等。 4. 运行时视图(Process View):用于描述系统的动态行为,包括活动、状态机、时序等。 5. 部署视图(Deployment View):用于描述系统的物理部署结构,包括节点、连接等。 九种图形: 1. 用例图(Use Case Diagram):用于描述系统的功能需求和用户之间的关系。 2. 类图(Class Diagram):用于描述系统的静态结构,包括类、对象、接口等。 3. 对象图(Object Diagram):用于描述类图中某个具体对象的状态。 4. 顺序图(Sequence Diagram):用于描述系统的动态行为,显示对象之间的消息交互顺序。 5. 协作图(Collaboration Diagram):用于描述系统的动态行为,显示对象之间的消息交互关系。 6. 状态图(Statechart Diagram):用于描述系统的状态转换和状态行为。 7. 活动图(Activity Diagram):用于描述系统的业务流程和活动流程。 8. 组件图(Component Diagram):用于描述系统的组件及其依赖关系。 9. 部署图(Deployment Diagram):用于描述系统的物理部署结构,包括节点、连接等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值