色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

UML精準(zhǔn)入門(mén)指南2

jf_78858299 ? 來(lái)源:蝸牛互聯(lián)網(wǎng) ? 作者:蝸牛互聯(lián)網(wǎng) ? 2023-05-05 11:17 ? 次閱讀

五、UML 的適用場(chǎng)景

UML 既可以描述某個(gè)問(wèn)題領(lǐng)域,也可以表達(dá)構(gòu)思中的軟件設(shè)計(jì),還可以描述已經(jīng)完成的軟件實(shí)現(xiàn)。

它適用于面向?qū)ο蠓治鲈O(shè)計(jì)的整個(gè)過(guò)程。這個(gè)過(guò)程可以分為三個(gè)階段,如下圖。

圖片

第一個(gè)階段是通過(guò)建模將現(xiàn)實(shí)世界轉(zhuǎn)為業(yè)務(wù)模型。業(yè)務(wù)模型真實(shí)映射了參與者(業(yè)務(wù)活動(dòng)的驅(qū)動(dòng)者)在現(xiàn)實(shí)世界的行為。

圖片

從圖里可以看到,現(xiàn)實(shí)世界映射到業(yè)務(wù)模型后,是使用 參與者 和 用例 這兩個(gè) UML 的核心元素表達(dá)的。參與者作為一個(gè)特定事件的驅(qū)動(dòng)者,用例則描述了這個(gè)驅(qū)動(dòng)者的業(yè)務(wù)目標(biāo)。文章后邊也會(huì)提到這兩個(gè)元素。

第二個(gè)階段是對(duì)業(yè)務(wù)模型概念化,建立適合計(jì)算機(jī)理解和實(shí)現(xiàn)的模型,也就是概念模型,或者叫分析模型。分析模型向上映射了原始需求,向下為計(jì)算機(jī)實(shí)現(xiàn)規(guī)定了一種高層次的抽象,是一種過(guò)渡模型。

圖片

現(xiàn)實(shí)世界千差萬(wàn)別的業(yè)務(wù),都用 邊界、控制和實(shí)體這幾個(gè)核心元素來(lái)描述,同時(shí)也引入了 包、組件 這些與現(xiàn)實(shí)世界毫不相干的概念做包裝。

第三個(gè)階段是對(duì)概念模型實(shí)例化,得到相對(duì)詳細(xì)的設(shè)計(jì)模型。

圖片

在設(shè)計(jì)模型中,概念模型中的邊界類可以被轉(zhuǎn)化為操作界面或者系統(tǒng)接口;控制類可以被轉(zhuǎn)化為計(jì)算程序或控制程序,例如工作流、算法體等;實(shí)體類可以轉(zhuǎn)化為數(shù)據(jù)庫(kù)表、XML 文檔或者其他帶有持久化特征的類。

同樣的概念模型會(huì)因?yàn)檫x擇不同而得到不同的設(shè)計(jì)模型。比如技術(shù)選型上使用不同的編程語(yǔ)言,不同的中間件就會(huì)得到不同的設(shè)計(jì)。

為什么需要這一道轉(zhuǎn)換呢?

因?yàn)椤斑吔纭薄ⅰ翱刂啤薄ⅰ皩?shí)體”這些對(duì)象化的概念,雖然是計(jì)算機(jī)可以理解的,但它并不是真正的對(duì)象實(shí)例,也就是說(shuō)它們并不是可執(zhí)行代碼,概念模型只是紙上談兵。真正的對(duì)象世界行為是由 Java 類、C++ 類、JSP 等這些可執(zhí)行代碼構(gòu)成的。

換句話說(shuō),設(shè)計(jì)模型是概念模型在特定環(huán)境和條件下的實(shí)例化,實(shí)例化后的對(duì)象行為執(zhí)行了概念模型描述的那些信息

以下是面向?qū)ο蠓治鲈O(shè)計(jì)的完整過(guò)程,它表達(dá)了現(xiàn)實(shí)世界是怎么通過(guò) UML 映射到對(duì)象世界的。

圖片

六、UML 的組成結(jié)構(gòu)

前面花了比較大的篇幅分析了 UML 的定位和適用場(chǎng)景,目的是幫助讀者建立對(duì) UML 整體系統(tǒng)性的認(rèn)知,而不是過(guò)早的陷入 UML 的使用細(xì)節(jié)里。我們要應(yīng)用一項(xiàng)技術(shù)或工具,不能單純的因?yàn)樗目犰呕蛘哒f(shuō)業(yè)界都在用所以我們要用,而應(yīng)該結(jié)合自己的使用場(chǎng)景以及技術(shù)或工具的特點(diǎn),來(lái)確認(rèn)這項(xiàng)技術(shù)或工具究竟是不是我們需要的。

