热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

UML中的四种核心关系解析

在学习UML图时,可以将其内部的关系类比为人体的血管系统。每条“血管”所传输的信息和数据流向各不相同,起点和终点也各异。因此,掌握这些关系的辨识方法是理解UML图的关键。这四种核心关系包括关联、聚合、泛化和依赖,它们在建模过程中起着至关重要的作用。通过深入分析这些关系,可以更准确地描述系统结构和行为。

学习了UML图以后发现里面的关系就想人体的血管一样,每一条血管输送的血液到达的地方不一样,从哪里输出也是不同的,所以就要先学会辨别这里面的关系。

       在UML中有6种关系:泛化、实现、依赖、关联、聚合、组合。

泛化:就是继承的一种体现,子类继承父类所具有的所有,这种继承就是泛化可以通过一个等式表示出来:子类=父类的方法和属性+子类自己新增的方法和属性。

箭头符号:空心三角形实线

实现:就是类对接口的实现的关系,举例就是有一个行为是“呼吸”的接口,通过一个人 类实现这个呼吸的动作。

箭头符号:一条虚线+空心箭头。

依赖:一个类的实现需要通过另一个类的协助,通俗点说就是开门需要钥匙,然后我们使用钥匙才能把门打开,我们和钥匙就是一种依赖关系。

箭头符号:虚线加同箭头

关联:表示“拥有“,关联具有长期性、平等性(可双向),在现实生活中就是夫妻关系的一种体现,当然一对多的关联也有,比如说老师和学生等。

箭头符号:双向关联,一条实线或一条实线+两个箭头;单向关联,一条实线+一个箭头。

剩下的两个关系可以归类到关联关系种,因为它们两个体现的是整体与部分的关系,不过它们还是要区分一下的,聚合的关联关系相比较组合的关联关系就弱了,聚合表现的整体与部分的关系是可以独立存在的,如部门与员工之间的关系,部门解散并不影响员工,而员工离职也不影响这个部门的存在。组合就是一种强烈的整体与部分的关系体现了,手机和手机电池就是一种体现,如果手机没有电池它就不能用,而电池不在上手机那它也就没有作用,二者不可单独存在,这就是一种组合关系。

聚合箭头符号:一条实线+空心菱形

组合箭头符号:一条实线+实心菱形


推荐阅读
  • 深入解析十大经典排序算法:动画演示、原理分析与代码实现
    本文深入探讨了十种经典的排序算法,不仅通过动画直观展示了每种算法的运行过程,还详细解析了其背后的原理与机制,并提供了相应的代码实现,帮助读者全面理解和掌握这些算法的核心要点。 ... [详细]
  • 在数轴上给定若干线段,探讨如何选取不超过 k 个线段以实现最大覆盖范围的问题。本文通过网易面试真题,深入解析“最优线段覆盖”算法,提供详尽的解题思路与实例分析。在线评测平台提供了相关测试案例,帮助读者更好地理解和掌握该算法的应用。样例输入展示了一个具体的场景,便于读者快速上手实践。 ... [详细]
  • UML系统分析与设计02-用例图和活动图(上)
    每一个产品的需求是对现实世界特定问题的一种描述,而有些问题描述可能是非常的错综复杂,以至在我们对其进行分析时,会觉得无从下手甚至不知所措。需求分析是系统设计和开发的基础,需求分析的 ... [详细]
  • 极大似然估计_极大似然估计小结
    极大似然估计极大似然估计(MaximumLikelihoodEstimation,MLE),是用来估计一个概率模型参数的方法 ... [详细]
  • 本文讨论了当某位排位靠前的涉众提供了一张精美的界面图片时,是否可以将其作为设计约束。同时还探讨了高质量素材和愿景之间的关系,以及老大自身的软件方法和建模技能。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • IT联合协会创始人分享的学习、创业和人生感悟
    本文分享了IT联合协会创始人的学习、创业和人生感悟,包括创办协会的经历、参与的比赛和活动、所关注的领域以及一些高效技巧。创始人强调了大学和工作前几年的学习资源的重要性,以及沉淀个人学习、生活和灵感资源对于大学和职场能力的影响。他还分享了自己关注的领域,包括软件开发和产品经理相关的专业方向。文章最后,他表达了对未来的期望和目标,并邀请有缘人一起交流。 ... [详细]
  • 点击上方“新机器视觉”,选择加”星标”或“置顶”重磅干货,第一时间送达很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做 ... [详细]
  • 装饰模式(Deocrator)     动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。    所谓装饰,就是一些对象给主题 ... [详细]
  • 获得要素图层通过UID获取1<summary>2获得要素图层UID获取(第一种方法)3&l ... [详细]
  • Linux环境下安装Docker并配置镜像加速器
    1、安装Dockeryum-yinstalldocker-y表示不询问安装,直到安装成功,安装完后查看安装列表查看是否已安装Docker列表yum ... [详细]
  • 第四单元和课程总结:简单的架构设计意识
    一、第四单元架构设计总结第一次作业由于需要按名查找类图模型,于是建立&amp;quot;Class&amp;quot;类进行管理由于方法具有参数导致类中存在二级结构 ... [详细]
  • Unit4博客&课程总结Unit4作业的架构设计本单元作业的设计我分为了三个模块处理:模型构建+预处理+任务函数,前两部分即为整个图的完整构建,第三部分即为实现题目要求的查询方法。 ... [详细]
  • 用户登录 ... [详细]
author-avatar
loloyoyo555
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有