架构师的好帮手-PlantUML

2023-10-25 18:55:58 浏览数 (2)

大家好,我是热心的大肚皮,皮哥。

大家在设计方案时是不是还在用ProcessOn这类工具来绘制,是不是时常还在为调整样式发愁,今天给大家推荐一个idea的插件,画图更高效。

PlantUML简介

PlantUML是一款开源的UML图绘制工具,支持通过文本来生成图形,使用起来非常高效。可以支持时序图、类图、对象图、活动图、思维导图、C4架构等图形的绘制。

安装

通过在IDEA中安装插件来使用PlantUML即可。

如何使用?

PlantUML支持时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图、定时图、Network、Wireframe、Archimate、Gantt、MindMap、WBS、JSON、YAML。

时序图

新建方式

步骤1、选择新建PlantUML File

步骤2、选择时序图

使用案例

以Oauth2的时序图为例。代码如下。

代码语言:javascript复制
@startuml
title Oauth2令牌颁发之授权码模式

actor User as user
participant "User Agent" as userAgent
participant "Client" as client
participant "Auth Login" as login
participant "Auth Server" as server

autonumber
user->userAgent:访问客户端
activate userAgent
userAgent->login:重定向到授权页面 clientId redirectUrl
activate login
login->server:用户名 密码 clientId redirectUrl
activate server
server-->login:返回授权码
login-->userAgent:重定向到redirectUrl 授权码code
deactivate login
userAgent->client:使用授权码code换取令牌
activate client
client->server:授权码code clientId clientSecret
server-->client:颁发访问令牌accessToken refreshToken
deactivate server
client-->userAgent:返回访问和刷新令牌
deactivate client
userAgent--> user:令牌颁发完成
deactivate userAgent
@enduml

效果如下。

  • 本时序图关键说明如下:
    • title可以用于指定UML图的标题;
    • 通过actor可以声明人形的参与者;
    • 通过participant可以声明普通类型的参与者;
    • 通过as可以给参与者取别名;
    • 通过->可以绘制参与者之间的关系,虚线箭头可以使用-->;
    • 在每个参与者关系后面,可以使用:给关系添加说明;
    • 通过autonumber我们可以给参与者关系自动添加序号;
    • 通过activate和deactivate可以指定参与者的生命线。
  • 这里还有个比较神奇的功能,当我们右键时序图时,可以生成一个在线访问的链接;

总结

以上只是简单介绍了下怎么使用及支持类型,更多强大的功能看官网(https://plantuml.com/zh/sitemap)。

小贴士

使用PlantUML的时候,常常会遇到流程过大,导致图片生成失败或者图片不清晰,怎么解决呢?告诉大家各小妙招。

首先在@startuml下添加下面代码,调整大小和精度。

代码语言:javascript复制
@startuml

skinparam dpi 750
scale 3500 width
scale 3000 height
skinparam wrapWidth 100

@enduml

然后打开设置。

最后修改限制大小即可。

0 人点赞