Rational Rose、PowerDesign、visio的比較
?
?
??? 因?yàn)楣ぷ髦泻苌偕婕暗経ML建模等工作,所以對這三款軟件的應(yīng)用認(rèn)識不深,一直覺得Visio比較好用,圖類型也比較全,而且畫出來的圖好看,很疑惑到底Rose和PowerDesign有什么優(yōu)勢。
?
??? 當(dāng)然對于PowerDesign還是稍微了解一些的,有些功能確實(shí)是Visio所不及的,比如說數(shù)據(jù)表可以直接連接數(shù)據(jù)庫導(dǎo)入,要是只能一個一個字段得輸進(jìn)去,還不把人都累死完了,可能對SQL Server是可以的,但是暫時還沒有找到。所以說PowerDesign功能確實(shí)還是比較強(qiáng)大的,而且可以支持服務(wù)器管理、上傳修改等等。當(dāng)然除了數(shù)據(jù)庫建模之外其他的功能暫時沒有涉及到。
?
??? 但是一直都沒搞明白Rose相對于Visio有什么優(yōu)勢,感覺Rose這個軟件安裝煩瑣、界面也不見得友好,設(shè)計起來也不順手,于是專門上網(wǎng)查了一下,發(fā)現(xiàn)看完還是不太明白,主要是沒有涉及到UML的建模,可能如果做過項(xiàng)目開發(fā)的話,會覺得Rose VS Visio跟PowerDesign VS Visio是一個道理吧。有一句話還是說得比較中肯的:無論是用Rose還是PowerDesign,Visio都是必須的,但是只能作為前兩者的補(bǔ)充。
?
??? 從網(wǎng)上轉(zhuǎn)一篇文章來,已經(jīng)被轉(zhuǎn)載得一塌糊涂了,我這里就不再標(biāo)明出處了,以后有空要好好研究一下這幾個工具。
?
?
--------------------------------------------------------------------------
?
??? ROSE是直接從UML發(fā)展而誕生的設(shè)計工具,它的出現(xiàn)就是為了對UML建模的支持,ROSE一開始沒有對數(shù)據(jù)庫端建模的支持,但是在現(xiàn)在的版本中已經(jīng)加入數(shù)據(jù)庫建模的功能。ROSE主要是在開發(fā)過程中的各種語義、模塊、對象以及流程,狀態(tài)等描述比較好,主要體現(xiàn)在能夠從各個方面和角度來分析和設(shè)計,使軟件的開發(fā)藍(lán)圖更清晰,內(nèi)部結(jié)構(gòu)更加明朗(但是它的結(jié)構(gòu)僅僅對那些對掌握UML的開發(fā)人員,也就是說對客戶了解系統(tǒng)的功能和流程等并不一定很有效),對系統(tǒng)的代碼框架生成有很好的支持。但對數(shù)據(jù)庫的開發(fā)管理和數(shù)據(jù)庫端的迭代不是很好。
?
??? PowerDesigner原來是對數(shù)據(jù)庫建模而發(fā)展起來的一種數(shù)據(jù)庫建模工具。直到7.0版才開始對面向?qū)ο蟮拈_發(fā)的支持,后來又引入了對UML的支持。但是由于PowerDesigner側(cè)重不一樣,所以它對數(shù)據(jù)庫建模的支持很好,支持了能夠看到的90%左右的數(shù)據(jù)庫,對UML的建模使用到的各種圖的支持比較滯后。但是在最近得到加強(qiáng)。所以使用它來進(jìn)行UML開發(fā)的并不多,很多人都是用它來作為數(shù)據(jù)庫的建模。如果使用UML分析,它的優(yōu)點(diǎn)是生成代碼時對Sybase的產(chǎn)品PowerBuilder的支持很好(其它UML建模工具則沒有或者需要一定的插件),其他面向?qū)ο笳Z言如C++,Java,VB,C#等支持也不錯。但是它好像繼承了Sybase公司的一貫傳統(tǒng),對中國的市場不是很看看好,所以對中文的支持總是有這樣或那樣的問題。
??? VISIO原來僅僅是一種畫圖工具,能夠用來描述各種圖形(從電路圖到房屋結(jié)構(gòu)圖),也是到VISIO2000才開始引進(jìn)軟件分析設(shè)計功能到代碼生成的全部功能,它可以說是目前最能夠用圖形方式來表達(dá)各種商業(yè)圖形用途的工具(對軟件開發(fā)中的UML支持僅僅是其中很少的一部分)。它跟微軟的office產(chǎn)品的能夠很好兼容。能夠把圖形直接復(fù)制或者內(nèi)嵌到WORD的文檔中。但是對于代碼的生成更多是支持微軟的產(chǎn)品如VB,VC++,MS SQL Server 等(這也是微軟的傳統(tǒng)),所以它可以說用于圖形語義的描述比較方便,但是用于軟件開發(fā)過程的迭代開發(fā)則有點(diǎn)牽強(qiáng)。
?
??? 三種產(chǎn)品各有側(cè)重點(diǎn),各有優(yōu)缺點(diǎn),主要是看你的選擇和你的開發(fā)方式和環(huán)境。
?
--------------------------------------------------------------------------
?
作者:ntchengl
??? 俺也來從自己的經(jīng)驗(yàn)談?wù)劇?br />??? 我是從目的和支持的角度來談的。
??? 首先談一個目的問題。現(xiàn)在都講究面向?qū)ο蟮姆治龊驮O(shè)計,俺也就基于oo講起吧。版本就是Rational Suite 2002 VS PowerDesigner 9.5 VS Visio 2002。
??? 第一,Case軟件的一個基本功能就是作圖。
??? 在軟件工程中,我們做的圖大概有以下幾種:系統(tǒng)框圖/樹圖、UML圖、ER圖、Gantt圖、任意流程圖、其他任意的圖表。
??? 系統(tǒng)框圖/樹圖用在比較隨意、沒有形成特定的文檔的時候,在這個環(huán)節(jié)上面,Visio最好,rose不支持,PowerDesigner支持一點(diǎn)點(diǎn)不好用。
??? UML圖中,三者都支持,Rose支持全系列的,而且很容易體現(xiàn)迭代、用例驅(qū)動等特性,相關(guān)性最好,缺點(diǎn)是圖形質(zhì)量差,邏輯檢查與控制差,沒有Name和Code的區(qū)分(PowerDesigner的特性)不太適合中國人,生成文檔不好也不適合自定義,也沒有設(shè)計對象的字典可以快速查找。PowerDesigner 9.5全支持,優(yōu)點(diǎn)就是圖形質(zhì)量好,生成的文檔容易自定義,邏輯檢查與控制好,有設(shè)計對象的字典可以快速查找和快速在圖形中定位,缺點(diǎn)就是相互之間的銜接稍微麻煩一點(diǎn),對UML和RUP不熟練的人用了,體現(xiàn)不出來迭代和用例驅(qū)動,熟練的人用了還算比較好解決。相比較起來Visio的圖形質(zhì)量是最好的,但是銜接和相關(guān)性也是最差的,邏輯檢查和控制勉強(qiáng)能做一點(diǎn)點(diǎn)。
??? ER圖不用說了,做得最好的是PowerDesigner,Rose和Visio比較業(yè)余。
??? Gantt圖用于項(xiàng)目計劃,Visio可以做,其他的都不支持。但是建議你不要用Visio做,還是用Project做好啦。
??? 任意流程圖不被Rose支持,Rose只支持面向業(yè)務(wù)的活動圖和面向用例的活動圖,限制比較多。PowerDesigner 9.5支持,用起來還可以。Visio最好,因?yàn)樗膱D形質(zhì)量最好,而且預(yù)定義的元素也最多。
??? Rose不支持其他任意的圖表。PowerDesigner 9.5支持,但是預(yù)定義的元素不多。這一點(diǎn)Visio最好,不用多說了。
?
??? 第二,好的Case軟件支持Case文檔與代碼、Case文檔與數(shù)據(jù)庫之間的雙向轉(zhuǎn)換。
??? Rose文檔能夠與代碼、數(shù)據(jù)庫雙向轉(zhuǎn)換,是通過中間插件實(shí)現(xiàn)的。PowerDesigner最好,大集成,支持與代碼和數(shù)據(jù)庫之間的雙向轉(zhuǎn)換,而且不需要插件。Visio是通過VBA和宏實(shí)現(xiàn)的,用起來稍微麻煩,雖然這個技術(shù)不難,但是現(xiàn)在懂這個的好像不太多。
?
??? 其次談一個支撐和協(xié)作問題。
??? Rose有相對最新最完整UML支持,PowerDesigner和Visio稍微滯后一點(diǎn)。Rose有RUP體系的支持和一系列支持RUP的軟件與Rose協(xié)作,這一點(diǎn)是PowerDesigner和Visio望塵莫及的。但是PowerDesigner有一個優(yōu)點(diǎn)就是“一站式”分析設(shè)計,不需要任何插件就可以與代碼和數(shù)據(jù)庫雙向轉(zhuǎn)換,Rose這方面需要Rational公司提供的相應(yīng)的插件(數(shù)據(jù)庫不要,只是客戶端代碼要),這個冬冬的錢真他媽的貴!這方面PowerDesigner真好:)。Visio感覺不入流。
?
??? 可能還有其他方面,我也不一一羅列了,大家可以根據(jù)自己的環(huán)境取舍。我的建議是:如果你的團(tuán)隊(duì)對業(yè)務(wù)和英文比較熟悉但是對RUP不太熟悉,建議你使用Rose,因?yàn)樗型暾腞UP理論支撐而且相關(guān)性很好;如果你的團(tuán)隊(duì)對業(yè)務(wù)和英文稍遜而且系統(tǒng)分析員能夠良好地理解RUP,那么建議你采用PowerDesigner;當(dāng)然,如果你不準(zhǔn)備全面采用RUP開發(fā)過程,PowerDesigner是最好的;Visio都是必需的,但是只是作為Rose或者PowerDesigner的補(bǔ)充。
?
?
?
-The End-