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 持续集成文档

  • 团队技术分享

相关推荐
TDengine (老段)1 小时前
TDengine 数据函数 ROUND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·1024程序员节
TDengine (老段)1 小时前
TDengine 数学函数 RAND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
小莞尔2 小时前
【51单片机】【protues仿真】基于51单片机智能温控风扇系统
c语言·单片机·嵌入式硬件·物联网·51单片机·1024程序员节
GIS数据转换器3 小时前
城市基础设施安全运行监管平台
大数据·运维·人工智能·物联网·安全·无人机·1024程序员节
搞科研的小刘选手3 小时前
【云计算专题会议】第二届云计算与大数据国际学术会议(ICCBD 2025)
大数据·人工智能·物联网·5g·云计算·6g·智能通信
电子科技圈4 小时前
芯科科技推出智能开发工具Simplicity Ecosystem软件开发套件开启物联网开发的新高度
mcu·物联网·设计模式·软件工程·软件构建·iot·1024程序员节
taxunjishu4 小时前
欧姆龙 NX1P2 借助 Ethernet/ip 转 Modbus RTU,与德马泰克设备共创仓库精准货位管理方案
人工智能·嵌入式硬件·物联网·工业物联网·工业自动化
DuHz17 小时前
基于MIMO FMCW雷达的二维角度分析多径抑制技术——论文阅读
论文阅读·物联网·算法·信息与通信·毫米波雷达
MicroTech202519 小时前
微算法科技(NASDAQ MLGO)基于区块链点阵加密算法的物联网轻量级方案:构建物联网安全基石
科技·物联网·区块链
塔能物联运维20 小时前
物联网设备运维中的自动化合规性检查与策略执行机制
java·运维·物联网·struts·自动化