EA與RoseUML建模工具比較
本節我們來學習一下EA與RoseUML建模工具比較,主要從建模特性,雙向工程和項目生命周期的支持幾個方面來介紹,希望通過本節的學習你對EA與RoseUML建模工具的優缺點有一定的認識。
EA與RoseUML建模工具比較
自從1997年正式發布UML以后,大量商用UML建模CASE工具粉墨登場。這樣為我們提供了許多的選擇,同時也要求我們在選擇正確的UML建模工具以更好地適應我們業務和軟件應用程序開發需求,達到***的投資回報率(ROI)方面做大量的調查。在這篇文章中,我們將比較兩款CASE工具的UML建模能力、雙向工程特性和項目生命周期支持:SparxSystems的EnterpriseArchitect(EA)專業版V.3.51和IBMRational的RationalRose企業版V.2002。
為什么我們需要UML建模CASE工具
今天,系統的構建變得越來越復雜,UML建模CASE工具為項目相關人員(如,項目經理,分析員,設計者,構架師,開發者等)提供了許多的好處。UML建模CASE工具允許我們應用規范的面向對象分析和設計的方法與理論,遠離糾纏不清的源代碼,達到構建和設計變得更直觀,更容易地理解與修改的層次。在大型項目中,使用CASE工具更重要。通過使用CASE工具:
◆通過用例模型,業務/系統分析可以捕獲到業務/系統需求。
◆設計者/構架師所作的設計模型能在不同層次的同一層內清晰表達對象或子系統之間的交互(典型的UML圖如類圖和交互圖)。
◆開發者能快速地將模型轉變為一個可運行的應用程序,尋找類和方法的子集,以及理解它們如何交互。
模型被看作是藍圖和構建系統的最終手冊。同樣,建模也就是一種從高層并以適當的形式來考慮一個設計的表述和理解它怎樣運行的能力。
出于這些動機,UMLCASE工具以及對應的方法論為我們提供了一種因系統太復雜而不能理解下層源代碼的描述系統的方法,同時允許我們更快更便宜地開發正確的軟件解決方案。
當然,要考慮CASE工具在UML建模能力,項目生命周期支持,雙向工程,數據建模,性能,價格,可支持性,易使用性等方面的不同。這篇文章將探索Rose與EA在UML建模,項目生命周期支持以及雙向工程領域的相同點和不同點,希望能幫助你在你的項目中選擇正確的工具。
UML建模特性
RoseUML建模工具中UML標準由三部分組成,即:構造塊(如對象,類,消息),構造塊間的關系(如關聯,泛化)和圖(如,活動圖)。UMLprofile使用UML可擴展性機制擴展標準UML符號,即,構造型,標注值和約束。EA專業版V.3.51和RationalRoseV.2002.05都支持UML1.4 九種圖中的八種標準UML圖-用例圖,類圖,序列圖,協作圖,活動圖,狀態圖,實現圖(組件)圖,部署圖,和幾種UMLProfiles.如果需要,對象圖可以使用協作圖來創建。不同點僅僅存在于創建UML圖(表1)和擴展UMLprofiles時所支持的一些特性。
EnterpriseArchitect有一個通用的UMLprofile機制用來加載和運行不同的Profiles。EnterpriseArchitect為UMLprofiles指定一個特定格式的XML文件。而在RationalRose中卻需要生成一個附加項。
雙向工程
RoseUML建模工具中雙向工程包括正向工程- 從模型到代碼和反向工程 - 從代碼到模型。一旦設計完成后,使用模型(設計模型和數據模型)信息能夠生成特定編程語言的源代碼或者數據庫的DDL腳本。當開發人員添加/更改代碼或數據庫實現時,設計和數據模型能夠通過雙向工程同步代碼或DDL腳本以保持一致。
EA為類生成類的源代碼文件放在同一個包里。RationalRose在VC++或VB中更多的涉及到具體的項目。RationalRose也可以通過向導和提供代碼模板來創建類,這樣可以大大增加源代碼生成的數量。另外,EA和Rose都可以應用設計模式。當使用EA時,用戶必須自己創建模式,而Rose則提供了Java的20種GOF設計模式。
項目生命周期的支持
CASE工具應該為團隊中的所有隊員完成他們的任務提供支持。關于項目生命周期的支持,EA將大量的功能合成一體,而Rose則主要是一個建模工具,它可以與其他的Rational或第三方工具集成,如RequisitePro,TestManager,Soda,MSWord,MSProject以達到同樣的目標。表4比較了EA和Rose在不同科目的功能支持。
結論
大體上,EA和RoseUML建模工具在建模能力上有相似的功能。EA和RationalRose都支持UML九種圖中的八種。從表1中可以看出EA在用戶友好性的靈活性中比Rose更勝一籌,特別是序列圖。在雙向工程中,Rose比EA支持更多的語言,除C#和VB.NET外(事實上,Rational開發了另外的工具–RationalXDEfor.NET就是針對.NET環境的)。表4闡明,在項目生命周期的支持方面,EA相對于Rose來說,是更好的選擇。盡管你可以購買其他的Rational工具來協助它,但是絕大部分公司在考慮成本問題時卻不認為這是一個可接受的方案。當然,你需要工具上沒有或第三方工具不支持的一些其他的特定功能時,這也是要考慮的重要因素。在這一點上,RationalRose得到了更廣的支持。
***,經過一系列同類型的比較,是不是費用也不同?是的――非常大的不同!單是Rose花費就是EA的28倍。如果你要比較項目生命周期的支持,假設你是一個Rose用戶,你將必須去購買Rational捆綁的一整套產品,如RequisitePro,SoDA,TestManager等。雖然附加的工具比同類的EA提供了更豐富的功能,但是在大部分時間里EA的基本功能已經夠用了。在寫本文時,EA企業版(***版本支持SQL后臺)的費用是$179.00(£111.58)而RationalRose企業版的費用是$5024(£3140),一天整套開發包(RationalDeveloperSuite)的費用是$8976(£5610)。
【編輯推薦】