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

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

相关文章

Django开发1

Django开发1 初识Django1.安装django2.创建项目2.1 在终端2.2 Pycharm 3. 创建app4.快速上手4.1 再写一个页面4.2 templates模板4.3 静态文件4.3.1 static目录4.3.2 引用静态文件 5.模板语法//Django开发案例&#xff1a;联通新闻中心6.请求和响应案例&#xff1a;用户登录7.数…

蓝牙物联网在智能家居中的应用前景

物联网智能家居系统是应用物联网技术&#xff0c;在传统家居环境下将各种零散无序的电器整合成统一整体&#xff0c;实现家电的全程自动控制&#xff0c;满足用户高效管理需求的一种新型家居模式。 其主要的子系统有家居感知系统、家庭网络系统、智能家居控制管理系统等&#x…

JavaOOP篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、Hashcode的作用二、Java的四种引用,强弱软虚三、Java创建对象有几种方式?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码…

vivado 时序异常

时序异常 关于定时例外 当逻辑的行为方式未被正确计时时&#xff0c;需要计时异常违约任何时候都必须使用计时异常命令来处理计时不同地&#xff08;例如&#xff0c;对于每隔一个时钟周期仅捕获结果的逻辑设计&#xff09;。 AMD Vivado™IIDE支持下表中显示的定时异常命令…

浅谈Redis分布式锁(中)

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 我们在不久前介绍了Spr…

基于电商场景的高并发RocketMQ实战-NameServer内核原理剖析、Broker 主从架构与集群模式原理分析

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 【11来了】文章导读地址&#xff1a;点击查看文章导读&#xff01; &#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f3…

线性回归简介

线性回归简介 1、情景描述2、线性回归 1、情景描述 假设&#xff0c;我们现在有这么一张图&#xff1a; 其中&#xff0c;横坐标x表示房子的面积&#xff0c;纵坐标y表示房价。我们猜想x与y之间存在线性关系&#xff1a; y k x b ykxb ykxb 现在&#xff0c;思考一个问题&…

Redis数据一致解决方案

文章目录 前言技术积累查询缓存业务流程更新缓存业务流程 更新缓存问题解决方案写在最后 前言 当前的应用服务很多都有着高并发的业务场景&#xff0c;对于高并发的解决方案一般会用到缓存来降低数据库压力&#xff0c;并且还能够提高系统性能减少请求耗时&#xff0c;比如我们…

Pytorch项目,肺癌检测项目之四

# 安装图像处理 的两个包 simpleITK 和 ipyvolume # 安装缓存相关的两个包 diskcache 和 cassandra-driver import gzip from diskcache import FanoutCache, Disk from cassandra.cqltypes import BytesType from diskcache import FanoutCache,Disk,core from diskcache…

c语言的练习---BCD解密

#继续源于c语言翁恺先生 一.分析 初看这道题的时候&#xff0c;可能很多人就想选择放弃&#xff0c;但这道题实在不是考察我们对于编码的能力&#xff1b;而是我们的数学能力。 就拿它的输入样例---18&#xff0c;来举例。 我们来看---在十进制中&#xff0c;是18D&#xf…

论文笔记--Learning Political Polarization on Social Media Using Neural Networks

论文笔记--Learning Political Polarization on Social Media Using Neural Networks 1. 文章简介2. 文章概括3. 相关工作4. 文章重点技术4.1 Collection of posts4.1.1 数据下载4.1.2 数据预处理4.1.3 统计显著性分析 4.2 Classification of Posts4.3 Polarization of users 5…

C++ vector的模拟实现

一 vector的大致框架 1.1 框架 vector的成员变量不再是我们熟悉的size&#xff0c;capacity&#xff0c;而是变成了功能一致的三个指针&#xff1a;_start,_finish,_endofstorage&#xff0c;三个指针的作用如下&#xff1a; 同时&#xff0c;因为其本身指针的特性&#xff0c…