在讀者了解 UML 在面向?qū)ο蠓治鲈O(shè)計(jì)領(lǐng)域優(yōu)秀的特性之后,我們?cè)賮?lái)看看 UML 的一些細(xì)節(jié)。

凡是語(yǔ)言,都會(huì)存在基本詞匯和語(yǔ)法。

那么對(duì)應(yīng)到 UML 里,基本詞匯就是核心元素,語(yǔ)法就是核心視圖。

UML 的組成結(jié)構(gòu)如下圖:

圖片

6.1 核心元素

我們先介紹核心元素,下圖是大綱。

圖片

6.1.1 版型

版型:也稱「類型」或「構(gòu)造型」。是對(duì) UML 元素基礎(chǔ)定義的擴(kuò)展,在元素基礎(chǔ)定義的基礎(chǔ)上賦予特別的含義,使得這個(gè)元素適用于特定的場(chǎng)合。

比如,我們前邊提到的「邊界類」、「實(shí)體類」、「控制類」都是類的版型。

6.1.2 參與者

圖片

參與者定位:事件的第一驅(qū)動(dòng)者,也是系統(tǒng)的服務(wù)方。比如你在電商網(wǎng)站購(gòu)物,你就是參與者。

6.1.3 用例

圖片

用例定位:系統(tǒng)執(zhí)行的一系列操作,并生成參與者可以觀察的值。比如你在電商網(wǎng)站交易,會(huì)生成在線訂單,用戶下單就是一個(gè)用例。

用例版型:

圖片

  • 業(yè)務(wù)用例:用于需求階段業(yè)務(wù)領(lǐng)域建模。與計(jì)算機(jī)系統(tǒng)建模無(wú)關(guān),比如下單可以不依賴在線服務(wù),而只是線下簽署協(xié)議。業(yè)務(wù)建模的目標(biāo)是讓需求人員和客戶能夠達(dá)成共識(shí)。
  • 業(yè)務(wù)用例實(shí)現(xiàn):業(yè)務(wù)用例的一種實(shí)現(xiàn)方式,一個(gè)業(yè)務(wù)用例可以有多種實(shí)現(xiàn)方式。比如下單后的支付,可以用現(xiàn)金,也可以銀行卡轉(zhuǎn)賬,還可以第三方支付。

圖片

  • 概念用例:用于獲取業(yè)務(wù)模型中的關(guān)鍵概念,分析出核心業(yè)務(wù)結(jié)構(gòu)。業(yè)務(wù)架構(gòu)就是概念建模階段產(chǎn)生,同時(shí)為系統(tǒng)建模階段提供重要指導(dǎo)。比如用戶下單這個(gè)用例,可以從實(shí)現(xiàn)過(guò)程中獲得一些核心業(yè)務(wù),并把它們展現(xiàn)出來(lái)。

圖片

  • 系統(tǒng)用例:用于定義系統(tǒng)范圍、獲取功能性需求。也就是我們常掛在嘴邊的用例。像業(yè)務(wù)用例中提到的線下簽約的方式,就不會(huì)納入到系統(tǒng)用例中,但如果是電子簽約的話,就可以成為系統(tǒng)用例了。
  • 系統(tǒng)用例實(shí)現(xiàn):系統(tǒng)用例的一種實(shí)現(xiàn)方式,一個(gè)系統(tǒng)用例可以有多種實(shí)現(xiàn)方式。比如下單后的支付,可以接入微信支付接口,也可以接入支付寶支付接口。

你會(huì)發(fā)現(xiàn),同是用例的版型,業(yè)務(wù)用例與系統(tǒng)用例的區(qū)別就在于業(yè)務(wù)用例是客戶業(yè)務(wù)視角,系統(tǒng)用例是系統(tǒng)視角。

6.1.4 邊界

圖片

邊界定位:用于業(yè)務(wù)建模和系統(tǒng)建模階段的分析,保證分析粒度在一定的范圍內(nèi),不會(huì)擴(kuò)散。

比如一個(gè)電商網(wǎng)站按領(lǐng)域職責(zé)作為邊界,會(huì)有店鋪域、商品域、會(huì)員域、交易域、支付域和營(yíng)銷(xiāo)域等。各域只負(fù)責(zé)域內(nèi)的事情,就能夠減少混亂緊耦合的局面。

一個(gè)好的分析和設(shè)計(jì)如同一筐帶殼的雞蛋,清清爽爽;一個(gè)差的設(shè)計(jì)如同一堆打碎了殼的雞蛋,粘粘糊糊。殼,是好壞的關(guān)鍵。

