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

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

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

UML簡介與類圖詳解

碼農(nóng)愛學(xué)習(xí) ? 來源:碼農(nóng)愛學(xué)習(xí) ? 作者:碼農(nóng)愛學(xué)習(xí) ? 2023-05-05 09:07 ? 次閱讀

1 UML簡介

1.1 UML是什么

UML,全稱為Unified Model Language,即統(tǒng)一建模語言,是由一整套圖表組成的,為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語言。UML 代表了一組最佳工程實(shí)踐,這些實(shí)踐已被證明在大型復(fù)雜系統(tǒng)的建模中是成功的。UML是開發(fā)面向?qū)ο筌浖蛙浖_發(fā)過程中非常重要的一部分。在嵌入式系統(tǒng)設(shè)計(jì)中,使用UML建模并書寫文檔,通??梢云鸬绞掳牍Ρ兜男Ч?。

1.2 UML起源與發(fā)展

UML的出現(xiàn),起源于三位面向?qū)ο蟠髱煂?duì)各自方法的結(jié)合與統(tǒng)一:

  • 由Booch創(chuàng)作的Booch方法
  • 由Jacobson創(chuàng)作的OOSE、Martin/Odell方法
  • 由Rumbaugh創(chuàng)造的OMT、Shlaer/Mellor方法

這些方法雖然各不相同,但共同的理念非常相似,三者結(jié)合,于1995年10月推出第一個(gè)名為“統(tǒng)一方法”的版本:Unified Method 0.8。

之后,又以名為“統(tǒng)一建模語言”的UML1.0版本提交到OMG組織(Object Management Group 對(duì)象管理組織),到1997年底OMG組織

正式采納UML1.1作為基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語言,UML1.1和UML 2.0(2005年發(fā)布)是UML歷史上兩個(gè)具有里程碑意義的版本。

1.3 UML中的各種圖

UML具有許多不同類型的圖表,包括:

  • 靜態(tài)圖:用例圖、類圖、包圖
  • 動(dòng)態(tài)圖:活動(dòng)圖、狀態(tài)圖、時(shí)序圖、協(xié)作圖

這些不同的圖,可以提供從不同的角度來描述系統(tǒng),因?yàn)榇笮偷能浖_發(fā)流程中除了程序員外,還有產(chǎn)品、設(shè)計(jì)、測試等人員,這些人都對(duì)系統(tǒng)的不同方面有不同關(guān)注,因此在建模時(shí)需要考慮不同的細(xì)節(jié)層次。

本篇文章,先來介紹UML類圖的基礎(chǔ)知識(shí)。

2 UML類圖實(shí)例

2.1 visio設(shè)計(jì)UML類圖

新建一個(gè)visio文件,打開后會(huì)自動(dòng)提示選擇創(chuàng)建某種類型的圖,這里選擇"軟件和數(shù)據(jù)庫 ->UML類圖"

點(diǎn)擊確定之后,會(huì)進(jìn)入U(xiǎn)ML類圖的編輯界面,左側(cè)可以看到用于UML類圖編輯的基本元素:

將這些元素拖拽到右側(cè)的編解面板中,可以看到這些元素的基本結(jié)構(gòu)形式:

2.2 一個(gè)UML類圖實(shí)例

下面是一個(gè)UML類圖的實(shí)例:

  • 動(dòng)物是一個(gè)抽象類,該類的一個(gè)子類是鳥類,鳥類又可以分出大雁、鴨、企鵝這些類,鴨類的一個(gè)子類是唐老鴨,這些屬于繼承關(guān)系
  • 動(dòng)物類依賴氧氣和水,屬于依賴關(guān)系
  • 翅膀是鳥的一部分,且翅膀不可獨(dú)立存在,屬于合成(或組合)關(guān)系
  • 多只大雁聚集在一起形成雁群,屬于聚合關(guān)系
  • 大雁可以飛翔,屬于接口(或?qū)崿F(xiàn))關(guān)系
  • 企鵝'了解'氣候規(guī)律,屬于關(guān)聯(lián)關(guān)系

3 UML類圖元素介紹

下面具體介紹下UML類圖中的各個(gè)元素。

3.1 圖

UML類圖中的圖主要包括****類圖接口圖

3.1.1 類圖

**類圖是UML類圖中的主要元素,類圖的結(jié)構(gòu)包括3行: **

  • 第1行:是類的名稱
  • 第1行:是類的屬性,即類的各種成員變量
  • 第1行:是類的方法,即類的各種成員函數(shù)

主:若類的名稱是斜體,表示這是個(gè)抽象類,比如這里的動(dòng)物

對(duì)于屬性和方法前面的符號(hào):

  • +號(hào):共有類型,public
  • -號(hào):私有類型,private
  • #號(hào):保護(hù)類型,protect

3.1.2 接口圖

與類圖比較相似的是接口圖,與類圖最大的區(qū)別是頂端標(biāo)注有“<<接口>>”表示這是個(gè)接口圖,接口圖的接口只有兩行:

  • 第1行:是接口的名稱
  • 第1行:是接口的方法,即函數(shù)實(shí)現(xiàn)

