類圖(Class Diagram)是面向?qū)ο笙到y(tǒng)建模中最常用和最重要的圖,是定義其它圖的基礎(chǔ)。
類圖主要是用來顯示系統(tǒng)中的類、接口以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系的一種靜態(tài)模型。
類圖不僅用于可視化描述和記錄系統(tǒng)的不同方面,也為構(gòu)建可執(zhí)行代碼的軟件應(yīng)用程序。
類圖描述一類的屬性和操作,也對系統(tǒng)的約束。被廣泛應(yīng)用于類圖的建模的面向?qū)ο蟮南到y(tǒng)中,因為它們是唯一的,可以直接映射到面向?qū)ο蟮恼Z言的 UML 圖。
類圖顯示集合的類,接口,關(guān)聯(lián),協(xié)作和約束,它也被稱為作為結(jié)構(gòu)圖。
UML 類圖的目的:
類圖的目的是模型的一個應(yīng)用程序的靜態(tài)視圖。
類圖是唯一的圖可以直接映射到面向?qū)ο蟮恼Z言,因此廣泛應(yīng)用于施工時間。
UML 圖,像活動圖,序列圖圖只能給應(yīng)用程序,但順序流類圖是一個有點不同。所以它是最流行的 UML 圖編碼社區(qū)。
因此,類圖的目的可概括為:
分析和設(shè)計應(yīng)用程序的靜態(tài)視圖。
描述一個系統(tǒng)的責(zé)任。
基地組件圖和部署圖。
正向和逆向工程。
如何畫類圖?
UML 類圖是軟件行業(yè)經(jīng)常需要的一項技能。許多項目立項文檔、需求分析等文檔中,都會有關(guān)UML類圖的涉及,所以,學(xué)習(xí)UML類圖的繪制至關(guān)重要。
繪制類圖時需要考慮的屬性較多,這里的圖將被視為從頂層視圖。
類圖基本上是一個系統(tǒng)的靜態(tài)視圖的圖形表示,代表不同方面的應(yīng)用。因此,集合類圖表示整個系統(tǒng)。
在畫類圖時要牢記以下幾點:
類圖中的名稱應(yīng)該是有意義的描述,并且是面向系統(tǒng)的。
畫類圖前應(yīng)先確定每個元素之間的關(guān)系。
類圖中的每個類職責(zé)(屬性和方法)應(yīng)該清晰標(biāo)明。
對于每個類的屬性的最小數(shù)量應(yīng)符合規(guī)定,不必要的屬性將使圖表復(fù)雜。
使用了以下注釋有否要求來描述圖中的某些方面。因為上面的附圖,它應(yīng)該是可以理解的開發(fā)者/編碼器。
最后,在最終版本之前,該圖應(yīng)繪制在普通紙上盡可能多次,使其糾正和返工。
下圖是一個二階系統(tǒng)的一個應(yīng)用程序的一個例子,它描述了整個應(yīng)用程序的一個特定方面:
系統(tǒng)中的兩個要素是所有訂單以及客戶,他們有一個一對多的關(guān)系,因為一個客戶可以有多個訂單。
我們將保持 Order 類是一個抽象類,它有兩個具體的類(繼承關(guān)系)SpecialOrder 和 NormalOrder。
兩個繼承類 Order 類的所有屬性。此外,他們有額外的功能 dispatch () 和 receive ().
因此,下面的類圖已經(jīng)繪就考慮到所有上述提到的幾點:

在哪里使用類圖?
類圖是一個靜態(tài)圖,它是用來模擬一個系統(tǒng)的靜態(tài)視圖,也被認(rèn)為是類圖作為基礎(chǔ)組件圖和部署圖。
類圖不僅用于可視化系統(tǒng)的靜態(tài)視圖,但它們也可用于構(gòu)建可執(zhí)行代碼的任何系統(tǒng)中的前向和反向工程。
UML 圖一般不直接映射到任何面向?qū)ο蟮木幊陶Z言,但在類圖是一個例外。
類圖清楚地顯示了映射面向?qū)ο笳Z言,如Java,C++等,因此,從實際經(jīng)驗的類圖通常用于構(gòu)建用途。
因此類圖可以用來:
描述系統(tǒng)的靜態(tài)視圖。
顯示靜態(tài)視圖中的元素之間的協(xié)作。
由系統(tǒng)執(zhí)行的功能的描述。
構(gòu)建軟件應(yīng)用面向?qū)ο蟮恼Z言。
更多建議: