怎样使用PlantUML产生时序图呢

描述

UML

大家画时序图都在使用什么工具? 上图中的这个图片,有没有感觉很复杂?如果让您用Visio画图需要画多长时间? 本文共享一个VScode中可以产生各种图片的小插件“PlantUML”。   01

先说 VScode

相信做软件设计的同学,对VScode并不陌生,VScode的全称是:VisualStudioCode,是微软推出的跨平台编辑器。它采用经典的VS的UI布局,功能强大,扩展性很强。支持安装各种功能性的插件。

软件支持语法高亮、代码自动补全(又称IntelliSense)、代码重构功能,并且内置了命令行工具和Git版本控制系统。

VScode的下载路径如下:https://code.visualstudio.com/Downloa。

安装后的界面图如下:

UML

02

介绍plantuml

PlantUML 是一个开源工具,能让你通过纯文本的方式来生成 UML 图(Unified Model Language 统一建模语言)。这与大家较为熟悉的 Markdown 非常类似。

通过 PlantUML,你可以通过同一套 Scheme 但是不同的语法来描述和生成不同类型的图。除了UML图外,PlantUML也支持思维导图、甘特图等。我们本篇文章介绍使用PlantUML产生时序图。

UML

03

使用VScode+PlantUML产生简单的时序图

在Vscode中安装PlantUML插件如下图:

UML

新建txt文件后,输入如下内容:

 

@startuml
Title 玩转单片机与嵌入式
clock   "CLK"   as C0 with period 1


binary  "INTPUT"  as B
binary  "RESET"  as C
@0
B is high
C is high
@1
C is low
@2.5
C is high
@4
B is low
@6
B is high
@8
B is low
@8
B is high
@8
B is low
@8
C is low


@enduml

 

使用vscode打开新建的txt文件,选择【ctrl+shift+P】快捷键,选择【预览光标位置图表】

UML

就可以预览到上面代码产生的时序图。

UML

右侧的图片也可以进行保存,或者直接使用vscode的快捷键导出图表。

是不是很神奇?

下面是主图页面中时序图的脚本文件:

 

@startuml


Title 教你在VScode中用脚本语言画时序图。
concise "Client" as Client
concise "Server" as Server
concise "Response freshness" as Cache


Server is idle
Client is idle


@Client
0 is send
Client -> Server@+25 : GET
+25 is await
+75 is recv
+25 is idle
+25 is send
Client -> Server@+25 : GET
If-Modified-Since: 150
+25 is await
+50 is recv
+25 is idle
@100 <-> @275 : no need to re-request from server


@Server
25 is recv
+25 is work
+25 is send
Server -> Client@+25 : 200 OK
Expires: 275
+25 is idle
+75 is recv
+25 is send
Server -> Client@+25 : 304 Not Modified
+25 is idle


@Cache
75 is fresh
+200 is stale
@enduml

 

图片如下

UML

PlantUML使画图变得如此简单。







审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分