Posted on 2006-06-03 12:11
举止优雅的猪 阅读(2658)
评论(1) 编辑 收藏
很久没有来写东西了,因为一直忙于考试和准备出国资料,不过还是在一直在编程的。
最近和同学合作写了一个小程序,用来将非结构化流程图转换成为结构化流程图,这是我们程序设计方法学中所学的,就拿出来用,做了个程序。
他用Perl写出了核心,我用Java做出了界面,显然大家看看这个界面吧,嘿嘿……
用过Eclipse的人都知道这是用Eclipse RCP和GEF做的,我就是利用这个程序掌握了RCP和GEF的用法。的确,Eclipse做出来的界面要比Java本身的Swing漂亮,但总感觉其复杂度更高,尤其是它MVC模式的实现,感觉比Swing的复杂多了。
GEF无疑是一个非常好的图形编辑框架,但编程的量也非常的大。GMF出来以后就方便了许多。
我们叫这个程序FAST,是"Flowchart Abstract Syntax Tree"的缩写,说明这个程序其实就是从一个流程图的抽象语法树开始,对其进行遍历,按照程序设计方法学中从非结构化流程图转换到结构化流程图的步骤进行转换。在转换后的图片生成方面,我们用了GraphViz库,是AT&T实验室的一个开源项目,可以自动布局,生成后的图片同样可以在这个界面中显示:
以上就是没经过优化的结构化流程图,从程序设计方法学中,我们知道,经过优化后,结构化的流程图更加的简练:
我们专门设计了一种小语言来构造初始的流程图,也就是说也可以不用画图的方式来构造,这样更加方便测试。但文本的方式还没有被加入到图形界面中,因为时间的原因,图形界面的工作也被我搁置,但假期中我会将其完善的。目前这个程序还没有Release,不过图形界面的源码可以在我的SVN服务器上下到:
svn checkout svn://svn.berlios.de/fastsdk/trunk
以下是这个程序的主页:
http://developer.berlios.de/projects/fastsdk/
希望大家会喜欢,嘿嘿……