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

完善資料讓更多小伙伴認(rèn)識你,還能領(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)品進行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語言。UML 代表了一組最佳工程實踐,這些實踐已被證明在大型復(fù)雜系統(tǒng)的建模中是成功的。UML是開發(fā)面向?qū)ο筌浖蛙浖_發(fā)過程中非常重要的一部分。在嵌入式系統(tǒng)設(shè)計中,使用UML建模并書寫文檔,通??梢云鸬绞掳牍Ρ兜男Ч?。

1.2 UML起源與發(fā)展

UML的出現(xiàn),起源于三位面向?qū)ο蟠髱煂Ω髯苑椒ǖ慕Y(jié)合與統(tǒng)一:

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

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

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

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

1.3 UML中的各種圖

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

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

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

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

2 UML類圖實例

2.1 visio設(shè)計UML類圖

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

點擊確定之后,會進入UML類圖的編輯界面,左側(cè)可以看到用于UML類圖編輯的基本元素:

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

2.2 一個UML類圖實例

下面是一個UML類圖的實例:

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

3 UML類圖元素介紹

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

3.1 圖

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

3.1.1 類圖

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

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

主:若類的名稱是斜體,表示這是個抽象類,比如這里的動物

對于屬性和方法前面的符號:

  • +號:共有類型,public
  • -號:私有類型,private
  • #號:保護類型,protect

3.1.2 接口圖

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

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

注:接口圖還要另外一種“棒棒糖”表示法,圓圈的旁邊為接口名稱,接口方法的實現(xiàn)在類中實現(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)系(實現(xiàn)關(guān)系)

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

3.2.2 依賴關(guān)系

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

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

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

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

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

3.2.5 聚合關(guān)系

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

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

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

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

4 總結(jié)

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


審核編輯:湯梓紅

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

    關(guān)注

    41

    文章

    3531

    瀏覽量

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

    關(guān)注

    0

    文章

    122

    瀏覽量

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

    關(guān)注

    0

    文章

    24

    瀏覽量

    8843
收藏 人收藏

    評論

    相關(guān)推薦

    UML詳解

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

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

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

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

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

    編寫電視TV,UML和說明

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

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

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

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

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

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

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

    UML之間的關(guān)系

    UML中描述對象和之間相互關(guān)系的方式包括:依賴(Dependency),關(guān)聯(lián)(Association),聚合(Aggregation),組合(Composition),泛化(Generalization),實現(xiàn)(Realization)等。
    的頭像 發(fā)表于 09-25 09:57 ?3797次閱讀
    <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è)計開發(fā)過程可視化建模的一種語言。多應(yīng)用在一些軟件系統(tǒng)工程上,有時在應(yīng)用在機械系統(tǒng)和業(yè)務(wù)流程上有所應(yīng)用。這種模型通常以圖表方式呈現(xiàn)。 UML狀態(tài)圖
    的頭像 發(fā)表于 06-22 14:10 ?4526次閱讀
    什么是<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 ?657次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>圖</b>學(xué)習(xí)筆記

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

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

    如何看懂UML中的

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

    解析UML和時序

    這里不會將UML的各種元素都提到,我只想講講圖中各個之間的關(guān)系; 能看懂圖中各個之間的線條、箭頭代表什么意思后,也就足夠應(yīng)對 日常的
    的頭像 發(fā)表于 05-05 11:03 ?623次閱讀
    解析<b class='flag-5'>UML</b><b class='flag-5'>類</b><b class='flag-5'>圖</b>和時序<b class='flag-5'>圖</b>

    UML狀態(tài)詳解

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

    UML時序詳解

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