PlantUml常用语法

PlantUml常用语法,将从类图、流程图和序列图这三种最常用的图表类型开始。

类图

基础语法

在 PlantUML 中创建类图时,你可以定义类(Class)、接口(Interface)以及它们之间的关系,如继承(Inheritance)、实现(Realization)、关联(Association)、聚合(Aggregation)和组合(Composition)等。

类的定义

@startuml
class ClassName {-field1: Type1+method1(param: Type): ReturnType
}
@enduml

这里的 -+ 分别表示私有和公有的访问修饰符。字段和方法可以包含类型信息 。

关系定义

  • 继承:使用 <|-- 表示。
  • 实现:使用 <|.. 表示。
  • 关联:使用 -- 表示。
  • 聚合:使用 o-- 表示。
  • 组合:使用 *-- 表示。

示例

@startuml
class Animal {+void eat()
}class Dog {+void bark()
}Dog <|-- Animal
@enduml
高级用法

你可以为类添加注释、设置标题、或者将多个类图分割到不同的页面上。

流程图

基础语法

流程图用于描述过程或算法的步骤。PlantUML 支持多种控制结构,包括顺序执行、条件分支(if/else)、循环(while/do while)、并行执行(fork/merge)等。

基本元素

  • 开始和结束:startstop
  • 操作::操作名称;
  • 条件判断:if (条件) then (yes) ... else (no) ... endif
  • 循环:repeatrepeat while (条件) is (true)

示例

@startuml
start
:第一步;
if (条件A成立吗?) then (yes):执行操作A;
else (no):执行操作B;
endif
stop
@enduml
高级用法

你可以使用 forkend fork 来表示并行执行的任务,或者使用 while 循环来重复执行某个动作直到满足条件为止 。

序列图

基础语法

序列图主要用于展示对象之间按照时间顺序进行的消息传递。每个对象都有自己的生命线,消息通常沿着这些生命线向下流动。

参与者
使用 participant 定义一个参与者,它可以是人、系统或其他实体。

消息传递
使用 -> 表示同步消息,--> 表示异步消息。

示例

@startuml
participant User
participant ServerUser -> Server: Login Request
Server --> User: Authentication Response
@enduml
高级用法

你可以使用 activatedeactivate 来表示对象的生命期,也可以使用嵌套的生命线和复杂的消息模式 。


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

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

相关文章

对“云原生”的初印象

一、背景 最近因为在工作中以及一些技术博客中听的比较火的一个关键词 "云原生"&#xff0c;于是产生了好奇&#xff0c;云原生到底是什么东西&#xff1f;自己对云原生也是一个纯小白&#xff0c;于是带着这个问题去好好了解一下&#xff0c;什么是"云原生&qu…

物联网软件开发与应用方向应该怎样学习,学习哪些内容,就业方向是怎样?(文末领取整套学习视频,课件)物联网硬件开发与嵌入式系统

随着物联网技术的飞速发展&#xff0c;物联网软件开发与应用方向成为了众多开发者关注的焦点。那么&#xff0c;如何在这个领域中脱颖而出呢&#xff1f;本文将为你提供一份详细的学习指南&#xff0c;帮助你从零开始&#xff0c;逐步掌握物联网软件开发与应用的核心技能。 一…

数据结构-基础

1、概念&#xff1a; 程序 数据结构 算法 2、程序的好坏 可读性&#xff0c;稳定性&#xff0c;扩展性&#xff0c;时间复杂度&#xff0c;空间复杂度。 3、数据结构 是指存储、组织数据的方式&#xff0c;以便高效地进行访问和修改。通过选择适当的数据结构&#xff0c; 能…

蓝耘智算平台与DeepSeek R1模型:推动深度学习发展

公主请阅 前言何为DeepSeek R1DeepSeek R1 的特点DeepSeek R1 的应用领域DeepSeek R1 与其他模型的对比 何为蓝耘智算平台使用蓝耘智算平台深度使用DeepSeek R1代码解释&#xff1a;处理示例输入&#xff1a;输出结果&#xff1a; 前言 在深度学习领域&#xff0c;创新迭代日新…

神经网络(Neural Network)

引言 神经网络,作为人工智能和机器学习领域的核心组成部分,近年来在诸多领域取得了显著的进展。受生物神经系统的启发,神经网络通过模拟人脑神经元的工作机制,能够从大量数据中学习复杂的模式和关系。其强大的非线性建模能力使其在图像识别、自然语言处理、语音识别和预测…

基于python多线程多进程爬虫的maa作业站技能使用分析

基于python多线程多进程爬虫的maa作业站技能使用分析 技能使用分析 多线程&#xff08;8核&#xff09; import json import multiprocessing import requests from multiprocessing.dummy import Pooldef maa(st):url "https://prts.maa.plus/copilot/get/"m …

npm无法加载文件 因为此系统禁止运行脚本

安装nodejs后遇到问题&#xff1a; 在项目里【node -v】可以打印出来&#xff0c;【npm -v】打印不出来&#xff0c;显示npm无法加载文件 因为此系统禁止运行脚本。 但是在winr&#xff0c;cmd里【node -v】,【npm -v】都也可打印出来。 解决方法&#xff1a; cmd里可以打印出…

