这里写目录标题
为什么要学会画流程图
无论是在办公还是在生活中,流程图都是一个必不可少的重要辅助工具,大到建筑设计小到生活计划都需要使用流程图来帮助我们更好的完成每一件事情!
当然,我们程序员可以利用画流程图,来理清开发中的逻辑关系。
11种画流程图的工具
processon
官网地址:https://www.processon.com/
专业强大的作图工具,支持多人实时在线协作,可用于原型图、UML、BPMN、网络拓扑图等多种图形绘制。
wps
我们都知道wps,不仅可以写doc文档,还能做PPT,更神奇的是可以画流程图,更好的嵌入到已有的工具中。
draw.io
draw.io不仅支持在线版,还可以安装到Windows、Mac进行离线使用,尤其是与VS Code的结合,让它支持的平台进一步得到丰富。
Zen Flowchart
官网地址:https://huatu.qianglihuifu.com/
简单易用、功能强大,加上流畅的设计体验,高效制作专业又美观的脑图,轻松还原逻辑与思考。
xGraph
xGraph整体上和draw.io大同小异。但是,还是存在一些不同之处。
xGraph不仅支持组件和节点搜索,还可以进行私密分享。
通过xGraph创建流程图之后,只需要一键就可以获取私有链接和密钥,这样就可以对流程图进行加密分享。
lucidchart
lucidchart官方版是一款适用于chrome浏览器的离线图表工具。
lucidchart最新版基于html5技术打造,支持绘制流程图、实体模型、UML、思维导图等功能。
lucidchart插件内置了丰富的模板,可以帮助用户快速完成各类图表的制作,并且支持多人协作和实时同步,可有效提高工作效率。
boardmix
官网地址:https://boardmix.cn/flow-chart
BoardMix在线流程图软件,流程图制作和模板免费在线使用, 学习规划和工作流程从此无比清晰。
plantuml
plantuml是一款UML流程图绘制工具。
和其他流程图工具不同plantuml是通过文字描述、编码的方式来绘制UML图形,学习成本和使用门槛相对上述提到的开箱即用的流程图工具要复杂一些。
不过,仁者见仁,不同的使用者偏好不同的使用方式。就如同vim和VS Code,有的人喜欢花费更多的时间和精力记忆命令行,摆脱对鼠标的依赖,提升后期使用的效率。
迅捷画图
官网地址:https://huatu.98youxi.com/
简单易用、功能强大,加上流畅的设计体验,高效制作专业又美观的脑图,轻松还原逻辑与思考。
Visual Paradigm Online
Visual Paradigm Online[9]在流程图绘制方面以丰富的模板、用例见长,通过网站提供的模板和用例,能够快速创建流程图,同时,可以从中获取到很多组织架构方面的灵感。
但是,Visual Paradigm Online的打开速度和流畅度相对较差。
坚果云绘图
官网地址:https://www.jianguoyun.com/
如果说前面流程图工具限定免费数量让你使用的不够痛快,或者不能称其为完全免费,那么,坚果云绘图绝对算得上一款完全免费的流程图工具。
坚果云对于很多同学来说都不陌生,但是,对于大多数同学而言它只是一款云存储工具。其实,它也是一款非常强大的流程图工具。只是,它的流程图功能比较隐蔽,很容易被大家忽略。
在坚果云文件夹内点击新建->绘图文件->编辑
就可以打开流程图绘制界面,这样的话可以存储成千上万个流程图,因此,再也不用担心免费数量的限制。而且,结合坚果云强大的实时同步功能,还可以用于团队内部协同使用。
实例分析
原型图
我们在拿到产品经理的项目需求时,往往是软件的原型图。
因而,我们需要对原型图进行业务分析,如果不能正确的进行业务分析,做出来的产品往往是事与愿违。比如,我以前做的业务中的一个小模块,添加变更表,这是一个接口,如图所示:
原工程款应该来自于收款列表的接口,如图:
绘制流程图
如果能够分析好业务,开发效率会达到事半功倍的效果,这也就是,我现在要培养我自己开发业务的能力,编程语言很容易学的,但业务分析却不大容易。如果能够更好的分析业务,我们,可以用到流程图。
我选择使用processon绘制流程图,其他工具的流程图绘制和这是类似的。
新建流程图
我们打开processon的官网,登录成功后,店家左侧新建按钮,选择流程图即可。
重命名文件
因为,新建的流程图默认是未命名文件,所以,我们要重新命名文件。
点击右侧下拉按钮,显示隐藏的工具栏
文件重命名
文件内重命名
可以选择以下两种方式给文件命名。
-
点击未命名文件,直接命名即可
-
点击文件,选择重命名文件
文件外重命名
如果你没在文件中重命名就退出文件了,在外部也可以重命名,如下图所示:
流程图绘制
代码实现
使用流程图进行逻辑分析完后,于是,从新写了个接口,通过ajax实现异步请求,将数据读取到原工程款中,这样做显然是不好的,因为,ajax实现异步请求,又得再一次遍历数据库,因而,把数据直接写到收款列表的接口:
/**
* 展示收款列表
*
* @param backPageQuery
* @return
*/
@RequestMapping(value = "/listGaterings", method = RequestMethod.GET)
public Result listGaterings(BackPageQuery backPageQuery) {
Page<GatheringData> pageList= gatheringService.listGaterings(backPageQuery).getResultData();
String[] PROJECT_JSON = {"projectId", "gatheringId","gatheringName","originalProject", "accountReceivable", "realPaid", "remainMoney","note"};
JSONObject jsonObjectList = pageToJson(pageList, p -> {
JSONObject listobject = propsFilter(p, PROJECT_JSON);
return listobject;
});
return ResultUtil.buildSuccess(jsonObjectList);
}
当我用的时候,直接拿originalProject这个数据就可以了。
总结
我们要学会使用工具绘制流程图,从而提升自己分析问题的逻辑能力。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99277.html