* 通過(guò)用例模型,業(yè)務(wù)/系統分析可以捕獲到業(yè)務(wù)/系統需求。
* 設計者/構架師所作的設計模型能在不同層次的同一層內清晰表達對象或子系統之間的交互(典型的UML圖如類(lèi)圖和交互圖)。
* 開(kāi)發(fā)者能快速地將模型轉變?yōu)橐粋€(gè)可運行的應用程序,尋找類(lèi)和方法的子集,以及理解它們如何交互。
模型被看作是藍圖和構建系統的最終手冊。同樣,建模也就是一種從高層并以適當的形式來(lái)考慮一個(gè)設計的表述和理解它怎樣運行的能力。
出于這些動(dòng)機,UML CASE工具以及對應的方法論為我們提供了一種因系統太復雜而不能理解下層源代碼的描述系統的方法,同時(shí)允許我們更快更便宜地開(kāi)發(fā)正確的軟件解決方案。
當然,要考慮CASE工具在UML建模能力,項目生命周期支持,雙向工程,數據建模,性能,價(jià)格,可支持性,易使用性等方面的不同。這篇文章將探索Rose與EA在UML建模,項目生命周期支持以及雙向工程領(lǐng)域的相同點(diǎn)和不同點(diǎn),希望能幫助你在你的項目中選擇正確的工具。
| UML圖 | 功能 | EA | Rose |
| 用例圖 | 建立描述領(lǐng)域的邊界 | Yes | No.但是,一些工作使用文本或包。 |
| 序列 協(xié)作 | 序列圖與協(xié)作圖之間的相互轉化 | No | Yes |
| 序列 | 更改消息的范圍 | Yes | No |
| 序列 | 顯示消息層次號碼 | Yes | No |
| 序列 協(xié)作 | 在瀏覽器中創(chuàng )建對象 | Yes | No |
| 序列 | 管理控件的焦點(diǎn) | 容易 | 困難 |
| 所有 | 圖的屬性 | Yes | No |
Enterprise Architect 有一個(gè)通用的UML profile機制用來(lái)加載和運行不同的Profiles。Enterprise Architect為UML profiles指定一個(gè)特定格式的XML文件。而在Rational Rose中卻需要生成一個(gè)附加項?!”?展示了在EA和Rose中UML profiles的可用性。
| UML Profiles | EA | Rose |
| 業(yè)務(wù)流程建模 | 支持Eriksson-Penker業(yè)務(wù)流程建模擴展 | 使用UML活動(dòng)圖 |
| 業(yè)務(wù)建模 | No | Yes |
| 數據建模 | Yes | Yes |
| 用戶(hù)體驗建模 | Yes | No |
| Web建模 | Yes | Yes |
| Yes | No | |
| XML DTD | No | Yes |
雙向工程
雙向工程包括正向工程 - 從模型到代碼 和反向工程?。拇a到模型。一旦設計完成后,使用模型(設計模型和數據模型)信息能夠生成特定編程語(yǔ)言的源代碼或者數據庫的DDL腳本。當開(kāi)發(fā)人員添加/更改代碼或數據庫實(shí)現時(shí),設計和數據模型能夠通過(guò)雙向工程同步代碼或DDL腳本以保持一致。表3顯示了EA和Rose雙向工程的特征。
語(yǔ)言 | 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 |
EA為類(lèi)生成類(lèi)的源代碼文件放在同一個(gè)包里。Rational Rose在VC++或VB中更多的涉及到具體的項目。 Rational Rose也可以通過(guò)向導和提供代碼模板來(lái)創(chuàng )建類(lèi),這樣可以大大增加源代碼生成的數量。另外,EA和Rose都可以應用設計模式。當使用EA時(shí),用戶(hù)必須自己創(chuàng )建模式,而Rose則提供了Java的20種GOF設計模式。
項目生命周期的支持
CASE工具應該為團隊中的所有隊員完成他們的任務(wù)提供支持。關(guān)于項目生命周期的支持,EA將大量的功能合成一體,而Rose則主要是一個(gè)建模工具,它可以與其他的Rational或第三方工具集成,如RequisitePro, Test Manager, Soda, MS Word, MS Project 以達到同樣的目標。 表4比較了EA和Rose在不同科目的功能支持。
| 項目科目 | EA | Rose |
| 業(yè)務(wù)建模 | Yes. 使用UML Profile為業(yè)務(wù)流程建模 | Yes.使用業(yè)務(wù)用例模型 |
| 需求管理 | Yes. 功能和非功能需求;需求跟蹤矩陣 | 合并RequisitePro |
| 分析和設計 | Yes UML類(lèi)圖和交互圖,如果需要可以添加一些原型,如<<層>>,<<用例實(shí)現>> | Yes UML類(lèi)圖和交互圖 框架向導提供了一系列的模板來(lái)構造模型 |
| 實(shí)現 | 參見(jiàn)表3 適合C++,VB,C#和VB.NET項目 | 參見(jiàn)表3 支持大多數語(yǔ)言,除了.NET外 |
| 測試 | Yes | No. Quality Architect提供了單元測試,但是它需要其他的Rational工具,如Test Manager,Robot |
| 版本控制 | 不直接支持。使用控制單元,為將來(lái)發(fā)布計劃。 | 集成SCC相應版本控制應用程序 |
| 項目管理 | 風(fēng)險管理 資源分配 項目預算 | No |
| Web發(fā)布 | Yes | Yes |
| 生成報表 | Yes | No. 使用SoDA. |
| 多用戶(hù)協(xié)作 | Yes | Yes |
最后,經(jīng)過(guò)一系列同類(lèi)型的比較,是不是費用也不同? 是的――非常大的不同!單是Rose花費就是EA的28倍。如果你要比較項目生命周期的支持,假設你是一個(gè)Rose用戶(hù),你將必須去購買(mǎi)Rational捆綁的一整套產(chǎn)品,如Requisite Pro, SoDA, Test Manager等。雖然附加的工具比同類(lèi)的EA提供了更豐富的功能,但是在大部分時(shí)間里EA的基本功能已經(jīng)夠用了。在寫(xiě)本文時(shí),EA企業(yè)版(最高版本支持SQL后臺)的費用是$179.00(£111.58) 而Rational Rose企業(yè)版的費用是$5024(£3140),一天整套開(kāi)發(fā)包(Rational Developer Suite)的費用是$8976(£5610)。
聯(lián)系客服