2.9寒假作业

web&#xff1a;[SWPUCTF 2022 新生赛]ez_ez_php(revenge) 打开环境&#xff0c;进行代码审计 下面有提示访问游戏flag.php&#xff0c;尝试看看 提示了正确的flag&#xff0c;还有要使用为协议&#xff0c;之前也了解过&#xff0c;关于执行包含文件例如include可使用为协议绕…

【Matlab优化算法-第13期】基于多目标优化算法的水库流量调度

一、前言 水库流量优化是水资源管理中的一个重要环节&#xff0c;通过合理调度水库流量&#xff0c;可以有效平衡防洪、发电和水资源利用等多方面的需求。本文将介绍一个水库流量优化模型&#xff0c;包括其约束条件、目标函数以及应用场景。 二、模型概述 水库流量优化模型…

Mybatis

入门 配置SQL提示 JDBC介绍 JDBC:(Java DataBase Connectivity)&#xff0c;就是使用Java语言操作关系型数据库的一套API 本质 sun公司官方定义的一套操作所有关系型数据库的规范&#xff0c;即接口 各个数据库厂商去实现这套接口&#xff0c;提供数据库驱动jar包 我们可以使…

Deepseek的MLA技术原理介绍

DeepSeek的MLA(Multi-head Latent Attention)技术是一种创新的注意力机制,旨在优化Transformer模型的计算效率和内存使用,同时保持模型性能。以下是MLA技术的详细原理和特点: 1. 核心思想 MLA技术通过低秩联合压缩技术,将多个注意力头的键(Key)和值(Value)映射到一…

使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8

文章目录 1. 安装 SDKMAN!2. 查找可用的 Java 8 版本3. 安装 Java 84. 验证安装5. 切换 Java 版本&#xff08;可选&#xff09;6. 解决 ARM 架构兼容性问题总结 可以使用 SDKMAN! 在 Mac&#xff08;包括 ARM 架构的 M1/M2 芯片&#xff09;上安装 Java 8。SDKMAN! 是一个强大…

HAL库外设宝典:基于CubeMX的STM32开发手册(持续更新)

目录 前言 GPIO&#xff08;通用输入输出引脚&#xff09; 推挽输出模式 浮空输入和上拉输入模式 GPIO其他模式以及内部电路原理 输出驱动器 输入驱动器 中断 外部中断&#xff08;EXTI&#xff09; 深入中断&#xff08;内部机制及原理&#xff09; 外部中断/事件控…

Windows 本地部署大模型 OpenWebUI+Ollama

安装Ollama Ollama官方网址&#xff1a;https://ollama.com 下载运行大模型 在Ollama官网中查看需要下载的大模型 https://ollama.com/library 复制图片中的链接 打开cmd&#xff0c;运行此命令&#xff08;此过程会时间会很久&#xff09; 下载Miniconda Miniconda作用是…

【大模型】Ubuntu下安装ollama,DeepSseek-R1:32b的本地部署和运行

1 ollama 的安装与设置 ollama官网链接&#xff1a;https://ollama.com/ 在左上角的【Models】中展示了ollama支持的模型在正中间的【Download】中课可以下载支持平台中的安装包。   其安装和模型路径配置操作流程如下&#xff1a; ollama的安装 这里选择命令安装curl -fsSL …

Ollama实现deepseek本地部署

Ollama实现deepseek本地部署 1.Ollama下载与安装2.ollama获取模型并部署2.1 使用ollama pull2.2 通过ollama create 创建自定义模型2.3 本地运行 3.使用streamlit实现网页版RAG部署3.1 加载相关包3.2 文档上传、加载与切块3.3 初始化向量存储3.4 初始化向量存储3.5 加载模型&am…

Django开发入门 – 0.Django基本介绍

Django开发入门 – 0.Django基本介绍 A Brief Introduction to django By JacksonML 1. Django简介 1) 什么是Django? 依据其官网的一段解释&#xff1a; Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. …

苍穹外卖-新增菜品(阿里云OSS文件上传mybatis主键返回批量保存口味表数据)

新增菜品 2.1 需求分析与设计 2.1.1 产品原型 后台系统中可以管理菜品信息&#xff0c;通过 新增功能来添加一个新的菜品&#xff0c;在添加菜品时需要选择当前菜品所属的菜品分类&#xff0c;并且需要上传菜品图片。 新增菜品原型&#xff1a; 当填写完表单信息, 点击&quo…

只需两步,使用ollama即可在本地部署DeepSeek等常见的AI大模型

只需两步&#xff0c;使用ollama即可在本地部署DeepSeek等常见的AI大模型 1.下载ollama,进入ollama官网即可将ollama下载到本地&#xff0c;之后按照提示安装ollama。 https://ollama.com/download/windows 2.安装大模型 进入ollama官网模型页面&#xff0c;找到所需的模型及版…

java基础语法中阶

一、面向对象 补充快捷键&#xff1a;alt鼠标左键&#xff0c;实现同时多行选中相同位置的内容。 1.类与对象 2.封装 3.构造方法 altinsert添加构造方法 4.内存分布 对象 类型 this关键字的使用 成员变量与局部变量 %s是占位符 ,ctrlaltv-补全对象 for循环的快速生成方…