LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

UML類圖怎么畫?

freeflydom
2024年10月22日 10:8 本文熱度 683

在軟件設(shè)計(jì)與開發(fā)的過程中,使用各種來表示軟件的結(jié)構(gòu)或者執(zhí)行流程等等,是非常重要的。

如今絕大多數(shù)的編程語言是以面向?qū)ο?/span>為基礎(chǔ)的,以類和對(duì)象為核心思想表達(dá)計(jì)算機(jī)中的一切數(shù)據(jù),亦或是和現(xiàn)實(shí)生活中的概念相對(duì)應(yīng)。因此,我們常常會(huì)繪制類圖來表示不同類型的對(duì)象的組成以及它們之間的關(guān)系。

類圖是屬于UML(Unified modeling language,統(tǒng)一建模語言)中的一種圖,是面向?qū)ο笤O(shè)計(jì)中非常重要的圖之一,在我們平時(shí)閱讀一些書籍或者博客的時(shí)候,也常常能夠看到作者使用UML類圖表達(dá)一些對(duì)象的組成以及對(duì)象之間的關(guān)系。

今天就來總結(jié)一下UML類圖是如何表達(dá)類和對(duì)象的。

1,一個(gè)類的基本表達(dá)

(1) 字段與方法表示

一個(gè)類通常由字段方法組成,例如下面是一個(gè)Java的類:

