簡潔的 PlantUML 入門教程

評論中太多朋友在問,我的文章中圖例如何完成的。

我一直用plantUML,也推薦大家用,下面給出一個簡潔的PlantUML教程。


🌱 什么是 PlantUML?

PlantUML 是一個用純文本語言畫圖的工具,支持流程圖、時序圖、用例圖、類圖、組件圖、狀態圖等。它適合開發人員用來快速寫文檔或可視化設計。


?? 基本語法結構

每個圖都從 @startuml 開始,以 @enduml 結束:

@startuml
// 你的圖內容
@enduml

🔹 示例 1:時序圖(Sequence Diagram)

@startuml
Alice -> Bob: Hello Bob
Bob --> Alice: Hi Alice
@enduml

🔹 效果:顯示 Alice 向 Bob 發消息,Bob 回復 Alice。


🔹 示例 2:用例圖(Use Case)

@startuml
actor User
User --> (Login)
User --> (Upload File)
@enduml

🔹 效果:用戶能執行登錄和上傳文件的用例。


🔹 示例 3:類圖(Class Diagram)

@startuml
class Car {+start()+stop()-engine
}class EngineCar --> Engine : uses
@enduml

🔹 效果:Car 類使用 Engine 類,有公開方法和私有成員。


🔹 示例 4:流程圖(Activity Diagram)

@startuml
start
:Login;
if (Valid?) then (yes):Show Dashboard;
else (no):Show Error;
endif
stop
@enduml

🔹 效果:登錄流程圖,成功進入主界面,失敗顯示錯誤。


?? 如何運行?

你可以用以下方式使用 PlantUML:

  1. 在線編輯器

    • PlantUML Web Server

    • 只需粘貼代碼即可看到圖像。

  2. 本地使用

    • 安裝 Java 和 PlantUML JAR 文件

    • 用命令運行:java -jar plantuml.jar yourfile.puml

  3. IDE 插件

    • VSCode:安裝 PlantUML 插件

    • IntelliJ:安裝 PlantUML Integration 插件

    • VSCode:使用markdown, 在markdown預覽插件中,配置還是需要提前安裝plantuml.jar,這是我比較喜歡的方式。


🎯 常用圖類型

圖類型關鍵詞
時序圖sequence
用例圖usecase
類圖class
活動圖/流程圖activity
狀態圖state
組件圖component
時態圖deployment

歡迎在評論區交流使用心得!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/77082.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/77082.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/77082.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

互聯網三高-高性能之JVM調優

1 運行時數據區 JVM運行時數據區是Java虛擬機管理的內存核心模塊,主要分為線程共享和線程私有兩部分。 (1)線程私有 ① 程序計數器:存儲當前線程執行字節碼指令的地址,用于分支、循環、異常處理等流程控制? ② 虛擬機…

淺談StarRocks 常見問題解析

StarRocks數據庫作為高性能分布式分析數據庫,其常見問題及解決方案涵蓋環境部署、數據操作、系統穩定性、安全管控及生態集成五大核心領域,需確保Linux系統環境、依賴庫及環境變量配置嚴格符合官方要求以避免節點啟動失敗,數據導入需遵循格式…

P1332 血色先鋒隊(BFS)

題目背景 巫妖王的天災軍團終于卷土重來,血色十字軍組織了一支先鋒軍前往諾森德大陸對抗天災軍團,以及一切沾有亡靈氣息的生物。孤立于聯盟和部落的血色先鋒軍很快就遭到了天災軍團的重重包圍,現在他們將主力只好聚集了起來,以抵…

大文件上傳之斷點續傳實現方案與原理詳解

一、實現原理 文件分塊:將大文件切割為固定大小的塊(如5MB) 進度記錄:持久化存儲已上傳分塊信息 續傳能力:上傳中斷后根據記錄繼續上傳未完成塊 塊校驗機制:通過哈希值驗證塊完整性 合并策略:所…

【動手學深度學習】卷積神經網絡(CNN)入門

【動手學深度學習】卷積神經網絡(CNN)入門 1,卷積神經網絡簡介2,卷積層2.1,互相關運算原理2.2,互相關運算實現2.3,實現卷積層 3,卷積層的簡單應用:邊緣檢測3.1&#xff0…

Opencv計算機視覺編程攻略-第十一節 三維重建

此處重點討論在特定條件下,重建場景的三維結構和相機的三維姿態的一些應用實現。下面是完整投影公式最通用的表示方式。 在上述公式中,可以了解到,真實物體轉為平面之后,s系數丟失了,因而無法會的三維坐標,…

大廠不再招測試?軟件測試左移開發合理嗎?

