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