希赛考试网
首页 > 软考 > 软件设计师

uml类图怎么画以及例子

希赛网 2024-03-20 18:02:04

UML(Unified Modeling Language)是面向对象分析与设计(OOAD)的一种标准化语言,旨在帮助软件开发者可视化、构建和文档化软件系统的不同方面。UML类图是UML中最常用的一种图示方式,用于显示类、对象、接口以及它们之间的关系。本文将从多个角度分析UML类图的画法以及提供实际的例子进行说明。

1. 绘制类图

UML类图的画法非常简单,只需要绘制一个矩形框并在框中写上名称即可,如下图所示。

![class-diagram1](https://user-images.githubusercontent.com/87280720/130723627-549f4c02-5c84-4ce2-b94a-5b79f5e525ef.png)

在类的名称旁边也可以写上属性和方法,属性用一条横线连接表示,方法用一条竖线连接表示,如下图所示。

![class-diagram2](https://user-images.githubusercontent.com/87280720/130723633-1b4962dd-3ba9-4e3d-a831-81c99dc6e583.png)

2. 类之间的关系

类之间有以下几种关系:

- 继承(Inheritance):表示一个类是另一个类的扩展,继承关系用一个空心的箭头表示,箭头指向被继承的类,如下图所示。

![class-diagram3](https://user-images.githubusercontent.com/87280720/130723642-3bbd89f0-c9df-455e-8c82-84d0b5c5569c.png)

- 实现(Realization):表示一个接口被一个类实现,实现关系用一个带三角箭头的虚线表示,箭头指向接口,如下图所示。

![class-diagram4](https://user-images.githubusercontent.com/87280720/130723650-efe6141f-7f23-45b4-a7f5-4156caf11c61.png)

- 依赖(Dependency):表示一个类调用另一个类的方法或者是依赖于另一个类的对象实例,依赖关系用一个带箭头的虚线表示,箭头指向被依赖的类,如下图所示。

![class-diagram5](https://user-images.githubusercontent.com/87280720/130723657-05e6b243-d837-4071-a4a1-7fe86ba1f3fc.png)

- 关联(Association):表示一个类与另一个类有相互作用的关系,关联关系用一条实线连接两个类,箭头指向被关联的类,如下图所示。

![class-diagram6](https://user-images.githubusercontent.com/87280720/130723658-ef7441e4-d69e-48c4-8139-3d38597aaa5b.png)

- 聚合(Aggregation):表示一个类是另一个类的部分,聚合关系用一条带空心菱形的实线连接两个类,菱形指向整体类,如下图所示。

![class-diagram7](https://user-images.githubusercontent.com/87280720/130723664-adb4cd5c-a7a2-4ac9-91e5-8237ec22f2e5.png)

- 组合(Composition):表示一个类是另一个类的整体,组合关系用一条带实心菱形的实线连接两个类,菱形指向整体类,如下图所示。

![class-diagram8](https://user-images.githubusercontent.com/87280720/130723670-358efa7f-4729-4641-a128-e1cb56a6ac59.png)

3. 扩展示例

以下是一个简单的UML类图示例,用于管理学生成绩:

![class-diagram9](https://user-images.githubusercontent.com/87280720/130723674-f60ec8f6-3eb1-4854-af75-90420f429bc5.png)

其中,Student类继承自Person类,表示Student是Person的一种扩展类型;Grade类是一个简单的数据类,表示学生的考试成绩;Course类和Teacher类之间为关联关系,一个老师可以教授多门课程;一个学生可以选多门课程并且参加多次考试,因此,Student和Course之间是一个多对多的关联关系;Student和Grade之间是一个一对多的聚合关系,表示一个学生有多个成绩。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件