0x00 引言
UML(Unified Modeling Language)是一种统一建模语言,其优点在于可使用代码的形式快速绘制线框图。
用于绘制UML图形的语言包括Mermaid、Flow、PlantUML、yUML等,下面逐个介绍各个语言。
0x01 Mermaid
语法超级简单,支持html标签及流行的markdown,支持类图、流程图、甘特图以及时序图等。
Typora直接支持Meraid绘制。
在VSCode中配置非常方便,只需要安装Markdown Preview Enhanced插件(该插件还支持导出html与pdf)。并且支持markdown文件,方便写博客,另外hexo也支持Mermaid语法显示,以及Github官方也开始支持Mermaid语法(这意味着在Github官网也能够预览Mermaid语法绘制的图形)。
1、基础语法
下面介绍几个简单的VSCode中撰写Mermaid的语法(需要加’```mermaid’前缀),摘自文献[1]:
1 | 1.横向流程图: |
2、类图绘制
重点要学习的是类图的绘制,对于软件设计有很大帮助:
1 | classDiagram |
0x02 Flow
Flow是专门用来画标准流程图的语言,但是Mermaid实际上也能画流程图,并且从渲染上来看Mermaid更胜一筹,因此推荐使用Mermaid。
在VSCOde中使用Flow,也需要先安装Markdown Preview Enhanced插件。能直接在markdown文件中编写。
1、基础语法
在VSCode中的使用方法(需要加’```flow’前缀):
1 | st=>start: 开始框 |
0x03 PlantUML
PlantUML可以很好地绘制用例图、类图、活动图、组件图、状态图、对象图、时序图,语法非常简洁。
其在VSCode中配置较麻烦(推荐在线画图并生成图片)。需要安装PlantUML插件、去graphviz官网下载其安装包以及安装JAVA。而且只支持特殊的后缀文件,如.pu / .puml。
其可绘制的图形如下(使用PlantUML思维导图绘制):
下面讲解各个图的绘制基础语法,推荐查看PlantUML官网[2],以及在线绘制PlantUML[3]
1、活动图
活动图基础用法[4],在学习完基础用法后,实现一个复杂的活动图:
1 | @startuml |
0x04 yUML
yUML支持类图、活动图、用例图、状态图、部署图、包图以及时序图(Sequnce)。
在VSCOde中使用yUML,需要先安装yUML插件,并且其文件后缀必须为.yuml。
然而Markdown Preview Enhanced插件支持其使用时序图(Sequnce)。
1、基础语法
下面介绍几个简单的VSCode中撰写Sequnce的语法(需要加’```sequnce’前缀):
1 | 对象A->对象B: 对象B你好吗?(请求) |
0x05 参考文献
[1]https://www.runoob.com/markdown/md-advance.html
[2]https://plantuml.com/zh
[3]https://www.planttext.com
[4]https://plantuml.com/zh/activity-diagram-beta