使用 PlantUML 绘制时序图

目录

一、简介

二、安装

1.1 安装插件到PyCharm

2.2 验证

2.2.1 插件检查是否安装

2.2.2 新建PlantUML文件


一、简介

Github地址:https://github.com/plantuml/plantuml

官方网站:Sequence Diagram syntax and features

在线使用:PlantUMLServer

PlantUML中文文档:PlantUML_Language_Reference_Guide_zh.pdf

链接: https://pan.baidu.com/s/1QDCnQUheO0pIrbtUzmY97A 提取码: n2gd

PlantUML 是一个开源项目,支持快速绘制:

• 时序图• 用例图 • 类图 • 对象图 • 活动图 • 组件图 • 部署图 • 状态图 • 定时图

同时还支持以下非 UML 图:

• JSON Data
• YAML Data
• Network diagram (nwdiag) • 线框图形界面
• 架构图
• 规范和描述语言 (SDL)
• Ditaa diagram
• 甘特图
• MindMap diagram
• Work Breakdown Structure diagram
• 以 AsciiMath 或 JLaTeXMath 符号的数学公式 • Entity Relationship diagram

通过简单直观的语言来定义这些示意图。

二、安装

一般的IDE都支持PlantUML插件,比如:PyCharm和VScode,下面以PyCharm安装为例说明:

1.1 安装插件到PyCharm

假设已经安装好PyCharm,插件地址:PlantUML integration - IntelliJ IDEs Plugin | Marketplace

进入插件页面后,选择当前编译器版本;

点击后网页右下角出现提示:

这时回到 Pycharm 内,会出现插件安装弹框,点击 OK

2.2 验证

2.2.1 插件检查是否安装

预期在插件的安装栏内就会出现该插件

2.2.2 新建PlantUML文件

Ps:最好重启下PyCharm,新建PlatUML文件测试,默认文件名以.puml结尾

(1)简单的一些用法

demo1.puml,代码如下:

@startuml
'https://plantuml.com/sequence-diagram
autonumber
用户 -> 认证中心: 登录操作
认证中心 -> 缓存: 存放(key=token+ip,value=token)token

用户 <- 认证中心: 认证成功返回token
用户 -> 认证中心: 下次访问头部携带token认证
认证中心 <- 缓存: key=token+ip获取token
其它服务 <-  认证中心: 存在且校验成功则跳转到用户请求的其他服务
其他服务 -> 用户: 信息
@enduml

 效果如下图:

 (2)高级的一些用法,如声明参与者

使用 participant 关键字来声明一个参与者可以使你对参与者做出更多控制。 关键字 participant 用于改变参与者的先后顺序。

你也可以使用下面这些关键字来声明参与者,这会改变参与者的外观:

• actor(角色)
• boundary(边界)
• control(控制)
• entity(实体)
• database(数据库)
• collections(集合)
• queue(队列)

demo2.puml,代码如下:

@startuml
participant participant as Foo
actor       actor       as Foo1
boundary    boundary    as Foo2
control     control     as Foo3
entity      entity      as Foo4
database    database    as Foo5
collections collections as Foo6
queue       queue       as Foo7
Foo -> Foo1 : To actor
Foo -> Foo2 : To boundary
Foo -> Foo3 : To control
Foo -> Foo4 : To entity
Foo -> Foo5 : To database
Foo -> Foo6 : To collections
Foo -> Foo7 : To queue
@enduml

 效果如下图:

(3)其它风格

demo3.puml,代码如下:

@startuml
skinparam backgroundColor #EEEBDC
'skinparam handwritten true
skinparam sequence {
ArrowColor DeepSkyBlue
ActorBorderColor DeepSkyBlue
LifeLineBorderColor blue
LifeLineBackgroundColor #A9DCDF
ParticipantBorderColor DeepSkyBlue
ParticipantBackgroundColor DodgerBlue
ParticipantFontName Impact
ParticipantFontSize 17
ParticipantFontColor #A9DCDF
ActorBackgroundColor aqua
ActorFontColor DeepSkyBlue
ActorFontSize 17
ActorFontName Aapex
}
actor         用户        as people
participant   群或服务号  as group
participant   接入层     as group_1
participant   Test配置中心     as test
participant   测试能力或平台     as platform
people -> group: 执行测试任务启动命令
group  -> group_1: 机器人接收请求
test  <- group_1: 解析数据及查询任务配置
group_1  <-- test: 任务配置信息
group_1  -> platform: 调用测试服务执行测试
group_1  <-- platform: 处理结果消息
group_1  --> group: 自定义通知格式渲染
@enduml

 效果如下图: 

 

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rs勿忘初心

您的鼓励将是我的最大创动原动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值