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快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转

Java实现将Markdown转换为纯文本

《Java实现将Markdown转换为纯文本》这篇文章主要为大家详细介绍了两种在Java中实现Markdown转纯文本的主流方法,文中的示例代码讲解详细,大家可以根据需求选择适合的方案... 目录方法一:使用正则表达式(轻量级方案)方法二:使用 Flexmark-Java 库(专业方案)1. 添加依赖(Ma

Python中Markdown库的使用示例详解

《Python中Markdown库的使用示例详解》Markdown库是一个用于处理Markdown文本的Python工具,这篇文章主要为大家详细介绍了Markdown库的具体使用,感兴趣的... 目录一、背景二、什么是 Markdown 库三、如何安装这个库四、库函数使用方法1. markdown.mark

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

UML- 统一建模语言(Unified Modeling Language)创建项目的序列图及类图

陈科肇 ============= 1.主要模型 在UML系统开发中有三个主要的模型: 功能模型:从用户的角度展示系统的功能,包括用例图。 对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图。 动态模型:展现系统的内部行为。 包括序列图、活动图、状态图。 因为要创建个人空间项目并不是一个很大的项目,我这里只须关注两种图的创建就可以了,而在开始创建UML图