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

  • 团队技术分享

相关推荐
伊莲娜生活4 小时前
大健康时代下的平台电商:VTN平台以科研创新重构健康美丽消费生态
人工智能·物联网·重构
猫头虎5 小时前
2025最新超详细FreeRTOS入门教程:第十三章 FreeRTOS临界区与原子操作
stm32·单片机·嵌入式硬件·物联网·51单片机·proteus·iot
Yeats_Liao6 小时前
物联网平台中的MongoDB(二)性能优化与生产监控
物联网·mongodb·性能优化
河南博为智能科技有限公司8 小时前
单串口服务器-工业级串口联网解决方案
运维·服务器·物联网·边缘计算
华普微HOPERF8 小时前
Sub-GHz无线收发单片机,低功耗物联网通信的硬件“基石”
单片机·嵌入式硬件·物联网
openHiTLS密码开源社区8 小时前
LMS 算法:抗量子时代的「安全签名工具」
物联网·区块链·量子计算·加密货币·lms·xmss·后量子密码
微学AI9 小时前
时序数据库选型指南:大数据与物联网时代下的深度剖析与 Apache IoTDB 实践
大数据·物联网·时序数据库
ManThink Technology11 小时前
LoRaWAN网关支持双NS的场景有哪些?
物联网
再坚持一下!!!14 小时前
5G专网、物联网、IP网络专业技术知识
网络·物联网·网络协议·5g·ip
极造数字14 小时前
MES系统在不同制造行业中的应用差异与共性
大数据·人工智能·物联网·信息可视化·制造