posts - 3, comments - 13, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          很久沒有來寫東西了,因?yàn)橐恢泵τ诳荚嚭蜏?zhǔn)備出國資料,不過還是在一直在編程的。
          ??? 最近和同學(xué)合作寫了一個小程序,用來將非結(jié)構(gòu)化流程圖轉(zhuǎn)換成為結(jié)構(gòu)化流程圖,這是我們程序設(shè)計方法學(xué)中所學(xué)的,就拿出來用,做了個程序。
          ??? 他用Perl寫出了核心,我用Java做出了界面,顯然大家看看這個界面吧,嘿嘿……

          fast1.png

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

          fast2.png

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

          fast3.png

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

          評論

          # re: 非結(jié)構(gòu)化流程圖到結(jié)構(gòu)化流程圖的自動轉(zhuǎn)換  回復(fù)  更多評論   

          2007-04-24 17:36 by MM
          沒的一點(diǎn)意識...傻呀!!!

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 乾安县| 太仓市| 新蔡县| 江北区| 龙泉市| 张家界市| 桐梓县| 东兴市| 固原市| 青龙| 宜君县| 高要市| 漠河县| 景东| 天等县| 海盐县| 永济市| 阿瓦提县| 庆元县| 田东县| 邯郸市| 济源市| 镇宁| 偃师市| 武隆县| 顺义区| 龙江县| 雷波县| 台中市| 右玉县| 漠河县| 庆云县| 开封县| 焦作市| 高青县| 连城县| 徐汇区| 辽阳县| 嘉峪关市| 苍梧县| 扬州市|