Markdown 之 UML图的实用画法

2024-02-14 13:32
文章标签 实用 uml markdown 画法

本文主要是介绍Markdown 之 UML图的实用画法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/79891479

  UML:称为统一建模语言或标准建模语言。它是一种可视化的面向对象建模语言,是一种用来对真实世界物理进行建模的标准标记,用图形方式表现典型的面向对象系统的整个结构。
  
  平常我们画 UML图 时,需要借助像 StarUMLVisio 等这一类的工具软件,其实我们完全可以借助 Markdown 就可以快速的画出漂亮的UML图了。
  
  本篇以实用为主,不对画图中的细节作过多的描述,主要讲解UML图中最常用的序列图流程图
  (本人使用Typora,因为它具有实时渲染可见与编辑的特点)

  新手可以点击这里快速学习MarkDown。




一、序列图(关键字:sequence)

1、先来个小例子
``` sequence
title: 三个臭皮匠的故事
participant 小王
participant 小李
participant 小异常note left of 小王: 我是小王
note over 小李: 我是小李
note right of 小异常: 大家好!\n我是小异常小王->小王: 小王想:今天要去见两个好朋友咯~
小王->小李: 嘿,小李好久不见啊~ 
小李-->>小王: 是啊
小李->小异常: 小异常,你好啊
小异常-->小王: 哈,小王!\n最近身体怎么样了?
小王->>小异常: 还可以吧
```

 效果如下:

序列图之三个臭皮匠的故事

2、关键字
  1)title

  表示该序列图中的标题。

  2)participant

  表示该序列图中的对象。

  3)note

  表示该序列图中的部分说明。关于note以下三种关键字:
    * left of:表示在当前对象的左侧。
    * right of:表示在当前对象的右侧。
    * over:表示覆盖在当前对象的上方。

3、箭头
  1)->:实线实箭头
  2)–>:虚线实箭头
  3)->>:实线虚箭头
  4)–>>:虚线虚箭头
4、换行

  如果当前行中的文字过多想要换行,可以使用 \n 进行转义换行,效果如以上例子。


二、流程图(关键字:flow)

1、再来个小例子
```flow
sta=>start: 开始
e=>end: 结束
op=>operation: 操作(处理块)
sub=>subroutine: 子程序
cond=>condition: 是或者不是(条件判断)?
cond2=>condition: 第二个判断(条件判断)?
io=>inputoutput: 输出sta->op->cond
cond(yes)->e
cond(no)->cond2
cond2(yes,right)->sub(left)-op
cond2(no)->io(lef)->e
```

 效果如下:

流程图

2、关键字
  1)start, end

  表示该流程图中的开始与结束。

  2)operation

  表示该流程图中的处理块。

  3)subroutine

  表示该流程图中的子程序块。

  4)condition

  表示该流程图中的条件判断。

  5)inputoutput

  表示该流程图中的输入输出。

  6)right, left

  表示该流程图中当前模块下一个箭头的指向(默认箭头指向下方)。

  7)yes, no

  表示该流程图中条件判断的分支(默认yes箭头向下no箭头向右;yes与no可以和right同时使用;yes箭头向右时,no箭头向下)

3、各模块之间的联系
  1)形式:

 基本形式:

模块标识=>模块关键字: 模块模块名称

 连接定义:

模块标识1->模块标识2
模块标识1->模块标识2->模块标识3
... ...
  2)说明:

  通过模块与连接定义,可以组成一个完整的流程图。
  在模块定义中,模块标识与模块名称可以自定义,模块关键字不可以自定义!

3、注意事项
  1)在进行连接的时候,可以通过right, left确定箭头的指向;
  2)使用条件判断的连接时需要结合yes和no进行;
  3)在连接各模块之间不能有空格,在模块标识关键字时也不能有空格。

这篇关于Markdown 之 UML图的实用画法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/708625

相关文章

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或