6.1.5 業(yè)務(wù)實(shí)體

圖片

業(yè)務(wù)實(shí)體定位:它代表參與者執(zhí)行業(yè)務(wù)用例時(shí)所處理或使用的事物,特別用于在業(yè)務(wù)建模階段建立領(lǐng)域模型。業(yè)務(wù)實(shí)體是類(class)的一種版型。

業(yè)務(wù)實(shí)體的結(jié)構(gòu):包含屬性和方法。屬性用來(lái)保存業(yè)務(wù)實(shí)體特征,方法用來(lái)訪問(wèn)業(yè)務(wù)實(shí)體。比如一臺(tái)電視,把它看成一個(gè)業(yè)務(wù)實(shí)體的話,它的屬性有運(yùn)行狀態(tài)和音量,它的方法就是遙控器,我們可以開(kāi)、關(guān)、調(diào)聲音,但是我們不可以試圖讓它飛起來(lái)——因?yàn)樗鼪](méi)有這樣的方法。

6.1.6 包

圖片

包定位:容納并為其他 UML 元素分類。比如 Java 后端經(jīng)常會(huì)提供 jar 包給接入方使用。

6.1.7 分析類

圖片

分析類定位:用于代表系統(tǒng)中主要的職責(zé)簇,由此產(chǎn)生系統(tǒng)的設(shè)計(jì)類和子系統(tǒng)。

  • 邊界類:用于對(duì)系統(tǒng)外部環(huán)境和內(nèi)部運(yùn)作之間的交互進(jìn)行建模。比如現(xiàn)實(shí)世界的窗戶,計(jì)算機(jī)世界的網(wǎng)頁(yè)。
  • 控制類:用于對(duì)用例特有的控制行為進(jìn)行建模。比如顯示邏輯和業(yè)務(wù)邏輯通過(guò)控制層分離的 MVC 架構(gòu)。
  • 實(shí)體類:用于對(duì)需要存儲(chǔ)的信息和相關(guān)行為進(jìn)行建模。源于業(yè)務(wù)模型中的業(yè)務(wù)實(shí)體。

分析類的抽象層次較高,比設(shè)計(jì)和實(shí)現(xiàn)要穩(wěn)定很多,因此方便維護(hù),也更容易獲得一個(gè)穩(wěn)定架構(gòu)來(lái)指導(dǎo)整個(gè)軟件的開(kāi)發(fā)。

6.1.8 設(shè)計(jì)類

圖片

設(shè)計(jì)類定位:是系統(tǒng)實(shí)施中一個(gè)或多個(gè)對(duì)象的抽象,由此映射到實(shí)現(xiàn)代碼,依賴于實(shí)施語(yǔ)言。

設(shè)計(jì)類結(jié)構(gòu):

  • 類型:對(duì)對(duì)象某一方面特征的歸納和抽象。映射到編碼中的 class。
  • 屬性:對(duì)象特征。映射到編碼中的 field。
  • 方法:訪問(wèn)對(duì)象屬性的唯一途徑。映射到編碼中的 method。

6.1.9 關(guān)系

圖片

關(guān)系定位:抽象出對(duì)象之間的聯(lián)系,讓對(duì)象構(gòu)成某個(gè)特定的結(jié)構(gòu)。