👉目錄 1 軟件測試發展史 2 測試左移(Testing shift left) 3 測試右移(Testing shift right) 4 自動化測試 VS 測試自動化 5 來自 EX 測試的寄語 最近兩年,互聯網大廠的招聘中,測試工程師崗位似…

windows10下PointNet官方代碼Pytorch實現

PointNet模型運行 1.下載源碼并安裝環境 GitCode - 全球開發者的開源社區,開源代碼托管平臺GitCode是面向全球開發者的開源社區,包括原創博客,開源代碼托管,代碼協作,項目管理等。與開發者社區互動,提升您的研發效率和質量。https://gitcode.com/gh_mirrors/po/pointnet.pyto…

git pull 和 git fetch

關于 git pull 和 git fetch 的區別 1. git fetch 作用:從遠程倉庫獲取最新的分支信息和提交記錄,但不會自動合并或修改當前工作目錄中的內容。特點: 它只是更新本地的遠程分支引用(例如 remotes/origin/suyuhan)&am…

前端開發中的單引號(‘ ‘)、雙引號( )和反引號( `)使用

前端開發中的單引號(’ )、雙引號(" ")和反引號( )使用 在前端開發中,單引號(’ )、雙引號(" ")和反引號( &…

程序化廣告行業(69/89):DMP與PCP系統核心功能剖析

程序化廣告行業(69/89):DMP與PCP系統核心功能剖析 在數字化營銷浪潮中,程序化廣告已成為企業精準觸達目標受眾的關鍵手段。作為行業探索者,我深知其中知識的繁雜與重要性。一直以來,都希望能和大家一同學習…

Amodal3R ,南洋理工推出的 3D 生成模型

Amodal3R 是一款先進的條件式 3D 生成模型,能夠從部分可見的 2D 物體圖像中推斷并重建完整的 3D 結構與外觀。該模型建立在基礎的 3D 生成模型 TRELLIS 之上,通過引入掩碼加權多頭交叉注意力機制與遮擋感知注意力層,利用遮擋先驗知識優化重建…

LLM面試題八

推薦算法工程師面試題 二分類的分類損失函數? 二分類的分類損失函數一般采用交叉熵(Cross Entropy)損失函數,即CE損失函數。二分類問題的CE損失函數可以寫成:其中,y是真實標簽,p是預測標簽,取值為0或1。 …

30天學Java第7天——IO流

概述 基本概念 輸入流:從硬盤到內存。(輸入又叫做 讀 read)輸出流:從內存到硬盤。(輸出又叫做 寫 write)字節流:一次讀取一個字節。適合非文本數據,它是萬能的,啥都能讀…

面試可能會遇到的問題回答(嵌入式軟件開發部分)

寫在前面: 博主也是剛入社會的小牛馬,如果下面有寫的不好或者寫錯的地方歡迎大家指出~ 一、四大件基礎知識 1、計算機組成原理 (1)簡單介紹一下中斷是什么。 ①回答: ②難度系數:★★ ③難點分析&…

層歸一化詳解及在 Stable Diffusion 中的應用分析

在深度學習中,歸一化(Normalization)技術被廣泛用于提升模型訓練的穩定性和收斂速度。本文將詳細介紹幾種常見的歸一化方式,并重點分析它們在 Stable Diffusion 模型中的實際使用場景。 一、常見的歸一化技術 名稱歸一化維度應用…

深入理解Socket編程:構建簡單的計算器服務器

一、Socket通信基礎 1. Socket通信基本流程 服務器端流程: 創建Socket (socket()) 綁定地址和端口 (bind()) 監聽連接 (listen()) 接受連接 (accept()) 數據通信 (read()/write()) 關閉連接 (close()) 客戶端流程: 創建Socket (socket()) 連接…

Redis-x64-3.2.100.msi : Windows 安裝包(MSI 格式)安裝步驟

Redis-x64-3.2.100.msi 是 Redis 的 Windows 安裝包(MSI 格式),適用于 64 位系統。 在由于一些環境需要低版本的Redis的安裝包。 Redis-x64-3.2.100.msi 安裝包下載:https://pan.quark.cn/s/cc4d38262a15 Redis 是一個開源的 內…

4.7正則表達式

1.字符匹配 一般字符匹配自身. 匹配任意字符(換行符\n除外),一個點占一位\轉義字符,使其后一個字符改變原來的意思(\.就是.)[......]字符集,對應的位置可以是字符集中的任意字符.字符集中的字符可以逐個列出,也可以給出范圍如[abc]或[a-c] [^abc] 表示取反&#xf…

Fortran 中讀取 MATLAB 生成的數據文件

在 Fortran 中讀取 MATLAB 生成的數據文件,可以通過以下幾種方法實現,包括使用開源工具和手動解析: 1. 使用開源工具:MATFOR MATFOR 是一個商業/開源混合工具(部分功能免費),提供 Fortran 與 M…