注:接口圖還要另外一種“棒棒糖”表示法,圓圈的旁邊為接口名稱,接口方法的實(shí)現(xiàn)在類中實(shí)現(xiàn)

3.2 關(guān)系

圖之間的連接,通過各種關(guān)系線來連接,包括: 接口關(guān)系、依賴關(guān)系、繼承關(guān)系、合成關(guān)系、聚合關(guān)系、關(guān)聯(lián)關(guān)系 。

3.2.1 接口關(guān)系(實(shí)現(xiàn)關(guān)系)

接口關(guān)系,也稱實(shí)現(xiàn)關(guān)系,用帶****三角箭頭+虛線 ,箭頭指向接口的形式,表示類是接口所有特征和行為的實(shí)現(xiàn)

3.2.2 依賴關(guān)系

依賴關(guān)系,描述的是一種使用關(guān)系,即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助,用帶****普通箭頭+虛線 ,普通箭頭指向被使用者的形式表示

3.2.3 繼承關(guān)系(泛化關(guān)系)

繼承關(guān)系,也稱泛化關(guān)系,用帶****三角箭頭+實(shí)線 ,箭頭指向父類的形式,表示子類繼承父類的所有特征和行為

3.2.4 合成關(guān)系(組合關(guān)系)

合成關(guān)系,也稱組合關(guān)系,描述的是一種整體與部分的關(guān)系,且部分不能離開整體而單獨(dú)存在,用帶****實(shí)心菱形+實(shí)線 ,實(shí)心菱形指向整體的形式表示

3.2.5 聚合關(guān)系

聚合關(guān)系,描述的是整體與部分的關(guān)系,用帶****空心菱形+實(shí)線 ,空心菱形指向整體的形式表示

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

關(guān)聯(lián)關(guān)系,描述的是不同類的對(duì)象之間的結(jié)構(gòu)關(guān)系,用帶****普通箭頭+實(shí)線 ,箭頭指向被關(guān)聯(lián)者的形式表示。

雙向的關(guān)聯(lián)可以有兩個(gè)箭頭,或者沒有箭頭。單向的關(guān)聯(lián)有一個(gè)箭頭。

4 總結(jié)

本篇介紹了UML類圖的基礎(chǔ)知識(shí),包括2種和6種關(guān)系,并通過visio軟件,演示如何畫出一個(gè)UML類圖


審核編輯:湯梓紅

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

    關(guān)注

    41

    文章

    3593

    瀏覽量

    129466
  • UML
    UML
    +關(guān)注

    關(guān)注

    0

    文章

    122

    瀏覽量

    30858
  • 圖表
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    8856
收藏 人收藏

    評(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

    請(qǐng)問UML用例的創(chuàng)建方法是什么?

    UML用例的創(chuàng)建方法及其用例的描述
    發(fā)表于 11-06 07:10

    編寫電視TV,UML和說明

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

    基于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)行探討。UML有利于各類人員之間的溝通,提高了系
    發(fā)表于 12-22 17:14 ?35次下載
    基于<b class='flag-5'>UML</b>的考試管理系統(tǒng)設(shè)計(jì)

    詳解Oracle中XMI開發(fā)UML圖表技術(shù)

    如果沒有自動(dòng)以XMI格式存儲(chǔ)UML圖表的工具,那么可以使用XSLT生成XMI文檔。由示例部署描述符創(chuàng)建的XMI文檔顯示一個(gè)UML圖表;該圖表將表現(xiàn)部署描述符EJB的分析視圖。
    發(fā)表于 10-19 16:38 ?3199次閱讀
    <b class='flag-5'>詳解</b>Oracle中XMI開發(fā)<b class='flag-5'>UML</b>圖表技術(shù)

    UML之間的關(guān)系

    UML中描述對(duì)象和之間相互關(guān)系的方式包括:依賴(Dependency),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),泛化(Generalization),實(shí)現(xiàn)(Realization)等。
    的頭像 發(fā)表于 09-25 09:57 ?3887次閱讀
    <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)建模語言。是對(duì)軟件設(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 ?4673次閱讀
    什么是<b class='flag-5'>UML</b><b class='flag-5'>圖</b>?常見的<b class='flag-5'>UML</b><b class='flag-5'>圖</b>工具有哪些?

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

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

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

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

    如何看懂UML中的?

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

    解析UML和時(shí)序

    這里不會(huì)將UML的各種元素都提到,我只想講講圖中各個(gè)之間的關(guān)系; 能看懂圖中各個(gè)之間的線條、箭頭代表什么意思后,也就足夠應(yīng)對(duì) 日常的
    的頭像 發(fā)表于 05-05 11:03 ?691次閱讀
    解析<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 ?3213次閱讀
    <b class='flag-5'>UML</b>狀態(tài)<b class='flag-5'>圖</b><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 ?2193次閱讀
    <b class='flag-5'>UML</b>時(shí)序<b class='flag-5'>圖</b><b class='flag-5'>詳解</b>