?public class Cat { private int id; private String name; public void run() { // ... } public void eat(Food food) { // ... } }

可見這個(gè)Cat類有下列字段和方法:

    • 字段:

      • int類型id

      • String類型name

    • 方法:

      • run方法,無參數(shù)和返回值

      • eat方法,有一個(gè)Food類型參數(shù),無返回值

    上述類我們畫UML類圖如下:

    可見在UML類圖中,字段和方法通常使用一根橫線分隔,每一個(gè)字段和方法表示如下形式:

    • 字段訪問修飾符 字段名: 字段類型

    • 方法訪問修飾符 方法名(參數(shù)1名稱: 參數(shù)1類型, 參數(shù)2名稱: 參數(shù)2類型, ...): 返回值類型

    訪問修飾符位于最前,不同的訪問修飾符對(duì)應(yīng)的符號(hào)如下:

    • - 表示private字段/方法

    • + 表示public字段/方法

    • # 表示protected字段/方法

    在Java中,還有default這種訪問修飾符,通常可以用~或者*表示。

    此外,如果方法參數(shù)太多,導(dǎo)致一個(gè)類圖框太長(zhǎng)了,可以省略參數(shù)名稱,即寫成訪問修飾符 方法名(參數(shù)1類型, 參數(shù)2類型, ...): 返回值類型形式,例如:

    表示方法eat中的兩個(gè)參數(shù)分別是FoodDrink類型。

    (2) 抽象類和接口

    一般來說,如果一個(gè)類是抽象類,我們通常使用斜體字來表示這個(gè)類的名稱,例如:

    對(duì)于接口,我們需要在名字上面一行加上<<interface>>標(biāo)明其為接口類型:

    2,類圖中的關(guān)系表示

    在許多情況下,類和類之間都是有一定的關(guān)系的,在UML類圖中定義了6種關(guān)系的表達(dá):

    • 關(guān)聯(lián)(Association):表示類之間的結(jié)構(gòu)性關(guān)系

    • 聚合(Aggregation):表示整體與部分之間的關(guān)系,部分可以獨(dú)立于整體存在

    • 組合(Composition):表示整體與部分之間的關(guān)系,部分不能獨(dú)立于整體存在

    • 依賴(Dependency):表示一個(gè)類依賴于另一個(gè)類的變化,例如類A的某個(gè)方法使用了類B的對(duì)象,那么A依賴于B

    • 泛化(Generalization):表示類之間的繼承關(guān)系,子類繼承父類的屬性和方法

    • 實(shí)現(xiàn)(Realization):表示一個(gè)類實(shí)現(xiàn)一個(gè)接口的關(guān)系

    通常使用不同形狀的箭頭來連接兩個(gè)存在一定關(guān)系的類,每種關(guān)系對(duì)象的箭頭是不一樣的:

    下面,就來單獨(dú)講解一下每種關(guān)系的表示。

    (1) 關(guān)聯(lián)關(guān)系

    關(guān)聯(lián)關(guān)系通常使用實(shí)線和箭頭表示,如果一個(gè)類型和一個(gè)類型雙向關(guān)聯(lián)(例如多對(duì)多關(guān)系),那么直接使用實(shí)線連接兩個(gè)類即可。

    例如在一個(gè)游戲中,一個(gè)角色屬于一個(gè)國家,國家與角色是一對(duì)多關(guān)系,一個(gè)角色關(guān)聯(lián)一個(gè)國家;此外一個(gè)角色可以參與多個(gè)劇情,而一個(gè)劇情也包含多個(gè)角色,因此角色和劇情是多對(duì)多關(guān)系,角色與劇情則是雙向關(guān)聯(lián)的,表示如下:

    (2) 依賴關(guān)系

    依賴關(guān)系通常使用虛線和箭頭表示,箭頭指向被依賴的類,通常一個(gè)類的方法如果以另一個(gè)類為參數(shù),或者使用了另一個(gè)類,那么說明這個(gè)類依賴于另一個(gè)類。

    比如電腦Computer類的print方法需要傳入一個(gè)可用的打印機(jī)Printer類對(duì)象作為參數(shù),那就說明電腦類依賴于打印機(jī)類,表示如下:

    (3) 聚合關(guān)系

    聚合關(guān)系通常使用實(shí)線和空心菱形箭頭表示,是一種整體和部分的關(guān)系,箭頭指向表示整體的類,但是部分可以離開整體單獨(dú)存在,是一種弱擁有關(guān)系。

    例如一個(gè)學(xué)校中有許多學(xué)生,但是學(xué)生可以離開學(xué)校單獨(dú)存在,這就說明學(xué)生與學(xué)校聚合關(guān)系,表示如下:

    (4) 組合關(guān)系

    組合關(guān)系通常使用實(shí)線和實(shí)心菱形箭頭表示,也是一直整體和部分的關(guān)系,箭頭指向表示整體的類,只不過部分離開了整體是不能單獨(dú)存在的,是一種強(qiáng)擁有的關(guān)系。

    例如一臺(tái)電腦通常由CPU、內(nèi)存、硬盤等部件組成,但是這些部件離開了電腦就不能單獨(dú)運(yùn)作了,這就說明這些電腦配件和電腦是組合關(guān)系,表示如下:

    (5) 泛化關(guān)系

    泛化關(guān)系通常使用實(shí)線和空心三角箭頭表示,也就是類之間的繼承關(guān)系,箭頭指向父類。

    例如動(dòng)物類是一個(gè)抽象類,它被具體的動(dòng)物類型例如貓類、兔子類、魚類等繼承,則表示如下:

    (6) 實(shí)現(xiàn)關(guān)系

    實(shí)現(xiàn)關(guān)系通常使用虛線和空心三角箭頭表示,通常是類實(shí)現(xiàn)接口的關(guān)系,箭頭指向被實(shí)現(xiàn)的接口。

    例如USB類是一個(gè)接口,定義了USB接口的抽象傳輸規(guī)范,而具體的U盤類型例如金士頓、閃迪等U盤類型實(shí)現(xiàn)了這個(gè)USB接口中的方法,則表示如下:

    3,畫圖軟件推薦 - Draw.io

    工欲善其事,必先利其器。一個(gè)好用的畫圖軟件在我們開發(fā)的過程中也是必不可少的。

    這里推薦使用Draw.io這個(gè)畫圖軟件,該軟件是一款免費(fèi)開源的畫圖軟件,除了可以繪制類圖之外,還可以繪制其它各種類型的圖例如流程圖、時(shí)序圖等等。

    該軟件可以直接在線使用,也可以下載客戶端:

    這里就來簡(jiǎn)單講解一下怎么使用Draw.io軟件繪制UML類圖。

    (1) 畫布設(shè)定

    打開軟件后新建一個(gè)空白圖,我們就能夠看到畫布了,我們可以在右側(cè)繪圖選項(xiàng)中調(diào)整畫布:

    建議可以先關(guān)閉網(wǎng)格和頁面視圖這兩個(gè)選項(xiàng),這樣頁面就顯示為無限大的畫布了,且背景不再顯示網(wǎng)格。此外,還可以勾選背景色選項(xiàng),并自定義背景顏色。

    在一個(gè)Draw.io工程文件中,可以存放多個(gè)頁面,和Excel的Sheet類似,在下邊可以管理多個(gè)頁面:

    (2) 畫一個(gè)類

    在左側(cè)欄可見有非常多的現(xiàn)成的圖形模板,我們展開UML類別,拖一個(gè)類圖模板到畫布即可:

    (3) 編輯類名和字段方法名

    雙擊類圖框上面部分,即可編輯類名,此外每個(gè)字段和方法也是一個(gè)無邊框的格子,點(diǎn)擊對(duì)應(yīng)部分編輯即可:

    此外,如果需要增加字段與方法,建議直接復(fù)制對(duì)應(yīng)的字段/方法格子即可,這樣我們只需要修改內(nèi)容。鼠標(biāo)選中對(duì)應(yīng)的字段/方法格子后,按住Ctrl鍵并拖拽、放到類圖框中,最后再松開Ctrl即可復(fù)制一個(gè)字段/方法格子:

    如果一個(gè)類只有字段或者方法,那么可以選中其中的橫線并按下Del鍵刪除。

    (4) 顏色調(diào)整

    我們也可以修改類圖框的顏色,使得我們的類圖更加的“豐富多彩”。

    選中類圖,在右側(cè)欄樣式部分可以快捷地選擇一些配色:

    此外,我們還可以選中其中的字段格子,設(shè)定其顏色或者給其增加邊框:

    按住Ctrl鍵點(diǎn)按鼠標(biāo)可以多選,樣式一欄我們可以設(shè)定配色,也可以單獨(dú)設(shè)定邊框與填充顏色。

    (5) 字體與對(duì)齊

    當(dāng)我們選中一整個(gè)類圖框,或者一個(gè)字段/方法格子時(shí),可以在右側(cè)文本選項(xiàng)部分,調(diào)整其字體、字號(hào)、上下和左右對(duì)齊方式:

    當(dāng)我們選中整個(gè)類圖框時(shí),調(diào)整的字體和顏色對(duì)應(yīng)的是類圖名字部分樣式;而我們選擇字段或者方法格子時(shí),則調(diào)整的是這個(gè)選中的字段或者方法格子的樣式。

    此外,拖拽類名下面的黃色菱形按鈕可以調(diào)整類名部分的高度,例如我們聲明一個(gè)接口,在文字超出類名部分之后,即可使用這種方式調(diào)整:

    (6) 箭頭的創(chuàng)建

    對(duì)于兩個(gè)類圖框,當(dāng)我們選中一個(gè)類圖框后,可以看到每個(gè)方向都顯示了透明的箭頭按鈕,點(diǎn)擊一個(gè)箭頭按鈕并拖拽到另一個(gè)類圖框上面即可:

    當(dāng)然,拖拽到一個(gè)字段格子上也可以:

    可以注意觀察我們拖拽到目標(biāo)對(duì)象時(shí),目標(biāo)對(duì)象圖框會(huì)顯示一圈藍(lán)色透明指示。

    此外,選擇箭頭后就可以在右側(cè)欄樣式部分設(shè)定箭頭樣式,包括起始和終止箭頭樣式,線的樣式等等:

    (7) 雙擊創(chuàng)建文字

    在任意位置雙擊即可創(chuàng)建新的元素,包括文字:

    (8) 導(dǎo)出圖片

    點(diǎn)擊左上角文件 - 導(dǎo)出為 - 高級(jí),即可導(dǎo)出為圖片:

    建議將DPI調(diào)整為300,并保留一定的邊框?qū)挾?/span>,這樣導(dǎo)出的圖片清晰度就比較好,且會(huì)保留一部分邊緣:

    可見Draw.io是一個(gè)非常強(qiáng)大的畫圖工具,非常推薦大家使用。

    本文的示例類圖矢量文件:傳送門

    作者:守望時(shí)空33
    鏈接:https://juejin.cn/post/7425985792161005577
    來源:稀土掘金
    著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。


    該文章在 2024/10/22 10:09:11 編輯過
    相關(guān)文章
    正在查詢...
    點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
    點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
    點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved

    黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
    亚洲乱码在线播放 | 日韩精品少妇视频网 | 色花午夜福利网站 | 色婷婷亚洲一区二区综合 | 亚洲国产一区二区在线观看 | 日本午夜福利在线观看 |