0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何看懂UML中的類圖?

jf_78858299 ? 來源:亂敲代碼 ? 作者:亂敲代碼 ? 2023-05-05 10:57 ? 次閱讀

前言

統(tǒng)一建模語言(Unified Modeling Language,UML)是用來設(shè)計(jì)軟件藍(lán)圖的可視化建模語言,1997 年被國際對象管理組織(OMG)采納為面向?qū)ο蟮慕UZ言的國際標(biāo)準(zhǔn)。它的特點(diǎn)是簡單、統(tǒng)一、圖形化、能表達(dá)軟件設(shè)計(jì)中的動(dòng)態(tài)與靜態(tài)信息

統(tǒng)一建模語言能為軟件開發(fā)的所有階段提供模型化和可視化支持。而且融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù),使軟件設(shè)計(jì)人員溝通更簡明,進(jìn)一步縮短了設(shè)計(jì)時(shí)間,減少開發(fā)成本。它的應(yīng)用領(lǐng)域很寬,不僅適合于一般系統(tǒng)的開發(fā),而且適合于并行與分布式系統(tǒng)的建模。

UML 從目標(biāo)系統(tǒng)的不同角度出發(fā),定義了用例圖、類圖、對象圖、狀態(tài)圖、活動(dòng)圖、時(shí)序圖、協(xié)作圖、構(gòu)件圖、部署圖等 9 種圖。【百度百科】^[1]^

本文并不會(huì)對所有圖進(jìn)行分析。主要介紹開發(fā)中常用的類圖 時(shí)序圖 狀態(tài)圖。

類圖

類(Class)是指具有相同屬性、方法和關(guān)系的對象的抽象,它封裝了數(shù)據(jù)和行為,是面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)的基礎(chǔ),具有封裝性、繼承性和多態(tài)性等三大特性。在 UML 中,類使用包含類名、屬性和操作且?guī)в蟹指艟€的矩形來表示。

首先從動(dòng)物開始

  • 動(dòng)物是一個(gè)類 動(dòng)物依賴氧氣和水
  • 然后鳥繼承了動(dòng)物,所以鳥的父類是動(dòng)物 所以鳥是屬于動(dòng)物
  • 然后鳥和翅膀是組合關(guān)系 一只鳥有兩個(gè)翅膀
  • 大雁鴨子和企鵝都是鳥所以繼承了鳥類
  • 大雁會(huì)有大雁群,大雁群是由大雁組成所以是聚合關(guān)系
  • 企鵝和氣候是關(guān)聯(lián)關(guān)系因?yàn)槠簌Z需要依賴氣候
  • 然后再看大雁 大雁會(huì)飛翔 所以就實(shí)現(xiàn)了飛翔接口
  • 唐老鴨是屬于鴨子的 所以唐老鴨繼承了鴨子這個(gè)類

上圖是借鑒了大話設(shè)計(jì)模式里面的圖。下面具體介紹各個(gè)箭頭符號(hào)的作用

首先介紹圖形

一般是用三層矩形框表示,第一層表示類的名稱,第二層表示的是字段和屬性,第三層則是類的方法。第一層中,如果是抽象類,需用斜體顯示。

包(Package): 是一種常規(guī)用途的組合機(jī)制。在UML中用一個(gè)Tab框表示,Tab里寫上包的名稱,框里則用來放一些其他子元素,比如類,子包等等。

接口

接口(interface):接口包含操作但不包含屬性,且它沒有對外界可見的關(guān)聯(lián)

關(guān)系

依賴

依賴(Dependency) 表示的是類之間的調(diào)用關(guān)系。UML中用帶箭頭的虛線表示依賴關(guān)系,而箭頭所指的則是被依賴的類。

泛化

泛化(Generalization): 表示的是類之間的繼承關(guān)系,注意是子類指向父類。UML中用帶空心三角箭頭的實(shí)線表示泛化關(guān)系,箭頭指向的是一般個(gè)體。

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

