Plantuml之状态图语法介绍(二十一)

news2024/10/2 1:39:38

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

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

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

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

欢迎关注Android系统攻城狮

1.前言

本篇目的:Plantuml之状态图语法介绍

2.PlantUML介绍

  • PlantUML是一种开放源码的建模语言与工具,它可以帮助用户轻松地创建各种类型的UML图表,如时序图、用例图、类图、活动图等。该软件基于文本描述,用户可以使用简单的文本语法来描述图表的结构和关系,而无需手动绘制图形。这种基于文本的建模方法使得用户能够更专注于设计本身,而不是图形绘制的细节。

  • PlantUML支持多种输出格式,包括PNG、SVG、PDF等,同时也支持集成到各种文档中,如Markdown、HTML、Word等。这使得用户能够轻松地将生成的图表嵌入到不同类型的文档或网页中,从而方便地与团队成员或客户分享和沟通设计想法。

  • 除了UML图表外,PlantUML还支持其他类型的图表,如流程图、网络图、组织结构图等,使得它成为一个多功能的建模工具。用户可以利用PlantUML的丰富语法和功能来快速创建各种图表,从而提高工作效率和沟通效果。

  • PlantUML的开源特性使得用户可以自由地使用和定制该工具,同时也能够参与社区的贡献和交流。该软件拥有活跃的开发和用户社区,用户可以从中获取支持、分享经验,并参与软件的改进和发展。

  • PlantUML是一个强大而灵活的建模工具,它通过简单的文本描述和丰富的功能特性,帮助用户更轻松地创建、分享和交流各种类型的图表设计,从而提升团队协作和设计效率。

2.PlantUML状态图介绍

  • 状态图 提供了一个系统或对象可能处于的各种状态的视觉表示,以及状态之间的转换。它们在模拟系统的动态行为方面至关重要,捕获它们如何随着时间的推移响应不同的事件。状态图描述了系统的生命周期,使其行为更易于理解、设计和优化。
  • 使用 PlantUML 创建状态图提供了几个优势:
  • 基于文本的语言:快速定义并可视化状态和转换,无需手动绘图的麻烦。
  • 效率与一致性:确保流线型的图表创建和简单的版本控制。
  • 多功能性:与各种文档平台集成,并支持多种输出格式。
  • 开源和社区支持:由一个强大的社区支持,该社区不断为其改进作出贡献,并提供无价的资源。

3.普通状态

  • 使用([*])绘制状态图的起点或终点。
  • 使用–>添加箭头。
    在这里插入图片描述

4.简化状态

  • 你可以使用隐藏空描述,即 hide empty description 关键字,渲染一个简单的状态。
    在这里插入图片描述

5.复杂状态

  • 一个状态也可能是嵌套的,必须使用关键字state和花括号来定义复杂状态。
  • 内部子状态
    在这里插入图片描述
  • 子状态间的连接
    在这里插入图片描述

6.长状态名

  • 也可以使用关键字state来给状态描述较长的状态名,并定义其指代名。
    在这里插入图片描述

7.历史状态 [[H], [H*]]

  • 在嵌套状态中,你可以用 [H] 来表示历史状态, [H*] 表示深层历史状态.
    在这里插入图片描述

8.分支状态 [fork, join]

  • 你可以使用版型 <> 和 <> 来表示状态的分叉及合并。
    在这里插入图片描述

9.并发状态 [–, ||]

  • 用-- or ||作为分隔符来合成并发状态。
  • 水平分隔 –
    在这里插入图片描述
  • 竖直分隔 ||
    在这里插入图片描述

10.选择结点 [choice]

  • 版型 <>可以用来表示一个选择结点,表示状态条件。
    在这里插入图片描述

11.一个使用版型的完整样例 [start, choice, fork, join, end]

在这里插入图片描述

12.入口和出口 [entryPoint, exitPoint]

  • 你可以用以下版型给合成状态添加入口结点<>和出口结点 <>。
    在这里插入图片描述

13.引脚 [inputPin, outputPin]

  • 你可以用以下版型添加引脚结点<>和 <>。
    在这里插入图片描述

14.扩展 [expansionInput, expansionOutput]

  • 你可以用以下版型添加扩展结点<>和 <>。
    在这里插入图片描述

15.箭头方向

  • 使用->定义水平箭头,也可以使用下列格式强制设置箭头方向:
    -down-> (default arrow)
    -right-> or ->
    -left->
    -up->
    在这里插入图片描述
    可以用首字母缩写或者开始的两个字母定义方向(如, -d-,-down-和-do-是完全等价的)。

16.更改箭头线条的颜色和风格

  • 你可以更改线条的颜色及风格.
    在这里插入图片描述

17.注释

  • 可以用 note left of, note right of, note top of, note bottom of 关键字来定义注释。
  • 还可以定义多行注释。
    在这里插入图片描述
  • 以及浮动注释。
    在这里插入图片描述

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

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

相关文章

官宣!DevExpress Blazor UI组件,支持全新的.NET 8渲染模式

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验&#xff0c;这个UI自建库提供了一套全面的原生Blazor UI组件&#xff08;包括Pivot Grid、调度程序、图表、数据编辑器和报表等&#xff09;。 .NET 8为Blazor引入了令人兴奋的重…

Echarts社区推荐

Apache Echarts官方示例中&#xff0c;有的demo并不能完全符合我们的需求&#xff0c;下面推荐几个Echarts社区&#xff0c;以便快速搭建项目。 1. isqqw 官方地址 &#xff1a;https://www.isqqw.com/ 2. makepie 官方地址 &#xff1a;https://www.makeapie.cn/echarts 3. P…

图像随机裁剪代码实现

