导图社区 软件架构师必须学会的6种UML关系图
UML关系图是软件架构师必须掌握的技能,也是IT软件从业者必须要看的明白的图例之一。其中它包括6种关系:泛化、实现、关联、聚合、组合和依赖。本文将详细阐述UML图的6种关系,方便IT从业者收藏学习。
让我们展开一段深入自我内心的探索之旅,它不仅是一次对自我觉察的探索,更是一次成长与变化的历程,探索我们的情感、信念和价值观。通过反思自身的行为和选择,真正了解自己并获得成长
中级经济师考试,工商管理考点精华总结,企业战略管理,物流管理,品牌与营销管理,跨境贸易与结算,国际商务等知识
中级经济师经济基础考点精华总结,经济师考试知识点总结,市场知识理论,宏观经济发展理论,银行与货币,外贸与国际交易经济知识
经营人生就好比经营一家公司,要有自己的价值观和愿景,要有持续进化的理念,持续学习,持续迭代,经营好自己的人生。
哈利波特人物关系,魔法学院同学关系,主要情节人物关系,HarryPotter经典魔法名著,人物关系图。
内耗和高敏感一直是人生常见的心理状态,这会导致各方面的问题,使人生变得暗淡,只有摆脱这种心态才能获得成长. 本人也曾因为一些事情内耗了自己很长一段时间,通过各方面的学习领悟,总结了本篇导图,希望可以帮助大家摆脱内耗和高敏感。
社区模板帮助中心,点此进入>>
互联网9大思维
产品立项报告
组织架构-单商户商城webAPP 思维导图。
域控上线
产品经理如何做好项目管理
python思维导图
经验分享:产品经理必懂的产品思维
产品诞生过程
产品周期图
css
U M L 是 什 么
定义
UML 是统一建模语言, 是一种开放的方法
用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法
UML是面向对象设计的建模工具,独立于任何具体程序设计语言。
作用
帮组开发团队以一种可视化的方式理解系统的功能需求。
有利于开发团队队员之间在各个开发环节间确立沟通的标准,便于系统文档的制定和项目的管理。因为 UML 的简单、直观和标准性,在一个团队中用 UML 来交流比用文字说明的文档要好的多。
UML 为非专业编程人士理解软件的功能和构造,提供了一种直白、简单、通俗的方法。
使用 UML 可以方便的理解各种框架的设计方式。
画 图 工 具
Draw.io (Mac)
PowerDesigner (Windows)
其他
MarkDown
PlantUML
U M L 类 图 关 系
泛化(Generalization)(继承)
实现(Realization)
关联(Association)
聚合(Aggregation)
组合(Composition)
依赖(Dependency)
U M L 类 图 关 系 详 解
1. 泛化(继承)
【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
【例如】:男人是人的一种,既有男人的特性也有人的共性。女人也是如此。
【箭头指向】:带三角箭头的实线,箭头指向父类。
2. 实现(Realization)
【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
【例如】:USB 是一个接口,每一个电脑都可以插上 USB 这个接口。
【箭头指向】:带三角箭头的虚线,箭头指向接口。
3. 关联(Association)
【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。
【例如】:老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西,他不拥有学生。
【代码体现】:成员变量。
【箭头及指向】:双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头
4. 聚合(Aggregation)
【聚合关系】:是整体与部分的关系,可以看成 「has-a」 的关系,部分可以离开整体而单独存在。
【例如】:电脑和键盘是整体和部分的关系,电脑没了键盘仍然可以存在。
【箭头及指向】:带空心菱形的实心线,菱形指向整体。
5. 组合(Composition)
【组合关系】:是整体与部分的关系,可以看成 「contains-a」 的关系,部分离开整体后无法单独存在。
【例如】:鸟儿和翅膀是整体和部分的关系,鸟儿没了翅膀不能独立存在。
【箭头及指向】:带实心菱形的实心线,菱形指向整体。
6. 依赖(Dependency)
【聚合关系】:是一种使用的关系,即一个类的实现需要另一个类的协助,所以要尽量不使用双向的互相依赖。
【例如】:人依赖计算机实现玩电脑游戏的目的。
【代码体现】:局部变量、方法的参数或者对静态方法的调用。
【箭头及指向】:带箭头的虚线,指向被使用者。
架构师必须学会的6种UML关系图