PlantUML --- 应用编码迅速制作时序图、思维脑图

这篇思维脑图

@startmindmap
<style>
mindmapDiagram {
  .green {
    BackgroundColor lightgreen
  }
  .rose {
    BackgroundColor #FFBBCC
  }
  .bule_black {
    BackgroundColor lightblue
  }

}
</style>
* PlantUML <<rose>>
** PlantUML介绍 <<green>>
** 时序图基本上应用 <<rose>>
*** 逐渐、完毕
*** 目标表明
*** 消息传递
*** 命运线
*** 支系、循环系统
*** 命运线的更简单书写
** 思维脑图基本上应用(已经开发设计中) <<bule_black>>
*** 逐渐、完毕
*** 子主题转化成和支系方位挑选
*** 內容几行表明
*** 色调变更
** uml时序图介绍 <<bule_black>>
** vscode下配备plantuml <<bule_black>>
@endmindmap

一、序言

无论是在工作中或是学习培训,特别是在项目实施计划前期,大家必须画很多的图将工作职责、项目实施方案等开展数据可视化叙述,包含但不限于时序图、类图、思维脑图这些。

可是针对不常常绘图,或是常常应用电脑键盘的小孩,手工制作绘图或是应用手机软件开展绘图全是一件较为头痛的实际操作,尤其是像我这类有强迫思维的小孩,一切歪歪斜斜的地区都是会要我极为难受要想将绘画的尽可能挺直和极致。

因此,假如能立即写代码,就可以转化成要想的图,针对工作效能和潜心度都是有巨大的提高,此外,将图上的逻辑性用编码叙述出去,自身就又能加重自身的了解。

好在,我在工作上偶然发现了那样的一个开源软件,PlantUML!!!确实,强烈安利,程序猿必不可少、电子计算机学员必不可少,只写代码,真的是便捷了很多,我还在画时序图的情况下,一个目标很有可能要画2-3分钟,从找标志到手工制作两端对齐,加上目标名,可是用编码只必须一行处理!!!啊,这一优势早已好到务必要亲自感受了!!!强烈安利!!!它早已就是我绘图时必备的一款奇妙,和markdown一样不容忽视。

二、PlantUML介绍

PlantUml是一个开源软件,可以用敲代码的方法迅速回至出各种各样自身要想的图。除此之外,不但适用画UML,还适用许多常见的,例如思维脑图、ER图这些。戳官方网站:PlantUML

下边我也自己的应用共享一些简易常见的操作方法

三、时序图篇

官方网站应用文本文档:时序图

1. 开始与结束

@startuml表明逐渐

@enduml表明完毕

2. 目标表明

常见目标:

actor: 实体线目标,例如人、操作工等
participant: 参加者,能够是类、服务项目名等
database: 数据库查询
queue: 序列,例如kafka队列就可以用这一表明

界定目标:

文件格式目标种类 目标名 [as 目标别称] [ ] 里边的內容为选择项,即能够为目标界定别称,这一别称是为了更好地在编码中引入目标便捷,具体图上目标的名称或是大家界定的目标名。

事例:

actor 客户: 界定一个实体线目标,目标名叫“客户”
database mysql: 界定一个数据库查询,名称为“mysql”
participant SQLServer as db: 界定一个参加者,服务项目名叫“SQLServer”,别称为“db”,在编码中能够立即用db表明SQLServer
queue kafka: 界定一个queue目标,名叫 kafka
'单引号是代码注释
@startuml
'目标界定
actor 客户
participant SQLServer as db
database mysql
queue kafka
'完毕
@enduml
@startuml
'单引号是代码注释
'目标界定
actor 客户
participant SQLServer as db
database mysql
queue kafka
@enduml

3. 消息传递

时序图主要是为了更好地展现新项目中的数据流分析迈向,因而消息传递是时序图的关键一部分。

->表明消息传递迈向,默认设置箭头符号种类是单边平行线,PlantUML指南中有很多款式能够根据编码自定色调和款式

-->是单边虚平行线箭头符号,一般是用于传送信息回到信息内容

客户->mysql: 数据库查询要求

mysql-->客户: 要求結果

4. 命运线的激话与撤消

一般详细的时序图上都会包括生命期,当某一服务项目被开启,从开始工作到工作中完毕回到要求的这段时间,就是这个服务项目时下的生命期,在PlantUML中,应用activatedeactivate来激话、消毁生命期

'单引号是代码注释
@startuml
actor 客户
participant SQLServer as db
database mysql
queue kafka
'消息传递
客户->mysql: 数据库查询要求
'激话mysql命运线
activate mysql
'消息传递
mysql-->客户: 要求結果
'消毁mysql命运线
deactivate mysql
@enduml
@startuml
'单引号是代码注释
'目标界定
actor 客户
participant SQLServer as db
database mysql
queue kafka
'消息传递
客户->mysql: 数据库查询要求
'激话mysql命运线
activate mysql
mysql-->客户: 要求結果
'消毁mysql命运线
deactivate mysql
@enduml

