UML介绍及怎么看UML图

article/2025/8/19 10:55:48

最近做毕业设计,用到了libcitygml开源库,获取到一张citygml的UML图,就顺便简单了解一下它!
一、简介
UML(Unified Modeling Language),直接翻译就是统一建模语言。
二、UML的作用
UML可以帮助我们做软件需求分析和软件设计的工作
三、UML分类
UML有很多种图,大体可以分为两类:结构型的图和行为型的图。
(1)结构型的图(描述的是某种行为,这种结构在某段时间内应该是稳定的、“静态”的)
类图
对象图
构件图
部署图
包图
(2)行为型的图(涉及大量的流程、过程等,内容是动态的)
活动图
状态机图
顺序图
通信图
用例图
时序图
四、如何看MUL图
(以下内容来自UML图应该怎么看)
1、问:在UML类图中如何表示一个类?

  答:通常用一个三层结构的矩形来表示一个类

如下图:

在这里插入图片描述

第一层:类的名称,如果类的名称为斜体,则该类为抽象类

第二层:类的属性,比如人类有年龄、性别、身高,体重等,注意:如果属性前边用 + 号标识,则意味着该属性为共有属性(Public)。用 - 号标识,则该属性为私有属性(Private)。用 # 号标识,则该属性为保护的(Protected)

第三层:类的操作、方法或行为,比如人类可以吃饭,也会睡觉,还会说话等,注意:如果行为前边用 + 号标识(Public)。则意味着该行为为共有属性(Private)。用 - 号标识,则该行为为私有属性(Protected)

2、如果表示类与类之间的继承关系?

  答:用空心三角加实线来表示

如下图:
在这里插入图片描述

鸟继承动物抽象类
在这里插入图片描述

3、问:类和类之间的依赖关系用什么表示?

  答:用带有箭头的虚线来表示

如下图:

在这里插入图片描述

如上图所示:动物无论是新陈代谢还是繁殖都需要依赖氧气、水、食物等

依赖关系代码展示(动物依赖氧气和水):

4、问:类和类之间的关联关系用什么表示?

  答:用带有箭头的实线来表示

如下图:

在这里插入图片描述

企鹅是特殊的鸟,不会飞会游泳,而且随着气候的变化,他们要进行集体迁徒,也就是说,当气候发生变化时,他们就会长途跋涉到另一个地方,因此:企鹅是和气候是有关联的!

人类何尝和钱没有关联,当地上有100W时,想必大多数人都会弯腰捡钱(马云除外)

关联关系代码展示:

在这里插入图片描述

企鹅继承鸟类,但企鹅和大雁等都和气候相关,因此,在关联关系中,我们可以把被关联的类对象写成私有的!毕竟并不是所有的鸟都随着气候变化而长途跋涉‘’;

5、问:如何表示类继承/实现接口?

   答:用空心三角加虚线来表示

如下图:

在这里插入图片描述

大雁都会飞,因此,大雁可以实现飞翔接口

代码如下:

在这里插入图片描述

大雁实现 IFly 接口

6、问:如何展示一个接口?

  答:展示接口图示有以下两种

顶端有<>标识的矩形

如下图:

在这里插入图片描述

代码如下:

在这里插入图片描述

棒棒糖展示法

如下图:
在这里插入图片描述

代码如下:

在这里插入图片描述

7、问:如何展示类与类之间的聚合关系?

  答:用空心的菱形加带有箭头的实线来表示

如下图:
在这里插入图片描述

所谓聚合关系,在此说明一下:聚合关系表示一种弱的‘拥有’关系,体现的是 A 对象可以包含 B 对象,但是 B 对象不是 A 对象的一部分。

比如:大雁是群居动物,一个大雁群可以有很多只大雁。类似于这种情况,即可视为他们之间拥有聚合关系。

代码如下:

在这里插入图片描述

8、问:如何展示类与类之间的组合关系?

  答:用实心的菱形加带有箭头的实线来表示

如下图:

在这里插入图片描述

