轻松记忆UML类图各种符号
来源:互联网 发布:梦冒险知乎 编辑:程序博客网 时间:2024/05/16 04:50
0. 前言
相信大家在学习UML类图的时候,最大的难度可能来自两个方面:
- 类图中各种关系的区别;
- 多种关系的符号记忆容易混淆;
本着"Do one thing and do it well."的原则,本文不介绍UML类图中各种关系的区别。而重在介绍UML类图中各种符号的记忆方法,让大家在读完本文后能够轻松记忆,而且很难遗忘,不易混淆。
1. 准备
在开始阅读本文之前,你需要了解的知识有:
- UML类图的概念;
- UML类图有几种关系;
- 各种关系的强弱;
2. UML类图符号基础
UML类图主要有以下几种关系:
- 泛化 Generalization
- 实现 Realization
- 组合 Composition
- 聚合 Aggregation
- 关联 Association
- 依赖 Dependency
以上这六种关系的强弱是:
泛化 > 实现 > 组合 > 聚合 > 关联 > 依赖
这六种关系,每一种都对应着一个符号。加起来就有六种符号,要想在较短的时间内记住这六种符号而且不产生混淆是一件不太容易的事情。那么该如何更有效的来记忆这些符号?
接下来我们将认识一下关于符号的基础知识。
2.1 类图符号基础知识
首先我们从整体上来认识一下表达类图关系的符号,类图关系的符号由三部分组成:箭头、线条和箭尾。
- 箭头形状有两种,分别为箭头和三角箭头。
- 线条形状有两种,分别为实线和虚线。
- 箭尾形状有三种,分别为点、空心菱形和实心菱形。
综上,我们可以得知表达类图关系的符号一共有2 x 2 x 3 = 12种,但是UML类图中只有6种关系,所以还剩下6种关系未被使用。
在了解类图关系的符号表达之后,我们来看一下符号的优先级关系。
2.2 符号优先级
从关系符号的组成来看,我们定义以下优先级关系:
箭头 > 箭尾 > 线条
对于箭头:
三角箭头 > 箭头
对于箭尾:
实心菱形 > 空心菱形 > 点
对于线条:
实线 > 虚线
所以,从上述优先级我们不难得出:
三角箭头+实线 > 三角箭头+虚线 > 箭头+实心菱形 > 箭头+空心菱形 > 箭头+实线 > 箭头+虚线
上面的六种符号就是UML类图中定义的六种关系符号表达。
3. 记忆方法
有了上述的基础知识之后,接下来就可以轻松的记忆UML的类图关系符号了。具体的记忆方法如下:
- 了解各种关系的强弱排序;
- 了解符号的优先级关系;
类图关系符号一共有6个,我们分成3组,每组2个来记忆。
首先来记忆箭头:
- 三角箭头 + 实线
- 三角箭头 + 虚线
这两种分表表示泛化和实现。
接下来记忆箭尾:
- 实心菱形 + 实线
- 实心菱形 + 虚线 分别表示组合和聚合。
最后我们来记忆线条:
- 箭头 + 实线
- 箭头 + 虚线 分别表示关联和依赖。
有了这样的分组和符号优先级关系,我们就能很轻松的记忆UML类图关系,从此不再混淆,而且印象深刻。
4. 总结
本文主要介绍了UML类图符号的基础知识,并利用该基础知识帮助大家更好的记忆UML类图关系符号。
从UML类图符号基础知识,我们分析得出一共有12种符号,但是UML类图关系只使用了6种,剩下的其他6种如下:
三角箭头 + 实心菱形 + 实线
三角箭头 + 实心菱形 + 虚线
三角箭头 + 空心菱形 + 实线
三角箭头 + 空心菱形 + 虚线
箭头 + 实心菱形 + 虚线
箭头 + 空心菱形 + 虚线
如果今后UML需要定义新的类图关系,则可以参考上述符号理论,使用上述6种符号。
5. 相关资料
- UML 2 class diagram
- UML类图几种关系的总结
- 轻松记忆UML类图各种符号
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- UML类图符号 各种关系说明以及举例
- Ubuntu下搭建git服务器步骤
- 饿汉单例和懒汉单例
- MIG初面的Android开发问题总结
- Unity3D 调用C++的Dll代码
- BSOI4559 -- 【模拟试题】数颜色
- 轻松记忆UML类图各种符号
- 生成pch文件路径
- java-httpclient-HTTPS请求
- [C/C++不常见语法特性]_[初级]_[左值-右值-lvalue-rvalue]
- 1042. Shuffling Machine (20)
- [BOI Mokia]
- linux 查看磁盘空间占用情况
- 开发环境设置
- Go语言并发与并行学习笔记(一)