首页 > 其他分享 >【软件工程】UML中类之间的六大关系

【软件工程】UML中类之间的六大关系

时间:2022-11-29 10:31:46浏览次数:38  
标签:关系 图示 泛化 实线 逻辑 软件工程 UML 中类


前言

快速回忆

【软件工程】UML中类之间的六大关系_软件工程

一、泛化关系(Generalization)

  • 说明:这种关系就是面向对象语言中的继承关系,逻辑上可以用"is a"表示。
  • 代码体现:子类继承父类。
  • UML符号:​​一条实线+空心箭头​​。
  • 图示:

【软件工程】UML中类之间的六大关系_uml_02

二、实现关系(Realization)

  • 说明:和泛化关系相似,逻辑上也是用"is a"表示。区别在于实现关系继承一个抽象类(abstract、interface),
  • 而泛化关系继承一个具体类。
  • 代码体现:实现接口或继承某个抽象类。
  • UML符号:​​一条虚线+空心箭头​​。
  • 图示:

【软件工程】UML中类之间的六大关系_成员变量_03

三、组合关系(Composition)

  • 说明:是整体与部分的关系,但部分不能脱离整体而独立存在。逻辑上能用"has a"表示。
  • 代码体现:成员变量。
  • UML符号:​​一条实线+实心菱形​​。
  • 图示:

【软件工程】UML中类之间的六大关系_实线_04

四、聚合关系(Aggregation)

  • 说明:是整体与部分的关系,部分能脱离整体而独立存在。逻辑上能用"has a"表示。
  • 代码体现:成员变量
  • UML符号:​​一条实线+空心菱形​
  • 图示:

【软件工程】UML中类之间的六大关系_泛化关系_05

五、关联关系(Association)

  • 说明:是整体与部分的关系。逻辑上能用"has a"表示。
  • 代码体现:成员变量。
  • UML符号:
  • 双向关联: ​​一条实线​​​ 或 ​​一条实线+两个箭头​​;
  • 单向关联: ​​一条实线+一个箭头​​。
  • 图示:

【软件工程】UML中类之间的六大关系_泛化关系_06


【软件工程】UML中类之间的六大关系_uml_07


自身关联:在单例模式中可以看到

【软件工程】UML中类之间的六大关系_实线_08

关联的多元性图示:

【软件工程】UML中类之间的六大关系_实线_09

六、依赖关系(Dependency)

  • 说明:是一种使用关系,即一个类的实现需要另一个类的协助。逻辑上能用"use a"表示。
  • 尽量不要使用双向依赖。
  • 代码体现:局部变量、方法的参数和静态方法的调用。
  • UML符号:​​一条虚线+箭头​​。
  • 图示:

【软件工程】UML中类之间的六大关系_uml_10

七、总结:

1.六种关系的耦合度大小是:​​泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖​

2.​​泛化和实现体现了逻辑上的"is a"的关系​​​,​​组合、聚合和关联体现了逻辑上的"has a"的关系​​​, ​​“依赖”体现了逻辑上的"use a"的关系​​。


标签:关系,图示,泛化,实线,逻辑,软件工程,UML,中类
From: https://blog.51cto.com/u_15895329/5894219

相关文章

  • UML(不含考题)
    一、考试题型简答题6个共30活动图绘制10绘制用例图20给定一个涉众概要,绘制用例图。用例描述题10根据上面画出的用例图,任选一用例,写出其用例描述。用例描述格式......
  • UML图初识
    初识UML        统一建模语言(UnifiedModelingLanguage,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约......
  • UML 哲学之道——类图[三]
    前言简单整理一些uml中的类图。正文类的基本表示法:名称、属性(类型、可见性)、方法(参数、返回值、可见性)想上面这样,第一行是名称,第二行是属性,第三行是方法可见性:表......
  • UML 哲学之道——概况篇[二]
    前言简单介绍一下uml的概况篇。正文UML概述:url包括:事物关系图扩展机制事物:结构:类、接口、构件、节点等等行为:交互、状态等等分组:包、子系统等等注释......
  • UML 哲学之道——启航篇[一]
    前言简单去介绍一下uml的哲学之道也是自我整理之道。正文什么是uml,全程是统一建模语言(unifiedmodelinglanguage),简单的说就是用图形来表示文档。是描述构造和文档化......
  • UML核心元素(五)——关系
     关联关系(不同类对象之间的结构关系,描述了某个对象在一段时间内一直“知道”另一个对象的存在,如A保存了B的ID,所以为了区分相互“知道”和单向的“知道”关系,所以出现了......
  • UML核心元素(六)——分析类,设计类
    分析类分析类包括边界类,控制类,实体类,分析类跨越需求到设计实现的桥梁。分析类三高(高于设计实现,高于语言实现,高于实现方式)版型边界类(对系统外部环境与其......
  • UML核心元素(七)——组件,节点
    组件系统中实际存在可更换部分,实现特定功能,符合接口标准,并实现一组接口。 组件之间唯一的关系就是依赖使用组件分布式应用应用集成第三方系统SOA......
  • UML核心视图
    分类作用静态视图表达结构性特征动态视图表达行为性特征 用例图用例视图是系统蓝图和开发的依据业务用例视图业务主角......
  • UML核心元素(二)——包
    包UML默认三个顶级包UseCaseViewLogicViewComponentView包之间的关系只有依赖,尽量避免双向依赖和循环依赖版型领域包:每个包代表一个业......