UML 是统一建模语言的简称,它是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。UML代表了一系列在大型而复杂系统建模中被证明是成功的做法,是开发面向对象软件和软件开发过程中非常重要的一部分。UML主要使用图形符号来表示软件项目的设计,使用UML可以帮助项目团队沟通、探索潜在的设计和验证软件的架构设计。
UML 的目标是提供一个标准的符号,可以被所有面向对象的方法使用,并选择和整合前兆符号的最佳元素。UML可用于广泛的应用程序,它为不同的系统和活动(如分布式系统,分析,系统设计和部署)提供了构造。

类图是一切面向对象方法的核心建模工具。该图描述了系统中对象的类型以及它们之间存在的各种静态关系。
具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:
属性的完整表示方式是: 可见性 名称 :类型 [ = 缺省值]
方法的完整表示方式是: 可见性 名称(参数列表) [ : 返回类型]



有三种主要的关系:


实现关系是指接口及其实现类之间的关系。在UML类图中,实现关系用空心三角和虚线组成的箭头来表示,从实现类指向接口。

关系是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性。
在UML类图中,泛化关系用空心三角和实线组成的箭头表示,从子类指向父。

关联 - 代表类型之间的关系(一个人为公司工作,一间公司有多个办事处)。
在UML图中,双向关联关系用带双箭头的实线或者无箭头的实线双线表示。单向关联用一个带箭头的实线表示,箭头指向被关联的对象。
*或者0..*:表示0到多个0..1:表示0或者1个,在Java中经常用一个空引用来实现1..*:表示1到多
依赖(Dependency)关系是一种弱关联关系。如果对象A用到对象B,但是和B的关系不是太明显的时候,就可以把这种关系看作是依赖关系。
在UML类图中,依赖关系用一个带虚线的箭头表示,由使用方指向被使用方,表示使用方对象持有被使用方对象的引用。

聚合(Aggregation)是关联关系的一种特例,它体现的是整体与部分的拥有关系,即 has a 的关系。
在UML图中,聚合关系用空心菱形加实线箭头表示,空心菱形在整体一方,箭头指向部分一方。

组合(Composition)也是关联关系的一种特例,它同样体现整体与部分间的包含关系,即 contains a 的关系。
在UML图中,组合关系用实心菱形加实线箭头表示,实心菱形在整体一方,箭头指向部分一方。

https://www.visual-paradigm.com/cn/guide/uml-unified-modeling-language/what-is-uml/
https://app.diagrams.net/
https://www.zhihu.com/search?type=content&q=UML