關(guān)聯(lián)(Association) 表示的是類與類之間存在某種特定的對應(yīng)關(guān)系。UML中用雙向帶箭頭的虛線表示關(guān)聯(lián)關(guān)系,箭頭兩端為相互關(guān)聯(lián)的兩個(gè)類。

聚合

聚合(Aggregation): 是關(guān)聯(lián)關(guān)系的一種特例,表示的是整體與部分之間的關(guān)系,部分不能離開整體單獨(dú)存在。UML中用空心菱形頭的實(shí)線表示聚合關(guān)系,菱形頭指向整體

組合

組合(Composition): 是聚合的一種特殊形式,表示的是類之間更強(qiáng)的組合關(guān)系。UML中用實(shí)心菱形頭的實(shí)線來表示組合,菱形頭指向整體。

類符號(hào)

以上就是類圖之間的關(guān)系符號(hào),還有就是在類中+號(hào)是什么意思,其實(shí)不光有+號(hào)。

看上面的學(xué)生類里面有五個(gè)屬性和兩個(gè)方法

  • +號(hào)表示公共的 public
  • -表示 私有的 private
  • #表示protected

帶下劃線表示靜態(tài)屬性,一般表示方法+ 屬性:類型。

下面是方法符號(hào)與上方相同+表示公共方法括號(hào)內(nèi)表示參數(shù):后面是返回類型沒有默認(rèn)表示無返回值。

工具推薦

