UML(統一建模語言介紹)

2021-07-22 14:42:50 字數 2318 閱讀 3588

uml是一種定義良好,功能強大,易於表達且普遍適用分建模語言,它的作用域不只限於物件導向的分析和設計,還支援從需求分析開始的軟體開發全過程。

uml2.0一共包括13種圖形,活**(activity diagram),類圖(class diagram),通訊圖(communication diagram),元件圖(component diagram),復合結構圖(composite structure diagram),部署圖(deployment diagram),互動概觀圖(interactive overview diagram),物件圖(object diagram),包圖(pacage diagram),順序圖(sequence diagram),狀態機圖(state machine diagram),定時圖(timeing diagram),用例圖(use case diagram),正常的軟體開發過程很少有使用所有圖形的情況。uml是一門語言,更是使程式開發高效化的工具。

用例圖用於描述系統的功能,每乙個用例代表系統乙個功能模組。

用例圖對於功能的實現不做任何說明,僅僅是對系統功能的描述。

用例圖包括用例(用橢圓表示),角色(與系統互動的其它實體,用乙個小人來表示),用例與用例直接的關係(用簡單線段表示).

用例圖和系統的各個類可能幾乎沒有任何關係,用例應當簡潔,配以較多的文字說明。

類圖用於顯示系統的靜態結構。

類在類圖中用三個矩形來表示,最上面的矩形用於顯示類名,第二個矩形用於顯示變數,最下面的部分包含類的方法。

書寫規範:

類名書寫規範:正體字說明類是可被例項化的,斜體字說明類為抽象類。

屬性和方法書寫規範:修飾符 [描述資訊] 屬性、方法名稱 [引數] [:返回型別|型別]

屬性和方法之前可附加的可見性修飾符:

加號(+)表示public;減號(-)表示private;#號表示protected;省略這些修飾符表示具有package(包)級別的可見性。

如果屬性或方法具有下劃線,則說明它是靜態的。

舉例:-age    :int

類除了可以表示實體的內部靜態結構,還可以表示實體之間的關係。

類之間的基本關係三種——關聯,泛化,依賴。

關聯是指乙個類可以訪問另乙個類,當使用一條實線來表示雙向關聯,帶箭頭的實線表示單向關聯。

關聯和屬性的區別在於:類內的某個熟悉引用到另乙個實體時,就變成了關聯。

關聯有兩種特殊情況——聚合和組合。

當某個實體的集合成為另一實體時,且該實體還可以是另乙個實體的一部分,即為聚合,若不能為另一實體的一部分,為組合。聚合使用空心菱形框的實線表示,組合用實心菱形框的實線表示。

舉例:乙個學生可以參加多個社團,學生和社團之間的關係即為聚合。

泛化和繼承是同乙個概念,都是說子類是一種特殊的父類。

類實現介面可視為一種特殊的繼承,這種實現用帶空心三角形的虛線表示。

若乙個類的改動會影響到另乙個類,則稱這兩個類存在依賴關係。依賴關係用帶箭頭的虛線表示,箭頭指向被依賴的實體。

依賴常見原因如下:

改動的類發訊息給另乙個類作為資料部分

改動的類是另乙個類作為資料部分

改動的類是另乙個類作為操作引數

元件圖通常包含元件,介面,port的圖元,其用途在於現實系統的軟體對其他軟體元件的依賴關係。

uml用來表示元件的圖形是乙個矩形(矩形的左邊上還有兩個小矩形),表示介面的是圓圈,元件邊界上的小矩形來表示port。

常用一條實線連線到元件的邊界的圓圈表示介面。

部署圖用於描述軟體系統如何部署到硬體環境上,其用途是顯示軟體系統的不同元件將在何處物理執行,以及他們彼此如何通訊。

部署圖與元件圖的表示類似,不過加入了節點的概念。節點是各種計算資源的通用名稱,主要包括處理器和裝置兩種型別,區別在於處理器是可以執行程式的硬體構架(如計算機主機),裝置是不具備計算能力的硬體構件(如印表機)

順序圖現實具體用例的詳細流程,描述了物件之間的互動,重點在於描述訊息和時間順序。

順序圖有兩個維度:垂直維度,以發生的時間順序現實訊息/呼叫序列;水平維度,顯示訊息被傳送到的物件例項

順序圖的頂端是每個類的例項,類名和物件名用:隔開。

物件的啟用期不是其存在的時間,而是它佔據cpu的時間。

用於描述用例內部活動或方法的流程,如果除去並行活動描述,就變成了流程圖。

在系統活動期間具有三個或更多潛在狀態的物件才需要使用狀態機圖。

初始狀態:使用實心圓表示

狀態之間的轉換:使用帶箭頭的線段繪製(線段附近有呼叫的函式名)

狀態:使用圓角矩形繪製

判斷點:使用空心圓繪製

乙個或多個終止點:使用內部包含實心的圓繪製

UML(統一建模語言)介紹

uml是一種定義良好 易於表達 功能強大且普遍適用的建模語言。它的作用域不限於支援物件導向的分析與設計,還支援從需求開始的軟體開發的全過程。uml圖大致可以分為靜態圖和動態圖兩種。其中靜態圖包括 用例圖 use case diagram 類圖 class diagram 包圖 package dia...

統一建模語言(UML)

統一建模語言提供了一種表示法,通過它,我們可以獲取和說明程式設計。uml類圖描述系統中的類 它們之間的靜態關係 與類關聯的屬性和操作以及有關物件間連線的約束。uml類圖 在uml中,類由乙個矩形來表示,並且通常分割成3部分 類名 屬性和操作。上圖說明了乙個名為libraryitem的類名。該類有兩個...

UML統一建模語言

1 什麼是建模?任何事情都要先想清楚了再做,軟體開發更是如此!軟體開發過程不可能一上來就盲目寫 寫 之前必須搞清楚下面一些問題 要做什麼?做成什麼樣?怎麼去做?2 建模的原則 1 選擇建立什麼樣的模型對如何發現和解決問題具有重要的影響 2 每個模型有多種表達方式。使用者的身份和使用的原因是評判模型好...