吴忠躺衫网络科技有限公司

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

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

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

UML的意義在于?

jf_78858299 ? 來源: 與小婧同行 ? 作者:小婧 ? 2023-05-05 10:35 ? 次閱讀

為了了解UML,我們開篇先大致了解一些UML的概念。

我覺得這些概念看了之后大致有個印象就好了。

因為不在實際的過程中使用,沒有講到具體的圖的時候,很難理解。

特別是對象之間的關(guān)系,以及各種圖的分類和名稱。

但是,這個部分又不能不講。

UML發(fā)展至今其實是融合了很多大神的經(jīng)驗及智慧。

其初衷其實是為了發(fā)展出一套讓全世界從業(yè)人員都可以看懂的建模語言。

類似于軟件界的五線譜。

你即便不懂英語、日語、德語等等,你看一張UML圖,也能大致理解表達(dá)的意思,并且不用別人過多解釋。

所以我覺得如果你是要畫UML圖就要遵循UML的規(guī)范,而不是自創(chuàng)。

否則別人就會看不懂了。

然鵝,讓我一直很困惑的是,各個大廠的UML建模軟件卻完全各搞各的,沒有嚴(yán)格遵循規(guī)范。

可能也是因為UML本身也在不斷發(fā)展的緣故吧。

盡管如此,我還是建議大家盡量用規(guī)范的表達(dá)方法,這樣不容易產(chǎn)生歧義。

如果要用工具,那么至少在一個項目或者在公司內(nèi)部保持統(tǒng)一,并且給出圖例規(guī)范說明。

防止大家有理解不一致的地方,如果造成更多的困擾,那么就有違UML的初衷了。

什么是UML

具體的發(fā)展史大家可以自行度娘,或者去OMG的官網(wǎng)查看詳細(xì)信息

在這里,我想特別標(biāo)注幾點我覺得很重要的信息:

UML起源于多種面向?qū)ο蠼7椒ǎ蒓MG開發(fā),目前已經(jīng)成為工業(yè)標(biāo)準(zhǔn)。

UML自1997年發(fā)布1.1版本以來,經(jīng)歷10年后,已經(jīng)發(fā)展到了2.5版本了。

最新的版本可以去OMG官方下載

UML的意義在于:

  • 在發(fā)展的過程中,統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念和符號。
  • UML吸取了面向?qū)ο箢I(lǐng)域中各種優(yōu)秀思想,是開發(fā)者們根據(jù)最優(yōu)秀的OO方法和豐富的計算機(jī)科學(xué)實踐經(jīng)驗綜合提煉而成的。
  • UML在演變的過程中還提出了一些新的概念,不斷推動著OO思想的發(fā)展。

為什么著重要提這幾點?

面向?qū)ο驩O,是UML的根本。

你想要理解UML,想要用好UML,一定要有OO的思維方式。

這也是我為什么會在列大綱的時候就專門列了一篇關(guān)于OO的介紹。

下一篇我們再詳細(xì)來說OO。

另外,我們需要注意的是,UML還在逐步發(fā)展中。

所以時不時的新版本出來,你會發(fā)現(xiàn)由多了幾種圖,有一些新的概念。

但是其實個人覺得沒有必要去追求所謂的最新版本,因為我們常用的幾種圖在UML2的版本中都涉及到了。

除非UML升級到UML3,否則基本上都是一些擴(kuò)展和補(bǔ)充。

我們的目的也不是進(jìn)行UML的專業(yè)研究,我們的目的是用起來。

所以呢,如果你想要買一些UML的書來看的話,關(guān)注一下書籍信息,UML1的就不要買了。

現(xiàn)在市面上大部分是UML2.3,UML2.4的。

看這個版本目前也差不多夠了。

UML組成

UML的組成主要有:事物、圖和關(guān)系。

  • 事物是UML中重要的組成部分。
  • 關(guān)系把各個元素緊密的聯(lián)系在一起。
  • 圖是一種表達(dá)形式。

因為翻譯的關(guān)系,可能有的書上不這么描述。

不過問題不大,我們這篇的主要目的是讓大家有個大體上的印象。

下面這些概念看上去比較難理解,給這種抽象的東西下定義,真的挺難的。

后面在講到具體圖的時候回一一提及。

如果看不懂,也沒關(guān)系。

UML事物

UML主要包括四種事物:構(gòu)件、行為、分組和注釋。

構(gòu)件

