作為一種建模語言,UML的定義包括UML語義和UML標記法兩個部分。
(1) UML語義 描述基於UML的精確元模型定義。元模型為UML的所有元素在文法和語義上提供了簡單、一致、通用的定義性說明,使開發人員能在語義上取得一致,消除了因人而異的最佳表達方法所造成的影響。此外UML還支援對元模型的擴充定義。
(2) UML標記法 定義UML符號的標記法,為開發人員或開發工具使用這些圖形符號和文本文法為系統建模提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的執行個體。
標準建模語言UML的重要內容可以由下列五類圖(共9種圖形)來定義:
·第一類是使用案例圖,從使用者角度描述系統功能,並指出各功能的操作者。
·第二類是靜態圖(Static diagram),包括類圖、對象圖和包圖。其中類圖描述系統中類的靜態結構。不僅定義系統中的類,表示類之間的聯絡如關聯、依賴、彙總等,也包括類的內部結構(類的屬性和操作)。類圖描述的是一種靜態關係,在系統的整個生命週期都是有效。對象圖是類圖的執行個體,幾乎使用與類圖完全相同的標識。他們的不同點在於對象圖顯示類的多個對象執行個體,而不是實際的類。一個對象圖是類圖的一個執行個體。由於對象存在生命週期,因此對象圖只能在系統某一時間段存在。包由包或類組成,表示包與包之間的關係。包圖用於描述系統的分層結構。
·第三類是行為圖(Behavior diagram),描述系統的動態模型和組成對象間的互動關係。其中狀態圖描述類的對象所有可能的狀態以及事件發生時狀態的轉移條件。通常,狀態圖是對類圖的補充。在實用上並不需要為所有的類畫狀態圖,僅為那些有多個狀態其行為受外界環境的影響並且發生改變的類畫狀態圖。而活動圖表描述滿足用例要求所要進行的活動以及活動間的約束關係,有利於識別並行活動。
·第四類是互動圖(Interactive diagram),描述對象間的互動關係。其中順序圖顯示對象之間的動態合作關係,它強調對象之間訊息發送的順序,同時顯示對象之間的互動;合作圖描述對象間的協作關係,合作圖跟順序圖相似,顯示對象間的動態合作關係。除顯示資訊交換外,合作圖還顯示對象以及它們之間的關係。如果強調時間和順序,則使用順序圖;如果強調上下級關係,則選擇合作圖。這兩種圖合稱為互動圖。
·第五類是實現圖( Implementation diagram )。其中構件圖描述代碼組件的物理結構及各組件之間的依賴關係。一個組件可能是一個資原始碼組件、一個二進位組件或一個可執行組件。它包含邏輯類或實作類別的有關資訊。組件圖有助於分析和理解組件之間的相互影響程度。
配置圖定義系統中軟硬體的物理體繫結構。它可以顯示實際的電腦和裝置(用節點表示)以及它們之間的串連關係,也可顯示串連的類型及組件之間的依賴性。在節點內部,放置可執行組件和對象以顯示節點跟可執行軟體單元的對應關係。
從應用的角度看,當採用物件導向技術設計系統時,首先是描述需求;其次根據需求建立系統的靜態模型,以構造系統的結構;第三步是描述系統的行為。其中在第一步與第二步中所建立的模型都是靜態,包括使用案例圖、類圖(包含包)、對象圖、元件圖表和配置圖等五個圖形,是標準建模語言UML的靜態建模機制。其中第三步中所建立的模型或者可以執行,或者表示執行時的時序狀態或互動關係。它包括狀態圖、活動圖表、順序圖和合作圖等四個圖形,是標準建模語言 UML的動態建模機制。因此,標準建模語言UML的主要內容也可以歸納為靜態建模機制和動態建模機制兩大類。
使用案例圖
主要由參與者和用例構成。使用案例圖示協助捕捉功能需求。這永遠是啟動一個項目的好圖示。
元件圖表
主要由主要系統組件和它們的關係構成。這意味著是一種進階的複雜系統觀查圖示。無論是在頭腦中、在紙巾上,或者是使用UML工具,已經為每一個已經處理的項目建立了該圖示。
類圖
主要由類、介面及其關係組成。類和介面很容易理解,但關係可能有些複雜。在您知道系統中有哪些組件後,接下來自然是繪製組成組件的類圖。
活動圖表
主要由活動和決定構成。這些圖示基本上是流程圖和資料流程圖,該圖示用來擷取常規的代碼流。
共同作業圖表
主要由對象和訊息構成。該圖示將重點放在對象之間的通訊,類似於程式表。
部署圖
主要由伺服器等部署元素以及它們的關係構成。這是系統的邏輯剖析圖。
順序圖
主要由對象(帶生命線)和調用訊息構成。程式圖示描述系統中調用的順序,以及不同對象的建立。
順序圖由參與者、對象、物件生命線和訊息組成
狀態圖
主要由狀態、轉換、事件,以及動作構成。很少需要狀態圖示,除非邏輯非常複雜。