Rose與PowerDesigner:兩款建模工具的對比(二)

發表于:2007-04-28來源:作者:點擊數: 標簽:工具兩款rose建模
PowerDesinger可以通過模型轉換工具進行 數據庫 建模和 面向對象 模型的相互轉換。但Rose不能將對象轉換為表,也不能將表轉換為對象。 2、工作空間PowerDesigner有工作空間的概念,一個工作空間下可以同時打開多個設計模型文件;而Rose同時僅能打開一個設計

PowerDesinger可以通過模型轉換工具進行數據庫建模和面向對象模型的相互轉換。但Rose不能將對象轉換為表,也不能將表轉換為對象。

  2、工作空間PowerDesigner有工作空間的概念,一個工作空間下可以同時打開多個設計模型文件;而Rose同時僅能打開一個設計文件,如果在設計時,需要參考其他的Rose設計模型,則需要反復關閉現有模型,打開參考模型,顯得設計上比較欠考慮。這個問題上兩者的差異恰似Eclipse和JBuilder的區別,Eclipse可以同時打開多個工程,而JBuilder只能同時打開一個工程。

  3、設計界面PowerDesigner的設計界面可以左右上下移動,而Rose只能向右,向下移動,此外,PowerDesigner可以將模型元素放大很多倍,而Rose只能放大到正常倍數,不過Rose的Overview工具可以使用戶快速定位到設計區中特定的區域,有點類似于游戲界面中常用的小地圖,挺不錯;

圖3:Overview工具(Rose)

  而在PowerDesigner中,你可以通過F8快捷鍵查看Diagram的總覽圖,不過只得通過放大操作定位到定位區域。

  4、對模型和語言的支持

  ◆對設計模型的支持力度和廣度

  PowerDesigner對對象模型和數據庫建模兩者的支持力度已經大抵相等,此外,還支持概念模型、業務模型、需求模型、XML模型、信息流模型、自由模型的分析設計。不過對后面這幾個模型的支持比較初級,而且在實際的應用中,這些模型用得也比較少,PowerDesigner的突出亮點還是在數據庫建模和對象模型的設計上。

  對于數據庫模型,PowerDesigner支持20余種數據庫,對于同一數據庫的不同版本還提供單獨的支持,以便在設計數據庫模型時,提供數據庫和版本相關的設計。對于面向對象模型,PowerDesigner支持11種主流語言,為對Java 5.0提供單獨的支持。

  Rose基本上可以說是一個對象模型設計工具,對數據庫模型的支持相對粗糙,內嵌的只支持Oracle 8數據庫,對其他數據庫設計的支持需要通過安裝插件的方式獲得,且對數據庫物理存儲參數等較細粒度的內容支持得比較粗糙。Rose的對象模型主要支持Java、VC和VB三種語言。

  ◆對Java語言的支持

  Rose對Java語言的支持更好,不但為不同版本的JDK提供了支持(不過Rose 2003還不支持JDK 5.0),還為Java具體產品及設計模式(如EJB、Corba、Servlet,GOF設計模式等)提供了內嵌性的支持,這些支持直接反應在Rose的主菜單上。正因為如此,使Rose背上的沉重的歷史負擔,如EJB和Corba這種語言級的東西是易變且不斷更新的,如何在這些具體產品的地位和影響已經降低時,對其作出割舍而又保證版本的兼容性,是擺在設計者面前的難題。

  PowerDesigner僅提供語言級對象設計的支持,不涉及語言內部的具體產品。其次因為它的設計工作區是和具體的模型類型及語言細分類相關的,而非在主菜單中直接提供支持,所以PowerDesigner在升級時顯得更加從容一些。

  這也是為什么PowerDesigner能以每年一個版本的速度升級,而Rose在2003版本后,新版本還遲遲投入市場的內在原因,否則以IBM的財力,研發能力不至于對市場反應如果緩慢。

  5、輸入和輸出功能的比較

  ◆反向工程

  從將程序代碼轉換為設計模型的逆向工程功能上看,Rose更象一個IDE,它會對需要逆向工程操作的程序代碼進行深度語義檢查,如果存在諸如程序代碼引用了類庫之外的類,反向工程將失敗,而且在報告失敗之前,窗口會陷入長時間無響應狀態。

  PowerDesigner僅對需逆向工程的程序代碼進行淺度語法檢查,這種淺度語法檢查不涉及包,類之間的關聯,僅對諸如類名是否和類文件名匹配,是否少了“}” 等語法性的內容進行檢查。即便存在錯誤,PowerDesigner也允許你忽略錯誤,繼續進行逆向工程操作,這種寬松的限制帶來了很大的便利。

                 

  圖4:逆向工程失敗選擇三種選擇(PD)

  忽略錯誤后,PowerDesigner會盡量修補錯誤,例如代碼中少了對應的“}”,它將會補上,類名和文件名不一致,將忽略類文件名保持類名不變。

  Rose一直宣揚的理念是IDE和設計工程進行雙向互通:在Rose中完成模型設計后導出為IDE所用的代碼,IDE編碼調整后又逆向工程到Rose。理念很美,深具吸引力,但是在實現中,往往很少有開發團隊會這樣做。一般CASE工具只是在分析設計階段使用,甚至很大比例的設計師僅把它當成畫圖的工具。

 

相關文檔:


Rose與PowerDesigner:兩款建模工具的對比(一)

Rose與PowerDesigner:兩款建模工具的對比(三)

Rose與PowerDesigner:兩款建模工具的對比(四)

Rose與PowerDesigner:兩款建模工具的對比(五)

Rose與PowerDesigner:兩款建模工具的對比(六)

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97