startuml如何画流程图_Startuml 画流程图使用方法
https://www.jianshu.com/p/e92a52770832
程序员难免要经常画流程图,状态图,时序图等。以前经常用 visio 画,经常为矩形画多大,摆放在哪等问题费脑筋。有时候修改文字后,为了较好的显示效果不得不再去修改图形。今天介绍的工具是如何使用 Sublime + PlantUML 的插件画流程图,状态图,时序图等。这是一种程序员看了就会爱上的画图方式:自然,高效。
Alt+d 生成图片
什么是 PlantUML
PlantUML 是一个画图脚本语言,用它可以快速地画出:
时序图
流程图
用例图
状态图
组件图
简单地讲,我们使用 visio 画图时需要一个一个图去画,但使用 PlantUML 只需要用文字表达出图的内容,然后就可以直接生成图片。看一个最简单的例子
时序图
@startuml
title 时序图
== 鉴权阶段 ==
Alice -> Bob: 请求
Bob -> Alice: 应答
== 数据上传 ==
Alice -> Bob: 上传数据
note left: 这是显示在左边的备注
Bob --> Canny: 转交数据
... 不超过 5 秒钟 ...
Canny --> Bob: 状态返回
note right: 这是显示在右边的备注
Bob -> Alice: 状态返回
== 状态显示 ==
Alice -> Alice: 给自己发消息
@enduml
TIPS:
使用 title 来指定标题
'->' 和 '-->' 来指示线条的形式
在每个时序后面加冒号 : 来添加注释
使用 note 来显示备注,备注可以指定显示在左边或右边
使用 == xxx == 来分隔时序图
使用 ... 来表示延迟省略号
节点可以给自己发送消息,方法是发送方和接收方使用同一个主体即可
用例图
@startuml
left to right direction
actor 消费者
actor 销售员
rectangle 买单 {
消费者 -- (买单)
(买单) .> (付款) : include
(帮助) .> (买单) : extends
(买单) -- 销售员
}
@enduml
用例图
用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图
百度百科上有简易的入门资料,其中用例之间的关系 (include, extends) 是关键
使用 actor 来定义参与者
使用括号 (xxx) 来表示用例,用例用椭圆形表达
使用不同的线条表达不同的关系。包括参与者与用例的关系,用例与用例的关系
### 流程图
@startuml
start
:"步骤1处理";
:"步骤2处理";
if ("条件1判断") then (true)
:条件1成立时执行的动作;
if ("分支条件2判断") then (no)
:"条件2不成立时执行的动作";
else
if ("条件3判断") then (yes)
:"条件3成立时的动作";
else (no)
:"条件3不成立时的动作";
endif
endif
:"顺序步骤3处理";
endif
if ("条件4判断") then (yes)
:"条件4成立的动作";
else
if ("条件5判断") then (yes)
:"条件5成立时的动作";
else (no)
:"条件5不成立时的动作";
endif
endif
stop
@enduml
TIPS:
使用 start 来表示流程开始,使用 stop 来表示流程结束
顺序流程使用冒号和分号 :xxx; 来表示
条件语句使用 if ("condition 1") then (true/yes/false/no) 来表示
条件语句可以嵌套
组件图
我们经常使用组件图来画部署视图,或者用来画系统的拓扑结构图。
@startuml
package "组件1" {
["组件1.1"] - ["组件1.2"]
["组件1.2"] -> ["组件2.1"]
}
node "组件2" {
["组件2.1"] - ["组件2.2"]
["组件2.2"] --> [负载均衡服务器]
}
cloud {
[负载均衡服务器] -> [逻辑服务器1]
[负载均衡服务器] -> [逻辑服务器2]
[负载均衡服务器] -> [逻辑服务器3]
}
database "MySql" {
folder "This is my folder" {
[Folder 3]
}
frame "Foo" {
[Frame 4]
}
}
[逻辑服务器1] --> [Folder 3]
[逻辑服务器2] --> [Frame 4]
[逻辑服务器3] --> [Frame 4]
@enduml
TIPS:
使用方括号 [xxx] 来表示组件
可以把几个组件合并成一个包,可以使用的关键字为 package, node, folder, frame, cloud, database。不同的关键字图形不一样。
可以在包内部用不同的箭头表达同一个包的组件之间的关系
可以在包内部直接表达到另外一个包内部的组件的交互关系
可以在流程图外部直接表达包之间或包的组件之间的交互关系
状态图
我们一般使用状态图来画状态机。
@startuml
scale 640 width
[*] --> NotShooting
state NotShooting {
[*] --> Idle
Idle --> Processing: SignalEvent
Processing --> Idle: Finish
Idle --> Configuring : EvConfig
Configuring --> Idle : EvConfig
}
state Configuring {
[*] --> NewValueSelection
NewValueSelection --> NewValuePreview : EvNewValue
NewValuePreview --> NewValueSelection : EvNewValueRejected
NewValuePreview --> NewValueSelection : EvNewValueSaved
state NewValuePreview {
State1 -> State2
}
}
@enduml
TIPS:
使用 [*] 来表示状态的起点
使用 state 来定义子状态图
状态图可以嵌套
使用 scale 命令来指定生成的图片的尺寸
startuml如何画流程图_Startuml 画流程图使用方法相关推荐
- startuml如何画流程图_因为流程图没画好SCI被拒稿!看完师姐的攻略后我被吊打了!...
写SCI论文常常会遇到一个问题:对自己的研究很熟悉,但是如何把自己的研究过程介绍给读者则不是一件那么容易的事情.如果不能让读者了解研究过程,读者会对研究结果是否合理.如何应用存在疑问:尤其是期刊编辑和 ...
- 计算机项目开发流程,产品开发项目建议流程图怎样画
产品开发项目建议流程图怎样画 2019-01-14 10:30:27 0点赞 3收藏 0评论 每一个新产品即将问世的时候会对其进行一系列的测试,测试的结果以及需要更改的地方我们会用表格将其整理起来,流 ...
- html5环形流程图,环状流程图怎么画好看?5分钟让你精通绘制技巧
原标题:环状流程图怎么画好看?5分钟让你精通绘制技巧 环状图也是流程图的一种,可以用来直观的表述整个事件的操作过程,不仅外观很新颖使用 也很方便.那要怎样绘制好看的环状流程图呢?下面分享在迅捷画图中绘 ...
- ps里面怎么插入流程图_流程图很难画?学会这3个方法,5分钟能绘制出好看又高级的流程图...
工作中,很多时候我们需要绘制流程图,有些小伙伴觉得流程图很难画,费时又耗力.那么今天小编就来给大家分享3种绘制流程图的方法,希望大家学会后,都能快速画出好看的流程图.下面就一起来看看吧~ 一.Exce ...
- excel流程图分叉 合并_流程图怎么画多个分支
平时我们画流程图都是使用专业的软件来画的,没使用办公软件画过.如何在软件中,画流程图的分支了,今天给就给大家介绍下,流程图的分支是怎么画的. 迅捷流程图制作软件是一款功能强大的轻量级思维导图制作工具, ...
- xmind可以画流程图吗_Xmind制作流程图教程 xmind怎么画流程图?xmind画流程图步骤...
Xmind制作流程图教程 xmind怎么画流程图?xmind画流程图步骤!职场中能躲得过流程图这一关的真心很少,上至高管下至小白,被流程图的修修补补各种蹂躏的人绝不在少数. 像这样,这样,这样--Xm ...
- MySQL系统流程图怎么画_Word流程图怎么画?如何轻松绘制流程图
流程图是表示生产作业前后次序的图示.不管是对于科学工作者还是设计专业毕业生来说,流程图画的好,可以让自己的设计思路简洁明了,表达的更清晰.一般绘制流程图选择Word和专业流程图绘制工具-亿图图示,本文 ...
- cad详图怎么画_cad流程图怎么画
以特定的图形符号加上说明,表示算法的图,称为流程图或框图.那么大家知道cad流程图怎么画吗?下面是学习啦小编整理的cad流程图怎么画的方法,希望能给大家解答. cad流程图的画法: 流程图由特定的图形 ...
- 一文读懂:程序员为什么要学会画流程图 11种流程图的绘制工具:processon,wps,draw.io, 迅捷画图等 详细说明使用processon绘制流程图 详细说明绘制流程图
这里写目录标题 为什么要学会画流程图 11种画流程图的工具 processon wps draw.io Zen Flowchart xGraph lucidchart boardmix plantum ...
- 系统设计时先画用例图还是流程图
系统设计时先画用例图还是流程图 最近在做系统设计时,在开始之初总是会纠结是先画流程图还是先描述用例图? 先画用例图,好像无法一下子把握到系统比较明确的职责? 先画流程图,看起来容易把握了系统职责,但感 ...
最新文章
- 合种樟子松、云杉和胡杨
- “清华数为”工业时序数据库IoTDB与DWF应用开发寒假师资培训圆满结束
- 二值化每个特征,微软用1350亿参数稀疏神经网络改进搜索结果
- ie 不执行回调函时_「Excel VBA操作IE篇」10分钟内设置完成,3句代码打开IE浏览器
- PHPExcel进行获取列字母
- input输入框修改placeholder和readonly的样式
- C++ operator 知识点
- 使用 Eclipse 建立包的时候,“name”下可选项“Create package-info.java”的作用是什么?
- 联想Z6 Pro测评:斗战圣佛?很能打!
- imx6 android6.0.1,mfgtool刷写i.MX6 android6.0版本失败
- ubuntu19.04支持android,Ubuntu 19.04 最终发布日期和计划功能公布
- 如何控制Asp.net Login控件的重定向地址
- 社区团购微信小程序开发
- 找种子你还在用百度?七个你绝没用过的搜索引擎
- mysql 模糊查询 查询条件为多个
- faker 无敌了,专注于制作假数据
- iOS开发-简单图片背景替换 实现抠图效果
- 技术控 | 自然语言技术在文智趋势分析产品上的应用
- 益丰大药房互联网医院,积极推动中国大健康产业发展变革
- git add . 和 git add * 区别