PlantUML 基础使用技术文档

目录

摘要

[1. 什么是 PlantUML](#1. 什么是 PlantUML)

[2. 安装与环境配置](#2. 安装与环境配置)

[2.1 本地使用](#2.1 本地使用)

[2.2 在线使用](#2.2 在线使用)

[3. 基本语法](#3. 基本语法)

[3.1 示例:系统架构图](#3.1 示例:系统架构图)

[3.2 常用元素](#3.2 常用元素)

[4. 渲染方式](#4. 渲染方式)

[4.1 VSCode](#4.1 VSCode)

[4.2 在线渲染](#4.2 在线渲染)

[4.3 生成图片](#4.3 生成图片)

[5. 推荐实践](#5. 推荐实践)

[6. 常见图类型](#6. 常见图类型)

[7. 进阶功能](#7. 进阶功能)

[8. 典型应用场景](#8. 典型应用场景)


摘要

PlantUML 是一款基于文本的图形绘制工具,支持用简单、直观的语法绘制架构图、流程图、用例图等常见技术图形。它支持本地渲染、集成开发环境(IDE)插件、以及在线渲染服务,广泛应用于技术文档、设计评审、DevOps CI/CD 等场景。本手册介绍 PlantUML 的基本使用方法、开发环境配置、常见图形语法和推荐实践,适用于开发、测试、运维、产品等岗位。


1. 什么是 PlantUML

  • 基于文本的图形绘制工具;

  • 支持 架构图、流程图、状态图、部署图、类图、时序图等

  • 语法简单,适合版本管理、多人协作。


2. 安装与环境配置

2.1 本地使用

工具 安装方式
VSCode 安装插件:PlantUML、需要 Java 运行环境
IntelliJ IDEA 安装 PlantUML Integration 插件
Typora / Obsidian 内置或插件支持直接渲染
命令行 安装 Graphviz + Java,使用 plantuml.jar 渲染

2.2 在线使用


3. 基本语法

3.1 示例:系统架构图

复制代码
@startuml
actor 用户 as User

rectangle "管理页面" as Astro {
  [登录页面]
  [用户管理]
  [设备管理]
}

rectangle "核心模块" as Core {
  [权限管理]
  [业务逻辑]
}

database "物联网平台" as IoTDA

User --> Astro : 登录 / 操作
Astro --> Core : API 调用
Core --> IoTDA : 获取设备数据
@enduml

3.2 常用元素

元素类型 语法示例
角色 actor 用户 as User
模块 rectangle "模块名称" as Module
数据库 database "名称" as DB
箭头 A --> B : 调用 / 传输
分组 package "模块组" ... end package

4. 渲染方式

4.1 VSCode

  • 安装 "PlantUML" 插件

  • 打开 .puml 文件,右键选择 "Preview Current Diagram"

4.2 在线渲染

  • 复制完整代码到 PlantUML 官网

  • 点击 "Refresh" 渲染图形

4.3 生成图片

  • 本地命令行运行:

    复制代码
    java -jar plantuml.jar diagram.puml
  • 可输出 PNG / SVG / PDF


5. 推荐实践

场景 推荐做法
版本管理 .puml 文件纳入 Git 版本管理
多人协作 使用文本形式,便于代码评审
自动文档生成 配合 CI 工具生成 PNG / HTML 文档
图形复杂度控制 每张图尽量不超过 20 个模块

6. 常见图类型

图类型 关键语法
架构图 rectangledatabase
用例图 actorusecase
流程图 startifrepeat
时序图 participant->>
状态图 state
类图 classinterface
部署图 nodeartifact

7. 进阶功能

  • 样式优化

    复制代码
    skinparam backgroundColor #F5F5F5
    skinparam rectangle {
      BackgroundColor #FFFFFF
      BorderColor #999999
    }
  • 动态引用 :支持包含外部文件 !include

  • Kroki API 渲染:无需本地安装,直接通过 REST API 渲染图片


8. 典型应用场景

  • 技术架构文档

  • 产品需求说明

  • API 调用流程

  • DevOps 持续集成文档

  • 团队技术分享

相关推荐
灏瀚星空1 小时前
基于 Python 与 GitHub,打造个人专属本地化思维导图工具全流程方案(上)
开发语言·人工智能·经验分享·笔记·python·个人开发·visual studio
jason成都3 小时前
实战 | 国产数据库 R2DBC-JDBC 桥接踩坑记 - JetLinks适配达梦数据库
java·数据库·物联网
蝎蟹居6 小时前
GBT 4706.1-2024逐句解读系列(29) 第7.9~7.10条款:开关,档位应明确标识
人工智能·单片机·嵌入式硬件·物联网·安全
蝎蟹居8 小时前
GBT 4706.1-2024逐句解读系列(28) 第7.8条款:X,Y型连接正确标示接地符号
人工智能·单片机·嵌入式硬件·物联网·安全
蝎蟹居20 小时前
GBT 4706.1-2024逐句解读系列(26) 第7.6条款:正确使用符号标识
人工智能·单片机·嵌入式硬件·物联网·安全
送外卖的工程师1 天前
STM32F103 驱动 BMP280 气压温湿度传感器 + OLED 显示教程
stm32·单片机·嵌入式硬件·mcu·物联网·proteus·rtdbs
专业开发者1 天前
NXP解析蓝牙 ® 声道探测技术将如何赋能汽车数字钥匙
人工智能·物联网·汽车
得一录1 天前
Android AIDL 在智能体和IOT设备中的使用
android·人工智能·物联网·aigc
sdyeswlw1 天前
实力认证 !一二三物联网微功耗遥测终端入选济南市创新产品应用推荐目录
物联网
深圳博达智联1 天前
博达智联供水4G控制器方案:厂家集中管控,终端用户手机远程控,运维成本降一半
物联网·智能手机·人机交互