構(gòu)件事物是UML模型的靜態(tài)部分、描述概念或者物理元素。

包括:

:是對象的抽象。后面會在類圖、包圖等中進(jìn)行詳細(xì)介紹。

接口 :描述了類或組件對外可見的動作。

協(xié)作 :一組事物相互作用的集合。

用例 :常見于用例圖,用來描述一系列動作。

組件 :抽象了的物理或邏輯的部分。

節(jié)點 :主要使用在部署圖中。

行為

交互 :實現(xiàn)某個功能的組件之間的消息集合。

狀態(tài)機(jī) :描述事物生命周期的狀態(tài)序列。

分組

主要由包實現(xiàn),描述事物的結(jié)構(gòu)組成。

注釋

對模型中的元素進(jìn)行說明、解釋。

關(guān)系

UML中主要的關(guān)系:依賴、關(guān)聯(lián)、泛化和實現(xiàn)。

依賴 Dependency

A元素的變化會影響B(tài)元素。

A被稱為獨立元素,被影響的B元素稱為依賴元素。

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

兩個對象之間的關(guān)系,在類圖、用例圖中很常見。

泛化Generalization

又稱為繼承,子繼承父。

在用例圖和類圖中比較常見。

實現(xiàn)Realization

條條大路通羅馬,每條路都可以實現(xiàn)到達(dá)羅馬的目的。

其他

還有一些關(guān)系會在具體降到類圖、用例圖等的時候再進(jìn)行介紹。

比如組合、聚合、包含、擴(kuò)展等等。

具體的如果感興趣,可以看《Think in UML》的第3章內(nèi)容,里面描述的比較詳盡。

UML的圖

UML包括眾多的圖,在《UML2 軟件建模:概念、規(guī)范和方法》中有這樣一張圖,看上去比較清晰,分享給大家。

圖片

主要分成兩大類:靜態(tài)圖、動態(tài)圖(也稱為行為圖)。

靜態(tài)圖

顧名思義,描述的是對象的靜態(tài)結(jié)構(gòu),與時間無關(guān)。

動態(tài)圖

描述的是對象的動態(tài)行為,除用例外,其他圖會隨著時間“流動”。

寫在最后

UML的圖其實很有意思的一點在于,相互獨立又相互驗證。

如果你在畫一個用例圖,那你就應(yīng)該關(guān)注用例。

什么執(zhí)行者有哪些操作、有哪些活動。

而不關(guān)注這些活動的狀態(tài)和觸發(fā)條件。

但是用例圖中的這些活動可以和活動圖的活動進(jìn)行對應(yīng)。

用例圖中的執(zhí)行者可以和活動圖中的角色進(jìn)行對應(yīng)。

活動圖中的階段可以映射到狀態(tài)機(jī)圖。

……

這也使得UML圖的維護(hù)更新比較耗費精力。

