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组件图介绍

  • 组件图:组件图是 UML(统一建模语言)中的一种结构图,用于可视化系统组件的组织和关系。这些图有助于将复杂的系统分解成易于管理的组件,展示它们之间的相互依存关系,确保高效的系统设计和架构。
  • PlantUML 的优势:
  • 简单:使用 PlantUML,您可以使用简单直观的文本描述来创建组件图,无需使用复杂的绘图工具。
  • 集成:PlantUML 可* 与各种工具和平台无缝集成,是开发人员和建筑师的多功能选择。
  • 协作:PlantUML 论坛为用户提供了一个讨论、分享和寻求图表帮助的平台,从而培养了一个协作社区。

3.组件

  • 组件必须用中括号括起来。
  • 还可以使用关键字component定义一个组件。 并且可以用关键字as给组件定义一个别名。 这个别名可以在稍后定义关系的时候使用。
    在这里插入图片描述
  • 命名例外
  • 注意,以$ 开头的组件名以后不能隐藏或删除,因为hide 和remove 命令会将该名称视为$tag ,而不是组件名。要删除此类组件,必须为其添加别名或标记。
    在这里插入图片描述

4.接口

  • 接口可以使用()来定义(因为这个看起来像个圆)。
  • 还可以使用关键字interface关键字来定义接口。 并且还可以使用关键字as定义一个别名。 这个别名可以在稍后定义关系的时候使用。
  • 我们稍后可以看到,接口的定义是可选的。
    在这里插入图片描述

5.基础的示例

  • 元素之间可以使用虚线(…)、直线(–)、箭头(–>)进行连接。
    在这里插入图片描述

6.使用注释

  • 你可以使用 note left of , note right of , note top of , note bottom of 等关键字定义相对于对象位置的注释。
  • 也可以使用关键字note单独定义注释,然后使用虚线(…)将其连接到其他对象。
    在这里插入图片描述

7.组合组件

  • 你可以使用多个关键字将组件和接口组合在一起。
    package
    node
    folder
    frame
    cloud
    database
    在这里插入图片描述

8.改变箭头方向

  • 默认情况下,对象之间用–连接,并且连接是竖直的。不过可以使用一个横线或者点设置水平方向的连接,就行这样:
    在这里插入图片描述
  • 也可以使用反向连接:
    在这里插入图片描述
  • 还可以使用关键字left, right, up or down改变箭头方向。
    在这里插入图片描述
  • 允许使用方向单词的首字母或者前两个字母表示方向(例如-d-, -do-, -down-都是等价的)。
  • 请不要乱用这些功能:Graphviz(PlantUML的后端引擎)不喜欢这个样子。

9.使用 UML2 标记

在这里插入图片描述

10.使用UML1标记符

  • 命令skinparam componentStyle uml1 可以切换到UML1标记符。
    在这里插入图片描述
  • 使用矩形符号(删除UML符号)
  • skinparam componentStyle rectangle命令用于切换到矩形符号(没有任何UML符号)。
    在这里插入图片描述

11.长描述

  • 可以用方括号"[ ]"在连线上添加描述。
    在这里插入图片描述

12.不同的颜色表示

  • 你可以在声明一个组件时加上颜色的声明。
    在这里插入图片描述

13.在定型组件中使用精灵图

  • 你可以在定型组件中使用精灵图(sprite)。
    在这里插入图片描述

14.显示参数

  • 用skinparam改变字体和颜色。
  • 可以在如下场景中使用:
  • 在图示的定义中,
  • 在引入的文件中,
  • 在命令行或者ANT任务提供的配置文件中。
  • 可以为构造类型和接口定义特殊的颜色和字体。
    在这里插入图片描述

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

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

相关文章

【论文解读】3D视觉标定的显式文本解耦和密集对齐(CVPR 2023)

来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/abs/2209.14941 开源代码:https://github.com/yanmin-wu/EDA 图1所示。文本解耦,密集对齐的3D视觉标定。文本中的不同颜色对应不同的解耦分量。…

LLaMA开源大模型源码分析!

Datawhale干货 作者:宋志学,Datawhale成员 花了一晚上照着transformers仓库的LLaMA源码,把张量并行和梯度保存的代码删掉,只留下模型基础结构,梳理了一遍LLaMA的模型结构。 今年四月份的时候,我第一次接触…

Java内存区域与内存溢出异常

Java与C++之间有一堵由内存分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 2.1 概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的“皇帝”,又是从事最基础工作的劳动人民——即拥有每一个对象的“所有权”,又…

MySQL部署之yum安装

MySQL https://www.mysql.com //mysql官网 yum安装步骤 yum安装 清理环境 [rootmysql ~]# yum erase mariadb mariadb-server mariadb-libs mariadb-devel -yuserdel -r mysql[rootmysql ~]# rm -rf /etc/my* && rm -rf /var/lib/mysql && rm -rf /use/bin/m…

计算机视觉基础(10)——深度学习与图像分类

前言 传统视觉算法采用手工设计特征与浅层模型,而手工设计特征依赖于专业知识,且泛化能力差。深度学习的出现改变了这一状况,为视觉问题提供了端到端的解决方案。在之前的课程中,我们已经学习了图像分类的传统知识。在本节课中&am…

便捷记账本,批量筛选需要的账目明细

你是否曾因为无法管理自己的财务而感到烦恼?如果你正在寻找一款简单易用的记账软件,那么晨曦记账本将是你的不二之选,一起来看看这款软件是怎么使用的吧。 所需工具: 一个【晨曦记账本】软件 操作步骤: 步骤1&…

机器学习之实验过程01

import pandas as pd import numpy as np import matplotlib.pyplot as plt data_path = /home/py/Work/labs/data/SD.csv # 请确保您的数据文件路径是正确的 df = pd.read_csv(data_path) df.head() # 创建散点图 # 创建散点图 plt.figure(figsize=(10, 6)) plt.scat…

拓扑排序算法总结

知识概览 求图的拓扑序是图的宽搜的一个很经典的应用,拓扑序列是针对有向图来说的。 拓扑序列的定义是: 如果说一个点的序列满足对于图中的每条有向边(x, y),x都出现在y的前面,那就称这个序列是这个图的拓扑序列。 备注&#xff…

【Linux】Linux常见指令解析上

目录 1. 前言2. ls指令3. pwd指令4. cd指令3.1 cd常见快捷指令 4. touch指令5. mkdir指令6. rmdir指令 && rm指令 (重要)6.1 rmdir指令6.2 rm指令 7. man指令 1. 前言 这篇文章我们将详细介绍一下Linux下常见的基本指令。 2. ls指令 语法: ls [选…

FPFA.一种二倍频电路代码描述以及测量详情

一、前言 1、因为需要倍频电路所以找了个二倍频的电路,通过fpga实际测量发现经过倍频后的电路峰值降低。不过这个也正常,因为该电路只要过触发点就会开始发生波形变化,而电路的触发值不是峰值。​​​​​​​ 2、继续对电路做倍频后信号做二…

linux操作系统——进程(二) 进程状态

进程状态 你真正的理解了进程的状态嘛?特别是操作系统教材中学过的进程状态,你真的理解了吗? 教材上关于进程状态的说明 下面我们以下图为例: 这是教材上对操作系统的说明,但是它并没有详细的说明,这些状态具体是什么&#xf…

51单片机拆字程序实验

一、实验内容 1.基本要求 熟悉51仿真系统;设计并单步调试,实现将R5中数值(初值为本人学号后两位)拆分成两位独立的数据分别存于R6,R7中; 2.扩展要求 将R6,R7中的被拆出来的一位HEX数据转换为可显示的ASCII编码&…