Plantuml之类图语法介绍(十六)

简介: 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类图语法

  • 类图的设计语法与编程语言的传统语法相似。这种相似性为开发人员提供了一个熟悉的环境,从而使创建图表的过程更简单、更直观。
    这种设计方法不仅简洁,而且还能创建既简洁又富有表现力的表述。此外,它还允许通过与序列图相呼应的语法来描绘类之间的关系,为流畅而深刻地描绘类之间的交互铺平了道路。
  • 除了结构和关系表示法,类图语法还支持进一步的丰富,如包含注释和应用颜色,使用户能够创建信息丰富且视觉上吸引人的图表。

<1>.元素声明

在这里插入图片描述

<2>.类之间的关系

在这里插入图片描述

<3>.关系上的标签

在这里插入图片描述

<4>.在元素名称和关系标签中使用非字母

在这里插入图片描述

<5>.添加方法

在这里插入图片描述

<6>.定义能见度(可访问性)

在这里插入图片描述

<7>.抽象与静态

在这里插入图片描述

<8>.高级类体

在这里插入图片描述

<9>.备注和版型

在这里插入图片描述

<10>.备注中的更多功能

在这里插入图片描述

<11>.注释属性 (field, attribute, member) 或方法

在这里插入图片描述

<12>.链接的注释

在这里插入图片描述

<13>.抽象类和接口

在这里插入图片描述

<14>.隐藏属性、函数等

在这里插入图片描述

<15>.隐藏类

在这里插入图片描述

<16>.删除类

在这里插入图片描述

<17>.隐藏或删除未关联的类

在这里插入图片描述

<18>.泛型(generics)

在这里插入图片描述

<19>.指定标记(Spot)

在这里插入图片描述

<20>.改变箭头方向

在这里插入图片描述

3.PlantUML示例

@startumlclass snd_card {int numberchar id[16];char driver[16];struct module *module;+start()#run()~stop()-test()
}
snd_card *-left- test1 : 包含  
snd_card *-right- test2 : 包含 
snd_card *-up- test3 : 包含 
snd_card *-down- test4 : 包含 class test1 #f0f030{int number+start()
}class test2 #00f030{int number+start()
}class test3 #f000f0{int number+start()
}class test4 #f8f0f9{int number+start()
}class A  #palegreen {int number+start()
}class B #ff0000 {int number+start()
}class C  #lightblue {int number+start()
}class D  #lightblue {int number+start()
}class E  #lightblue {int number+start()
}A *-left- B 
A *-right- C
A *-up- D
A *-down- E@enduml

对应plantuml绘制图
在这里插入图片描述

ref

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

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

相关文章

STM32基于USB串口通信应用开发

✅作者简介&#xff1a;热爱科研的嵌入式开发者&#xff0c;修心和技术同步精进&#xff0c; 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 &#x1f34e;获取更多嵌入式资料可点击链接进群领取&#xff0c;谢谢支持&#xff01;…

人工智能:走向智能化未来的探索

前言 人工智能&#xff08;Artificial Intelligence&#xff0c;简称AI&#xff09;是当今科技领域最引人注目的发展方向之一。从虚构作品中的机器人到现实生活中的智能助手&#xff0c;AI正深刻地改变着我们的生活方式、工作方式以及与技术互动的方式。本文将深入探讨人工智能…

对无向图进行邻接矩阵的转化,并且利用DFS(深度优先)和BFS(广度优先)算法进行遍历输出, 在邻接矩阵存储结构上,完成最小生成树的操作。

一 实验目的 1&#xff0e;掌握图的相关概念。 2&#xff0e;掌握用邻接矩阵和邻接表的方法描述图的存储结构。 3&#xff0e;掌握图的深度优先搜索和广度优先搜索遍历的方法及其计算机的实现。 4&#xff0e;理解最小生成树的有关算法 二 实验内容及要求 实验内容&#…

模电·放大电路的分析方法——图解法

放大电路的分析方法——图解法 静态工作点的分析电压放大倍数的分析波形非线性失真的分析直流负载线与交流负载线图解法的适用范围 在实际测出放大管的输入特性、输出特性和已知放大电路中其它各元件参数的情况下&#xff0c;利用作图的方法对放大电路进行分析即为图解法。 静…

postgresql自带指令命令系列三

目录 简介 bin目录 28.pg_verifybackup 29.pg_waldump 30.postgres 31.postmaster -> postgres 32.psql 33.reindexdb 34.vacuumdb 35.vacuumlo 总结&#xff1a; 简介 在安装postgresql数据库的时候会需要设置一个关于postgresql数据库的PATH变量 export PATH/…

笙默考试管理系统-MyExamTest----codemirror(51)

笙默考试管理系统-MyExamTest----codemirror&#xff08;51&#xff09; 目录 笙默考试管理系统-MyExamTest----codemirror&#xff08;51&#xff09; 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试…

python模块rsa,非对称加密算法库

一、简介 RSA&#xff08;Rivest-Shamir-Adleman&#xff09;是一种非对称加密算法&#xff0c;广泛应用于数据加密和数字签名等安全领域。以下是对RSA算法的介绍以及其优缺点&#xff1a; 1.密钥生成&#xff1a;RSA算法生成一对密钥&#xff0c;包括公钥和私钥。公钥用于加密…

