浅析UML类图符号理论

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

相信大家在学习UML类图的时候,最大的困难可能来自两个方面:

(1) 类图中各种关系的区别;

(2) 多种关系的符号记忆容易混淆;

本文将介绍UML类图的符号理论,以及利用该理论帮助大家更好的记忆。

在开始阅读本文之前,你需要了解的知识有:

UML类图的概念;

UML类图有几种关系;

各种关系的强弱;

UML类图符号理论基础

UML类图主要有以下几种关系:

泛化 Generalization

实现 Realization

组合 Composition

聚合 Aggregation

关联 Association

依赖 Dependency

以上这六种关系的强弱是:

泛化 > 实现 > 组合 > 聚合 > 关联 > 依赖

这六种关系,每一种都对应着一个符号。加起来就有六种符号,要想在较短的时间内记住这六种符号而且不产生混淆是一件不太容易的事情。那么该如何更有效的来记忆这些符号?

接下来将首先认识一下关于符号的基础知识。

1、类图符号基础知识

首先从整体上来认识一下表达类图关系的符号,类图关系的符号由三部分组成:箭头、线条和箭尾。

箭头形状有两种,分别为箭头和三角箭头。

线条形状有两种,分别为实线和虚线。

箭尾形状有三种,分别为点、空心菱形和实心菱形。

综上,我们可以得知表达类图关系的符号一共有2x 2 x 3 = 12种,但是UML类图中只有6种关系,所以还剩下6种关系未被使用。

在了解类图关系的符号表达之后,我们来看一下符号的优先级关系。

2、符号优先级

从关系符号的组成来看,定义以下优先级关系:

箭头 > 箭尾 > 线条

对于箭头:

三角箭头 > 箭头

对于箭尾:

实心菱形 > 空心菱形 > 点

对于线条:

实线 > 虚线

所以,从上述优先级不难得出:

三角箭头+实线 >

三角箭头+虚线 >

箭头+实心菱形 >

箭头+空心菱形 >

箭头+实线 >

箭头+虚线

上面的六种符号就是UML类图中定义的六种关系符号表达。

理论应用

接下来将介绍利用上述符号理论,轻松记忆UML的类图关系符号。

具体的记忆方法如下:

了解各种关系的强弱排序;

了解符号的优先级关系;

类图关系符号一共有6个,我们分成3组,每组2个来记忆。

首先来记忆箭头:

三角箭头+ 实线

三角箭头+ 虚线

这两种分表表示泛化和实现。

接下来记忆箭尾:

实心菱形+ 实线

实心菱形+ 虚线分别表示组合和聚合。

最后记忆线条

箭头+ 实线

箭头+ 虚线分别表示关联和依赖。

有了这样的分组和符号优先级关系,就能很轻松的记忆UML类图关系,从此不再混淆,而且印象深刻。

结语

本文主要介绍了UML类图符号的基础知识,并利用该基础知识帮助大家更好的记忆UML类图关系符号。

从UML类图符号基础知识,我们分析得出一共有12种符号,但是UML类图关系只使用了6种,剩下的其他6种如下:

三角箭头+ 实心菱形+ 实线

三角箭头+ 实心菱形+ 虚线

三角箭头+ 空心菱形+ 实线

三角箭头+ 空心菱形+ 虚线

箭头+ 实心菱形+ 虚线

箭头+ 空心菱形+ 虚线

如果今后UML需要定义新的类图关系,则可以参考上述符号理论,使用上述6种符号。

拓展阅读:

深入理解遗传算法(一)

深入理解遗传算法(二)

从1到100求和学算法思维(一)

从1到100求和学算法思维(二)

从1到100求和学算法思维(三)

从1到100求和学算法思维(四)

从1到100求和学算法思维(五)

从1到100求和学算法思维(六)

where2go 团队


微信号:算法与编程之美

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!

本文分享自微信公众号 - 算法与编程之美(algo_coding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技大本营的专栏

基于GAN的图像水印去除器,效果堪比PS高手

简介:李翔,国内某互联网大厂AI民工,前携程酒店图像技术负责人,计算机视觉和深度学习重度爱好者,在ICCV和CVPR等会议上发表论文十余篇。

20430
来自专栏AI科技大本营的专栏

当今主流分割网络有哪些?12篇文章一次带你看完

本文的12篇文章总结了当前主流的分割网络及其结构,涵盖从编解码结构到解码器设计;从感受野到多尺度融合;从CNN到RNN与CRF;从2D分割到3D分割;从语义分割...

14430
来自专栏AI科技大本营的专栏

继AutoML后,第四范式发布软硬一体化AI集成系统SageOne

6 月 20 日,AI产品和服务提供商第四范式宣布发布最新 AI 系列产品SageOne Appliance软硬一体化AI集成系统,性能较市面开源工具或GPU解...

22720
来自专栏机器之心

万万没想到,谷歌给Dropout申请了专利,而且刚刚生效

我们可以在 Google Patents 上看到这项技术的专利详情页面:https://patents.google.com/patent/US9406017B...

18320
来自专栏边缘计算

在边缘:技术驱动边缘计算和挑战未来

作者:Weisong Shi 主要负责韦恩州立大学移动和互联网系统实验室(MIST)与Wireless Health Initiative (WHI)。他对许多...

9920
来自专栏小詹同学

想本科入读人工智能专业,这篇文章送给准备填志愿的你

在计算机专业和人工智能日益火爆的当下,很多人对这两个专业又是好奇又是憧憬。对此,清华大学刘知远教授近日在知乎上分享了一些内容,以帮助考生更加理性地选择专业,希望...

13230
来自专栏边缘计算

未来的数字转型之战将在边缘展开

Gartner最近发布的“工业物联网平台的魔力象限”概述了企业如何利用物联网(IoT)推动其数字化转型计划。Gartner认为,“到2020年,物联网(IoT)...

7820
来自专栏机器之心

这是一篇关于如何成为一名AI算法工程师的长文

经常有朋友私信问,如何学 python 呀,如何敲代码呀,如何进入 AI 行业呀?

18850
来自专栏腾讯高校合作

报名启动|挑战AI种番茄,加入腾讯×WUR国际智慧温室种植挑战赛(第二届)

本文转载自腾讯AI实验室 去年 AI 种黄瓜,收成媲美有20年经验农业专家,今年新任务来了——种番茄! 腾讯宣布与欧洲顶级农业大学 WUR(荷兰瓦赫宁根大学)...

16010
来自专栏AI科技大本营的专栏

618狂欢过后,冷静揭秘亚马逊和淘宝如何用算法让你剁手

场景描述:继「双十一」之后,京东也借着店庆日,制造了与其遥相呼应的「618」年中购物狂欢节。而各大电商除了用各种营销手段吸引顾客外,也在利用智能推荐不断影响着用...

14820

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励