在軟體開發過程中,隨著專案規模的擴大和複雜度的提升,有效的設計和文件工具變得至關重要。統一建模語言(UML)作為一種標準化的建模語言,為開發人員提供了一種強大的方式來描述、建構和視覺化軟體系統。其中,UML類別圖作為物件導向設計(OOD)的核心工具之一,扮演著舉足輕重的角色。
UML類別圖透過圖形化的方式展示了系統中的類別、它們之間的關係以及類別的內部結構,如屬性(字段)和方法(函數)。這些圖表不僅有助於開發人員理解系統的整體架構,還能在團隊協作中促進溝通和協作,確保所有成員對設計有共同的理解。今天我們就來學習UML類別圖。
什麼是類別圖 ?類別圖有哪些繪製規則?類別圖如何畫?為方便大家學習,在這裡小編提煉總結了一下,希望大家看完後,可以對類圖有基本了解
類別圖以反映類別的結構(屬性、操作)以及類別之間的關係為主要目的,描述了軟體系統的結構,是一種靜態建模方法。類別圖用來描述系統中有意義的概念,包括具體的概念、抽象的概念、實現面向的概念等,是現實世界中事物的抽象。類別圖的主要作用是對系統的詞彙進行建模、對簡單的協作進行建模和對邏輯資料庫模式進行建模。
類別圖概括起來主要由兩部分組成:類別和類別之間的關係,其中對類別的定義如下圖所示,主要由三部分組成,它們分別是類別名稱、類別的屬性、類別的方法,對應圖中的三個分區內容。
類別名稱:圖中最上面的矩形框中為類別名稱。如果字體為斜體,表示為抽象類別
類別的屬性:類別名稱下方的區域
類別的方法:圖中的下面部分
*符號解釋說明:屬性和方法前面的“+”“-”和“#”表示訪問級別,以下對這些符號進行解釋說明。
+:public,公用的,對所有類別可見
-:private,私有的,只對該類別本身可用
#:protected,受保護的,對該類別的子孫可見
~:package,包的,只對同一包聲明的其他類別可見
=:表示預設值
底線:static
斜體:抽象(注意也可以用兩個尖括號包裹來表示抽象,例如- <<我是抽象類別or介面>>)
冒號前是方法名稱/變數名稱(根據有無括號區分),冒號後面是返回參數/變數類型(根據有無括號區分),如果沒有冒號的話表示方法返回空(也有人透過:void表示返空)
類別之間的關係主要包括泛化(繼承)、依賴、關聯、聚合、組合和實現6種關係,以下將它們一一闡釋。
1.泛化關係
泛化關係是一種繼承關係,子類別繼承父類別的所有行為和屬性,子類別可以新增新的功能或重寫父類別功能。表示方法:空心三角+實線,箭頭指向父類別
2、依賴關係
依賴關係表示一個類別使用(依賴)另一個類別的服務或資訊。當一個類別的改變會影響到另一個類別時,兩個類別之間存在依賴關係。一般來說,依賴總是單向的,不應該有雙向依賴。表示方法:尖括號+虛線
3、關聯關係
關聯關係是一種擁有的關係,它使一個類別知道另一個類別的屬性和方法。它體現不同類別的一種強依賴關係,例如我和我的朋友,這種關係比依賴更強,不存在依賴關係中的偶然性,關係也不是臨時的,一般是長期性的。
關聯關係分為單向關聯或雙向關聯,也可以有多重性(一對多),雙向的關聯可以有兩個箭頭或沒有箭頭,單向的關聯有一個箭頭。表示方法:尖括號+實線,箭頭指向被擁有者
4、聚合關係
聚合關係是關聯關係的一種,表示一種「弱」的「擁有」關係,是整體與部分的關係,且部分可以離開整體而單獨存在,如車和輪胎是整體和部分的關係,輪胎離開車仍然可以單獨存在。表示方法:空心菱形+實線,菱形指向整體
5、組合關係
組合關係也是關聯關係的一種,是比聚合關係還要強的關係,是整體與個體的關係,但個體不能離開整體而單獨存在。如公司和部門是整體和部分的關係,沒有公司就不存在部門。它要求在普通的聚合關係中代表整體的物件負責代表部分的物件的生命週期。表示方法:實心菱形+實線
6、實作關係
實作關係是一種類別與介面的關係,表示類別是介面所有特徵和行為的實作。表示方法:空心三角+虛線
為了幫助大家更好的理解類別之間的6種關係,以下使用範例輔助大家學習和消化吸收。
1. 汽車類別圖
汽車類別圖說明:
車與小汽車和自行車之間是“實現” 關係,使用帶有空心箭頭的虛線表示;
小汽車與SUV之間的關係為泛化關係,使用空心箭頭的實線表示;
小汽車與引擎和輪胎之間是「組合」 關係,使用實心菱形箭頭的實線表示;
學生上學需要用到自行車,與自行車是一種「依賴」 關係,使用帶箭頭的虛線表示。
學生與班級之間是「聚合」 關係,使用空心菱形箭頭的實線表示;
學生與身分證之間為「關聯」 關係,使用尖箭頭的實線表示;
2. 動物UML類別圖
3. 學生上網UML類別圖
如果你能快速的看懂並理解以上案例,說明你基本上已經把類別圖弄懂了,再去多結合一些程式碼和對應的類別圖鞏固一下,以後再看到類別圖就不會懵了。
ProcessOn支援流程圖,心智圖,UML圖,架構圖等多種圖形的繪製,用ProcessOn繪製UML類圖的方法很簡單,只要掌握了類圖繪製的知識點,研究明白了小編分享的類圖案例,相信每個人都可以快速學會畫類別圖。
Step1:註冊登入ProcessOn,新建UML圖形
Step2:在左側工具列中選擇類別的標誌,拖曳到右側編輯區,寫上類別名稱、屬性和方法
Step3:根據類別之間的關係,標註箭頭和線
注意: ProcessOn每個圖示之間的連線預設都是實線箭頭,根據需要可以在上方工具列中調整連線樣式、連線類型、連線顏色、箭頭方向和箭頭樣式等。如果你想讓自己的圖更美觀一些,可以把文字、圖示、線條等填滿不同顏色、相同的圖示盡可能大小相同。
以上就是關於UML類別圖的相關內容,上述所有UML類別圖案例均使用ProcessOn繪製。