0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣使用PlantUML產(chǎn)生時(shí)序圖呢

玩轉(zhuǎn)單片機(jī)與嵌入式 ? 來源:玩轉(zhuǎn)單片機(jī)與嵌入式 ? 作者:濟(jì)南行遠(yuǎn)智能科技 ? 2022-12-02 09:41 ? 次閱讀

7aaa1604-71ce-11ed-8abf-dac502259ad0.png

大家畫時(shí)序圖都在使用什么工具? 上圖中的這個(gè)圖片,有沒有感覺很復(fù)雜?如果讓您用Visio畫圖需要畫多長時(shí)間? 本文共享一個(gè)VScode中可以產(chǎn)生各種圖片的小插件“PlantUML”。 01

先說 VScode

相信做軟件設(shè)計(jì)的同學(xué),對VScode并不陌生,VScode的全稱是:VisualStudioCode,是微軟推出的跨平臺編輯器。它采用經(jīng)典的VS的UI布局,功能強(qiáng)大,擴(kuò)展性很強(qiáng)。支持安裝各種功能性的插件。

軟件支持語法高亮、代碼自動補(bǔ)全(又稱IntelliSense)、代碼重構(gòu)功能,并且內(nèi)置了命令行工具和Git版本控制系統(tǒng)

VScode的下載路徑如下:https://code.visualstudio.com/Downloa。

安裝后的界面圖如下:

7ac18708-71ce-11ed-8abf-dac502259ad0.png

02

介紹plantuml

PlantUML 是一個(gè)開源工具,能讓你通過純文本的方式來生成 UML 圖(Unified Model Language 統(tǒng)一建模語言)。這與大家較為熟悉的 Markdown 非常類似。

通過 PlantUML,你可以通過同一套 Scheme 但是不同的語法來描述和生成不同類型的圖。除了UML圖外,PlantUML也支持思維導(dǎo)圖、甘特圖等。我們本篇文章介紹使用PlantUML產(chǎn)生時(shí)序圖。

7adfd816-71ce-11ed-8abf-dac502259ad0.png

03

使用VScode+PlantUML產(chǎn)生簡單的時(shí)序圖

在Vscode中安裝PlantUML插件如下圖:

7afa8418-71ce-11ed-8abf-dac502259ad0.png

新建txt文件后,輸入如下內(nèi)容:

@startuml
Title玩轉(zhuǎn)單片機(jī)嵌入式
clock   "CLK"   as C0 with period 1


binary  "INTPUT"  as B
binary"RESET"asC
@0
B is high
Cishigh
@1
Cislow
@2.5
Cishigh
@4
Bislow
@6
Bishigh
@8
Bislow
@8
Bishigh
@8
Bislow
@8
C is low


@enduml

使用vscode打開新建的txt文件,選擇【ctrl+shift+P】快捷鍵,選擇【預(yù)覽光標(biāo)位置圖表】

7b1886c0-71ce-11ed-8abf-dac502259ad0.png

就可以預(yù)覽到上面代碼產(chǎn)生的時(shí)序圖。

7b2ca1fa-71ce-11ed-8abf-dac502259ad0.png

右側(cè)的圖片也可以進(jìn)行保存,或者直接使用vscode的快捷鍵導(dǎo)出圖表。

是不是很神奇?

下面是主圖頁面中時(shí)序圖的腳本文件:

@startuml


Title 教你在VScode中用腳本語言畫時(shí)序圖。
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

圖片如下

7aaa1604-71ce-11ed-8abf-dac502259ad0.png

PlantUML使畫圖變得如此簡單。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • UML
    UML
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    30839
  • vscode
    +關(guān)注

    關(guān)注

    1

    文章

    154

    瀏覽量

    7654

原文標(biāo)題:你在用什么工具畫時(shí)序圖?教你在VScode中用C語言畫時(shí)序圖!

