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

【PlantUML】- 时序图

写在前面

  本篇文章,我们来介绍一下PlantUML的时序图。这个相对类图来讲,比较简单,也不需要布局。读完文章,相信你就能实际操作了。


目录

  • 写在前面
  • 一、基本概念
  • 二、具体步骤
    • 1.环境说明
    • 2.元素
    • 3.语法
    • 4.示例
  • 三、参考资料
  • 写在后面
  • 系列文章


一、基本概念

时序图,是我们梳理复杂系统交互或设计的一大法宝。概念不多解释,直接上示例。


二、具体步骤

1.环境说明

名称说明
WindowsWindows10
Intellij IDEA版本Intellij IDEA 2019.2.3(Ultimate Edition)
PlantUML IntegrationIDEA插件 2.23.0

2.元素

以下为PlantUML脚本,

@startuml
title 时序图的元素participant ac << (A,#A8DEDF) AbstractClass >>
participant interface << (I,#B4A7E3) Interface >>
participant class << (C,#ADD1B2) Class >>participant Participant as P
participant "()非字母形式" as P2actor       Actor       as A #red
boundary    Boundary    as B #blue
control     Control     as C
database    Database    as D
entity      Entity      as E order 3
collections Collections as C2 order 2
queue       Queue       as Q order 1
@enduml

效果,
在这里插入图片描述

3.语法

以下为PlantUML脚本,

@startuml
skinparam style strictuml
skinparam sequenceArrowThickness 2
skinparam roundcorner 20
skinparam sequenceParticipant underline
autoactivate ontitle 时序图语法
actor Userparticipant "First Class" as A
note over A: 这是对First Class的注释participant "Second Class" as B
note over B: 这是对Second Class的注释participant "third Class" as C
note across: 这是跨越所有\n参与者的注释participant "Last Class" as D
hnote across: 这是跨越所有\n参与者的注释== 第一段逻辑 ==
A -> B: A请求B
note right这是对A->B请求的注释
end noteB -> C: B请求C
C -> C: C请求自身
return successC --> B: C响应B== 第二段逻辑 ==
B -> D: B请求D
D -> D: D请求自身
return successD --> A: D响应A@enduml

效果,
在这里插入图片描述

4.示例

以下为PlantUML脚本,

@startuml
skinparam style strictuml
autoactivate on
autonumbertitle 时序图示例==阶段1==
autonumber 1
Alice -> Bob: request
'Bob --> Alice:  Response
return response==阶段2==
autonumber 1alt 场景1Alice -> Bob: requestAlice <-- Bob: response
endalt#Gold #LightBlue 场景2
autonumber 1Alice -> Bob: requestelse 场景2.1Alice <-- Bob: responseAlice -> Bob: requestAlice <-- Bob: response
'    return responseelse #Pink 场景2.2loop 1000次Alice -> Bob: requestreturn responseend
endgroup 自定义
autonumberAlice -> Bob: requestAlice <-- Bob: response
end@enduml

效果,
在这里插入图片描述

最后,分享以下个人比较喜欢的几种颜色,用于标识重要节点或流程。

#Lime, #Cyan, #Silver, #Magenta, #EEE, #FFBBBB, #DarkSalmon

至此,你就可以开启时序图的征程了~


三、参考资料

PlantUML 序列图


写在后面

  如果本文内容对您有价值或者有启发的话,欢迎点赞、关注、评论和转发。您的反馈和陪伴将促进我们共同进步和成长。


系列文章

【PlantUML】-类图
【PlantUML】-布局
【IDEA插件】- PlantUML integration-Can‘t find Graphviz

相关文章:

【PlantUML】- 时序图

写在前面 本篇文章&#xff0c;我们来介绍一下PlantUML的时序图。这个相对类图来讲&#xff0c;比较简单&#xff0c;也不需要布局。读完文章&#xff0c;相信你就能实际操作了。 目录 写在前面一、基本概念二、具体步骤1.环境说明2.元素3.语法4.示例 三、参考资料写在后面系列…...

openai自定义API操作 API (openai.custom):OpenAI API 实现电商平台的智能库存管理

在电商行业中&#xff0c;库存管理是至关重要的环节之一。一个高效的库存管理系统可以确保商品的正常供应&#xff0c;避免缺货或积压现象&#xff0c;从而提高销售效率和客户满意度。然而&#xff0c;传统的库存管理方式往往存在一些问题&#xff0c;如数据不准确、响应不及时…...

宠物服务新篇章:预约小程序带来的变革

随着科技的进步和互联网的普及&#xff0c;小程序已经成为了一种非常受欢迎的应用形式。对于宠物门店来说&#xff0c;开发一个预约小程序可以大大提高客户体验和管理效率。下面是一份宠物门店预约小程序的开发指南。 浏览器搜索乔拓云&#xff0c;登录乔拓云网后台&#xff0c…...

谷歌最新医学领域LLM大模型:AMIE

2024年1月11日Google 研究院发布最新医疗大模型AMIE&#xff1a;用于诊断医学推理和对话的研究人工智能系统。 文章链接&#xff1a;Articulate Medical Intelligence Explorer (AMIE) giuthub&#xff1a;目前代码未开源 关于大模型之前有过一篇总结&#xff1a;大语言模型(L…...

路由器02_静态路由DHCP

一、静态路由 &#xff11;、静态路由特点 由管理员手工配置&#xff0c;是单向的&#xff0c;缺乏灵活性 &#xff12;、默认路由 默认路由是一种比较特殊静态路由&#xff0c;一般用于末节&#xff08;末梢&#xff09;网络&#xff0c;直接指定目标为任何地方 二、静态…...

Mysql 递归查询所有子节点,hutool树形结构封装

工作中经常会有像目录&#xff0c;部门的多级结构&#xff0c;记录一下查询自己点的方式&#xff0c;留着复制粘贴 方式1&#xff1a; SELECT* FROMcus_department WHEREFIND_IN_SET( id, pid ) > 0;UNIONSELECTcd.* FROM( SELECT * FROM cus_department WHERE pid IS …...

【代码随想录04】24. 两两交换链表中的节点 19. 删除链表的倒数第 N 个结点 面试题 02.07. 链表相交 142. 环形链表 II

24. 两两交换链表中的节点 题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 做题思路 可以设置虚拟头结点cur和画图…...

Pandas实战100例 | 案例 25: 计算相关系数

案例 25: 计算相关系数 知识点讲解 在统计分析中&#xff0c;了解变量之间的关系是非常重要的。相关系数是衡量变量之间线性相关程度的一种方法。Pandas 提供了 corr 方法来计算列之间的相关系数。 相关系数: 相关系数的值范围在 -1 到 1 之间。接近 1 表示正相关&#xff0…...

vue文本识别“\n“换行问题的解决方式

一、通过 css属性 实现 设置 white-space: pre-wrap; 代码如下&#xff1a; <div style"white-space: pre-wrap;">({含有\n的字符串}}</div> 扩展&#xff1a; white-space属性值&#xff1a; 值描述normal默认。空白会被浏览器忽略。pre空白会被浏…...

【QT-UI】

1.使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), …...

MyBatisPlus逆向工程

依赖 <!--Mybatis-plus逆向生成器依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency><!--Mybatis-plus逆向生成器的Freema…...

创建ESP32开源WiFi MAC(介质访问控制)层

内置WiFi 内置的 WiFi.h 库将使我们能够轻松使用 ESP32 板的 WiFi 功能。 连接到 Wi-Fi 接入点&#xff1a; #include <WiFi.h>const char* ssid "yourNetworkName"; const char* password "yourNetworkPassword";void setup(){Serial.begin(11…...

LeetCode 2723. 两个 Promise 对象相加

给定两个 promise 对象 promise1 和 promise2&#xff0c;返回一个新的 promise。promise1 和 promise2 都会被解析为一个数字。返回的 Promise 应该解析为这两个数字的和。 示例 1&#xff1a; 输入&#xff1a; promise1 new Promise(resolve > setTimeout(() > res…...

Flutter--常用技术文档

配置 清华大学flutter镜像 export PUB_HOSTED_URLhttps://mirrors.tuna.tsinghua.edu.cn/dart-pub export FLUTTER_STORAGE_BASE_URLhttps://mirrors.tuna.tsinghua.edu.cn/flutter 社区镜象 export PUB_HOSTED_URLhttps://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_UR…...

行分类问题

行分类问题可以应用于多个领域和问题&#xff0c;其中一些示例包括&#xff1a; 文本分类&#xff1a; 在自然语言处理中&#xff0c;可以将文本分为不同的类别&#xff0c;例如情感分析、主题分类等。每个文本可以被视为一个“行”&#xff0c;而分类任务就是对每个行进行分类…...

java常见面试题:如何使用Java进行XML解析和生成?

在Java中&#xff0c;有几种不同的方式可以进行XML的解析和生成。以下是使用Java进行XML解析和生成的基本步骤&#xff1a; 解析XML&#xff1a; DOM (Document Object Model): 这是最常用的解析方法。它将整个XML文档加载到内存中&#xff0c;并允许你通过编程方式遍历和操作它…...

【LabVIEW FPGA入门】LabVIEW FPGA实现I2S解码器

该示例演示了如何使用 LabVIEW FPGA 解码 IS 信号。该代码可用于大多数支持高速数字输入的LabVIEW FPGA 目标&#xff08;例如R 系列、CompactRIO&#xff09;。IS 用于对系统和组件内的数字音频数据进行编码。例如&#xff0c;MP3 播放器或 DVD 播放器内部的数字音频通常使用 …...

linux 安装sipp

sudo apt-get install libnet1-dev libpcap0.8-dev openssl libssl-dev 从 sipp - Browse /sipp/3.2 at SourceForge.net 下载最新版的sipp.svn.tar.gz&#xff0c;解压之后就得到一个rpm文件 tar -zxvf sipp.svn.tar.gz cd sipp make pcapplay_ossl...

c++最值查找

目录 min和max函数 min_element和max_element 例 nth_element函数 例 例题 题目描述 输入描述 输出描述 解 min和max函数 只能传入两个值或一个列表 时间复杂度为O(1),数组O(n)&#xff0c;n为元素个数 min_element和max_element min_element(st,ed)返回地址[st,…...

xtu-c语言考试复习-2

1223 确实写不出&#xff0c;数据远超过64位&#xff0c;难道用数组存吗&#xff0c;但是不好计算&#xff0c;想到的思路是取模&#xff0c;一边计算&#xff0c;一边取模&#xff0c;就不会超过数据范围&#xff0c;但是数学原理没懂&#xff0c;所以做不出来 看了下自己以…...

MySQL决战:MySQL数据导入导出

目录 前言 一.navact数据导入导出&#xff08;第三方工具&#xff09; 1.导入数据 2.数据导出 二. mysqldump命令导入导出数据 1.mysqldump介绍 2.数据导出 3.数据导入 三.load data file进行数据导入导出&#xff08;只限于单表&#xff09; 1.数据导出 增加导出权…...

Unity 面试篇|(二)Unity基础篇 【全面总结 | 持续更新】

目录 1.Unity3d脚本从唤醒到销毁有着一套比较完整的生命周期&#xff0c;列出系统自带的几个重要的方法。2.Unity3D中的碰撞器和触发器的区别&#xff1f;3.物体发生碰撞的必要条件&#xff1f;4.简述Unity3D支持的作为脚本的语言的名称&#xff1f;5. .Net与Mono的关系&#x…...

TIDB的忘了root用户密码和数据库密码解决办法

方法一&#xff1a; 1、修改配置文件重启tidb&#xff0c;无密码登录修改root密码 找到配置文件 tidb.toml &#xff0c;在[security] 作用域下增加如下配置&#xff1a; [security] skip-grant-tabletrue 重启tidb&#xff1a; sh run_tidb.sh 2、重启后&#xff0c;就可以无密…...

QT基础篇(4)QT5基本对话框

1.标准文件对话框类 在QT5中&#xff0c;可以使用QFileDialog类来创建标准文件对话框。QFileDialog类提供了一些方法和属性&#xff0c;用于选择文件和目录。 常用的方法和属性如下&#xff1a; getOpenFileName()&#xff1a;打开文件对话框&#xff0c;选择一个文件。 get…...

Springboot项目Nacos做配置中心

Springboot项目Nacos做配置中心 说明安装2.Springboot整合使用Nacos3.问题处理 说明 文档参考 Nacos Spring Boot 安装 查看nacos镜像 docker search nacos 下载镜像 docker pull nacos/nacos-server启动naocs镜像 docker run --env MODEstandalone --name nacos -d -p 8…...

SpringSecurity入门demo(三)多用户身份认证

WebSecurityConfigurerAdapter配置文件在 configure(AuthenticationManagerBuilder auth) 方法中完成身份认证。前面的demo都只有一个用户&#xff0c;security中使用UserDetailsService做为用户数据源 &#xff0c;所以可以实现UserDetailsService 接口来自定义用户。实现方…...

【设计模式-02】Strategy策略模式及应用场景

一、参考资料 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…...

ssh远程登陆

一、ssh远程登陆的概念 SSH&#xff08;Secure Shell&#xff09;是一种安全通道协议&#xff0c;主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理&#xff0c;其中包括用户登录时输入的用户口令&#xff0c;SSH 为建立在应用层…...

go如何终止多个for select循环嵌套

空山新雨后&#xff0c;天气晚来秋。 目录 分类说明 总结 分类说明 for select循环嵌套&#xff0c;如何终止&#xff1f;上代码&#xff1a; stop : make(chan struct{})go func() {for i : 1; i < 3; i {fmt.Println("writed ", i)time.Sleep(time.Second * …...

nginx(1.13.7)首次安装出现:【make: *** 没有规则可以创建“default”需要的目标“build” 问题】解决措施

目录 前言&#xff1a; 一.龙蜥&#xff08;Anolis&#xff09;操作系统上安装GCC 1.安装gcc 2.检验安装 二.安装出现 make&#xff1a; *** 没有规则可以创建“default”需要的目标“build” 问题 1.解压安装nginx 2.安装出现问题展示 3.解决措施 4.重新编译进行安装 5…...