關(guān)系分為以下幾種:

  • 關(guān)聯(lián)(association)
  • 關(guān)系:是一種擁有的關(guān)系,即一個(gè)類知道另一個(gè)類的屬性和方法;比如老師與學(xué)生可以是雙向的,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個(gè)箭頭或者沒(méi)有箭頭,單向的關(guān)聯(lián)有一個(gè)箭頭。
  • 箭頭和連線:帶普通箭頭的實(shí)心線,指向被擁有者。
  • 適用場(chǎng)景:類圖。
  • 依賴(dependency)
  • 關(guān)系:是一種使用的關(guān)系,即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助,是一種弱關(guān)系,隨運(yùn)行場(chǎng)景變化。比如削蘋(píng)果時(shí),人依賴于刀,脫離了這個(gè)場(chǎng)景,依賴關(guān)系就不存在了。
  • 箭頭和連線:帶箭頭的虛線,指向被使用者。
  • 適用場(chǎng)景:類圖。
  • 泛化(generalization)
  • 關(guān)系:是一種繼承的關(guān)系,比如貓是動(dòng)物的一種。
  • 箭頭和連線:帶三角的實(shí)線,箭頭指向父類。
  • 適用場(chǎng)景:類圖。
  • 實(shí)現(xiàn)(realization)
  • 關(guān)系:是一種實(shí)現(xiàn)的關(guān)系,比如用例和用例實(shí)現(xiàn)的關(guān)系,接口與實(shí)現(xiàn)類的關(guān)系。
  • 箭頭和連線:帶三角的虛線,箭頭指向用例實(shí)現(xiàn)或接口類。
  • 適用場(chǎng)景:用例圖,類圖。
  • 聚合(aggregation)
  • 關(guān)系:是整體與部分的關(guān)系,且部分可以離開(kāi)整體而單獨(dú)存在。生命周期各自獨(dú)立。如車(chē)和輪胎是聚合關(guān)系,輪胎離開(kāi)車(chē)仍然可以存在。
  • 箭頭和連線:帶空心菱形的實(shí)線,菱形指向整體。
  • 適用場(chǎng)景:類圖。
  • 組合(composition)
  • 關(guān)系:是整體與部分的關(guān)系,但部分不能離開(kāi)整體而單獨(dú)存在。同生同滅。如公司和部門(mén)是組合關(guān)系,沒(méi)有公司就不存在部門(mén)。
  • 箭頭和連線:帶實(shí)心(黑色實(shí)心:要死一起死,良心是黑的)菱形的實(shí)線,菱形指向整體。
  • 適用場(chǎng)景:類圖。

關(guān)聯(lián)關(guān)系和依賴關(guān)系的區(qū)別:

  • 關(guān)聯(lián)關(guān)系是靜態(tài)天然的聯(lián)系,依賴關(guān)系是動(dòng)態(tài)臨時(shí)的聯(lián)系。

此外還有只用于用例中的關(guān)系:

圖片

  • 擴(kuò)展(extends)
  • 關(guān)系:用于在用例模型中說(shuō)明向基本用例中的某個(gè)擴(kuò)展點(diǎn)插入擴(kuò)展用例。
  • 箭頭和連線:帶箭頭的虛線加版型<>
  • 特點(diǎn):用例可選。
  • 包含(include)
  • 關(guān)系:用于在用例模型中說(shuō)明在執(zhí)行基本用例的用例實(shí)例過(guò)程中插入的行為段。
  • 箭頭和連線:帶箭頭的虛線加版型<>
  • 特點(diǎn):用例必需。

6.1.10 組件

圖片

組件定位:實(shí)現(xiàn)特定功能的邏輯代碼模塊。比如分布式應(yīng)用架構(gòu)下,將業(yè)務(wù)目標(biāo)拆成多個(gè)功能,每個(gè)功能作為組件獨(dú)立部署。這樣這些組件也能被其他場(chǎng)景復(fù)用。

6.1.11 節(jié)點(diǎn)

圖片

