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也不是一件好事,因為有時候它會把簡單的東西復雜化。
官網: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種標準建模,即靜態建模(用例圖類圖對象圖組件圖配置圖)和動態建模(合作圖序列圖狀態轉移圖活動圖),為了使靜態建??梢灾苯幼饔糜诖a,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 等(這也是微軟的傳統),所以它可以說用于圖形語義的描述比較方便,但是用于軟件開發過程的迭代開發則有點牽強。
-
建模
+關注
關注
1文章
304瀏覽量
60765 -
UML
+關注
關注
0文章
122瀏覽量
30858 -
軟件系統
+關注
關注
0文章
62瀏覽量
9501
發布評論請先 登錄
相關推薦
評論