所谓组合关系和聚合关系可理解为:聚合关系多你一个不多,少你一个不少。组合关系是有严格的整体,缺一不可!

因此:大雁群众少一个大雁无伤大雅,但鸟没有了翅膀就不行了!因此,组合关系可理解为严格的整体,缺一不可!

因此,在构建鸟类时,也一定要完成翅膀的构建,

代码如下:

在这里插入图片描述

至此,UML基本类图就说完了!

关于更复杂的类图,大家可自行参考其他资料!

最后,贴出一张完成的类图

在这里插入图片描述


http://chatgpt.dhexx.cn/article/KoSTd5BT.shtml

相关文章

什么是UML?为什么要用UML?

什么是UML? UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。 为什么要用UML? 通过使用UML使得在软件开发之前, 对整个软件设计有更好的可读性,可理解性,从而降低开发风险。同时,也能方便各个开发人员之间的交流。 UML…

【UML】UML几种图的绘制

08年9月入学&#xff0c;12年7月毕业&#xff0c;结束了我在软件学院愉快丰富的大学生活。此系列是对四年专业课程学习的回顾&#xff0c;索引参见&#xff1a;http://blog.csdn.net/xiaowei_cqu/article/details/7747205 UML几种图的绘制 UML是Unified Modeling Language&…

浅谈UML的概念和模型之UML九种图

目录&#xff1a; UML的视图 UML的九种图 UML中类间的关系 上文我们介绍了&#xff0c;UML的视图&#xff0c;在每一种视图中都包含一个或多种图。本文我们重点讲解UML每种图的细节问题&#xff1a; 1、用例图&#xff08;use case diagrams&#xff09; 【概念】描述用户需…

UML——概述(什么是UML?UML有什么作用?面向对象技术)

目录 什么是UML&#xff1f; UML能帮我们做什么&#xff1f; 什么是建模&#xff1f; 为什么要建模&#xff1f; 为什么要可视化建模&#xff1f; 建模的原理&#xff08;原则&#xff09; UML的基本构造块 UMl中事物有哪些&#xff1f; 面向对象技术 什么是UML&#…

详细说明UML类图是什么?

作者&#xff1a;亿图图示 链接&#xff1a;https://www.zhihu.com/question/419312525/answer/1535413984 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 UML类图&#xff0c;UML中的一种重要图形&#xff0c;是在…

UML详细讲解

本文是搜集整理学习使用&#xff0c;信息来源&#xff1a;gd_沐辰 - 博客园 (cnblogs.com) 1.UML概述 1.1.什么是UML 统一建模语言&#xff08;UML&#xff09;是一种通用的可视化建模语言&#xff0c;可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。 UML是…

什么是UML,UML类图

1.什么是UML&#xff1f; UML是统一建模语言&#xff0c;是一种可视化的面向对象建模语言&#xff0c;是一种用来对真实世界物理进行建模的标准标记&#xff0c;用图形方式表现典型的面向对象系统的整个结构。它的作用域不局限于支持面向对象的分析与设计&#xff0c;还支持从需…

什么是uml?

相信你可能建立过以木块为基础的建筑模型&#xff0c;建立过解决实际问题的数学模型&#xff0c;学过一个系统的物理模型&#xff0c;听说过UML建模&#xff0c;但是什么是UML呢&#xff1f; 学习了几天的UML&#xff0c;昨天师傅大体问了我UML是什么&#xff0c;由什么构成&am…

[UML 扫盲]什么是UML?

文章目录 一、UML 是什么&#xff1f;二、UML 与 面向对象三、UML 基本要素四、UML 常见图 概述 UML 是统一建模语言&#xff08;Unified Modeling Language&#xff09;的缩写。UML 提供了标准通用的图形化设计语言&#xff0c;使得在构建计算机应用时&#xff0c;开发团队的成…

大数据学习(3)

