Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >UML类图使用

UML类图使用

作者头像
用户5807183
发布于 2019-08-15 07:19:07
发布于 2019-08-15 07:19:07
1.4K0
举报
文章被收录于专栏:Linux知识积累Linux知识积累

一、基本概念

  1. UML:统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML可以干很多事,画各种各样的逻辑图,这里只关心它在类图中的使用。
  2. 类图的主要作用是理清类和类之间的关系,是面向对象系统建模中最常用和最重要的图。
  3. 类图有三个组件:类名、属性、方法。如下图
  1. 泛化(generalization):表示is-a的关系,是对象之间耦合度最大的一种关系,子类继承父类的所有细节。直接使用语言中的继承表达。在类图中使用带三角箭头的实线表示,箭头从子类指向父类。

泛化

  1. 实现(Realization):在类图中就是接口和实现的关系。这个没什么好讲的。在类图中使用带三角箭头的虚线表示,箭头从实现类指向接口。

实现

  1. 依赖(Dependency):对象之间最弱的一种关联方式,是临时性的关联。代码中一般指由局部变量、函数参数、返回值建立的对于其他对象的调用关系。一个类调用被依赖类中的某些方法而得以完成这个类的一些职责。在类图使用带箭头的虚线表示,箭头从使用类指向被依赖的类。

依赖

  1. 关联(Association) : 对象之间一种引用关系,比如客户类与订单类之间的关系。这种关系通常使用类的属性表达。关联又分为一般关联、聚合关联与组合关联。后两种在后面分析。在类图使用带箭头的实线表示,箭头从使用类指向被关联的类。可以是单向和双向。

关联

  1. 聚合(Aggregation) : 表示has-a的关系,是一种不稳定的包含关系。较强于一般关联,有整体与局部的关系,并且没有了整体,局部也可单独存在。如公司和员工的关系,公司包含员工,但如果公司倒闭,员工依然可以换公司。在类图使用空心的菱形表示,菱形从局部指向整体。

聚合

  1. 组合(Composition) : 表示contains-a的关系,是一种强烈的包含关系。组合类负责被组合类的生命周期。是一种更强的聚合关系。部分不能脱离整体存在。如公司和部门的关系,没有了公司,部门也不能存在了;调查问卷中问题和选项的关系;订单和订单选项的关系。在类图使用实心的菱形表示,菱形从局部指向整体。

组合

  1. 多重性(Multiplicity) : 通常在关联、聚合、组合中使用。就是代表有多少个关联对象存在。使用数字..星号(数字)表示。如下图,一个割接通知可以关联0个到N个故障单。

多重性

  1. 下面来一张类图,大家自己体会一下上面的概念已经逻辑关系:

类图

二、绘制UML类图

画UML图的工具大致可以分为两类,一类是专业的绘图工具,带了画UML的功能,如Visio、Dia;另一类是专门用来制作UML图的,如ArgoUML和Rose,通常都有根据UML图直接生成代码。

这里介绍一下在Android Studio中安装UML插件,根据代码自动生成UML类图。

第一种是Code Iris。这个可以直接根据你的项目生成UML类图。

  1. 在file --> settings --> plugins中搜索Code Iris,搜索结果中安装插件,重启AS。
  2. 在需要生成UML类图的项目的包名或类名上右键选择Create CodeIris Graph。这时候电脑会明显卡顿一下。
  1. 生成后,在编辑器的右侧,会有CodeIris的标签,点开就可以了。
  1. 在打开的UML类图窗口中,可以切换不同的视图:module、view、class。鼠标移动到某一个类的时候,就会显示出这个类所有相关的连接线。

第二种是使用PlantUML。这是需要你去编写代码来生成UML图。

  1. 在file --> settings --> plugins中搜索PlantUML,搜索结果中安装PlantUML插件,重启AS;
  2. 安装Graphviz。去Graphviz官网下载,然后安装。注意这里有两个下载选项,第一个.msi文件就是需要你自己去安装;另一个压缩文件是绿色版,直接解压就可以用。

下载Graphviz

  1. 打开AS的File->Settings->Other Settings ->PlantUML。将将文件路径填写为刚刚Graphviz的目录下bin目录中dot.exe文件。

配置Graphviz

  1. 到此,安装工作就结束了。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux知识积累 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一文掌握UML类图-PlantUML实操