Linux CentOS 7.6安装jdk1.8教程

安装教程 第一种方式&#xff08;通过yum安装&#xff09;&#xff1a;第一步&#xff1a;输入查找命令&#xff1a;第二步&#xff1a;输入安装命令&#xff1a;第三步&#xff1a;安装完成&#xff0c;输入安装命令后&#xff0c;等到出现Complete&#xff01;代表安装完成第…

PyTorch实现逻辑回归

最终效果 先看下最终效果&#xff1a; 这里用一条直线把二维平面上不同的点分开。 生成随机数据 #创建训练数据 x torch.rand(10,1)*10 #shape(10,1) y 2*x (5 torch.randn(10,1))#构建线性回归参数 w torch.randn((1))#随机初始化w&#xff0c;要用到自动梯度求导 b …

使用 ROS 和 Geomagic Haptic 驱动 Franka 机械臂

文章目录 前言一、安装 franka_ros二、安装 OpenHaptics for Linux三、安装 3D Systems Geomagic Touch ROS Driver四、安装 franka_interactive_controllers五、使用 Geomagic Haptic 驱动 Franka 机械臂 前言 本文为在双系统上使用 ROS 和 Geomagic Haptic 驱动 Franka 机械…

滑动窗口(单调队列)

154. 滑动窗口 - AcWing题库 给定一个大小为 n≤10^6≤10^6 的数组。 有一个大小为 k 的滑动窗口&#xff0c;它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子&#xff1a; 该数组为 [1 3 -1 -3 5 3 6 7]&…

HashMap的那些事

一、HashMap与HashTable的区别 1.来历 HashTable是一种键值映射的数据结构&#xff0c;自从java发布就存在&#xff0c;而HashMap是jdk1.2后才出现的&#xff0c;虽然说HashTable出现得早且线程安全&#xff0c;但是效率很低已经弃用了&#xff0c;现在HashMap逐渐成为主流 …

Nmap脚本未来的发展趋势

Nmap脚本技术的发展趋势和前景 Nmap脚本是一种基于Lua语言开发的脚本&#xff0c;可以扩展Nmap的功能&#xff0c;用于自动化扫描、漏洞检测、服务探测、设备管理等方面。随着网络安全的不断发展和漏洞的不断出现&#xff0c;Nmap脚本技术也在不断发展和壮大。在本文中&#xf…

小米手机锁屏时间设置为永不休眠_手机不息屏_保持亮屏

环境&#xff1a;打开手机自带的锁屏时间设置发现没有 永不息屏的选项 原因&#xff1a;采用了三星OLED屏幕&#xff0c;所以根据OLED屏幕特性&#xff0c;这个是为了防止烧屏而特意设计的。非OLED机型支持设置“永不” 解决方案1&#xff1a;原生系统是支持永不锁屏的&#…

Android 13 - Media框架(20)- ACodec(二)

这一节开始我们就来学习 ACodec 的实现 1、创建 ACodec ACodec 是在 MediaCodec 中创建的&#xff0c;这里先贴出创建部分的代码&#xff1a; mCodec mGetCodecBase(name, owner);if (mCodec NULL) {ALOGE("Getting codec base with name %s (owner%s) failed", n…

ES 如何将国际标准时间格式进行格式化与调整时区

需求&#xff0c;日志收集的时候&#xff0c;时间格式是国际标准时间格式。形如yyyy-MM-ddTHH:mm:ss.SSS。 &#xff08;2023-12-05T02:45:50.282Z&#xff09;这个时区也不对&#xff0c;那如何将此类型的时间&#xff0c;进行格式化呢&#xff1f; 本篇文章体统一个案例&…

Other -- ChatGPT 原理

本文为个人理解&#xff0c;帮助小白&#xff08;本人就是&#xff09;了解正在创建新时代的 AI 产品&#xff0c;如文中理解有误欢迎留言。 [参考链接--](https://baijiahao.baidu.com/s?id1765556782543603120&wfrspider&forpc) 1. 了解一些基本概念 大语言模型&a…

修改 Ganglia 监控 Grid Report timezone 时区 为 东八区 +8 PRC

Ganglia 监控 Grid Report timezone 默认时区 为 零时区 0 现在要修改为 东八区 8 具体操作如下 modify ganglia-web report timezone 0 --> 8 vim /apps/svr/httpd-2.4.48/htdocs/ganglia/header.php // add timezone GMT8 ini_set(date.timezone, PRC);详细记录&#x…

【面试】测试/测开(ING)

63. APP端特有的测试 参考&#xff1a;APP专项测试、APP应用测试 crash和anr的区别 1&#xff09;网络测试 2&#xff09;中断测试 3&#xff09;安装、卸载测试 4&#xff09;兼容测试 5&#xff09;性能测试&#xff08;耗电量、流量、内存、服务器端&#xff09; 6&#xf…

画对比折线图【Python】

出这一期想必是我做某个课程作业遇到了。 由于去各个官网下载对比图要钱&#xff0c;我还是不想花钱的&#xff01;真讨厌&#xff01;浅浅水一期。 以下是要做的对比图的数据&#xff1a; 代码&#xff1a; from matplotlib import pyplot as plt#设置中文显示plt.rcParams[…