UML用例图、类图

如题所述

第1个回答  2022-06-19

首先需要先了解一下对象之间的关系,以及它们对应的符号

通常对象之间的关系可以分为以下几类:

1、泛化/继承(Generalization):实线+三角形空心
相当于类继承,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。

2、关联关系(association) :实线箭头
关联关系:指的是类与类之间的联接,它使一个类知道另一个类的属性和方法(实例变量体现)。A类依赖于B对象,并且把B作为A的一个成员变量, 则A和B存在关联关系.
关联可以是双向的,也可以是单向的。两个类之前是一个层次的,不存在部分跟整体之间的关系。
单向:只能从A通过属性导航到B,B不能导航到A。
双向:A可以通过属性导航到B,B也可以通过属性导航到(双向即为嵌套)

3、聚合关系(aggregtion)棱形空心+实线
聚合(aggregation)关系是关联关系的一种,是强关联关系,是整合和部分的关系,是has-a的关系.
聚合关系也是通过成员对象来实现,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象单独存在.(可替换)

4、依赖(Dependency) 虚线+箭头
依赖关系:指的是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。
动物依赖氧气和水。调用新陈代谢方法需要氧气类与水类的实例作为参数

5、实现关系(realization)虚线三角形空心
实现关系:指的是一个class类实现 interface接口(可以实现多个接口)的功能;实现是类与接口之间最常见的关系;
在Java中此关系通过关键字implements明确标识。

6,组合关系(composition)
组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。
示例:
鸟和翅膀就是组合关系,因为它们是部分和整体的关系,并且翅膀和鸟的生命周期是相同的。

一张完整的类图:

参考: UML用例图 , UML类图 , UML中的类图及常见类图关系

相似回答