UML(Unified Modeling Language,统一建模语言)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。 方便程序员间交流,读别人代码是真的痛苦。
唔仄lo咚锵
2020/09/25
1.8K0
UML类图总结
UML类图 1.基本概念 UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 2.类图 用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 各种
对弈
2019/11/02
8970
uml的14种图_uml有几种图
UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。
全栈程序员站长
2022/11/01
1K0
uml的14种图_uml有几种图
终于搞明白UML类图的关系了
UML,全称Unified Modeling Language,统一建模语言。而UML图分为用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。
张晓衡
2020/02/20
4.5K0
分分钟弄明白UML中泛化 , 实现 , 关联, 聚合, 组合, 依赖
张果
2018/01/04
9.9K1
分分钟弄明白UML中泛化 , 实现 , 关联, 聚合, 组合, 依赖
一文掌握14种UML图
UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。
Java旅途
2020/08/21
92.3K2
一文掌握14种UML图
从零开始单排学设计模式「UML类图」定级赛
本篇是设计模式系列的开篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统。
良月柒
2019/03/20
6440
从零开始单排学设计模式「UML类图」定级赛
UML 类图简介
UML分为模型和图形两大类。区分UML模型和UML图是非常重要的,UML图(包括用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图)是模型中信息的图表表达形式,但是UML模型独立于UML图存在。
为为为什么
2022/08/06
8010
UML 类图简介
UML类图介绍
比如下图表示一个Employee类,它包含name,age和address这3个属性,以及work()方法:
全栈程序员站长
2022/09/14
4780
UML类图介绍
设计模式学习(四)-UML中的类图及类图之间的关系
统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言。特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。
用户4464623
2020/09/10
1.5K0
设计模式学习(四)-UML中的类图及类图之间的关系
UML类图简单介绍
一个项目初期,我们往往对业务一无所知,我们最急迫需要解决的问题就是理清楚这些业务概念以及它们的关系,如果能用好类图,你将能深入地剖析系统业务。
终身幼稚园
2019/07/19
9510
UML类图简单介绍
如何使用StarUML画类图[通俗易懂]
此篇文档旨在介绍类图以及如何通过StarUML工具画类图。 StarUML官网下载地址:http://staruml.io/download **什么是类图** 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助简化对系统的理解。 **类与接口的表现形式** 矩形框: 它代表一个类(Class)。类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为。前面的符号,+ 表示public,- 表示private,# 表示protected。 接口图:与类图的区别主要是顶端的<>显示。第一行是接口名称,第二行是接口方法。 在系统分析与设计阶段,类通常分为三种:实体类、控制类、边界类。 实体类:实体类来源于需求说明中的名词,如学生、商品等。 控制类:控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类。 边界类:主要包括界面类,如对话框、窗口、菜单等。
全栈程序员站长
2022/07/31
2.9K0
UML之类图
UML(Unified Modeling Language)是面向对象设计的建模工具,独立于任何具体程序设计语言。
firstxinjie
2025/04/13
1040
UML之类图
如果你看不懂别人画的 UML 类图,看这一篇文章就够了
统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。
跟着飞哥学编程
2022/12/02
4K0
UML类图
类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。
叫我阿杰好了
2022/11/07
7540
UML类图
设计模式(二)——UML类图介绍
在正式介绍设计模式之前,我们有必要学习一下UML类图,因为我们需要一种直观的表示方法来描述设计模式,这种方法即是UML类图。
用户6557940
2022/07/24
9740
设计模式(二)——UML类图介绍
UML类图及类图的几种常见关系
1、类的表示 类通常由三部分组成,即:类名、属性、方法。UML表示类图如图所示: 2、接口的表示 在UML中,接口使用一个带有名称的小圆圈来进行表示: 但有的地方在类名前加上“<<Interface>
陈树义
2018/04/13
1.9K0
UML类图及类图的几种常见关系
UML学习小结
    最近在使用状态模式写一个仿Windows计算器的MFC程序,顺便学习了一下UML图的绘制,尤其是类图和状态图的绘制,这里做一下总结吧。
ccf19881030
2019/04/24
5770
软件设计必备的 UML,你会吗?
UML 是统一建模语言(英语:Unified Modeling Language,缩写 UML)的简称,它是一种由一整套图表组成的标准化建模语言,用于帮助系统开发人员来说明,可视化,构建和记录软件系统的产出。用人话说 UML 就是用图形符号帮助我们描述系统和设计系统的语言工具。
闻人的技术博客
2020/06/17
3.1K0
软件设计必备的 UML,你会吗?
一文带你看懂UML类图
这里不会将UML的各种元素都提到,我只想讲讲类图中各个类之间的关系; 能看懂类图中各个类之间的线条、箭头代表什么意思后,也就足够应对 日常的工作和交流; 同时,我们应该能将类图所表达的含义和最终的代码对应起来
程序员波特
2024/05/06
3870
相关推荐
一文掌握UML类图-PlantUML实操
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档