当前位置: 首页 > news >正文

PlantUML语法(全)及使用教程-时序图

目录

    • 1. 参与者
      • 1.1、参与者说明
      • 1.2、背景色
      • 1.3、参与者顺序
    • 2. 消息和箭头
      • 2.1、 文本对其方式
      • 2.2、响应信息显示在箭头下面
      • 2.3、箭头设置
      • 2.4、修改箭头颜色
      • 2.5、对消息排序
    • 3. 页面标题、眉角、页脚
    • 4. 分割页面
    • 5. 生命线
    • 6. 填充区设置
    • 7. 注释
    • 8. 移除脚注
    • 9. 组合信息
      • 9.1、alt/else/end
      • 9.2、opt 选择
      • 9.3、loop/end 循环
      • 9.4、par/end 并行


1. 参与者

1.1、参与者说明

@startuml participantactor 角色
boundary 边界
control 控制
entity 实体
database 数据库
collections 集合
participant 流程框
queue 队列角色 -> 边界 : To boundary
角色 -> 控制 : To control
角色 -> 实体 : To entity
角色 -> 数据库 : To database
角色 -> 集合 : To collections
角色 -> 流程框 : To participant
角色 -> 队列: To queue@enduml

在这里插入图片描述

1.2、背景色

使用 #颜色英语 关键字来定制参与者的颜色

@startuml participantactor 角色 #yellow
boundary 边界 #red
control 控制 #blue
entity 实体 #gray
database 数据库 #pink
collections 集合 #orange
participant 流程框 #brown
queue 队列角色 --> 边界 : To boundary
角色 -> 控制 : To control
角色 -> 实体 : To entity
角色 -> 数据库 : To database
角色 -> 集合 : To collections
角色 -> 流程框 : To participant
角色 -> 队列 : To queue
@enduml

在这里插入图片描述

1.3、参与者顺序

使用 order 关键字来定制参与者的显示顺序

@startuml participantactor        角色    order 0 #yellow
boundary     边界    order 2 #red
control      控制    order 1 #blue
entity       实体    order 5 #gray
database     数据库  order 4 #pink
collections  集合    order 6 #orange
participant  流程框  order 7 #brown
queue        队列    order 8角色 --> 边界 : To boundary
角色 -> 控制 : To control
角色 -> 实体 : To entity
角色 -> 数据库 : To database
角色 -> 集合 : To collections
角色 -> 流程框 : To participant
角色 -> 队列 : To queue
@enduml

在这里插入图片描述

2. 消息和箭头

2.1、 文本对其方式

箭头上的文本对齐可以用 skinparam sequenceMessageAlign,后接参数left,right或center
!!!默认左对齐!!!
在这里插入图片描述

2.2、响应信息显示在箭头下面

skinparam responseMessageBelowArrow true命令,让响应信息显示在箭头下面。

在这里插入图片描述

2.3、箭头设置

@startuml participant
participant        角色    order 0 #yellow
control      控制    order 1 #blue
participant  流程框  order 7 #brown角色 -> 控制  : 普通箭头(加黑)
角色 ->> 控制 : 普通箭头(不加黑)
角色 -\ 控制  : 普通箭头(上边加黑)
角色 -/ 控制  : 普通箭头(下边加黑)
角色 ->o 控制 : 在箭头后面加一个o
角色 <-> 控制 : 双向箭头流程框 -->角色 :      响应 虚线带有箭头(加黑)
流程框 -->>角色 :     响应 虚线带有箭头(不加黑)
流程框 <-->角色 :     箭头 双向箭头(不加黑)
流程框 <<-->> 角色 :  箭头 双线箭头(不加黑)
@enduml

在这里插入图片描述

2.4、修改箭头颜色

在这里插入图片描述

2.5、对消息排序

1. autonumber 会自动的对信息进步编号;
2. autonumber xx 从指定的数字 xx开始编号;
3. autonumber xx zz 从指定数字 xx 开始编号,每次步长为 zz
4. autonumber stop 暂停使用编号
在这里插入图片描述

3. 页面标题、眉角、页脚

