UML:统一建模语言
UML(Unified Modeling Language,统一建模语言),是一种通用的、与开发相关的建模语言,用于软件开发领域,意在提供一种使系统设计可视化的标准方式。
建模语言(Modeling language - Wikipedia):任何一种通过一套相互协调的规则而定义出来的一种结构,来表达信息、知识或者系统的人造语言。这些规则用来解释结构中组成元素的含义。
关于UML的更多介绍,请阅读维基百科:Unified Modeling Language - Wikipedia
UML - Class Diagram - Tutorialspoint
简单地说,就是用来描述一个系统的设计的语言,这个语言规定的有一些约定好的“语法”和符号,要用这些规定好的方式来表述信息。
就好比,要讲述我们对于一个系统(或者流程)的设计,我们可以用自己方式的涂鸦来呈现给别人,但是别人有可能看不懂,而使用UML规范画图,就不容易产生误解,这两者就像是方言和普通话的差别。
UML中有很多种图表,简单的来说可以分成两类,一些用来表示表示如结构组成之类的信息(structural information);另一类表示广义上的行为(general types of behavior),其中又包括几种表示不同层面下交互(interaction)的图标。
类型 | 介绍 |
---|---|
结构图 (Structure Diagram) | 组织结构图表示一个系统的静态层面,它强调的是一个系统在建模时所必须要展现出的事物。因此,其被广泛用来说明软件系统的软件架构。 |
行为图 (Behavior Diagram) | 行为图表现系统的动态层面。它强调的是在建模时系统必须要发生的事情。因此,一般用来说明软件系统的功能。 |
交互图 (Interaction Diagram) | 交互图作为行为图的一个子集,交互图强调的是在建模过程中系统的控制流程,以及各组件之间的信息交互。 |
如何画图?
有很多软件可以使用。
直观绘图法
有一款免费的开源软件 Diagram Software and Flowchart Maker (diagrams.net),在线就可以使用,也可以下载客户端,而且还有针对 VS Code 等 IDE 的集成等等。
GitHub仓库地址:jgraph/drawio: Source to app.diagrams.net (github.com)
代码绘图法
yUML
简单的小图可以用 yUML,十分推荐。复杂的图还是建议用上边的工具来画。
有在线网站可以解析渲染 yUML,也有 VS Code 集成。VS Code 插件在商店搜寻“yUML”即可安装。
在线网站:Create UML diagrams online in seconds, no special tools needed. (yuml.me)
关于 yUML 的语法,VS Code 插件的作者有一个整理:Home · jaime-olivares/yuml-diagram Wiki (github.com)
yUML 不仅可以画类图,其他的活动图、行为图等等也是可以的。
要使用集成在 VS Code 中的插件,还请参阅作者整理的 Wiki。
PlantUML
PlantUML 稍微复杂些。
教程链接:Drawing a UML Diagram in the VS Code | by Joe T. Santhanavanich | Towards Data Science
教程中提到的 PlantUML 网站:Open-source tool that uses simple textual descriptions to draw beautiful UML diagrams. (plantuml.com)。这个网站也有 中文版,也可以点击页面上的语言按钮切换。