Chinaunix首页 | 论坛 | 博客
  • 博客访问: 643336
  • 博文数量: 76
  • 博客积分: 3091
  • 博客等级: 中校
  • 技术积分: 996
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-11 15:40
个人简介

IT老兵,爱好胡思乱想、读书和交流,2015年底重新回到IT战场,期待再一次“贯穿”。

文章存档

2020年(11)

2018年(1)

2017年(1)

2016年(1)

2015年(1)

2014年(2)

2011年(5)

2010年(2)

2009年(4)

2008年(28)

2007年(20)

我的朋友

分类: 信息化

2020-06-17 17:40:23

最近,寻找合适的流程图工具中,有一类比较特殊,除了通用的作图功能外,更可以输出代码或者应用或者是任务(draw.io可以集成到vs code等各种IDE,但是仅仅是提供图示,并不能输出代码和脚本进行紧密结合),对于有开发经验的来说,称为“可执行”的流程图比较贴切(站在开发人员角度,图是双向的,后面对应的是代码或者脚本了,好的工具都是可以做到“双向”编辑)。
以前编程的时候用的Rational Rose就是典型的双向工具,从UML图中可以直接生成代码(代码中通过特殊的注释-脚本来标识),反过来在这个代码基础上进行的修改也会同步到图上,如果设计理顺了,代码实现是很爽的。
很多软件都带有这个特性,比较适合高级用户自己在基础软件上定制一些用途,现在常用的有下面几类,先占个坑。
一、数据自动处理类(如ETL),传统的有SQL Server2000中的DTS,带有数据处理图形化设计器,自动生成任务,自动执行,笔者曾经用这个编写过很复杂的程序,现在看起来功能很简洁,但很靠谱。后来升级到了SQL Server2005的SSIS,号称是ETL了,其编程工具有点复杂,没深入。现在新一代ETL工具大行其道,比如Spoon也是流行的ETL图形化工具,在Kettle中用的很多。

    SQL Server2000 DTS设计器

Spoon
二、自动代码类(plantUML),前面说的RationalRose就是可执行UML的前辈了,但太昂贵也太复杂。免费的包括PlantUML和StarUML。
PlantUML本质上是也算一门可以快速画图的设计语言,可以使用几乎绝大部分IDE开发环境,例如JetBrains PHPStrom, Pycharm, vscode…,在IDE开发环境下,你可以像使用Mark Down编辑器一样,左栏输入代码(plantUML代码),右栏可以几乎同时看到生成的流程图。
注意,因为plantUML是脚本性质的,很容易扩展为代码双向编程工具使用,就像Rose一样,网上可以查到有一个Go语言的类似项目。

三、工作流类,还有一类就是工作流引擎了,在国内很多OA,如泛微等都会有这样一个工作流引擎,然后通过一个工作流设计器进行可视化设计,然后就可以生成一个应用,也算可执行流程图了。



可视化的工具越来越成熟,很多甚至免费。这些工具给工程带来和很大的便利性,特别是开发的便利和维护的便利。但另一方面,开发人员容易迷失在这些工具中。
这些工具为我们提供图形化界面,将我们主要的精力放在规则上,提高开发效率。例如ETL中,确实使用这些工具能够非常快速地构建一个job来处理某个数据,不过从整体来看,并不见得整体效率会高多少。问题主要不是出在工具上,而是在设计、开发人员上。他们迷失在工具中,没有去探求ETL的本质。如果我们不透过表面这些工具的简单使用去看它背后蕴涵的思想,最终我们作出来的东西也就是一个个独立的job,将他们整合起来仍然有巨大的工作量。
如果在一个领域有所超越,必须要在理论水平上达到一定的高度.
阅读(1263) | 评论(0) | 转发(0) |
0

上一篇:流程图工具

下一篇:将博客搬至CSDN

给主人留下些什么吧!~~