Plantuml之序列图语法介绍(十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:Plantuml之序列图语法介绍

2.PlantUML序列图介绍

  • 使用 PlantUML 创建序列图非常简单。这种易用性主要归功于其语法的用户友好性,既直观又易记。
    直观的语法:
  • 首先,用户非常欣赏 PlantUML 所采用的简单直观的语法。这种经过深思熟虑的设计意味着,即使是图表创建新手也能轻松快速地掌握基础知识。
  • 文本与图形的关联:
    -另一个显著特点是文本表示与图形输出之间非常相似。这种和谐的相关性可确保文本草稿准确地转化为图形图表,从而提供连贯、可预测的设计体验,在最终输出中不会出现令人不快的意外。
  • 高效的制作过程:
    文本和图形结果之间的紧密联系不仅简化了制作过程,还大大加快了制作速度。用户可从更简化的流程中获益,减少耗时的修改和调整要求。
  • 起草时的可视化:
    在起草文本的同时就能设想最终的图形结果,这是许多人认为非常宝贵的一项功能。它自然而然地促进了从初稿到最终呈现的顺利过渡,提高了工作效率,降低了出错的可能性。
  • 易于编辑和修改:
    重要的是,编辑现有图表的过程非常简便。由于图表是由文本生成的,用户会发现进行调整比使用图形工具修改图像要容易得多,也精确得多。
  • PlantUML 为创建和编辑序列图提供了一种简单明了、用户友好的方法,既能满足新手的需求,也能满足经验丰富的设计人员的需求。它巧妙地利用文本输入的简便性来制作具有视觉描述性和准确性的图表,从而使自己成为图表创建工具包中的必备工具。

3.基本的例子

序列-> 用于绘制两个 参与者之间的信息。 参与者不必明确声明。
要有一个点状的箭头,就用-->
也可以用<- 和<-- 。 这不会改变绘图,但可能提高可读性。 注意,这只适用于顺序图,其他图的规则不同。
Copy to clipboard
Edit online	
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication ResponseAlice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
@endumlWARNING This translation need to be updated. WARNING

4.声明参与者

如果使用关键字participant 来声明参与者,就可以对该参与者进行更多的控制。
声明的顺序将是(默认的)显示顺序。
使用这些其他的关键字来声明参与者,将改变参与者的表示形状。
actor(角色)
boundary(边界)
control(控制)
entity(实体)
database(数据库)
collections(集合)
queue(队列)@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

在这里插入图片描述

使用as 关键字重命名参与者。
你也可以改变 演员或参与者的背景颜色。@startuml
actor Bob #red
' The only difference between actor
'and participant is the drawing
participant Alice
participant "I have a really\nlong name" as L #99FF99
/' You can also declare:participant L as "I have a really\nlong name"  #99FF99'/Alice->Bob: Authentication Request
Bob->Alice: Authentication Response
Bob->L: Log transaction
@enduml

在这里插入图片描述

您可以使用order 关键字来定制参与者的显示顺序。
@startuml
participant Last order 30
participant Middle order 20
participant First order 10
@enduml

在这里插入图片描述

5.多行定义参与者

你可以对参与者使用多行定义。

@startuml
participant Participant [=Title----""打算""
]participant BobParticipant -> Bob
@enduml

在这里插入图片描述

6.在参与者中使用非字母

你可以使用引号来定义参与者。 而且你可以使用as 关键字来给这些参与者一个别名。

@startuml
Alice -> "Bob()" : Hello
"Bob()" -> "This is very\nlong" as Long
' You can also declare:
' "Bob()" -> Long as "This is very\nlong"
Long --> "Bob()" : ok
@enduml

在这里插入图片描述

7.给自己发消息

参与者可以给自己发信息
在这里插入图片描述

8.文本对齐

在这里插入图片描述

9.改变箭头样式

在这里插入图片描述

10.修改箭头颜色

在这里插入图片描述

11.对消息序列编号

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

12.页面标题、页眉和页脚

在这里插入图片描述

13.分割示意图

在这里插入图片描述

14.组合消息

在这里插入图片描述

15.次级分组标签

在这里插入图片描述

16.注释信息

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/580093.shtml

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

相关文章

springboot对接WebSocket实现消息推送

1.修改pom文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.增加配置WebSocketConfig.java import org.springframework.context.annotation.Bean…

实训4---硬件部分---点灯实验--按键控制灯实验--uart串口实验

目录 三、硬件部分 【1】点灯实验 【2】按键控制灯实验 【3】uart串口实验 核心代码&#xff1a; 实验视频 实现流水灯 uart串口实验 三、硬件部分 GPIO 【1】点灯实验 1.首先找到要点的灯&#xff0c;在板子上看到对应的白色丝印&#xff0c;比如绿灯D10.然后打开底板…

服务器数据恢复-raid6离线磁盘强制上线后分区打不开的数据恢复案例

服务器数据恢复环境&#xff1a; 服务器上有一组由12块硬盘组建的raid6磁盘阵列&#xff0c;raid6阵列上层有一个lun&#xff0c;映射到WINDOWS系统上使用&#xff0c;WINDOWS系统划分了一个GPT分区。 服务器故障&分析&#xff1a; 服务器在运行过程中突然无法访问。对服务…

什么是EMC工程师?

摘要: 今天来介绍一下什么是EMC工程师。一 EMC工程师起源要了解什么是EMC工程师&#xff0c;我们首先要了解什么是EMC。 今天来介绍一下什么是EMC工程师。 一 EMC工程师起源 要了解什么是EMC工程师&#xff0c;我们首先要了解什么是EMC。 工程师这个职业相信大家都耳熟能详…

1.决策树

目录 1. 什么是决策树? 2. 决策树的原理 2.1 如何构建决策树&#xff1f; 2.2 构建决策树的数据算法 2.2.1 信息熵 2.2.2 ID3算法 2.2.2.1 信息的定义 2.2.2.2 信息增益 2.2.2.3 ID3算法举例 2.2.2.4 ID3算法优缺点 2.2.3 C4.5算法 2.2.3.1 C4.5算法举例 2.2.4 CART算法 2.2.4…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)十六:统计报表模块相关功能实现

一、本章内容 本章使用Echarts及DataV实现常用图表、特殊图表、地图及综合图表等图表展示功能。 1. 详细课程地址: https://edu.csdn.net/course/detail/38183 2. 源码下载地址: 点击下载 二、界面预览 三、开发视频 3.1 B站视频地址: 基于VUE3+Layui从

Python——yolov8识别车牌2.0

目录 一、前言 二、关于项目UI 2.1、修改界面内容的文本 2.2、修改界面的图标和图片 三、项目修改地方 四、其他配置问题 一、前言 因为后续有许多兄弟说摄像头卡顿&#xff0c;我在之前那个MATS上面改一下就可以了&#xff0c;MAST项目&#xff1a;基于YOLOv8的多端车流检…

【leetcode100-019】【矩阵】螺旋矩阵

【题干】 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 【思路】 不难注意到&#xff0c;每进行一次转向&#xff0c;都有一行/列被输出&#xff08;并失效&#xff09;&#xff1b;既然已经失效&#xff0c;那我…

倒计时1天!WAVE SUMMIT+ 2023将开启,五大亮点抢鲜看!

10句话2分钟&#xff0c;挑战成功说服宿管阿姨开门&#xff0c;这个人群中的“显眼包”是一个接入文心大模型4.0游戏里的NPC&#xff0c;妥妥 “工具人”实锤&#xff5e; 尝试用AI一键自动识别好坏咖啡豆&#xff0c;看一眼便知好坏&#xff0c;真正“颜值即正义”&#xff0…

信息筑牢安全防线|隐私安全保护仍任重道远!

在日常生活中&#xff0c;就连小小一张快递面单可以显示很多关键信息&#xff0c;让不法分子盗取个人信息有机可乘。 今年2月1日&#xff0c;《快递电子运单》国家标准开始实施。根据国家邮政局数据&#xff0c;中国快递日均包裹量3.4亿余件&#xff0c;隐私面单日均使用量已超…

13.鸿蒙HarmonyOS App(JAVA)文本框组件按钮点击提示

13.鸿蒙HarmonyOS App(JAVA)文本框按钮点击提示 点击按钮触发组件状态&#xff0c;点击改变颜色 文本框组件&#xff0c;文本居中&#xff0c;斜体&#xff0c;左右对齐&#xff0c;点击显示提示信息 Button button(Button) findComponentById(ResourceTable.Id_btn_1); but…

git集成github(一):主要步骤

一、创建仓库 1、创建本地git仓库 在pcharm主界面顶栏&#xff0c;点击VCS&#xff0c;再点击创建git仓库&#xff0c;然后选择项目根路径&#xff0c;点击确认。这时&#xff0c;可以看到顶栏的VCS变成了git。 2、远程仓库下载到本地 打开一个远程仓库&#xff0c;点击code…

C# Winform教程(一):MD5加密

1、介绍 在C#中&#xff0c;MD5&#xff08;Message Digest Algorithm 5&#xff09;是一种常用的哈希函数&#xff0c;用于将任意长度的数据转换为固定长度的哈希值&#xff08;通常是128位&#xff09;。MD5广泛用于校验数据完整性、密码存储等领域。 2、示例 创建MD5加密…

元宇宙与VR虚拟现实的未来如何?

从科幻小说到商业现实 自从 Facebook年更名为 Meta 以来&#xff0c;关于元宇宙的热议不断&#xff0c;人们对虚拟世界的兴趣也重新燃起&#xff0c;因为尽管虚拟现实 (VR) 的概念由来已久&#xff0c;但该技术现在才开始真正得以应用。 定义元宇宙和虚拟现实 首先是 The Met…

【Java、Python】获取电脑当前网络IP进行位置获取(附源码)

我相信看到这篇博客的时候心里肯定是想解决自己的一个问题的&#xff0c;而这篇博客我就以简单快速的方式解决这些烦恼&#xff01; 一、获取当前IP 在Java中自带了一些自己的流对象来获取当前的IP地址&#xff0c;不多说我们直接上代码。 //获取当前网络ip地址 ipAddress Ine…

TCP并发服务器

一.进程实现TCP并发服务器 #include <func.h> #define PORT 6666 #define IP "192.168.124.42"void handler(int arm) {while(waitpid(-1,NULL,WNOHANG) > 0); } int main(int argc, const char *argv[]) {//接受17号信号signal(17, handler);i…

2014年第三届数学建模国际赛小美赛A题吹口哨解题全过程文档及程序

2014年第三届数学建模国际赛小美赛 A题 吹口哨 原题再现&#xff1a; 哨子是一种小装置&#xff0c;当空气被迫通过开口时会发出声音。哨声的巨大而引人注目&#xff0c;使其对警察和体育裁判来说至关重要。当救生员、迷路的露营者或犯罪受害者使用它们时&#xff0c;它们可以…

网站显示不安全警告怎么办?消除网站不安全警告超全指南

网站显示不安全警告怎么办&#xff1f;当用户访问你的网站&#xff0c;而您的网站没有部署SSL证书实现HTTPS加密时&#xff0c;网站就会显示不安全警告&#xff0c;这种警告&#xff0c;不仅有可能阻止用户继续浏览网站&#xff0c;影响网站声誉&#xff0c;还有可能影响网站在…

阿赵UE学习笔记——5、创建关卡元素

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   之前介绍了从空白模板创建关卡&#xff0c;接下来尝试着在这个空白的世界里面&#xff0c;创建一些内容。 一、创建地面 1、创建面片作为地面 创建——形状——平面&#xff0c;可以创建一个面片 在细节面板设置合适的…

分布式锁竟然这么简单?(荣耀典藏版)

大家好&#xff0c;我是小月夜枫&#xff0c;作为一个后台开发&#xff0c;不管是工作还是面试中&#xff0c;分布式一直是一个让人又爱又恨的话题。它如同一座神秘的迷宫&#xff0c;时而让你迷失方向&#xff0c;时而又为你揭示出令人惊叹的宝藏。 今天&#xff0c;让我们来…