常用的UML工具介紹和評價

UML簡介

Unified Modeling Language (UML)又稱統一建模語言或標準建模語言,是始於1997年一個OMG標準,它是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的所有階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。 面向對象的分析與設計(OOA&D,OOAD)方法的發展在80年代末至90年代中出現了一個高潮,UML是這個高潮的產物。它不僅統一了Booch、Rumbaugh和Jacobson的表示方法,而且對其作了進一步的發展,並最終統一爲大衆所接受的標準建模語言。

分類
UML定義了5類,10種模型圖
五種類圖定義
用例圖
:從用戶角度描述系統功能,並指各功能的操作者。
靜態圖:包括類圖,包圖,對象圖。
  • 類圖:描述系統中類的靜態結構
  • 包圖:是包和類組成的,表示包與包之間的關係,包圖描述系統的分層結構
  • 對象圖:是類圖的實例
行爲圖:描述系統動態模型和對象組成的交換關係。包括狀態圖和活動圖
  • 活動圖:描述了業務實現用例的工作流程
  • 狀態圖:是描述狀態到狀態控制流,常用於動態特性建模
交互圖:描述對象之間的交互關係
  • 順序圖:對象之間的動態合作關係,強調對象發送消息的順序,同時顯示對象之間的交互
  • 合作圖:描述對象之間的協助關係
實現圖:
配置圖:定義系統中軟硬件的物理體系結構
UML提供的基本模型圖包括:
(1)、用例圖:展示系統外部的各類執行者與系統提供的各種用例之間的關係
(2)、類圖:展示系統中類的靜態結構(類是指具有相同屬性和行爲的對象,類圖用來描述系統中各種類之間的靜態結構)
(3)、對象圖:是類圖的一種實例化圖(對象圖是對類圖的一種實例化)
(4)、包圖:是一種分組機制。在UML1.1版本中,包圖不再看作一種獨立的模型圖)
(5)、狀態圖:描述一類對象具有的所有可能的狀態及其轉移關係(它展示對象所具有的所有可能的狀態以及特定事件發生時狀態的轉移情況)
(6)、時序圖/順序圖:展示對象之間的一種動態協作關係(一組對象組成,隨時間推移對象之間交換消息的過程,突出時間關係)
(7)、合作圖:從另一個角度展示對象之間的動態協作關係(對象間動態協作關係,突出消息收發關係)
(8)、活動圖:展示系統中各種活動的執行流程(各種活動的執行順序、執行流程)
(9)、構件圖:展示程序代碼的物理結構(描述程序代碼的組織結構,各種構件之間的依賴關係)

(10)、配置圖:展示軟件在硬件環境中(特別是在分佈式及網絡環境中)的配置關係(系統中硬件和軟件的物理配置情況和系統體系結構)


常用UML建模工具

工慾善其事必先利其器,本文向大家介紹幾款常用UML建模工具,UML是個好東西,但是過分的依賴於UML也不是一件好事,因爲有時候它會把簡單的東西複雜化。


1、Rational Rose
官網:http://www-03.ibm.com/software/products/en/ratirosefami
Rational Rose是Rational公司出品的一種面向對象的統一建模語言的可視化建模工具。用於可視化建模和公司級水平軟件應用的組件構造。它包括了統一建模語言(UML),OOSE,以及OMT。其中統一建模語言(UML)由Rational公司3位世界級面向對象技術專家Grady Booch、Ivar Jacobson、和Jim Rumbaugh通過對早期面向對象研究和設計方法的進一步擴展而得來的,它爲可視化建模軟件奠定了堅實的理論基礎。
Rational Rose 是一個完全的、具有能滿足所有建模環境(Web開發,數據建模,Visual Studio和 C++ )靈活性需求的一套解決方案。Rose 允許開發人員,項目經理,系統工程師和分析人員在軟件開發週期內在將需求和系統的體系架構轉換成代碼,消除浪費的消耗,對需求和系統的體系架構進行可視化,理解和精練。通過在軟件開發週期內使用同一種建模工具可以確保更快更好的創建滿足客戶需求的可擴展的、靈活的並且可靠的應用系統。
在面向對象應用程序開發領域,Rational Rose是影響其發展的一個重要因素。Rational Rose自推出以來就受到了業界的矚目,並一直引領着可視化建模工具的發展。越來越多的軟件公司和開發團隊開始或者已經採用Rational Rose,用於大型項目開發的分析、建模與設計等方面。
Rose2002功能上可以完成UML的9種標準建模,即靜態建模(用例圖類圖對象圖組件圖配置圖)和動態建模(合作圖序列圖狀態轉移圖活動圖),爲了使靜態建模可以直接作用於代碼,Rose提供了類設計到多種程序語言代碼自動產生的插件。同時,作爲一款優秀的分析和設計工具,常用UML建模工具Rose具有強大的正向和逆向工程能力。正向工程這裏指的是由設計產生代碼,逆向工程指由代碼歸納出設計。通過逆向工程Rose可以對歷史系統作出分析,然後進行改進,再通過正向工程產生新系統的代碼,這樣的設計方式我們稱之爲再工程。
2、PowerDesigner
Power Designer 是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統進行分析設計,他幾乎包括了數據庫模型設計的全過程。利用Power Designer可以製作數據流程圖、概念數據模型、物理數據模型,還可以爲數據倉庫製作結構模型,也能對團隊設計模型進行控制。他可以與許多流行的軟件開發工具,例如PowerBuilder、Delphi、VB等相配合使縮短開發時間和使系統設計更優化。
Power Designer是能進行數據庫設計的強大的軟件,是一款開發人員常用的數據庫建模工具。使用它可以分別從概念數據模型(Conceptual Data Model)和物理數據模型(Physical Data Model)兩個層次對數據庫進行設計。在這裏,概念數據模型描述的是獨立於數據庫管理系統(DBMS)的實體定義和實體關係定義;物理數據模型是在概念數據模型的基礎上針對目標數據庫管理系統的具體化。
PowerDesigner 6.0支持數據流圖,8.0支持UML的UseCase/sequence/class視圖。
3、Visual Paradigm for UML
官網:http://www.visual-paradigm.com/product/vpuml/
Visual Paradigm for UML (VP-UML)是一款功能強大、跨平臺、使用最便捷、直觀的UML建模和CASE工具,它可以整合在其他CASE工具或者其他IDE工具中,這種“一站購物式”的軟件解決方案要遠遠優於常規的Model-Code-Deploy的開發進程。
Visual Paradigm for UML支持UML建模、數據庫建模、對象關係映射、逆向工程和Java雙向工程等等,功能異常強大。
4、Jude
一個號稱中日xp合作開發出來的小uml工具,只有幾m的大小,功能也還不錯。也是java做的,速度還是很快的。如果不需要使用逆向工程之類的高級功能的話,強烈推薦這個常用UML建模工具,並且它是免費的。
5、SystemArchitect
一個很受歡迎的高端UML建模工具,支持雙向工程(Round-tripEngineering)。
6、StarUML
StarUML(簡稱SU),是一種創建UML類圖,是一種生成類圖和其他類型的統一建模語言(UML)圖表的工具。StarUML是一個開源項目之一發展快、靈活、可擴展性強(zj)。唯一不足之處,在反向工程時,只能生成類圖,不能生成類之間的關係。