那我們干嘛還要用UML呢?

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

    評論

    相關(guān)推薦

    UML中類圖詳解

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

    請問如何使用UML來設(shè)計嵌入式系統(tǒng)?

    UML引入到嵌入式系統(tǒng)中的可行性一種改進(jìn)的通用嵌入式系統(tǒng)UML方案如何使用UML來設(shè)計嵌入式系統(tǒng)?
    發(fā)表于 04-23 06:12

    如何運(yùn)用UML分析設(shè)計占先式實時內(nèi)核?

    什么是UMLUML建模的具體應(yīng)用有哪些?如何實現(xiàn)占先式實時內(nèi)核代碼?
    發(fā)表于 04-28 06:59

    UML在車載GPS終端設(shè)計中的應(yīng)用是什么?

    統(tǒng)一建模語言UML的特點是什么?UML在車載GPS終端設(shè)計中的應(yīng)用是什么?
    發(fā)表于 12-27 06:28

    UML教程設(shè)計核心技術(shù)

    UML教程設(shè)計核心技術(shù):UML的產(chǎn)生和成長,什么是UMLUML與面向?qū)ο蟮能浖治雠c設(shè)計,UML的應(yīng)用領(lǐng)域。Component-Based
    發(fā)表于 02-08 17:42 ?0次下載

    什么是UML

    什么是UML UML是一種標(biāo)準(zhǔn)的圖形化建模語言,它是面向?qū)ο蠓治雠c設(shè)計的一種標(biāo)準(zhǔn)表示。它:不是一種可視化的程序設(shè)計語言而是一種
    發(fā)表于 02-08 17:47 ?3671次閱讀
    什么是<b class='flag-5'>UML</b>

    基于UML對象建模的財務(wù)軟件設(shè)計研究

    本篇目的在于研究基于UML對象建模的財務(wù)軟件設(shè)計。基于當(dāng)前UML、財務(wù)軟件設(shè)計相關(guān)知識,能夠去優(yōu)化分析基于UML的財務(wù)軟件設(shè)計相關(guān)需求,開發(fā)設(shè)計一個
    發(fā)表于 11-13 17:16 ?6次下載
    基于<b class='flag-5'>UML</b>對象建模的財務(wù)軟件設(shè)計研究

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

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

    基于實時UML的雷達(dá)軟件設(shè)計

    實時統(tǒng)一建模語言 (UML)和面向?qū)ο蟮慕<夹g(shù)代表著雷達(dá)軟件設(shè)計的一個發(fā)展方向。文中介紹了使用UML的用例圖、狀態(tài)圖、順序圖等進(jìn)行系統(tǒng)分析、設(shè)計、實現(xiàn)和測試 ,并討論了如何選擇 UML工具與實時框架以及實時性分析等問題。
    發(fā)表于 03-26 14:06 ?24次下載

    UML簡介與類圖詳解

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

    UML統(tǒng)一建模語言

    UML-Unified Modeling Language 統(tǒng)一建模語言,又稱標(biāo)準(zhǔn)建模語言。是用來對軟件密集系統(tǒng)進(jìn)行可視化建模的一種語言。UML的定義包括UML語義和UML表示法兩個元
    的頭像 發(fā)表于 05-05 10:15 ?933次閱讀
    <b class='flag-5'>UML</b>統(tǒng)一建模語言

    UML相關(guān)基本知識介紹

    UML - Unified modeling language UML (統(tǒng)一建模語言),是一種用于軟件系統(tǒng)分析和設(shè)計的語 言工具, 用于幫助軟件開發(fā)人員進(jìn)行思考和記錄思路的結(jié)果。簡單說,UML圖即一種圖形化語言,通過不同的圖形
    的頭像 發(fā)表于 05-05 10:22 ?689次閱讀
    <b class='flag-5'>UML</b>相關(guān)基本知識介紹

    五個免費UML建模工具介紹

    UML工具很多是商用的,價格不菲;而免費的UML建模工具,功能完善的很少。以下推薦的是五個免費的UML建模工具,相對而言還算功能比較不錯。
    的頭像 發(fā)表于 05-05 11:10 ?6383次閱讀
    五個免費<b class='flag-5'>UML</b>建模工具介紹

    UML狀態(tài)圖詳解

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

    UML時序圖詳解

    本篇介紹了UML時序圖的基礎(chǔ)知識,并通過visio繪制一個物聯(lián)網(wǎng)設(shè)備WIFI配網(wǎng)的UML時序圖實例,來介紹UML時序圖的畫法與所表達(dá)的含義。
    的頭像 發(fā)表于 05-16 09:09 ?2270次閱讀
    <b class='flag-5'>UML</b>時序圖詳解
    澳门百家乐要注意啥| 百家乐汝河路| 百家乐官网图淑何看| 战神百家乐官网娱乐| 德州扑克 单机| 反赌百家乐的玩法技巧和规则| 百家乐官网视频游戏网站| 罗浮宫百家乐的玩法技巧和规则| 玩机器百家乐心得| 百家乐官网辅助器| 百家乐官网有没有绝| 贺兰县| 棋牌乐| 大发888娱乐城怎么样| 百家乐娱乐网网77scs| 百家乐平台要多少钱| 属猪的做生意门朝向| 新锦江百家乐官网娱乐场| 网上百家乐官网开户送现金 | 大发888com| 悍马百家乐的玩法技巧和规则 | 六合彩资料| 大发888娱乐城888 bg| 全讯网bbin888.com| 大佬百家乐的玩法技巧和规则 | 筹码币百家乐麻将| 百家乐娱乐城7| 百家乐官网正负计算| 百家乐官网谁能看准牌| 百家乐官网筹码桌布| 太阳百家乐官网3d博彩通| 百家乐官网隐者博客| 社旗县| 黄陵县| 网上真钱轮盘| 御匾会娱乐城| 皇冠体育网| 六合彩开奖结果查询| 貔喜脉动棋牌下载| 顶级赌场 官方直营网络赌场| 大发888娱乐场下载注册|