header 页眉毛
footer 页脚 如果想用页码,则加上 %page% of %lastpage%
title 页面标题

在这里插入图片描述

4. 分割页面

newpage 会产生新的一幅图,并且上文提到的 title 只能为第一页写标题,无论你写在哪里,都只能为第一页写标题:

在这里插入图片描述

5. 生命线

  1. ++ 激活目标(可选择在后面加上#color)
  2. – 撤销激活源
  3. ** 创建目标实例
  4. !! 摧毁目标实例
  5. activate 生命活动激活
  6. deactivate 生命活动撤销
  7. destroy 代表生命线摧毁
    在这里插入图片描述

6. 填充区设置

skinparam ParticipantPadding 数值 指定参与者的外边距
skinparam BoxPadding 数值 指定 box 的外边距
skinparam sequenceMessageAlign center 文字对其方式
skinparam handwritten true 开启手写风格
skinparam backgroundColor #颜色RGB 指定背景填充颜色

@startumlskinparam sequenceMessageAlign center
skinparam BoxPadding 10
skinparam ParticipantPadding 10box 'company'
title 页面标题
autonumberparticipant boss
participant dmjxsyactivate boss
boss -> dmjxsy ++  #red :  dmjxsy干嘛呢
dmjxsy -> boss :  在家里
dmjxsy -> dad ++ : 在家吗
deactivate dmjxsy
end boxbox 'family'
autonumber
participant dad
participant momdad -> mom ++  :  吃饭了吗
mom -> dad -- : 还没有
end box
@enduml

在这里插入图片描述
在这里插入图片描述

7. 注释

  1. 在左边添加注释 note left :
  2. 在右边添加注释 note right :
  3. 多行注释,note left /right 多行注释 end note
  4. 在特定参与者添加注释 note left of,note right of或note over
    在这里插入图片描述

8. 移除脚注

hide footbox
在这里插入图片描述

9. 组合信息

序号关键字备注
1alt/else/endif…else
2opt可选项
3loop/end循环
4par/end并行
5break/end中断
6critical/end条件
7group分组

9.1、alt/else/end

在这里插入图片描述

9.2、opt 选择

在这里插入图片描述

9.3、loop/end 循环

在这里插入图片描述

9.4、par/end 并行

在这里插入图片描述

http://www.lryc.cn/news/252458.html

相关文章:

  • 231204 刷题日报
  • PTA 7-229 sdut-C语言实验- 排序
  • 原生横向滚动条 吸附 页面底部
  • 1+x网络系统建设与运维(中级)-练习3
  • 知识图谱07——图片中表格开源ocr识别
  • 每日一练2023.12.4——正整数【PTA】
  • golang之net/http模块学习
  • Python中format函数用法
  • Android 断点调试
  • 对抗神经网络 CGAN实战详解 完整数据代码可直接运行
  • LeetCode417. Pacific Atlantic Water Flow
  • Python字符串模糊匹配工具:TheFuzz 库详解
  • Golang中WebSocket和WSS的支持
  • 亚马逊云科技re:Invent大会,助力安全构建规模化生成式AI应用
  • 价差后的几种方向,澳福如何操作才能盈利
  • 【Java】类和对象之超级详细的总结!!!
  • 机器学习的复习笔记3-回归的细谈
  • Git常用命令#切换分支
  • 【qml入门教程系列】:qml property使用介绍
  • pbootcms建站
  • Spring的事务传播行为
  • 04_网络编程
  • 【五分钟】熟练使用numpy.cumsum()函数(干货!!!)
  • 由11月27日滴滴崩溃到近两个月国内互联网产品接二连三崩溃引发的感想
  • Python按要求从多个txt文本中提取指定数据
  • DFT新手教程:VASP中ISIF取值设置
  • pytest自动化框架之allure测试报告的用例描述设置
  • 在编程中遇到的问题总结
  • 【数据库设计和SQL基础语法】--SQL语言概述--SQL的基本结构和语法规则(二)
  • easyexcel多级表头导出各级设置样式(继承HorizontalCellStyleStrategy实现)