Rational Rose & PowerDesigner & VISIO比較

ROSE是直接從UML發展而誕生的設計工具,它的出現就是爲了對UML建模的支持,ROSE一開始沒有對數據庫端建模的支持,但是在現在的版本中已經加入數據庫建模的功能。ROSE主要是在開發過程中的各種語義、模塊、對象以及流程,狀態等描述比較好,主要體現在能夠從各個方面和角度來分析和設計,使軟件的開發藍圖更清晰,內部結構更加明朗(但是它的結構僅僅對那些對掌握UML的開發人員,也就是說對客戶瞭解系統的功能和流程等並不一定很有效),對系統的代碼框架生成有很好的支持。但對數據庫的開發管理和數據庫端的迭代不是很好。


PowerDesigner原來是對數據庫建模而發展起來的一種數據庫建模工具。直到7.0版纔開始對面向對象的開發的支持,後來又引入了對UML的支持。但是由於PowerDesigner側重不一樣,所以它對數據庫建模的支持很好,支持了能夠看到的90%左右的數據庫,對UML的建模使用到的各種圖的支持比較滯後。但是在最近得到加強。所以使用它來進行UML開發的並不多,很多人都是用它來作爲數據庫的建模。如果使用UML分析,它的優點是生成代碼時對Sybase的產品PowerBuilder的支持很好(其它UML建模工具則沒有或者需要一定的插件),其他面嚮對象語言如 C++,Java,VB,C#等支持也不錯。但是它好像繼承了Sybase公司的一貫傳統,對中國的市場不是很看看好,所以對中文的支持總是有這樣或那樣的問題。


VISIO原來僅僅是一種畫圖工具,能夠用來描述各種圖形(從電路圖到房屋結構圖),也是到VISIO2000纔開始引進軟件分析設計功能到代碼生成的全部功能,它可以說是目前最能夠用圖形方式來表達各種商業圖形用途的工具(對軟件開發中的UML支持僅僅是其中很少的一部分)。它跟微軟的office產品的能夠很好兼容。能夠把圖形直接複製或者內嵌到WORD的文檔中。但是對於代碼的生成更多是支持微軟的產品如VB,VC++,C#,MS SQL Server 等(這也是微軟的傳統),所以它可以說用於圖形語義的描述比較方便,但是用於軟件開發過程的迭代開發則有點牽強



中國人最常用的UML工具介紹(摘自論壇投票結果和網友)

第一名:Rational Rose。大名鼎鼎,史上最有名、最無可替代的UML產品,以至於,大多數將之等同於UML工具,正如將可樂等同於可口可樂。需要指出的是,自從 Rational被IBM收購之後,Rational Rose已經成爲歷史,作爲UML1.4標準的產物,現在已經不升級。其替代品是IBM的其他產品,如IBM RSA, RSD等。

第二名:IBM Rational RSA。無可置疑,IBM的旗艦產品,通過和IBM其他產品的協調,支持軟件開發的全生命週期開發。唯一的缺陷,是出奇的笨重,和出奇的龐雜昂貴(不唯一了?)。

第三名:Trufun Kant Studio。作爲國產唯一的UML工具,據說是最易用的UML工具,目前在國內大多數高校取得了廣泛的應用。對企業和高校而言,其最獨特的殺傷性武器是 支持廣泛實用性強,而且幫助企業引入TUP實訓和諮詢,一步到位解決產品和具體應用問題。

第四名:EA。EA的特點就是沒特點,除了便宜和好像要啥有啥外,沒有讓人印象深刻的地方,可能這就是低價產品之道。說起來,倒像我曾經呆過的系統集成企業,招標時,沒有我不會做的,沒有比我更便宜的,呵呵。

第五名:StarUML。用Delphi能做到這種程度,StarUML作者絕對是個Delphi牛人,只可惜此開源項目不知爲何中止,可惜啊。如果能夠繼續的話,估計其他UML工具都沒有活路了。

其他還有一些不太常用的,以後有時間再說,如ArgoUML, PowerDesigner, Visual UML等。







發佈了34 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章