流程图中的虚线含义_还在为画流程图烦恼,焦躁?介绍一款画图神器,让你爱上画图!...
在团队协作过程中最常见的就是开会、开会最常用的就是图,而图中最常见的就是流程图,时序图,类图等下面介绍一款画图神器:PlantUML
PlantUML是一个开源项目,支持快速绘制:
- 时序图
- 用例图
- 类图
- 活动图
- 组件图
- 状态图
- 对象图
- 部署图
- 定时图
附上地址: http://plantuml.com
在线画图
假如您和我一样也是个急性子 :-)
尝试 PlantUML 最简单快捷的方法就是使用在线编辑服务.
http://www.plantuml.com/plantuml/uml
- 1.打开在线编辑服务
在线编辑服务
- 2.输入代码:
@startumlBob -> Alice : hello@enduml
- 3.点击submit即可
第一个UML图
本地画图
- 安装PlantUML
软件要求: Java : 是运行PlantUML的必需条件 (如果想绘制 除 时序图和活动图以外的图, 就需要安装 Graphviz)
- 1.下载plantuml.jar
jar下载地址:http://sourceforge.net/projects/plantuml/files/plantuml.jar/download
- 2.双击 plantuml.jar 文件(或者: java -jar plantuml.jar ), 启动 plantUML界面. 可以点击"Change Directory"按钮 来重新指定工作目录. 保持界面处于打开状态,不要关闭.
uml界面
- 3.构建第一个本地UML图
在工作目录中建立一个demo.txt内容如下:
@startumlAlice -> Bob: test@enduml
- 4.打开文件所在目录就可以看到生成的图片:demo.png
注: 图片的生成是实时的,可以边改边看哦!
看到这里,你是不是觉得爱上画图了?
我想你是爱我的我猜你也舍不得但是怎么说 总觉得我们之间留了太多空白格……
还没有爱上?怎么又是要打开网址,又是下载jar, 这么麻烦?
没关系, 下面我们再来介绍一个IDEA插件。
IntelliJ IDEA PLUGIN
- 1.打开IDEA :
Settings -> Plugins -> Browse repositories -> 输入:Plantuml integration -> Install
(注:重启生效)
安装plugin
- 2.右键-> New-> PlantUML FIle-> 输入Name -> ok
创建uml1
创建uml2
- 3.打开demo.puml
@startumlAlice -> Bob: Authentication RequestBob --> Alice: Authentication ResponseAlice -> Bob: Another authentication RequestAlice
这时候我们就可以看到,左边为代码, 右边为UML图。
怎么画图
看完上面的安装使用,大家可能发现了,画图的方式是不是变了?
平时画图都是通过鼠标,拖出各种图
现在而是通过代码的形式在生成
对于同为程序员的我来说,写代码跟画图来比,我还是更热衷于通过代码来实现
- 时序图的语法于功能
修改箭头样式
方式有以下几种:
- 表示一条丢失的消息:末尾加 x
- 让箭头只有上半部分或者下半部分:将替换成或者 /
- 细箭头:将箭头标记写两次 (如 >> 或 //)
- 虚线箭头:用 -- 替代 -
- 箭头末尾加圈:->o
- 双向箭头:
@startumlBob ->x AliceBob -> AliceBob ->> AliceBob - AliceBob - AliceBob //-- AliceBob ->o AliceBob o-- AliceBob AliceBob o Alice@enduml
修改箭头颜色
@startumlBob -[#red]> Alice : helloAlice -[#0000FF]->Bob : ok@enduml
声明参与者
- actor
- boundary
- control
- entity
- database
@startumlactor Foo1boundary Foo2control Foo3entity Foo4database Foo5collections Foo6Foo1 -> Foo2 : To boundaryFoo1 -> Foo3 : To controlFoo1 -> Foo4 : To entityFoo1 -> Foo5 : To databaseFoo1 -> Foo6 : To collections@enduml
分割示意图
@startumlAlice -> Bob : message 1Alice -> Bob : message 2newpageAlice -> Bob : message 3Alice -> Bob : message 4newpage A title for thelast pageAlice -> Bob : message 5Alice -> Bob : message 6@enduml
组合消息
@startumlAlice -> Bob: Authentication Requestalt successful caseBob -> Alice: Authentication Acceptedelse some kind of failureBob -> Alice: Authentication Failuregroup My own labelAlice -> Log : Log attack start loop 1000 times Alice -> Bob: DNS Attack endAlice -> Log : Log attack endendelse Another type of failure Bob -> Alice: Please repeat end@enduml
给消息添加注释
@startumlAlice->Bob : hellonote left: this is a first noteBob->Alice : oknote right: this is another noteBob->Bob : I am thinkingnote lefta notecan also be definedon several linesend note@enduml
更多的语法请参考官方……
通过代码来实现流程图,有没有觉得很爽呢?
更重要的,支持的平台非常多
http://plantuml.com/zh/running
流程图中的虚线含义_还在为画流程图烦恼,焦躁?介绍一款画图神器,让你爱上画图!...相关推荐
- smartart连续块状流程图_还在为「流程图」抓破头?用 Word 能又快又美的搞定!...
原标题:还在为「流程图」抓破头?用 Word 能又快又美的搞定! 作者:卓晓思 来源:纵横职场(id:ZHZC14) 我们以这张简单的招聘流程图为例,如果,我们在描述公司招聘流程的时候只是用文字进行描 ...
- Java摇骰子比大小_还在摇骰子比大小?这几款火热的KTV喝酒游戏你值得收藏
原标题:还在摇骰子比大小?这几款火热的KTV喝酒游戏你值得收藏 嗨,此时屏幕前的你, 是否正在包厢里和客人尽情高歌. 曲也唱了两三首了, 不如来点酒桌游戏助助兴. 今天带来6种当下最流行的喝酒游戏, ...
- umi脚手架搭建的项目_还在从零开始搭建项目?手撸了款快速开发脚手架!
之前开源了一款项目骨架mall-tiny,完整继承了mall项目的整个技术栈.总感觉mall-tiny集成了太多中间件,过于复杂了.这次对其进行了简化和升级,使它成为了一款拥有完整权限管理功能的快速开 ...
- ps里面怎么插入流程图_用PS怎么画流程图?
回答: 相信大家对流程图并不陌生,高中时期,数学流程图历历在目,如今,工作中使用流程图也是越来越频繁了,开发者理顺和优化业务,流程图对它们有一个很好的帮助.流程的绘制,基本上是按照业务的实际处理步骤和 ...
- java中数组的含义_数组
数组(Array)是有序的元素序列.[1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数 ...
- python中系列的含义_一篇文章让你彻底搞清楚Python中self的含义
刚开始学习Python的类写法的时候觉得很是麻烦,为什么定义时需要而调用时又不需要,为什么不能内部简化从而减少我们敲击键盘的次数? 你看完这篇文章后就会明白所有的疑问. self代表类的实例,而非类. ...
- java流程图中平行四边形代表什么_程序流程图中通常用平行四边形表示分支结构...
程序流程图中通常用平行四边形表示分支结构 答:错 DES的分组长度和有效密钥长度分别为( ) 答:64,56 若采用2∶1的比例绘制一个直径为20的圆时,其绘图直径为40,标注尺寸为40. 答:错 某 ...
- 请举例说明python中**运算符的含义_举例讲解Python中的身份运算符的使用方法
Python身份运算符 身份运算符用于比较两个对象的存储单元 以下实例演示了Python所有身份运算符的操作: #!/usr/bin/python a = 20 b = 20 if ( a is b ...
- 知云文献翻译打不开_还在为论文翻译烦恼吗?点进来帮您解决
毕业论文的摘要如何更专业的翻译?阅读外文文献如何更好的理解全文?PDF文档如何更简单地翻译?听说这些问题也在困扰大家,于是,我来了!! 今天给大家献上神器一枚--知云文献翻译. 知云文献翻译是一款功能 ...
最新文章
- 2nd 四人小组项目的进一步分析
- List集合ArrayList,LinkList
- java write int,void write(byte[] b, int off, int len)
- 用编码实现gridview的创建!(一)(转www.asp.net)
- 【Leetcode】112. 路径总和
- Linux入门学习(七)
- SpringBoot整合JdbcTemplate
- [ExtJS 6] SenchaCmd编译出错与解决
- Maven搭建webService (一) 创建服务端---使用main函数发布服务
- 2018年最新全国县级以上行政区划对应关系数据(按国家统计局网站整理)
- 百度之星冠军分享:AI图像赛事入门
- Icode编程>>>图形化编程>>>1级训练场>>>重复执行练习【1】
- Apple PUSH Notication Service (APNS) 配置攻略
- effective c++ 23NVI手法
- 关于SCI论文发表的五不准原则是
- (转)《一定要争气》
- Linux 静态链接库与动态链接库之一:静态链接库生成及使用
- 云系统服务器收费,云服务器收费标准
- [Python]可视化函数绘图计算器
- 使用scrapy框架抓取手机商品信息(2)
热门文章
- 微信上传素材 java_微信素材上传(JAVA)
- swift 从手机选照片_19元起!定制专属手机壳!还可免费打印照片...
- Flask入门之上传文件到服务器
- MSP432P401R TI Drivers 库函数学习笔记(六)UART 串口
- Linux C 算法——排序
- 【python】动态调用函数名
- linux内核模块常见问题
- [python]删除列表中相同的元素
- [react] 说说react的生命周期有哪些?
- [react] react与angular、vue有什么区别?