UML建模工具比較
自從1997年正式釋出UML以後,大量商用UML建模CASE工具粉墨登場。這樣為我們提供了許多的選擇,同時也要求我們在選擇正確的UML建模工具以更好地適應我們業務和軟體應用程式開發需求,達到最好的投資回報率(ROI)方面做大量的調查。在這篇文章中,我們將比較兩款CASE工具的UML建模能力、雙向工程特性和專案生命週期支援:Sparx Systems的Enterprise Architect(EA)專業版V.3.51和IBM Rational的Rational Rose企業版V.2002。
為什麼我們需要UML建模CASE工具
今天,系統的構建變得越來越複雜,UML建模CASE工具為專案相關人員(如,專案經理,分析員,設計者,構架師,開發者等)提供了許多的好處。UML建模CASE工具允許我們應用規範的物件導向分析和設計的方法與理論,遠離糾纏不清的原始碼,達到構建和設計變得更直觀,更容易地理解與修改的層次。在大型專案中,使用CASE工具更重要。通過使用CASE工具:
* 通過用例模型,業務/系統分析可以捕獲到業務/系統需求。
* 設計者/構架師所作的設計模型能在不同層次的同一層內清晰表達物件或子系統之間的互動(典型的UML圖如類圖和互動圖)。
* 開發者能快速地將模型轉變為一個可執行的應用程式,尋找類和方法的子集,以及理解它們如何互動。
模型被看作是藍圖和構建系統的最終手冊。同樣,建模也就是一種從高層並以適當的形式來考慮一個設計的表述和理解它怎樣執行的能力。
出於這些動機,UML CASE工具以及對應的方法論為我們提供了一種因系統太複雜而不能理解下層原始碼的描述系統的方法,同時允許我們更快更便宜地開發正確的軟體解決方案。
當然,要考慮CASE工具在UML建模能力,專案生命週期支援,雙向工程,資料建模,效能,價格,可支援性,易使用性等方面的不同。這篇文章將探索Rose與EA在UML建模,專案生命週期支援以及雙向工程領域的相同點和不同點,希望能幫助你在你的專案中選擇正確的工具。
UML建模特性
UML標準由三部分組成,即:構造塊(如物件,類,訊息),構造塊間的關係(如關聯,泛化)和圖(如,活動圖)。UML profile使用UML可擴充套件性機制擴充套件標準UML符號,即,構造型,標註值和約束。EA專業版V.3.51和Rational Rose V.2002.05都支援UML 1.4 九種圖中的八種標準UML圖 - 用例圖,類圖,序列圖,協作圖,活動圖,狀態圖,實現圖(元件)圖,部署圖,和幾種UML Profiles. 如果需要,物件圖可以使用協作圖來建立。不同點僅僅存在於建立UML圖(表1)和擴充套件UML profiles時所支援的一些特性。
UML圖 |
功能 |
EA |
Rose |
用例圖 |
建立描述領域的邊界 |
Yes |
No.但是,一些工作使用文字或包。 |
序列 協作 |
序列圖與協作圖之間的相互轉化 |
No |
Yes |
序列 |
更改訊息的範圍 |
Yes |
No |
序列 |
顯示訊息層次號碼 |
Yes |
No |
序列 協作 |
在瀏覽器中建立物件 |
Yes |
No |
序列 |
管理控制元件的焦點 |
容易 |
困難 |
所有 |
圖的屬性 |
Yes |
No |
表1. EA和Rose的UML圖建模比較
Enterprise Architect
有一個通用的UML profile機制用來載入和執行不同的Profiles。Enterprise Architect為UML profiles指定一個特定格式的XML檔案。而在Rational Rose中卻需要生成一個附加項。 表2展示了在EA和Rose中UML profiles的可用性。
UML Profiles |
EA |
Rose |
業務流程建模 |
支援Eriksson-Penker業務流程建模擴充套件 |
使用UML活動圖 |
業務建模 |
No |
Yes |
資料建模 |
Yes |
Yes |
使用者體驗建模 |
Yes |
No |
Web建模 |
Yes |
Yes |
XML DTD |
No |
Yes |
表2. EA和Rose的UML Profile比較
雙向工程
雙向工程包括正向工程 - 從模型到程式碼 和反向工程 - 從程式碼到模型。一旦設計完成後,使用模型(設計模型和資料模型)資訊能夠生成特定程式語言的原始碼或者資料庫的DDL指令碼。當開發人員新增/更改程式碼或資料庫實現時,設計和資料模型能夠通過雙向工程同步程式碼或DDL指令碼以保持一致。表3顯示了EA和Rose雙向工程的特徵。
語言 |
EA |
Rose |
ANSI C++ |
Yes |
Yes |
Visual C++ |
No |
Yes |
VB6 |
Yes |
Yes |
Java |
Yes |
Yes |
C# |
Yes |
No |
VB.NET |
Yes |
No |
Delphi |
Yes |
No. |
J2EE/EJB |
No |
Yes |
CORBA |
No |
Yes |
Ada83, Ada95 |
No |
Yes |
Database |
Yes. 從資料模型到DDL指令碼的正向工程。ODBC資料來源的反向工程 |
Yes.DB2,Oracle, SQL 92, SQL Server, Sybase |
COM |
No |
Yes. 只是反向工程 |
Web應用程式 |
No |
Yes |
表3. EA和Rose的雙向工程
EA為類生成類的原始碼檔案放在同一個包裡。Rational Rose在VC++或VB中更多的涉及到具體的專案。 Rational Rose也可以通過嚮導和提供程式碼模板來建立類,這樣可以大大增加原始碼生成的數量。另外,EA和Rose都可以應用設計模式。當使用EA時,使用者必須自己建立模式,而Rose則提供了Java的20種GOF設計模式。
專案生命週期的支援
CASE工具應該為團隊中的所有隊員完成他們的任務提供支援。關於專案生命週期的支援,EA將大量的功能合成一體,而Rose則主要是一個建模工具,它可以與其他的Rational或第三方工具整合,如RequisitePro, Test Manager, Soda, MS Word, MS Project 以達到同樣的目標。 表4比較了EA和Rose在不同科目的功能支援。
專案科目 |
EA |
Rose |
業務建模 |
Yes. 使用UML Profile為業務流程建模 |
Yes.使用業務用例模型 |
需求管理 |
Yes. 功能和非功能需求;需求跟蹤矩陣 |
合併RequisitePro |
分析和設計 |
Yes UML類圖和互動圖,如果需要可以新增一些原型,如<<層>>,<<用例實現>> |
Yes UML類圖和互動圖 框架嚮導提供了一系列的模板來構造模型 |
實現 |
參見表3 適合C++,VB,C#和VB.NET專案 |
參見表3 支援大多數語言,除了.NET外 |
測試 |
Yes |
No. Quality Architect提供了單元測試,但是它需要其他的Rational工具,如Test Manager,Robot |
版本控制 |
不直接支援。使用控制單元,為將來發布計劃。 |
整合SCC相應版本控制應用程式 |
專案管理 |
風險管理 資源分配 專案預算 |
No |
Web釋出 |
Yes |
Yes |
生成報表 |
Yes |
No. 使用SoDA |
多使用者協作 |
Yes |
Yes |
表4 EA和Rose對專案生命週期的支援
結論
大體上,EA和Rose在UML建模能力上有相似的功能。 EA和Rational Rose都支援UML九種圖中的八種。 從表1中可以看出EA在使用者友好性的靈活性中比Rose更勝一籌,特別是序列圖。 在雙向工程中,Rose比EA支援更多的語言,除C#和VB.NET 外(事實上,Rational 開發了另外的工具 – Rational XDE for .NET 就是針對.NET環境的)。 表4闡明,在專案生命週期的支援方面,EA相對於Rose來說,是更好的選擇。儘管你可以購買其他的Rational工具來協助它,但是絕大部分公司在考慮成本問題時卻不認為這是一個可接受的方案。當然,你需要工具上沒有或第三方工具不支援的一些其他的特定功能時,這也是要考慮的重要因素。在這一點上,Rational Rose得到了更廣的支援。
最後,經過一系列同型別的比較,是不是費用也不同? 是的――非常大的不同!單是Rose花費就是EA的28倍。如果你要比較專案生命週期的支援,假設你是一個Rose使用者,你將必須去購買Rational捆綁的一整套產品,如Requisite Pro, SoDA, Test Manager等。雖然附加的工具比同類的EA提供了更豐富的功能,但是在大部分時間裡EA的基本功能已經夠用了。在寫本文時,EA企業版(最高版本支援SQL後臺)的費用是$179.00(£111.58) 而Rational Rose企業版的費用是$5024(£3140),一天整套開發包(Rational Developer Suite)的費用是$8976(£5610)。
相關文章
- uml建模工具介紹
- StarUML for mac(UML建模工具)Mac
- 77種資料建模工具比較
- Astah Professional for Mac(UML建模工具)ASTMac
- uml建模工具:Astah Professional for mac v8.5.0啟用版ASTMac
- StarUML mac UML軟體建模器Mac
- UML常用建模工具簡介,安裝方法和各自的優點
- 元學習:人類與大模型比較建模大模型
- UML建模——用例圖(Use Case Diagram)
- VisualDiffer for mac (檔案比較工具)Mac
- Jenkins vs Kubernetes:比較 DevOps 工具Jenkinsdev
- Beyond Compare for Mac(檔案比較對比工具)Mac
- UltraCompare for Mac「Macos檔案比較工具」Mac
- Kaleidoscope for Mac,檔案影像比較工具Mac
- Vue.js構建工具比較Vue.js
- ETL介紹與ETL工具比較
- 常用的Java開發工具比較Java
- 檔案和影像比較工具Kaleidoscope
- UltraCompare 21 for Mac 檔案比較工具Mac
- ArgoUML for Mac 0.34 中文版下載 – Mac上優秀的免費UML建模工具GoMac
- 淺談前端MOCK資料工具比較前端Mock
- 原型設計工具比較及實踐原型
- 幾個比較火的BI分析工具
- POWER BI - 與其他BI工具的比較
- 2022年JavaScript開發工具比較 - bullshJavaScript
- Kaleidoscope for Mac(檔案和影像比較工具)Mac
- Mac檔案和影像比較工具:KaleidoscopeMac
- 檔案和影像比較工具:Kaleidoscope MacMac
- StarUML for Mac(UML軟體建模器) 5.1.0啟用版Mac
- js 深比較和淺比較JS
- 幾款前端IDE工具:Sublime、Atom、VSCode比較前端IDEVSCode
- 專案管理工具哪家比較好用?專案管理
- 多遠端桌面管理工具比較
- Mac檔案和影像比較工具——Kaleidoscope for MacMac
- ETL 幾種工具的比較(Kettle,Talend,Informatica )ORM
- 哪些開源雲工具比較實用呢?
- 一個比較float是否相等的工具類
- Mac檔案影像比較工具:Kaleidoscope Mac版Mac
- 第十章——UML建模(下午第三道,15)