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.hqwc.cn/news/225215.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python pyinstaller打包exe最完整教程

目录 1 简介 2 安装 3 原理和打包效果 3.1 原理概述 3.2 搜索模块 3.3 打包效果概述 3.4 打包成单个文件夹 优点 缺点 3.5 打包成单个exe 优点 缺点 4 打包 4.1 基本语法 4.2 参数总览 位置参数 可选参数 4.3 隐藏控制台窗口 4.4 资源嵌入exe 4.5 更改图标…

nginx配置相关应用服务

1、无ssl证书的conf文件 server {listen 80;server_name test.domain.com;root html;index index.html index.htm;location / {proxy_http_version 1.1;proxy_set_header Connection "";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_…

CCC联盟数字钥匙(一)——UWB MAC概述

本文在前面已经介绍了相关UWB的PHY之后&#xff0c;重点介绍数字钥匙&#xff08;Digital Key&#xff09;中关于MAC层的相关实现规范。由于MAC层相应涉及内容比较多&#xff0c;本文首先从介绍UWB MAC的整体框架&#xff0c;后续陆续介绍相关的网络、协议等内容。 1、UWB MAC架…

pip安装PIL模块失败 No matching distribution found for PIL

言简意赅&#xff0c;我在安装PIL模块的时候报错信息如下&#xff1a; pip install PIL Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple ERROR: Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distr…

CH58x-BLE 程序阅读笔记

CH58x-BLE 程序阅读笔记 1. 广播1.1 广播类型设置1.2 广播数据长度 1. 广播 1.1 广播类型设置 1.2 广播数据长度 1&#xff09; GAP-广播数据&#xff08;最大大小31字节&#xff0c;但最好保持较短以节省广告时的电量&#xff09; 31个字节包含了 length data type&a…

SpringBoot自动配置注入Bean工具autoconfigure

依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency> yml配置 student:red: com.ma.config.MinIOConfigProperties spring.factories org.springframework.…

MySQL用得好好的,为何要转ES?

MySQL是一种关系型数据库&#xff0c;它可以高效地存储和查询结构化的数据。 ES是一种分布式搜索引擎&#xff0c;它可以快速地对海量的非结构化或半结构化的数据进行全文检索和分析。 MySQL 和 ES 的数据存储方式也不同。MySQL 中的数据通常是以关系型表的形式存储在磁盘上&…

四招心理博弈术,让别人不敢欺负你,敬你三分

教你四招心理博弈术&#xff0c;让别人不敢欺负你&#xff0c;无论在职场中还是跟朋友交往中&#xff0c;为什么总是有人敢欺负你呢&#xff0c;是因为你不懂得人性博弈。其本质原因&#xff0c;是你做人没有边界感&#xff0c;或者没有原则&#xff0c;即便你有原则&#xff0…

ecology主表checkBox按钮给明细表浏览按钮赋值

需求&#xff1a; 通过上面图片红框中的单选按钮&#xff0c;将对应的负责人赋值到明细表的负责人位置。 核心代码&#xff1a; <script> jQuery(document).ready(function(){WfForm.bindFieldChangeEvent("field17616", function(obj,id,value){ SelectVa…

Java毕业设计174例,包含部署视频

1、java毕业设计——JAVA医药管理系统设计(论文源代码).zip 2、java毕业设计——Java游戏设计打飞机程序(源代码论文).zip 3、java毕业设计——java银行帐目管理系统(源代码论文).zip 4、java毕业设计——java一个简单的即时通讯工具的设计与开发(源代码论文).zip 5、java毕业设…

智慧工地管理系统加快推进工程建设项目全生命周期数字化

智慧工地管系统是一种利用人工智能和物联网技术来监测和管理建筑工地的系统。它可以通过感知设备、数据处理和分析、智能控制等技术手段&#xff0c;实现对工地施工、设备状态、人员安全等方面的实时监控和管理。 智慧工地以物联网、移动互联网技术为基础&#xff0c;充分应用大…

深入了解MySQL数据库管理与应用

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 当涉及MySQL数据库管理与应用时&#xff0c;深…