作為世界最著名的兩大CASE工具,Rational Rose和PowerDesigner的名聲可謂如雷貫耳。Rose是當(dāng)時(shí)全球最大的CASE工具提供商Rational的拳頭產(chǎn)品,UML建模語(yǔ)言就是由Rational公司的三位巨頭Booch、Rumbaugh和Jacobson發(fā)明的,后來(lái)Rational被IBM收購(gòu),所以Rose可謂出身名門(mén),嫁入豪族。而PowerDesigner也有一段好玩的歷史,王曉昀是一位中國(guó)人,在法國(guó)SDP軟件公司工作時(shí),由于苦覓一個(gè)好用的CASE工具未果,干脆自由開(kāi)搞,整了個(gè)AMC Designor出來(lái),居然一炮打響,在法國(guó)賣(mài)得個(gè)“巴黎紙貴”,后來(lái)SDP被Powersoft公司收購(gòu),同年Sybase這只大黃雀又吃下了Powersoft這只螳螂,所以PowerDesigner也是驚艷出場(chǎng),星光四射。
但兩者所走的明星路線卻很不相同,Rose出道是時(shí),走的是UML面向?qū)ο蠼#笤傧驍?shù)據(jù)庫(kù)建模發(fā)展,而PowerDesigner則反其道而行之,它先是一個(gè)純粹的數(shù)據(jù)庫(kù)建模工具,后來(lái)才向面向?qū)ο蠼,業(yè)務(wù)邏輯建模及需求分析建模進(jìn)軍,最終變成“演視歌三棲”明星。
由于第一印象的影響,所以Rose常常給人的印象還是只是面向?qū)ο蠓治鲈O(shè)計(jì)的工具,而PowerDesigner給人的印象則還停留在數(shù)據(jù)庫(kù)建模工具上。其實(shí),現(xiàn)在的Rose和PowerDesigner都即可以進(jìn)行數(shù)據(jù)庫(kù)建模,也可以進(jìn)行面向?qū)ο蠼,只是存在支持上的偏重而已?/P>
二、二者區(qū)別概述
Rose和PowerDesigner雖然在項(xiàng)目分析設(shè)計(jì)領(lǐng)域已經(jīng)成為被高度聚光的明星,但是在具體使用哪款工具的問(wèn)題上,不同的公司,不同的人,出于成本,習(xí)慣抑或個(gè)人喜好,往往有自己的判斷。由于筆者在不同的公司中被分別要求使用Rose或PowerDesigner進(jìn)行分析設(shè)計(jì)工作,所以對(duì)二者有著較為細(xì)致的體驗(yàn)。
Rose走大而全,一站式的策略,它沒(méi)有將數(shù)據(jù)庫(kù)設(shè)計(jì)和面向?qū)ο笤O(shè)計(jì)清晰地分開(kāi),僅以不同的目錄來(lái)區(qū)分。而PowerDesigner將兩者劃分到獨(dú)立的模型文件中,分別對(duì)應(yīng)不同的設(shè)計(jì)環(huán)境,并通過(guò)模型之間的轉(zhuǎn)換工具建立各模型的關(guān)聯(lián)。即使對(duì)于數(shù)據(jù)庫(kù)設(shè)計(jì)模型,PowerDesigner也需要你選擇一個(gè)具體的數(shù)據(jù)庫(kù)產(chǎn)品及其版本,以便工作環(huán)境對(duì)具體數(shù)據(jù)庫(kù)敏感。所以Rose顯得大而化之,而PowerDesigner則比較精細(xì)和一體化。Rose的逆向工程,文檔輸出,代碼生成等輸入輸出功能上表現(xiàn)得比較生硬單調(diào),PowerDesigner在逆向工程,特別是文檔輸出和代碼生成這些功能上提供了精細(xì)的控制,讓用戶擁有高度的自由度。
Rose在操作體驗(yàn)上存在很多需要改進(jìn)的地方,Rose偏向于讓用戶用鼠標(biāo)進(jìn)行操作,對(duì)鍵盤(pán)操作支持不好。而PowerDesigner在用戶體驗(yàn)上得分很高,大部分操作都可以通過(guò)鍵盤(pán)完成,在充分熟悉其快捷鍵的前提下,PowerDesigner將給設(shè)計(jì)者一種行云流水的感覺(jué),用戶交互上更加人性化。此外,Rose往往占用更多的資源,容易異常退出,PowerDesigner則顯得輕便穩(wěn)定。所以,我個(gè)人對(duì)兩者的體驗(yàn)就是“Rose笨拙,PD利索”。下面將具體列出Rose和PowerDesigner的一系列的區(qū)別,相信大家可以借由這些比較而見(jiàn)微知著,窺斑知豹,以資在選擇工具時(shí),提供參考。
三、模型組織和層次結(jié)構(gòu)上的區(qū)別
1、模型組織Rose將數(shù)據(jù)庫(kù)模型和對(duì)象模型放在一起,在進(jìn)行數(shù)據(jù)表模型設(shè)計(jì)時(shí),沒(méi)有特性化的東西。而PowerDesigner將兩者分開(kāi),其模型組織層級(jí)關(guān)系是:工作空間->模型類(lèi)型->具體語(yǔ)言/數(shù)據(jù)庫(kù)的模型->包->文件夾->Diagram->設(shè)計(jì)元素。在創(chuàng)建模型文件時(shí),會(huì)讓你選擇模型類(lèi)型,選擇模型類(lèi)型后,還可以選擇模型類(lèi)型下語(yǔ)言及版本相關(guān)的細(xì)分類(lèi)。不同設(shè)計(jì)模型對(duì)應(yīng)軟件工程的不同階段,如業(yè)務(wù)模型和需求模型屬于項(xiàng)目需求階段,而對(duì)象模型屬于概要和詳細(xì)設(shè)計(jì)階段,數(shù)據(jù)庫(kù)模型屬于詳細(xì)設(shè)計(jì)階段。它們之間雖然有很強(qiáng)的內(nèi)在聯(lián)系,但差異性也很明顯,硬將兩者放到一起,就象把猴子和猩猩關(guān)進(jìn)同一個(gè)籠子,為了兼顧和平衡兩者之間的考量,其結(jié)果是兩者都得不到很好的支持。