流程图在各行各业都有所应用,尤其广泛应用与技术设计,产品设计。画好流程图,可以让别人能够很轻松地理解业务,特别是遇到比较复杂的业务时,用言语解释可能需要花费一上午甚至一天,但是用图去表示可能只需要 1 个小时。不多说,直奔主题。

预备知识

看了网上的一些关于流程图绘制的资料,组件太多,组件含义的解释如同机翻,没有具体实例,让人无从下手,看得令人头大。其实大可不必学习所有组件,因为常用的就只有那几个组件,掌握基本的组件使用,以后可以看情况逐渐扩展。

首先眼熟一下几个常用的流程图基本组件:

再看一下流程图的结构构成:

常用的流程图就是顺序结构与选择结构二者结合的结构。在绘制流程图的过程中还需要注意如下几点,此处引用参考内容:

(1)绘制流程图时,为了提高流程图的逻辑性,应遵循从左到右、从上到下的顺序排列。

(2)绘制流程图时,为了提高流程图的逻辑性,应遵循从左到右、从上到下的顺序排列。一个流程从开始符开始,以结束符结束。开始符号只能出现一次,而结束符号可出现多次。若流程足够清晰,可省略开始、结束符号。

(3)菱形为判断符号,必须要有“是和否(或Y和N)”两种处理结果,意思是说,菱形判断框一定需要有两条箭头流出;且判断符号的上下端流入流出一般用“是(或Y)”,左右端流入流出用“否(或Y)”。

(4)同一流程图内,符号大小需要保持一致,同时连接线不能交叉,连接线不能无故弯曲。

(5)流程处理关系为并行关系的,需要将流程放在同一高度。

(6)必要时应采用标注,以此来清晰地说明流程,标注要用专门的标注符号。

(7)处理流程须以单一入口和单一出口绘制,同一路径的指示箭头应只有一个。

(8)同一路径的指示箭头应只有一个。

(9)流程图中,如果有参考其他已经定义的流程,不需重复绘制,直接用已定义流程符号即可。

以上为需要储备的基础流程图知识,参考地址:画了多年的流程图,你真的画规范了吗?

工具准备

所谓工欲善其事必先利其器,绘制流程图需要趁手的兵器,我推荐两个在线绘制的网站。

draw.io 提供了桌面版,目前我使用的就是这个, processOn 免费版有数量限制,不过一般也够用了。

业务说明

以下笔者就以本人前段时间开发的抽奖系统实践绘制技术流程图,以供参考。

需求就是开发一个春节用的抽奖系统,代码实现上还是不难,但是步骤还是比较多的,画流程图一个原因是帮助自己理清业务设计业务,另一个原因就是可以直接将流程图提供给对应的测试,从而达到针对每个步骤进行测试的目的。

流程图实践绘制

流程图的绘制规则如上文参考中的规则进行,处理组件只有一个输入一个输出,菱形判定必定有两个输出,左右端流出代表否定,不同流程使用子流程组件进行引用,连接线无交叉等。

笔者使用Draw.io绘制本图,但是常用的组件分散于不同的分类中,为了方便使用,笔者将常用的几个基本组件放到便笺本分类。这个分类可以进行导入导出,这里分享我的导出内容,可以直接拷贝出来粘贴保存到一个文件中,然后在便笺本中导入即可。

1
<mxlibrary>[{"xml":"jVFBDsIgEHwN14bCxbOtevIRRNZCAkJgtfT3QkEbD008kOzM7IQZIHyw6RKEV1cnwRB+InwIzmGdbBrAGMKoloSPhDGaD2HnHbVfVepFgAf+Y2DV8BLmCZWpRMTFNEKhzbHGnvCjFFFBcdIMZqURohe3sjfnBpmLSvgCbZpKpU7eZRdRBGzXQEBIu1FXquW8gLOAYckrs5ao6sahtqEK9KSaizdOxIqnr3PrnYdW/QO3J161nx94Aw==","w":80,"h":30,"aspect":"fixed","title":"开始/结束"},{"xml":"jVBLDsIgED3N7CnEC9hqVx6CyKSQgDQw2vb2TgvauGjigmTmfch7A6oNc5/0aG/RoAd1AdWmGKlMYW7Re5DCGVAdSCn4gbwesM3GilEnfNA/BlkML+2fWJACZFp8BSwFjtU1oM5GZ4urU/AyWUeYR31fdRM3YKz+holwPky0QTVOjzEgpYUlkzNkq0KU1MKiG2y1nSqmc9mHr3Xvx0Ot+Fn3U27cz6Xf","w":100,"h":50,"aspect":"fixed","title":"处理"},{"xml":"jZA9DsIwDIVP4z1NFmZa6MTECQK16kgJqVL37/aEJlB1qMQQ6fl7dvRsUKWb66A7uvkGLagLqDJ4z0m5uURrQQrTgKpAShEfyOuBW6yu6HTAF/8zINPAqO2AiSTQ82IzCOTdY+hBnScyjPdOPz/OFDNHRuxi6KqIMn+FgXE+jLOinKVG75DDElsm0zCljlNKLAhNS7xnuk91+5vcdosir/cttzOu3u7Kbw==","w":80,"h":80,"aspect":"fixed","title":"判定"},{"xml":"jZJRbsMgDIZPwzsF7QKla/cy7aEnoIkXUJ0QgdMkO/0coKs2qdIiRbK/3z8xdoQ2/XKKdnTvoQUU+lVoE0OgEvWLAUShpG+FPgilJL9CHZ+ou6zK0UYY6D8GVQw3ixMUUkCiFStIzo5bOMbQQEpC72fnCc6jbTY8c+/MHPXc/GHH4cU21y6GaWg/JkI/QOWtTQ6270pOPsNAR9t7XBm8Ad6AfGOrcPZf2aRqbgKGmLvRMj/MLfpuYNbwTYHFfaIYrvCn1JjtCI9450PY+tnXa0MkWJ6OLqM6txOEHiiuXDL7llytkGW80oHvXLW9VGZTybsf62MRHNRd3NPHzrP265f4Bg==","w":100,"h":50,"aspect":"fixed","title":"子流程"},{"xml":"jVJRasMwDD2N/12bHWDLln4NdgUzi9jMiYqstsntp0VJm7AVZjBIT3pPkmXjm348Ujild4xQjH8zviFEVqsfGyjFOJuj8a/GOSvXuPZB9DBH7SkQDPwfglPCJZQzKKJA5aksAAzxmQiv4g04CPgSQ03wI3AQJ3FfFrMy4Rc0WJBmqm9bK0ciKgqxg4d9ztDS5BGwB6ZJUq45ctKMJx3FJshd4j1GUALny14+VHW7m9ytwgdmKezstJdZGRXP9AlL0vb5Vt74N48DdcC/eGJshrpD8zJW9750Td/+iW8=","w":50,"h":50,"aspect":"fixed","title":"虚线"}]</mxlibrary>

流程图导出

本图通过桌面版客户端 Draw.io 绘制,绘制通过导出功能导出,导出方法:先 ctrl + a 选中所有组件,选择文件-导出为文件-png,设置边框宽度,勾选 仅所选内容,即可导出PNG图片。

参考文章