節(jié)點(diǎn)定位:表示應(yīng)用程序的部署單元。比如分布式應(yīng)用的環(huán)境中,服務(wù)器或設(shè)備會(huì)有很多,就需要通過(guò)節(jié)點(diǎn)來(lái)體現(xiàn)物理部署的情況。

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

    評(píng)論

    相關(guān)推薦

    MSP MCU I2C入門(mén)指南

    MSP MCU I2C入門(mén)指南
    發(fā)表于 11-02 08:16 ?1次下載
    MSP MCU I<b class='flag-5'>2</b>C<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    FPB-RA2E2-快速入門(mén)指南

    FPB-RA2E2-快速入門(mén)指南
    發(fā)表于 01-11 18:52 ?1次下載
    FPB-RA<b class='flag-5'>2E2</b>-快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    EK-RA2E2-快速入門(mén)指南

    EK-RA2E2-快速入門(mén)指南
    發(fā)表于 01-30 18:47 ?0次下載
    EK-RA<b class='flag-5'>2E2</b>-快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    EK-RA2E1 – 快速入門(mén)指南

    EK-RA2E1 – 快速入門(mén)指南
    發(fā)表于 02-03 19:08 ?0次下載
    EK-RA<b class='flag-5'>2</b>E1 – 快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    EK-RA2L1 - 快速入門(mén)指南

    EK-RA2L1 - 快速入門(mén)指南
    發(fā)表于 02-03 19:21 ?0次下載
    EK-RA<b class='flag-5'>2</b>L1 - 快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    Stream-it!-RZ-V2快速入門(mén)指南

    Stream-it! - RZ-V2 快速入門(mén)指南
    發(fā)表于 03-23 19:08 ?0次下載
    Stream-it!-RZ-V<b class='flag-5'>2</b>快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    瑞薩 R8C/2F 入門(mén)套件快速入門(mén)指南

    瑞薩 R8C/2F 入門(mén)套件快速入門(mén)指南
    發(fā)表于 04-27 19:07 ?0次下載
    瑞薩 R8C/<b class='flag-5'>2</b>F <b class='flag-5'>入門(mén)</b>套件快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    瑞薩電子 R8C/2D 入門(mén)套件快速入門(mén)指南

    瑞薩電子 R8C/2D 入門(mén)套件快速入門(mén)指南
    發(fā)表于 04-28 19:06 ?0次下載
    瑞薩電子 R8C/<b class='flag-5'>2</b>D <b class='flag-5'>入門(mén)</b>套件快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    UML精準(zhǔn)入門(mén)指南1

    自己。因此我希望可以結(jié)合自己的經(jīng)驗(yàn)和實(shí)踐,寫(xiě)一篇 UML入門(mén)文章,幫助做面向?qū)ο蟮某绦騿T朋友能更好的利用它,從而順利完成自己的編程設(shè)計(jì)工作。
    的頭像 發(fā)表于 05-05 11:16 ?638次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>精準(zhǔn)入門(mén)</b><b class='flag-5'>指南</b>1

    UML精準(zhǔn)入門(mén)指南3

    自己。因此我希望可以結(jié)合自己的經(jīng)驗(yàn)和實(shí)踐,寫(xiě)一篇 UML入門(mén)文章,幫助做面向?qū)ο蟮某绦騿T朋友能更好的利用它,從而順利完成自己的編程設(shè)計(jì)工作。
    的頭像 發(fā)表于 05-05 11:17 ?799次閱讀
    <b class='flag-5'>UML</b><b class='flag-5'>精準(zhǔn)入門(mén)</b><b class='flag-5'>指南</b>3

    EK-RA4E2– 快速入門(mén)指南

    EK-RA4E2 – 快速入門(mén)指南
    發(fā)表于 06-29 19:14 ?0次下載
    EK-RA4E<b class='flag-5'>2</b>– 快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    FPB-RA2E2-快速入門(mén)指南

    FPB-RA2E2-快速入門(mén)指南
    發(fā)表于 06-30 20:39 ?1次下載
    FPB-RA<b class='flag-5'>2E2</b>-快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    EK-RA2E2-快速入門(mén)指南

    EK-RA2E2-快速入門(mén)指南
    發(fā)表于 07-03 20:12 ?0次下載
    EK-RA<b class='flag-5'>2E2</b>-快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    MCK-RA6T2快速入門(mén)指南

    MCK-RA6T2 快速入門(mén)指南
    發(fā)表于 07-03 20:39 ?0次下載
    MCK-RA6T<b class='flag-5'>2</b>快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>

    EK-RA4M2– 快速入門(mén)指南

    EK-RA4M2 – 快速入門(mén)指南
    發(fā)表于 07-04 19:41 ?0次下載
    EK-RA4M<b class='flag-5'>2</b>– 快速<b class='flag-5'>入門(mén)</b><b class='flag-5'>指南</b>
    主站蜘蛛池模板: 亚洲第一免费播放区| 久久99亚洲AV无码四区碰碰| 国产在线观看成人| 毛片免费大全| 午夜福利免费视频921000电影| 91久久偷偷看嫩草影院无费| 国产色婷婷精品人妻蜜桃成熟| 暖暖视频免费观看社区| 亚洲欧美视频在线| 调教椅上的调教SM总裁被调教 | 麻豆XXXX乱女少妇精品-百度| 污漫日本E同人| 99久久国内精品成人免费| 黄A无码片内射无码视频| 日日操夜夜操天天操| 最新无码二区日本专区| 国产午夜高潮熟女精品AV| 欧美xxx性| 战狼4在线观看完免费完整版| 国产精品久久久久久久AV下载| 暖暖的视频完整视频免费韩国| 一边吃奶一边啪啪真舒服| 国产成人精品视频播放| 欧美一级黄色影院| 中文人妻熟妇精品乱又伦| 国产一区二区三区在线看片| 入禽太深在线观看免费高清| 99久久爱看免费观看| 久久视频精品38线视频在线观看| 亚洲 欧美 中文 日韩 另类| 贵妇局长的蕾丝乳罩| 欧美派对xxxhdparty| 11 13加污女qq看他下面| 精品久久中文字幕有码| 小柔的性放荡羞辱日记| 国产成人拍精品免费视频爱情岛| 青青草原国产在线观看| 91免费网站在线看入口黄| 久久婷婷五月综合色精品首页 | 亚洲视频精选| 国产午夜精品一区二区|