【UML】2.部分与整体的媒介:关系

UML模块中的任何事物都不是独立存在的,他们之间存在着一定的关系。下面就对这些关系,分类了解一下。

一.概念

【关联】Association

两个类存在某种语义上的联系,关联有单向关联和双向关联。

【聚合】Aggregation

类之间是整体和部分的关系。”聚”表示聚在一起的意思,也表示“部分”可以独立”整体”存在。描述“has-a”的关系。

【组合】Composition

整体有管理部分的特有的职责并且他们有一致的生命期,部分不能脱离整体存在。描述“contains-a”的关系。

【泛化】Generalization

泛化是一般事物和该事物特殊种类之间的关系,描述类之间“Is a kind of”的关系。子类继承父类,又分为单继承和多继承,由名字可知:子类继承单个父类的属性和操作就是单继承。

泛化的通过修改父类而修改子类共同的属性和方法,实现代码的重用,也有利于系统维护。

【依赖】Dependency

是两个事物之间的使用关系。A依赖于B。当B发生改变的时候A也会改变。

【实现】Realization

用来规定接口和实现接口的类或组件之间的关系,不继承结构只继承行为。一个接口的实现,要先实现对应的类,一个类可以有多个接口。实现使用的情况:1.在接口与实现接口的类间。2.在用例以及实现该用例的协作间

二、实例

【关联】一个人为一家公司工作

【聚合】书架上放着书

【组合】鸟和翅膀

【泛化】人类,分为男人和女人

【依赖】系统和单个窗体

【实现】篮球得分的方式。扣篮,投篮,罚球

三、Rational Rose表示

【关联】

1.关联用横实线表示 2.employee表示person类扮演的角色 3.n和1表示多重性关系。一个公司有许多员工

【聚合】

1.聚合用带空心菱形头的实线表示 2.菱形头指向整体。

【组合】

在聚合的基础上把空心的变成实心的。

【泛化】

1.带空心箭头的实线表示 2.由子类指向父类 3.此图表示单继承

【依赖】

1.带箭头的虚线表示 2.A依赖于B,则A指向B

【实现】

1.带空心箭头的虚线表示 2.一个类可以有多个接口 3.类指向接口

四、对比分析

1.聚合和组合是特殊的关联。某种意义上说,关联,泛化和实现都属于依赖关系的一种。

2.聚合和组合都表示部分和整体的关系。但是聚合表示部分能够脱离整体而存在。例如汽车和轮胎。而组合表示部分不能脱离整体存在。当整体不存在了,部分也就没有存在的意义。例如鸟和翅膀。不过同一个部分和整体在不同的环境中,表示也可能不同。例如对于汽车制造商来说,汽车和轮胎是聚合关系。而对于汽车销售商来说,汽车和轮胎就是组合的关系了。

3.这几种关系是语义级别的不同。按照关系表现的强弱依次是:泛化=实现>组合>聚合>关联>依赖

五、总结

通过学习UML中的六种关系,掌握每一种关系所表示的意义,在实际系统中能够对类之间的关系进行区分,同时能够用Rational Rose工具将这六种关系正确的表示出来。

时间: 2024-08-09 23:52:37

【UML】2.部分与整体的媒介:关系的相关文章

UML 类与类之间的四大关系的一些图标及代码含义

UML 类与类之间的四大关系的一些图标及代码含义 另一个版本: 关联:连接模型元素及链接实例,用一条实线来表示: 依赖:表示一个元素以某种方式依赖于另一个元素,用一条虚线加箭头来表示: 聚合:表示整体与部分的关系,用一条实线加空心菱形来表示: 组成:表示整体与部分的有一关系,用一条实线加实心菱形来表示: 泛化(继承):表示一般与特殊的关系,用一条实线加空心箭头来表示: 实现:表示类与接口的关系,用一条虚线加空心箭头来表示:类与类之间存在以下关系:(1)泛化(Generalization)(2)关

uml描述类与类之间的关系

工作时培训的时候公司同事讲过UML,当时没怎么听,后在在看相关技术书籍的时候,发现用到还不少,于是恶补了些.UML体系庞杂,非十天半月可以掌握,但是作为简单的工具使用,去看清楚系统的内在逻辑还是可以速成的.(非设计系统),股票市场是一场拼图游戏,而UML也可以作为拼图工具去参与面向对象体系软件设计的! 废话不多说,进入正题. 先介绍几款画UML的工具,三大知名VISIO,RationalRose,PowerDesign不多说,个人喜欢用开源的,一是免费,二是通常体积较小,运行起来比较快.我用的是

【UML】类图的几种关系总结

在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization) [泛化关系]:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种. [箭头指向]:带三角箭头的实线,箭头指向父类 2.实现(Realization) [实现关系]:是一种类与接口的关系,表示类

(转)UML类图中的6种关系

原文 继承:空心三角形箭头的实线,子类指向父类.代码中通常有extends关键字(Java). 实现:空心三角形箭头的虚线,实现类指向接口.代码中通常有implements关键字(Java). 关联:通常是类A中需要引用另一个类B的实例作为成员变量,表示类A需要“知道”类B.实线箭头,类A指向类B. 依赖:通常是类A中的方法需要类B的实例作为其参数或者变量,而类A本身并不需要引用类B的实例作为其成员变量.虚线箭头,类A指向类B. 聚合:通常是类A中需要包含另一个类B的实例或实例的集合,表示一种弱

UML类图常见的几种关系

关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 就是通常意义上的继承,是一般和特殊的关系,子类特化了父类的所有特征和行为,体现为成员变量和方法 使用符号:带空心三角箭头的实线表示,箭头指向父类 2. 实现(Realization) 定义和实现定义之间的关系,主要表现为接口和与实现类 使用符号:带空心三

UML图与软件开发过程那点关系

首先,软工文档, 软工文档,也就是计划,设计,描述,使用软件的一些文件,它最大的特点就是固定不变,用来给不同的人和计算机来阅读.在期间,文档起到了桥梁的作用,看这张图很形象: 在这里在看一下国家统一规定的13个文档的相关知识.先看一下文档的分类: 各个文档的内容: 1,可行性研究报告:说明该软件开发项目的实现在技术上.经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由. 2, 项目开发计划:为软件项目实施方案制定出具体计划,应该包括

UML之用例图【概念、关系、例子】

一.UML用例图基本概念 UML用例图:由参与者[Actor].用例[Use Case]以及它们之间的关系构成的用于描述系统功能的动态视图.用例图由参与者.用例.箭头和系统边界构成. startUML中,UseCase 栏显示如下内容:从上到下是:包.用例.参与者.关联.直联.泛化.依赖.包含.扩展.系统边界. 参与者[Actor]:是指系统以外的,在使用系统或与系统交互中所扮演的角色. 说明: 1.参与者不是指具体的人,只是与系统交互的角色. 比如:对应生产产品来说,人工组装产品,人是参与者.

UML类图中的几种关系总结

       UML类图,描写叙述对象和类之间相互关系的方式包含:依赖(Dependency).关联(Association).聚合(Aggregation).组合(Composition).泛化(Generalization).实现(Realization)等. 依赖(Dependency) A依赖B,表示A会使用B的行为或属性,但B不能使用A的行为.属性,那么A和B的关系是依赖关系. uml中用带箭头的虚线表示Dependency关系,箭头指向被依赖元素. 演示样例代码 : class B

UML图类,接口之间的关系

UML图类之间的关系(来自大话设计模式中的一张图,代表了类,接口之间的各种关系) 原文地址:https://www.cnblogs.com/linlf03/p/9735917.html