原理 在计算机视觉领域&#xff0c;深度学习模型通常需要大量的训练数据才能获得良好的性能。然而&#xff0c;在实际应用中&#xff0c;我们可能面临训练数据不足的问题。为了解决这一问题&#xff0c;可以使用数据增强技术来扩充数据集。随机图像裁剪是其中一种简单而有效的…

03_排序

03_排序 一、简单排序Comparable接口介绍需求&#xff1a; 冒泡排序排序原理&#xff1a;冒泡排序API设计&#xff1a; 选择排序排序原理&#xff1a;选择排序API设计&#xff1a;选择排序的时间复杂度分析&#xff1a; 插入排序需求&#xff1a;排序原理&#xff1a;插入排序A…

C#中如何稳定精确地每隔5ms执行某个函数?

C#中如何稳定精确地每隔5ms执行某个函数&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「C#的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xf…

dockerfile创建镜像-----LNMP+wordpress

实验准备&#xff1a; dockerfile创建镜像 INMPwordpress nginx 172.111.0.10 docker-nginx mysql 172.111.0.20 docker-mysql php 172.111.0.30 docker-php cd /opt mkdir nginx mysql php cd nginx 把nginx和wordpress两个压缩包拖进来 vim nginx.conf…

代码随想录27期|Python|Day24|回溯法|理论基础|77.组合

图片来自代码随想录 回溯法题目目录 理论基础 定义 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。回溯函数也就是递归函数&#xff0c;指的都是一个函数。 基本问题 组合问题&#xff08;无序&…

每日一题:LCR 095.最长公共子序列(DP)

题目描述&#xff1a; 给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些…

策略模式(组件协作模式)

策略模式&#xff08;组件协作模式&#xff09; 策略模式实例代码 注解 目的 正常情况下&#xff0c;一个类/对象中会包含其所有可能会使用的内外方法&#xff0c;但是一般情况下&#xff0c;这些常使用的类都是由不同的父类继承、组合得来的&#xff0c;来实现代码的复用&…

UnityHub无法打开项目问题,打开项目闪退回到hub界面

UnityHub无法打开项目问题&#xff0c;打开项目闪退回到hub界面 UnityHub启动项目闪烁unity界面之后立刻闪退到UnityHub界面情况一&#xff1a;这里这个问题我遇到了很多次情况都不太一样&#xff0c;我先说下我遇到的第一种问题也就是最好解决的一种。许可证到期导致闪退 情况…

计算机毕业设计-------JSP活动报名管理系统

项目介绍 本项目分为前后台&#xff0c;分为管理员与普通用户两种角色&#xff0c;管理员登录后台&#xff0c;普通用户登录前台&#xff1b; 管理员角色包含以下功能&#xff1a; 管理员登录,修改个人信息,报名管理,游客管理,活动管理,活动类型管理等功能。 用户角色包含以…

全国(山东、安徽)职业技能大赛--信息安全管理与评估大赛题目+答案讲解

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

LeetCode 1954. 收集足够苹果的最小花园周长:数学O(1)的做法

【LetMeFly】1954.收集足够苹果的最小花园周长&#xff1a;数学O(1)的做法 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-garden-perimeter-to-collect-enough-apples/ 给你一个用无限二维网格表示的花园&#xff0c;每一个 整数坐标处都有一棵苹果树。整数…

关于“Python”的核心知识点整理大全39

目录 ​编辑 14.1.5 将 Play 按钮切换到非活动状态 game_functions.py 14.1.6 隐藏光标 game_functions.py game_functions.py 14.2 提高等级 14.2.1 修改速度设置 settings.py settings.py settings.py game_functions.py 14.2.2 重置速度 game_functions.py 1…

【动态规划算法】之打家劫舍Ⅱ

2.打家劫舍 II 和上一个比不同的就是&#xff0c;现在房屋围了一圈&#xff0c;第一个和最后一个相连 这道题目和198.打家劫舍 (opens new window)是差不多的&#xff0c;唯一区别就是成环了。 对于一个数组&#xff0c;成环的话主要有如下三种情况&#xff1a; 情况一&…

人工智能:从基础到前沿

人工智能&#xff1a;从基础到前沿 引言 当我们谈论“人工智能”&#xff08;AI&#xff09;时&#xff0c;我们其实是在谈论一个涵盖了众多学科、技术和应用的广阔领域。从计算机视觉到自然语言处理&#xff0c;从机器人学到深度学习&#xff0c;AI已经成为我们生活中不可或…

【OAuth2】授权框架的四种授权方式详解

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《OAuth 2》。&#x1f3af;&#x1f3af; &#x1…

超维空间S2无人机使用说明书——21、VINS视觉定位仿真

引言&#xff1a;为了实现室内无人机的定位功能&#xff0c;S系列无人机配置了VINS-FUSION定位环境&#xff0c;主要包含了仿真跑数据集和实际操作部分。为了提前熟悉使用原理&#xff0c;可以先使用仿真环境跑数据集进行学习和理解 硬件&#xff1a;1080P显示器、Jetson orin…

PYQT的使用入门

上一章节&#xff1a;VSCode安装PYQT5-CSDN博客 QTDesigner初识 vscode导航栏右键&#xff0c;新建ui文件&#xff0c;弹出QT Designer。 完成创建后&#xff0c;可以在新窗口中进行UI布局。 QTDesigner左侧为组件库&#xff0c;中间为UI布局界面&#xff0c;右侧分别为对象…

Anylogic Pro 8.8.x for Mac / for Linux Crack

Digital twins – a step towards a digital enterprise AnyLogic是唯一一个支持创建模拟模型的方法的模拟建模工具&#xff1a;面向过程&#xff08;离散事件&#xff09;、系统动态和代理&#xff0c;以及它们的任何组合。AnyLogic提供的建模语言的独特性、灵活性和强大性使…