文章出處:【微信號:玩轉(zhuǎn)單片機(jī)與嵌入式,微信公眾號:玩轉(zhuǎn)單片機(jī)與嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請教很基礎(chǔ)的時(shí)序問題

    如圖示的時(shí)序,橢圓里的叉叉是什么意思,還有紅色方框里那種交叉的是表示電平在變化嗎?為什么很多時(shí)序圖里面數(shù)據(jù)電平變化不畫成嚴(yán)格與時(shí)鐘變化一致
    發(fā)表于 04-11 16:21

    急,請問DSP怎樣控制并行DAC(附型號和時(shí)序

    DSP型號:TI的 TMS320VC5509A(DSP5509)ADC型號:TI 的 DAC904(14位,時(shí)序如圖) 時(shí)序很簡單,但問題是需要15個(gè)GPIO口,而該DSP的GPIO口才有7個(gè)
    發(fā)表于 03-30 19:00

    急,請問DSP怎樣控制并行DAC(附型號和時(shí)序

    DSP型號:TI的 TMS320VC5509A(DSP5509)ADC型號:TI 的 DAC904(14位,時(shí)序如圖) 時(shí)序很簡單,但問題是需要15個(gè)GPIO口,而該DSP的GPIO口才有7個(gè)
    發(fā)表于 03-30 19:02

    急,請問DSP怎樣控制并行DAC(附型號和時(shí)序

    DSP型號:TI的 TMS320VC5509A(DSP5509)ADC型號:TI 的 DAC904(14位,時(shí)序如圖) 時(shí)序很簡單,但問題是需要15個(gè)GPIO口,而該DSP的GPIO口才有7個(gè)
    發(fā)表于 03-30 19:03

    怎樣以代碼形式去說明LCD的讀寫時(shí)序

    STM32F103的FSMC硬件有哪些怎樣以代碼形式去說明LCD的讀寫時(shí)序?
    發(fā)表于 10-29 06:26

    ADS8326芯片的時(shí)序與軟件如何去實(shí)現(xiàn)

    ADS8326是什么?有何優(yōu)點(diǎn)?ADS8326芯片的時(shí)序與軟件如何去實(shí)現(xiàn)?
    發(fā)表于 01-25 07:44

    怎么用C語言根據(jù)芯片的時(shí)序編寫驅(qū)動

    ADS7822工作的時(shí)序怎樣的?怎么用C語言根據(jù)芯片的時(shí)序編寫驅(qū)動?怎樣用52單片機(jī)去讀取PT100溫度探頭和K型熱電偶的溫度
    發(fā)表于 02-25 06:39

    怎樣去編譯u-boot產(chǎn)生錯(cuò)誤的問題

    怎樣去編譯u-boot產(chǎn)生錯(cuò)誤的問題?怎樣去編譯kernel產(chǎn)生錯(cuò)誤的問題
    發(fā)表于 03-04 06:47

    時(shí)序脈沖產(chǎn)生器電路

    時(shí)序脈沖產(chǎn)生器電路
    發(fā)表于 05-08 14:38 ?896次閱讀
    <b class='flag-5'>時(shí)序</b>脈沖<b class='flag-5'>產(chǎn)生</b>器電路<b class='flag-5'>圖</b>

    時(shí)序和類的關(guān)系

    時(shí)序是在軟件系統(tǒng)設(shè)計(jì)中直接和程序代碼相關(guān)聯(lián)的,準(zhǔn)確地說,程序代碼是由類直接產(chǎn)生,而
    發(fā)表于 10-29 11:21 ?6762次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>和類<b class='flag-5'>圖</b>的關(guān)系

    什么是時(shí)序_時(shí)序怎么看_教你如何看懂時(shí)序

    時(shí)序在有些教材上,又被翻譯為順序,兩者在表述上雖然有一些差別,但是大體都是準(zhǔn)確的,可能稱之為時(shí)序會更加書面語話,聽起來高大上的感覺。其
    發(fā)表于 12-11 19:31 ?17w次閱讀
    什么是<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>_<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>怎么看_教你如何看懂<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>

    使用PlantUml繪制邏輯時(shí)序/波形

    使用PlantUml繪制時(shí)序,波形的簡單說明如下。
    的頭像 發(fā)表于 05-14 09:28 ?1984次閱讀
    使用<b class='flag-5'>PlantUml</b>繪制邏輯<b class='flag-5'>時(shí)序</b><b class='flag-5'>圖</b>/波形<b class='flag-5'>圖</b>

    SMT貼片空洞是怎樣產(chǎn)生

    站在SMT貼片加工的觀點(diǎn)來說空洞率是避免不了的。任何廠家也不能說自己的貼片焊接焊點(diǎn)沒有一點(diǎn)空洞。 那么空洞是怎樣產(chǎn)生?產(chǎn)生空洞的原因有哪些
    的頭像 發(fā)表于 06-15 14:14 ?1111次閱讀
    SMT貼片空洞是<b class='flag-5'>怎樣</b><b class='flag-5'>產(chǎn)生</b>的

    完美時(shí)序-時(shí)鐘產(chǎn)生和分發(fā)設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《完美時(shí)序-時(shí)鐘產(chǎn)生和分發(fā)設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-18 10:27 ?0次下載
    完美<b class='flag-5'>時(shí)序</b>-時(shí)鐘<b class='flag-5'>產(chǎn)生</b>和分發(fā)設(shè)計(jì)指南

    VSCode中Markdown借助plantuml繪制流程

    VSCode中Markdown里通過plantuml繪制流程,簡直不要太方便。
    的頭像 發(fā)表于 10-28 11:19 ?214次閱讀