如果使用的是IDEA的話是直接可以看UML圖的,只不過會(huì)有一點(diǎn)變化。理解了上面的關(guān)系這些變化也能看的懂。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    UML詳解

    UML
    電子學(xué)習(xí)
    發(fā)布于 :2023年01月14日 10:12:47

    UML狀態(tài)和Petri網(wǎng)絡(luò)在測試用例生成的應(yīng)用

    【作者】:陳志德;曾凡平;【來源】:《小型微型計(jì)算機(jī)系統(tǒng)》2010年03期【摘要】:分析和研究UML狀態(tài)、擴(kuò)展?fàn)顟B(tài)機(jī)和Petri網(wǎng)在測試用例生成的特點(diǎn),提出結(jié)合三者優(yōu)勢的測試用例
    發(fā)表于 04-24 09:52

    編寫電視TV,UML和說明

    編寫電視TV,UML和說明如下:注意:(1)電視只有在打開的狀態(tài)下才可以調(diào)音量和設(shè)置新頻道;(2)設(shè)置音量和頻道時(shí),應(yīng)該在規(guī)定的范圍,如音量值為1-7。解題要求:編寫測試
    發(fā)表于 10-29 06:09

    UML狀態(tài)在回歸測試的應(yīng)用

    基于UML 狀態(tài)的測試是一種系統(tǒng)測試技術(shù),也是基于需求的回歸測試方法的擴(kuò)展。該文通過依賴性分析,生成基于依賴性分析的UML 狀態(tài)和依賴
    發(fā)表于 03-23 08:46 ?14次下載

    基于UML的生成場景測試用例研究

    使用UML生成場景測試用例,有利于測試者設(shè)計(jì)測試用例。使用UML、狀態(tài)和順序來說明DH
    發(fā)表于 03-31 09:49 ?15次下載

    基于UML的考試管理系統(tǒng)設(shè)計(jì)

    文中著重解決UML在完成各階段任務(wù)的應(yīng)用、分析設(shè)計(jì)流程等問題,就與時(shí)序兩者設(shè)計(jì)次序進(jìn)行探討。UM
    發(fā)表于 12-22 17:14 ?35次下載
    基于<b class='flag-5'>UML</b>的考試管理系統(tǒng)設(shè)計(jì)

    UML之間的關(guān)系

    UML描述對象和之間相互關(guān)系的方式包括:依賴(Dependency),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),泛化(Generalization),實(shí)現(xiàn)(Realiza
    的頭像 發(fā)表于 09-25 09:57 ?3827次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>類</b><b class='flag-5'>圖</b>之間的關(guān)系

    什么是UML?常見的UML工具有哪些?

    UML是統(tǒng)一建模語言,又稱標(biāo)準(zhǔn)建模語言。是對軟件設(shè)計(jì)開發(fā)過程可視化建模的一種語言。多應(yīng)用在一些軟件系統(tǒng)工程上,有時(shí)在應(yīng)用在機(jī)械系統(tǒng)和業(yè)務(wù)流程上有所應(yīng)用。這種模型通常以圖表方式呈現(xiàn)。 UML狀態(tài)圖
    的頭像 發(fā)表于 06-22 14:10 ?4573次閱讀
    什么是<b class='flag-5'>UML</b><b class='flag-5'>圖</b>?常見的<b class='flag-5'>UML</b><b class='flag-5'>圖</b>工具有哪些?

    UML簡介與詳解

    本篇介紹了UML的基礎(chǔ)知識(shí),包括2種和6種關(guān)系,并通過visio軟件,演示如何畫出一個(gè)UML
    的頭像 發(fā)表于 05-05 09:07 ?3975次閱讀
    <b class='flag-5'>UML</b>簡介與<b class='flag-5'>類</b><b class='flag-5'>圖</b>詳解

    UML學(xué)習(xí)筆記

    標(biāo)準(zhǔn)建模語言UML可以由下列5來定義。* **用例**:從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。 **靜態(tài)**:包
    的頭像 發(fā)表于 05-05 10:26 ?679次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>圖</b>學(xué)習(xí)筆記

    UML的意義在于?

    ,以及各種的分類和名稱。 但是,這個(gè)部分又不能不講。 UML發(fā)展至今其實(shí)是融合了很多大神的經(jīng)驗(yàn)及智慧。 其初衷其實(shí)是為了發(fā)展出一套讓全世界從業(yè)人員都可以看懂的建模語言。
    的頭像 發(fā)表于 05-05 10:35 ?693次閱讀
    <b class='flag-5'>UML</b>的意義在于?

    UML圖符號(hào)等詳細(xì)介紹

    UML描述對象和之間相互關(guān)系的方式包括:依賴(Dependency),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),泛化(Generalization),實(shí)現(xiàn)(Realiza
    的頭像 發(fā)表于 05-05 10:41 ?985次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>類</b>圖符號(hào)等詳細(xì)介紹

    解析UML和時(shí)序

    這里不會(huì)將UML的各種元素都提到,我只想講講圖中各個(gè)之間的關(guān)系; 能看懂圖中各個(gè)之間的線
    的頭像 發(fā)表于 05-05 11:03 ?638次閱讀
    解析<b class='flag-5'>UML</b><b class='flag-5'>類</b><b class='flag-5'>圖</b>和時(shí)序<b class='flag-5'>圖</b>

    UML狀態(tài)詳解

    本篇介紹了UML狀態(tài)的基礎(chǔ)知識(shí),并通過visio繪制一個(gè)全自動(dòng)洗衣機(jī)的UML狀態(tài)實(shí)例,來介紹UML狀態(tài)
    的頭像 發(fā)表于 05-09 09:00 ?3002次閱讀
    <b class='flag-5'>UML</b>狀態(tài)<b class='flag-5'>圖</b>詳解

    UML時(shí)序詳解

    本篇介紹了UML時(shí)序的基礎(chǔ)知識(shí),并通過visio繪制一個(gè)物聯(lián)網(wǎng)設(shè)備WIFI配網(wǎng)的UML時(shí)序實(shí)例,來介紹UML時(shí)序
    的頭像 發(fā)表于 05-16 09:09 ?2100次閱讀
    <b class='flag-5'>UML</b>時(shí)序<b class='flag-5'>圖</b>詳解