幾款常用UML建模工具解析
本節向大家介紹幾款常用UML建模工具,UML是個好東西,但是過分的依賴於UML也不是一件好事,因為有時候它會把簡單的東西複雜化。請看下面詳細介紹。
常用UML建模工具
UML不算是個新名詞,但是實際中還是用得很少(可能是因為都是做小專案的原因吧,大專案就用得多了).
UML是個好東西,但是過分的依賴於UML也不是一件好事,因為有時候它會把簡單的東西複雜化.即使是程式碼的優良結構和可重用性也不能作為強制使用UML藉口,良好的演算法完全可以替代部分不必要的設計模組,或者說,其實有更好的UML設計你沒有發現.
1,RationalRose:大恐龍,小專案中難以使用,雖然是UML設計者做的。雖然這是一個推薦使用的高階工具,它使改進和維護設計、從模型生成報表、在平行協作環境中與他人共同進行建模工作變得很方便。
儘管Rose這個名稱跟英文中玫瑰單詞一摸一樣,但是這裡他代表Rational公司的面向物件分析和設計工具的一款力作。Rose目前在國內正被越來越多的公司所使用,其原因一方面是隨著軟體規模的擴大,面向物件分析和設計的優勢突現出來,軟體企業正在從面向過程向面向物件過渡。另一方面,Rose集中體現了統一軟體建模(UML)的先進設計思想,能夠通過一套統一的圖形符號簡潔有效地表達各種設計思想。當然,常用UML建模工具Rose本身在設計上的完善和與RationalCASE家族的完美整合也是作為一款最成功的CASE產品的基礎。
Rose2002功能上可以完成UML的9種標準建模,即靜態建模(用例圖類圖物件圖元件圖配置圖)和動態建模(合作圖序列圖狀態轉移圖活動圖),為了使靜態建模可以直接作用於程式碼,Rose提供了類設計到多種程式語言程式碼自動產生的外掛。
同時,作為一款優秀的分析和設計工具,常用UML建模工具Rose具有強大的正向和逆向工程能力。正向工程這裡指的是由設計產生程式碼,逆向工程指由程式碼歸納出設計。通過逆向工程Rose可以對歷史系統作出分析,然後進行改進,再通過正向工程產生新系統的程式碼,這樣的設計方式我們稱之為再工程。
下載地址:Rose2000和破解:http://id49479.my.u2i.net/
Rose2003:http://www.nj13z.cn/2004/down_view.asp?action=download&id=14
Rose2003破解:http://www.vchelp.net/ASP/cdf_pic/200405/reply_1_529068.rar
2,XDE,分別有4vs.net和4wsda的,很不錯,值得使用.
3,BorlandTogether:有很多版本,其中4VS.Net不推薦使用,用Jbuilder推薦使用,只是實在不喜歡它的介面。(Java開發的大,慢恐龍,但是各項功能很爽,這也不能怪它,java做的東西慢是正常的)。但它的功能還是很強大的。尤其是逆向工程用起來很方便,只不過當時我們的EJB專案中EJB都非常大,動輒幾千行,用它生成的sequence圖實在太詳細了,只有不停地刪掉細節,留下框架。建議非不得已不要使用這個龐然大物,對你的機器和你的耐心都是個考驗。它有foreclipse,vs.net等等外掛,感覺也不錯。
4,MSVisio2003forVisualStudio:VisioProfessional2000開始提供內建的UML支援。Enterprise版更加完整。這是一個功能廣泛強大的工具。和vs.net結合不錯,只是僅限於VS.NET的程式碼生成,沒意思,各方面都不舒服。
5,PowerDesigner:是簡練實用的常用UML建模工具、6.0支援資料流圖,8.0支援UML的UseCase/sequence/class檢視;
6,VisualParadigm:(http://www.visual-paradigm.com/vpuml.php)目前最合適也是最火的軟體了(從這一年來網站的設計變化就可以看出來好賣),強大,非Java.CommunityEdition可以免費使用,當然有功能限制.是一種UML建模和分析工具,出色的建模功能和程式碼同步。
7,WithClass2000:(http://www.microgold.com/)介面不是很好看,而且也沒有免費版本,不過功能還不錯,特別是程式碼生成的能力.
8,Poseidon(海神...):也是Java的,很漂亮,就是太慢。
9,Jude:一個號稱中日xp合作開發出來的小uml工具,只有幾m的大小,功能也還不錯。也是java做的,速度還是很快的。如果不需要使用逆向工程之類的高階功能的話,強烈推薦這個常用UML建模工具,並且它是免費的。
10,MagicDraw:一個基於Java的廉價常用UML建模工具。
11,ObjecteeringUML:一個免費的個人UML產品。
12,SystemArchitect:一個很受歡迎的高階UML建模工具,支援雙向工程(Round-tripEngineering)。