UML圖的作用
UML的目標是以面向對象圖的方式來描述任何類型的系統,具有很寬的套用領域。其中最常用的是建立軟體系統的模型,但它同樣可以用於描述非軟體領域的系統,如機械系統、企業機構或業務過程,以及處理複雜數據的信息系統、具有實時要求的工業系統或工業過程等。總之,UML是一個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行
建模,而且適用於系統開發的不同階段,從需求規格描述直至系統完成後的測試和維護。
特點
(1)UML統一了各種方法對不同類型的系統、不同開發階段以及不同內部概念的不同觀點,從而有效的消除了各種建模語言之間不必要的差異。它實際上是一種通用的建模語言,可以為許多面向對象建模方法的用戶廣泛使用。
(2)UML建模能力比其它
面向對象建模方法更強。它不僅適合於一般系統的開發,而且對並行、分散式系統的建模尤為適宜。
(3)UML是一種建模語言,而不是一個開發過程。
主要模型
在UML系統開發中有三個主要的模型:
功能模型
對象模型
採用對象、屬性、操作、關聯等概念展示系統的結構和基礎,包括
類圖、對象圖、包圖。
動態模型
圖的種類
截止UML2.0一共有13種圖形(UML1.5定義了9種,2.0增加了4種)。分別是:用例圖、類圖、對象圖、狀態圖、活動圖、順序圖、協作圖、構件圖、部署圖9種,包圖、時序圖、組合結構圖、互動概覽圖4種。
用例圖:從用戶角度描述系統功能。
類圖:描述系統中類的靜態結構。
對象圖:系統中的多個對象在某一時刻的狀態。
狀態圖:是描述狀態到狀態控制流,常用於動態特性建模
活動圖:描述了業務實現用例的工作流程
順序圖:對象之間的動態合作關係,強調對象傳送訊息的順序,同時顯示對象之間的互動
協作圖:描述對象之間的協助關係
構件圖:一種特殊的UML圖來描述系統的靜態實現視圖
部署圖:定義系統中軟硬體的物理體系結構
包圖:對構成系統的模型元素進行分組整理的圖
時序圖: 表示生命線狀態變化的圖
組合結構圖:表示類或者構建內部結構的圖
互動概覽圖:用活動圖來表示多個互動之間的控制關係的圖
用例圖
描述角色以及角色與用例之間的連線關係。說明的是誰要使用系統,以及他們使用該系統可以做些什麼。一個
用例圖包含了多個模型元素,如系統、參與者和用例,並且顯示了這些元素之間的各種關係,如泛化、關聯和依賴。
類圖
類圖是描述系統中的類,以及各個類之間的關係的靜態視圖。能夠讓我們在正確編寫代碼以前對系統有一個全面的認識。類圖是一種模型類型,確切的說,是一種靜態模型類型。類圖表示類、接口和它們之間的協作關係。
對象圖
與
類圖極為相似,它是類圖的實例,對象圖顯示類的多個對象實例,而不是實際的類。它描述的不是類之間的關係,而是對象之間的關係。
包圖
包圖用於描述系統的分層結構,由包或類組成,表示包與包之間的關係。
活動圖
描述用例要求所要進行的活動,以及活動間的約束關係,有利於識別並行活動。能夠演示出系統中哪些地方存在功能,以及這些功能和系統中其他組件的功能如何共同滿足前面使用
用例圖建模的商務需求。
狀態圖
描述類的對象所有可能的狀態,以及事件發生時狀態的轉移條件。可以捕獲對象、子系統和系統的生命周期。他們可以告知一個對象可以擁有的狀態,並且事件(如訊息的接收、時間的流逝、錯誤、條件變為真等)會怎么隨著時間的推移來影響這些狀態。一個
狀態圖應該連線到所有具有清晰的可標識狀態和複雜行為的類;該圖可以確定類的行為,以及該行為如何根據當前的狀態變化,也可以展示哪些事件將會改變類的對象的狀態。狀態圖是對
類圖的補充。
序列圖
序列圖(
順序圖)是用來顯示你的參與者如何以一系列順序的步驟與系統的對象互動的模型。順序圖可以用來展示對象之間是如何進行互動的。順序圖將顯示的重點放在訊息序列上,即強調訊息是如何在對象之間被傳送和接收的。
協作圖
和序列圖相似,顯示對象間的動態合作關係。可以看成是類圖和
順序圖的交集,
協作圖建模對象或者角色,以及它們彼此之間是如何通信的。如果強調時間和順序,則使用序列圖;如果強調上下級關係,則選擇協作圖;這兩種圖合稱為互動圖。
構件圖
構件圖又叫(
組件圖)。描述代碼
構件的
物理結構以及各種構建之間的依賴關係。用來
建模軟體的組件及其相互之間的關係,這些圖由構件標記符和構件之間的關係構成。在組件圖中,構件是軟體單個組成部分,它可以是一個檔案,產品、
執行檔和腳本等。
部署圖
部署圖又叫(配置圖),是用來
建模系統的物理部署。例如計算機和設備,以及它們之間是如何連線的。
部署圖的使用者是開發人員、系統集成人員和測試人員。部署圖用於表示一組物理結點的集合及結點間的相互關係,從而建立了系統
物理層面的模型。
一:這十種模型圖各有側重,
二:描述的方面都不相同,
1:類圖描述的是系統的結構,
2:序列圖描述的是系統的行為;
三:抽象的層次也不同,