大数据学习&#xff08;3&#xff09; 1 Hive-SQL-DML语句1.1 Hive SQL Load 加载数据语句1.1.1 Load功能1.1.2 Load语法规则1.1.3 Load 语法实验1.1.3.1 Load Data From Local FS1.1.3.2 Load Data From HDFS1.1.3.3 Overwrite选项 1.2 Hive SQL Insert 插入数据语句1.3 Hive …

如何学习大数据分析

上面有很多关于BOT的信息&#xff1a;这并不是嗡嗡作响。归根结底&#xff0c;BINO数据已经成为每个行业的驱动力&#xff0c;这充分说明了利用大数据分析的最大优势。但是&#xff0c;仅B此字不只是因为我们知道而改变了业务。更重要的是&#xff0c;大数据分析分析系一直是开…

大数据分析怎么学习

大数据分析从业虽然有难度&#xff0c;但大数据分析岗的薪酬高、发展潜力好&#xff0c;很多人们想转行做大数据分析&#xff0c;朝着大数据分析方向去发展。那么&#xff0c;大数据分析怎么学习?学习哪些内容呢&#xff1f; 第一&#xff0c;可视化分析&#xff0c;事实上&am…

大数据学习路线,如何学习大数据?

声明&#xff1a;本文转至http://blog.csdn.net/yuexianchang/article/details/52468291 1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力&#xff1a; 熟练使用Linux&#xff0c;熟练安装Linux上的软件&#xff0c;了解熟悉负载均衡、高可靠等集群相关概念&#xff…

机器学习-大数据

模式识别 性能好&#xff0c;算法&#xff0c;经验 实际和模型的差距太大

大数据学习(1)-大数据概述

文章目录 目录大数据产生背景大数据概念大数据影响大数据应用大数据关键技术大数据产业大数据&#xff0c;云计算&#xff0c;物联网关系云计算物联网大数据&#xff0c;物联网&#xff0c;云计算三者之间联系 目录 大数据产生背景 三次信息化浪潮 根据IBM前首席执行官郭士纳…

2021年全新大数据学习路线图,(含入门到精通项目学习免费教程哦)

大数据教程&#xff0c;大数据学习&#xff0c;大数据学习路线图&#xff0c; 今天就给大家分享2021年全新的大数据学习教程哦&#xff01; 2021年黑马程序员全新的大数据学习路线图分享给大家&#xff0c;大家可以按照这个大纲来学习&#xff0c;自学也可哦&#xff01; 第一…

大数据——学习路线

学习大数据首先我们要学习Java语言和Linux操作系统&#xff0c;这两个是学习大数据的基础&#xff0c;学习的顺序不分前后。下面是大数据相关的技术 Hadoop 这是现在流行的大数据处理平台几乎已经成为大数据的代名词&#xff0c;所以这个是必学的。Hadoop里面包括几个组件HDF…

怎样进行大数据的入门级学习?

大数据在刚出来的时候&#xff0c;人们表现的非常乐观&#xff0c;以至于对它持有非常高的期望&#xff0c;和普遍的追捧。 不过只要有数据在&#xff0c;大数据就不会过时。随着上游的数据规模持续增长&#xff0c;大数据在未来一定会扮演重要角色。因此&#xff0c;市场需求…

当我说转行大数据工程师时,众人笑我太疯癫,直到四个月后......

【不要错过文末彩蛋】 申明&#xff1a; 本文旨在为【大数据自学者|大数据专业学生|工资低的程序员&#xff08;Java/Python等&#xff09;】提供一个从入门到入职的的大数据技术学习路径&#xff0c;不适合5年以上大数据工程师的进阶学习。 前言&#xff1a; 一、个人介绍 …

网络层协议(6)

文章目录 一、网络层二、网络层的功能三、IP数据包格式1.版本2.头部长度3.服务类型4.包裹总长5.重组标识6.标志7.段偏移量8.生存时间&#xff08;TTL&#xff09;9.协议代码10.首部检验和11.源地址12.目的地址13.可选字段14.数据部分 四、其他网络层协议1.ICMP协议2.ARP协议3.R…