原创 李富 / 叫叫技能团队

前语

作为一名程序员书写各种计划文档已经成为了日常开发工作必不可少的一环,在文档计划中参加各种图型模型表述能够大大提高文档的丰厚可读性,那你是否已经厌恶了对于各种各样图形的迁延拽凑集操作,就在今日,是时候参加文本绘图的国际了,摒弃繁琐的操作,运用类代码的方式快速高效的产出计划模型表达,让你的表达与计划考虑合一。

文本绘图

快速进入文本绘图世界

一张图了解什么是文本绘图,如上图所示。
浅显来讲便是利用特定的句子来构建模型,那么有人可能会质疑,我就画个图难道还得去新学一门言语?非也!既然都是程序员,if…else…了解吧、switch…case…这些句子都熟悉吧,结合这些特定句子,再加上一些简略规矩即可分分钟上手,画图就像markdown写 文章一样简略,那么接下来就让咱们进一步了解模型与规矩。

模型

咱们运用文本绘图终究能够绘出什么图,能不能像迁延拽图形凑集一样随意操作?答案当然是否,但随意操作真的好吗?一个毫无章法的绘图很难让人明白其中的逻辑思想表达,运用统一建模言语(UML)能够让你的绘图愈加专业,不同的场景表述对应着不同的模型,这儿咱们会简略介绍UML中常用的几种模型。

流程图

流程图:描绘体系的活动,判别体系的活动,判别点和分支等,活动图集中在一个单独进程动作流程。活动图告诉了咱们活动之间的依赖联系。

快速进入文本绘图世界

时序图

时序图:时序图着重消息时刻顺序的交互图、描绘体系的内部交互,将交互联系表明为一个二维图。纵向是时刻轴,时刻沿竖线向下延伸。横向轴代表了在协作中各独立目标的类元人物。类元人物用生命线表明。当目标存在时,人物用一条虚线表明,当目标的进程处于激活状态时,生命线是一个双道线。

快速进入文本绘图世界

用例图

用例图:举个栗子、打个比方、描绘体系的外部交互,描绘了作为一个外部的观察者的视角对体系的形象。着重这个体系是什么而不是这个体系怎么工作。

快速进入文本绘图世界

当然除了这三种模型之外,还有类图、组件图、状态图、目标图、部署图等等,这儿仅仅简略例举了常用的模型,想要了解更多模型能够检查UML教程,经过上方简略模型的模型表述,表达一个程序或需求时UML图是十分必要的。

PlantUML

PlantUML是一款开源的UML图制作东西,支撑经过文本来生成图形,运用起来十分高效。能够支撑时序图、类图、目标图、活动图、思想导图等图形的制作,完成文本绘图。他有许多的长处:

  • 上手快:学习本钱超低,部分场景(如语雀中能够直接增加文本绘图不需安装任何软件)乃至几乎没有学习本钱;
  • 作图心智舒适:绝大多数景象不必关心布局、款式等问题,离别对齐矩形、调间距这种繁琐无意义的事情,咱们只用把心里所想表达出来即可,心智天然;
  • 超强的可保护性:永远不必忧虑图的源文件丢了,它自己自身便是源文件,避免了文档保护的分裂;
  • 容易完成版本办理、团队协同;

既然有这么多长处,就让咱们去感触感触文本绘图的魔力。

绘图通用规矩

//开端与完毕的符号
@startuml
代码块
@enduml
//色彩值表达、可在文本或人物等之后运用
#色彩值(英文、16进制)
<color:色彩值>
//指向(适用于流程、时序)表达箭头指示
->  实线
--> 虚线
//换行符
\n 
//组合(活动/时序)
group 标签
代码块
//句子(流程)
if (XXX) then (XXX) else (XXX) endif 
switch (XXX) case (XXX)  endswitch
//注释 左右
note right(left):注释

流程图

根底流程图

规矩:

  • : 符号 紧跟进程目标
  • start 起始、end 表明完毕、stop 表明中止

快速进入文本绘图世界
快速进入文本绘图世界

杂乱流程图

进程: 先确定流程走向(双分支、多分支),运用不同的条件句子,流程途中可增加各种注释模块,以及分组,能够对进程进行kill中止,也可对流程进行循环。
规矩:

  • note right(left) XXXX end note 注释模块
  • group 分组称号 XXX end group 分组标识
  • kill 特定行为中止
  • repeat XXX backward XXX repeatwhile (循环内容) 循环标识

快速进入文本绘图世界
快速进入文本绘图世界

时序图

进程: 声明各个时序参与者,然后根据时序联系进行指向,并对指向进行标示解释,可增加各种标签备注,也可进行分组等。
规矩:

  • 声明参与者 participant 关键字
  • ->、–> 直接指向即可,箭头双方表明时序目标
  • autonumber 前方声明时序编号
  • group 分组名 [次级标签] XXX end
  • note right(left):标签内容

快速进入文本绘图世界
快速进入文本绘图世界

用例图

进程: 声明用例目标,界说别名,进行指向,进行注释
规矩:

  • (XXX) 声明用例目标
  • as 关键字界说别名、actor 关键字更改人物外形
  • X -(up/right/down/left)-> X 指向与方向
  • note right:注释

快速进入文本绘图世界
快速进入文本绘图世界

东西介绍

当然“工欲善其事,必先利其器”,了解了文本绘图的基本规矩还需求一个东西去进行出现,常规的PlantUML东西需求java的支撑解析,安装进程杂乱,所以直接选择语雀文档中现成东西是较好的一种选择。

语雀文本绘图东西运用图解

快速进入文本绘图世界

小结

上方简略介绍了流程图、时序图、用例图文本构建模型的例子,并且简略介绍了相关东西的运用,咱们能够发现,经过简略的语法容易的生成需求杂乱迁延拽才能构成的模型图,且在完美的运用文字去表达逻辑,可见文本交流的优势。

总结

经过几分钟对文本绘图有了个初步的了解,是否已经对此产生了稠密的爱好,不要急这仅仅文本绘图的冰山一角,除了上方介绍的根底绘画规矩之外还有更强壮的功用,如流程图的分割并行处理,泳道分离、时序图的生命线激活、空间等,乃至能够自己定制主题,从这些专业的词语中是否能够感触到你构建的模型图是多么的巨大上,想要了解更多的绘画规矩能够参看PlantUML官方文档,学习如何定制出自己想要的模型图。
学习文本绘图,让没有耐性的你也能成为绘图大师。

参考资料

PlantUML官方文档 plantuml.com/zh/starting
UML学习网 www.uml.org.cn/oobject/201…