5. 支系和循环系统表明

一些繁杂状况下必须解决一些支系和循环系统的內容,PlantUML选用 alt-else-end 表明支系, 用 loop-end表明循环系统

支系

alt 查看
    客户->mysql: 数据库要求
    activate mysql
    mysql-->客户: 要求結果
    deactivate mysql
else 插进
    客户->mysql: 数据库查询插进要求
    activate mysql
    mysql-->客户: 要求結果
    deactivate mysql
end
@startuml
'单引号是代码注释
'目标界定
actor 客户
participant SQLServer as db
database mysql
queue kafka
'消息传递
alt 查看
    客户->mysql: 数据库要求
    activate mysql
    mysql-->客户: 要求結果
    deactivate mysql
else 插进
    客户->mysql: 数据库查询插进要求
    activate mysql
    mysql-->客户: 要求結果
    deactivate mysql
end
@enduml

循环系统

loop 查看1000次
    客户->mysql: 数据库要求
    activate mysql
    mysql-->客户: 要求結果
    deactivate mysql
end
@startuml
'单引号是代码注释
'目标界定
actor 客户
participant SQLServer as db
database mysql
queue kafka
'消息传递
loop 查看1000次
    客户->mysql: 数据库要求
    activate mysql
    mysql-->客户: 要求結果
    deactivate mysql
end
@enduml

此外,支系和循环系统全是能够嵌入的。

6. 一些更简约的英语的语法

能够立即激话命运线

return msg能够完毕命运线并回到传送信息msg

一般成对应用

4中的激话命运线 消息传递的编码能够立即写出那样

'激话mysql命运线 & 消息传递
客户->mysql  : 数据库查询要求
'消毁mysql命运线 & 传送回到結果
return 要求結果

四、思维脑图篇

现阶段据官方网站,这一已经开发设计中,一些英语的语法很有可能会产生变化,可是首先用着并不是?官方网站指南:思维脑图

1. 开始与结束

@startmindmap逐渐

@endmindmap完毕

2. 子主题

应用 -新创建支系,用标记总数表明等级, 表明支系向右侧生长发育,-表明支系向左侧生长发育

'这儿是注解
@startmindmap
  思维脑图
   主题风格1
    子主题1.1
   主题风格2
-- 主题风格3
--- 子主题3.1
--- 子主题3.2
-- 子主题4
@endmindmap
@startmindmap
  思维脑图
   主题风格1
    子主题1.1
   主题风格2
-- 主题风格3
--- 子主题3.1
--- 子主题3.2
-- 子主题4
@endmindmap

3.內容几行表明

应用:逐渐几行內容,;完毕几行內容。现阶段假如要应用: ;只有用*新创建支系

'这儿是注解
@startmindmap
* templates
**: Example1
今天520
我还在企业高兴工作
;
@endmindmap
@startmindmap
* templates
**: Example1
今天520
我还在企业高兴工作
;
@endmindmap

4.色调更改

沒有色调的思维脑图是没有灵魂的

实际英语的语法提议查询官方网站指南

'这儿是注解
@startmindmap
<style>
mindmapDiagram {
  .green {
    BackgroundColor lightgreen
  }
  .rose {
    BackgroundColor #FFBBCC
  }
  .your_style_name {
    BackgroundColor lightblue
  }
}
</style>
* Colors
** Green <<green>>
** Rose <<rose>>
** Blue <<your_style_name>>
@endmindmap
@startmindmap
<style>
mindmapDiagram {
  .green {
    BackgroundColor lightgreen
  }
  .rose {
    BackgroundColor #FFBBCC
  }
  .your_style_name {
    BackgroundColor lightblue
  }
}
</style>
* Colors
** Green <<green>>
** Rose <<rose>>
** Blue <<your_style_name>>
@endmindmap

五、UML时序图介绍

针对还不清楚什么叫UML时序图的同学们,能看下这几篇文章内容哦

稳扎稳打UML模型系列产品五、时序图(Squence diagram)

UML序列图汇总(Loop、Opt、Par和Alt)

六、vscode下配备PlantUML

应用VS CODE PlantUML高效率绘图

Vscode plantuml UML图 配备应用

vscode下配备好plantuml后,能够应用Alt D 浏览plantuml文本文档(.uml文档)

怎样从vscode导出来plantuml图? F1ctrl shift p; 挑选 PlantUML:导出来当今数据图表;挑选导出来文件格式svg;导出来就可以。[png 针对很大的导出来不全]

处理导出来png不详细: vscode 打开设置 --> edit settings.json --> 加上以下:

    "plantuml.jarArgs": [
		"-DPLANTUML_LIMIT_SIZE=8129"
	]

评论(0条)

刀客源码 游客评论