Posted on 2006-06-03 12:11
舉止優(yōu)雅的豬 閱讀(2670)
評論(1) 編輯 收藏
很久沒有來寫東西了,因為一直忙于考試和準備出國資料,不過還是在一直在編程的。
??? 最近和同學合作寫了一個小程序,用來將非結(jié)構(gòu)化流程圖轉(zhuǎn)換成為結(jié)構(gòu)化流程圖,這是我們程序設(shè)計方法學中所學的,就拿出來用,做了個程序。
??? 他用Perl寫出了核心,我用Java做出了界面,顯然大家看看這個界面吧,嘿嘿……

??? 用過Eclipse的人都知道這是用Eclipse RCP和GEF做的,我就是利用這個程序掌握了RCP和GEF的用法。的確,Eclipse做出來的界面要比Java本身的Swing漂亮,但總感覺其復(fù)雜度更高,尤其是它MVC模式的實現(xiàn),感覺比Swing的復(fù)雜多了。
??? GEF無疑是一個非常好的圖形編輯框架,但編程的量也非常的大。GMF出來以后就方便了許多。
??? 我們叫這個程序FAST,是"Flowchart Abstract Syntax Tree"的縮寫,說明這個程序其實就是從一個流程圖的抽象語法樹開始,對其進行遍歷,按照程序設(shè)計方法學中從非結(jié)構(gòu)化流程圖轉(zhuǎn)換到結(jié)構(gòu)化流程圖的步驟進行轉(zhuǎn)換。在轉(zhuǎn)換后的圖片生成方面,我們用了GraphViz庫,是AT&T實驗室的一個開源項目,可以自動布局,生成后的圖片同樣可以在這個界面中顯示:

??? 以上就是沒經(jīng)過優(yōu)化的結(jié)構(gòu)化流程圖,從程序設(shè)計方法學中,我們知道,經(jīng)過優(yōu)化后,結(jié)構(gòu)化的流程圖更加的簡練:

??? 我們專門設(shè)計了一種小語言來構(gòu)造初始的流程圖,也就是說也可以不用畫圖的方式來構(gòu)造,這樣更加方便測試。但文本的方式還沒有被加入到圖形界面中,因為時間的原因,圖形界面的工作也被我擱置,但假期中我會將其完善的。目前這個程序還沒有Release,不過圖形界面的源碼可以在我的SVN服務(wù)器上下到:
???
svn checkout svn://svn.berlios.de/fastsdk/trunk
以下是這個程序的主頁:
??? http://developer.berlios.de/projects/fastsdk/
希望大家會喜歡,嘿嘿……