今天,系統的構建變得越來越複雜,UML建模CASE工具為項目相關人員(如,專案經理,分析員,設計者,構架師,開發人員等)提供了許多的好處。UML建模CASE工具允許我們應用規範的物件導向分析和設計的方法與理論,遠離糾纏不清的原始碼,達到構建和設計變得更直觀,更容易地理解與修改的層次。在大型項目中,使用CASE工具更重要。通過使用CASE工具:
* 通過用例模型,業務/系統分析可以捕獲到業務/系統需求。
* 設計者/構架師所作的設計模型能在不同層次的同一層內清晰表達對象或子系統之間的互動(典型的UML圖如類圖和互動圖)。
* 開發人員能快速地將模型轉變為一個可啟動並執行應用程式,尋找類和方法的子集,以及理解它們如何互動。
模型被看作是藍圖和構建系統的最終手冊。同樣,建模也就是一種從高層並以適當的形式來考慮一個設計的表述和理解它怎樣啟動並執行能力。出於這些動機,UML CASE工具以及對應的方法論為我們提供了一種因系統太複雜而不能理解下層原始碼的描述系統的方法,同時允許我們更快更便宜地開發正確的軟體解決方案。 當然,要考慮CASE工具在UML建模能力,專案生命週期支援,雙向工程,資料建模,效能,價格,可支援性,易使用性等方面的不同。
1.Rational Rose
是一種基於UML的建模工具。在物件導向應用程式開發領域,Rational Rose是影響其發展的一個重要因素。Rational Rose自推出以來就受到了業界的矚目,並一直引領著可視化建模工具的發展。越來越多的軟體公司和Team Dev開始或者已經採用Rational Rose,用於大型項目開發的分析、建模與設計等方面。
從使用的角度分析,Rational Rose便於使用,支援使用多種構件和多種語言的複雜系統建模;利用雙向工程技術可以實現迭代式開發;團隊管理特性支援大型、複雜的項目和大型而且通常隊 員分散在各個不同地方的Team Dev。同時,Rational Rose與微軟Visual Studio系列工具中GUI的完美結合所帶來的方便性,使得它成為絕大多數開發人員首選建模工具;Rose還是市場上第一個提供對基於UML的資料建模 和Web建模支援的工具。此外,Rose還為其他一些領域提供支援,如使用者定製和產品效能改進。
2.Enterprise Architect
Enterprise Architect是一個全功能的、基於UML的visual CASE工具,主要用於設計、編寫、構建並管理以目標為導向的軟體系統。它支援使用者案例、商務流程模式以及動態圖表、分類、介面、協作、結構以及物理模 型。此外,它還支援C++、Java、Visual Basic、Delphi、C#以及VB.Net。
3.visio
這是目前國內用得最多的case工具。它提供了日常使用中的絕大多數框圖的繪畫功能(包括資訊領域的各種原理圖,設計圖),同時提供了部分資訊領域的實物圖。visio的精華在於其使用方便,安裝後的visio2000既可以單獨運行,也可以在word中作為對象插入,與word整合良好,其圖產生後在沒有安裝visio的word仍然能夠查看。使用過其他繪圖工具的朋友肯定會感受到visio在處理框和文字上的流暢,同時在檔案管理上,visio提供了分頁、分組的管理方式。visio支援 UML的靜態和動態建模,對UML的建模提供了單獨的組織管理。從2000版本後visio被Microsoft收購,正式成為Office大家庭的一員,目前最新版是2002。納入名門的visio2002被微軟的風格所同化,樣子出現了一些華而不實的東西,但是功能上visio不減從前,各種器件模版有了許多增進。
它是最通用(MS的東西,意味著許多附帶的通用的東西)的硬體、網路平台等圖表設計軟體。好處是易用性高,特別是對不善於自己構造圖的人。但是正因為很全,所以某個方面上會造成專業程度較低。
有關工程管理類的顯然不如PROJECT2000好用;
畫IDEF0圖顯然不如BPWIN好用;
畫IDEF1X圖顯然無法與ERWIN相比;
畫組織機構圖WORD足夠用了,且普遍適用;
畫網路拓撲結構圖只要有相應的圖素,用什麼畫都行;
畫有關圖表類的顯然不如EXCEL好用;
關鍵的是,VISIO的圖只能以對象的方式插入你的主文件,只有在它本身環境下才能修改。
4.PowerDesigner
對物件模型和資料庫建模兩者的支援力度已經大抵相等,此外,還支援概念性模型、業務模型、需求模型、XML模型、資訊流模型、自由模型的分析設計。不過對後面這幾個模型的支援比較初級,而且在實際的應用中,這些模型用得也比較少,PowerDesigner的突出亮點還是在資料庫建模和物件模型的設計上。
對於資料庫模型,PowerDesigner支援20餘種資料庫,對於同一資料庫的不同版本還提供單獨的支援,以便在設計資料庫模型時,提供資料庫和版本相關的設計。對於物件導向模型,PowerDesigner支援11種主流語言,為對Java 5.0提供單獨的支援。
Rose基本上可以說是一個物件模型設計工具,對資料庫模型的支援相對粗糙,內嵌的只支援Oracle 8資料庫,對其他資料庫設計的支援需要通過安裝外掛程式的方式獲得,且對資料庫實體儲存體參數等較細粒度的內容支援得比較粗糙。Rose的物件模型主要支援Java、VC和VB三種語言。
從將程式碼轉換為設計模型的逆向工程功能上看,Rose更象一個IDE,它會對需要逆向工程操作的程式碼進行深度語義檢查,如果存在諸如程式碼引用了類庫之外的類,反向工程將失敗,而且在報告失敗之前,視窗會陷入長時間無響應狀態。
PowerDesigner僅對需逆向工程的程式碼進行淺度語法檢查,這種淺度語法檢查不涉及包,類之間的關聯,僅對諸如類名是否和類檔案名稱匹配,是否少了“}” 等文法性的內容進行檢查。即便存在錯誤,PowerDesigner也允許你忽略錯誤,繼續進行逆向工程操作,這種寬鬆的限制帶來了很大的便利。
文檔匯出功能
PowerDesigner對文檔匯出提供了精細的控制,你不但可以對文檔所包含的內容項進行設定,還可以對內容項的格式進行設定。如匯出的表結構是否包括名稱、資料類型、備忘等項目,這些項目在表欄中的寬度佔比,顏色,字型大小等等,不一而足。
在匯出設計模型的代碼時,PowerDesigner提供了精細的控制,不但可以進行對象層級,還可以進行代碼層級的控制(如是否要產生欄位備忘的代碼,外鍵代碼在表體代碼內聲明還是在表體外部聲明等),而Rose沒有提供代碼匯出的控制,也只能按其系統內部設定的方式匯出代碼。
5.StarUML
是一個運行在Win32上快速,靈活,可擴充,功能強大的UML/MDA平台。開源項目StarUML的目的是提供一個可以用來代替知名商業UML工具比如Rational Rose,Together等的建模工具和平台。您可以到StarUML的官方網站(http://www.staruml.com/)下載http://staruml.sourceforge.net/
6.JUDE
是一款全新的輕量級 UML 建模工具,支援 UML1.4 規範中定義的所有圖,並且創新地整合了思維導圖和 UML 。採用 100% 純 JAVA 構建的 JUDE 可以實現跨平台應用。 JUDE 不僅能夠實現分布式建模、項目合并,還能夠實現和其他建模工具的互動。 JUDE 的 JAVA 雙向工程功能更是可以減輕開發人員的工作量JUDE是一個中日合作的軟體項目,有商業化的Professional版本和免費的Community版本,最大的區別是免費版的不支援UML 2.0,對於一般應用足夠了
7.ArgoUML
有什麼獨到之處呢,除了安裝簡便(安裝完成僅有不到6M的大小)之外,還有以下特點: 1.Cognitive Psychology:符合認知心理學; 2.open standards:符合公開的UML標準; 3.100% pure Java:完全基於Java; 4.an open source project:是一個開源項目。 開源的建模工具 ArgoUML,ArgoUML 基於 BSD license 發布,支援九種標準的 UML diagrams
所以Rose顯得大而化之,而PowerDesigner則比較精細和具體化。Rose的逆向工程,文檔輸出,代碼產生等輸入輸出功能上表現得比較生硬單調,PowerDesigner在逆向工程,特別是文檔輸出和代碼產生這些功能上提供了精細的控制,讓使用者擁有高度的自由度。