麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 課堂 > 技術(shù)開(kāi)發(fā) > 正文

UML系列內(nèi)容之二:UML通用知識(shí)

2023-06-17 18:00:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

今天我們繼續(xù)來(lái)學(xué)習(xí)UML的相關(guān)知識(shí)。

在真正接觸UML核心之前,我們首先了解一下UML的一些通用知識(shí)。這如同在進(jìn)入公園之前,先在公園周?chē)镞_(dá)溜達(dá)。

那么,我們今天在進(jìn)入U(xiǎn)ML這個(gè)公園之前,要看看UML公園周?chē)氖裁达L(fēng)景呢?下面這個(gè)圖給出這次帶領(lǐng)大家參觀的內(nèi)容。

UML通用知識(shí)

UML中的事物

首先,我?guī)ьI(lǐng)大家參觀一下UML中的事物。

UML中的事物是UML中基本的面向?qū)ο蟮臉?gòu)造塊,也是UML中的重要詞匯,使用這些構(gòu)造塊可以構(gòu)造出良好模型。

在UML中定義了4種事物,如下圖所示:

UML中的事物

首先,我們來(lái)詳細(xì)查看一下UML中的結(jié)構(gòu)事物。

結(jié) 構(gòu) 事 物

結(jié)構(gòu)事物(structural thing)是UML模型中名詞,通常用于描述模型的概念元素或物理元素。結(jié)構(gòu)事物主要包括:

(1)類(lèi)(class)

類(lèi)是對(duì)具有相同屬性和行為的對(duì)象的描述。在UML中,類(lèi)的圖形如下圖所示:

UML中的類(lèi)

即一個(gè)矩形框通常被水平分為三部分,從上到下依次是類(lèi)的名稱(chēng)、類(lèi)的屬性和類(lèi)的操作。

(2)接口(interface)

接口定義一組操作的規(guī)約,但并不對(duì)操作進(jìn)行實(shí)現(xiàn)。每個(gè)操作描述了類(lèi)可以提供的一種服務(wù)。

在UML中,接口可以使用兩種圖形來(lái)表示,一種使用圓圈來(lái)表示,這種情況往往與某個(gè)類(lèi)連接在一起,以表示類(lèi)可以對(duì)外提供的接口。一種是使用與類(lèi)相似的圖標(biāo),加上構(gòu)造型《interface》。這兩種情形如下圖所示:

UML中的接口

接口表示法1

UML中的接口2

接口表示法2

(3)協(xié)作(collaboration)

協(xié)作定義一個(gè)交互過(guò)程。它是由一組共同工作以提供協(xié)作行為的角色和其他元素構(gòu)成的一個(gè)整體。通常來(lái)說(shuō),這些協(xié)作行為大于所有元素的行為總和。

在圖形上,協(xié)作使用虛線橢圓來(lái)表示。

UML中的協(xié)作表示方法

(4)用例(use case)

用例描述一組動(dòng)作序列,系統(tǒng)執(zhí)行這些動(dòng)作后將對(duì)特定的參與者產(chǎn)生有價(jià)值且可觀察的結(jié)果。也可以簡(jiǎn)單說(shuō)用例是系統(tǒng)對(duì)外部參與者提供的一項(xiàng)服務(wù)或功能。在UML中,用例使用下面的圖形來(lái)表示:

UML中的用例表示法

(5)主動(dòng)類(lèi)(active class)

主動(dòng)類(lèi)對(duì)象本身至少擁有一個(gè)進(jìn)程或線程,因此,主動(dòng)類(lèi)的對(duì)象可以自動(dòng)地啟動(dòng)控制活動(dòng),控制線程與其他元素并行執(zhí)行。

主動(dòng)類(lèi)的表示方法與類(lèi)相似,但其左右外框是雙線。

UML中的主動(dòng)類(lèi)

(6)構(gòu)件(component)

構(gòu)件是定義了良好接口的物理實(shí)現(xiàn)單元,是系統(tǒng)中物理的、可替代的部件。它提供一組接口的實(shí)現(xiàn),每個(gè)構(gòu)件體現(xiàn)了系統(tǒng)設(shè)計(jì)中某個(gè)特定的類(lèi)。

UML中的構(gòu)件表示法

(7)節(jié)點(diǎn)(Node)

節(jié)點(diǎn)是系統(tǒng)在運(yùn)行時(shí)切實(shí)存在的物理對(duì)象,它表示一個(gè)計(jì)算資源,這些資源往往具有記憶能力和處理能力。一組構(gòu)件可以駐留在一個(gè)節(jié)點(diǎn)內(nèi),也可以從一個(gè)節(jié)點(diǎn)遷移到另外一個(gè)節(jié)點(diǎn)。在圖形上,把節(jié)點(diǎn)畫(huà)成一個(gè)立方體或長(zhǎng)方體。

UML中的節(jié)點(diǎn)表示法

以上是關(guān)于UML中結(jié)構(gòu)事物的介紹,下面我們?cè)倏纯碪ML中的行為事物。

行 為 事 物

行為事物(behavioral thing)是UML模型的動(dòng)態(tài)部分,可以用于描述跨越時(shí)間和空間的行為。共有三種行為事物。

(1)交互(interaction)

交互是指在特定的語(yǔ)境(Context)中,一組對(duì)象為共同完成一定任務(wù),為進(jìn)行一系列消息交換而組成的動(dòng)作以及消息交換的過(guò)程中形成的消息機(jī)制。交互的可視化主要通過(guò)消息來(lái)表示。消息由帶有名字或內(nèi)容的有向箭頭來(lái)表示。

UML中的消息

(2)狀態(tài)機(jī)(state machine)

狀態(tài)機(jī)是一個(gè)類(lèi)的對(duì)象所有可能的生命歷程的模型,因此狀態(tài)機(jī)可用于描述一個(gè)對(duì)象或一個(gè)交互在其生命周期內(nèi)響應(yīng)時(shí)間所經(jīng)歷的狀態(tài)序列。狀態(tài)機(jī)涉及到其它一些元素,如狀態(tài)、轉(zhuǎn)移、事件和活動(dòng)等。在圖形上,把狀態(tài)畫(huà)成一個(gè)圓角矩形。

下圖是圖書(shū)的一個(gè)狀態(tài)。

UML中的狀態(tài)表示方法

(3)活動(dòng)(activity)

活動(dòng)描述了計(jì)算過(guò)程執(zhí)行的步驟序列。活動(dòng)的一個(gè)步驟稱(chēng)為一個(gè)動(dòng)作,在圖形上使用下圖所示的圖形來(lái)表示。

UML中的活動(dòng)表示法

下面來(lái)到UML中事物的第三站,讓我們?cè)倏纯捶纸M事物。

分 組 事 物

分組事物(grouping thing)是UML模型的組織部分。主要的分組事物是包(package)。包是用于對(duì)設(shè)計(jì)本身進(jìn)行組織的通用機(jī)制。包內(nèi)可以放入結(jié)構(gòu)事物、行為事物或其它分組事物。包的圖形如下:

UML中的包表示法

關(guān)于UML事物的最后一站是注釋事物。

注 釋 事 物

注釋事物(annotational thing)是UML模型的解釋部分。這些注釋事物可以用來(lái)描述、說(shuō)明和標(biāo)注模型中的任何元素。主要的注釋事物是注解(note)。注解是依附于一個(gè)模型元素或一組元素之上對(duì)其進(jìn)行解釋或約束的符號(hào)。其圖形如下所示:

UML中的注釋表示法

以上我們?cè)敿?xì)參觀了UML中的事物,下面我們?cè)俎D(zhuǎn)戰(zhàn)UML中的關(guān)系。

UML中的關(guān)系

在UML中定義了四種關(guān)系。

UML中的各種關(guān)系分類(lèi)

依 賴(lài) 關(guān) 系

依賴(lài)(dependency)是兩個(gè)模型元素間的語(yǔ)義關(guān)系,其中一個(gè)元素(獨(dú)立元素)發(fā)生變化會(huì)影響另一個(gè)元素(依賴(lài)元素)的語(yǔ)義。在圖形上,把依賴(lài)畫(huà)成一條可能有方向的虛線,也可能在其上還帶一定的標(biāo)志。

下圖給出了兩個(gè)類(lèi)之間的依賴(lài)關(guān)系。

UML中的依賴(lài)關(guān)系

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

關(guān)聯(lián)(Association)是類(lèi)之間的結(jié)構(gòu)關(guān)系,用它來(lái)描述一組鏈,鏈?zhǔn)穷?lèi)對(duì)象之間的鏈接。

下圖給出了Department類(lèi)和Teacher類(lèi)之間的關(guān)聯(lián)關(guān)系。

UML中的關(guān)聯(lián)表示法

這種關(guān)聯(lián)是一種單向關(guān)聯(lián),它表征在Teacher類(lèi)中要使用Department類(lèi)的對(duì)象作為其成員。

關(guān)于關(guān)聯(lián)更多的內(nèi)容將在類(lèi)圖中作進(jìn)一步的介紹。

泛 化 關(guān) 系

泛化(generalization)是一種特殊/一般關(guān)系。特殊元素(子元素)基于一般元素(父元素)而建立。用這種方法,子元素共享父元素的屬性和行為。

下圖給出了一般類(lèi)(父類(lèi))Vehicle(車(chē)輛)和特殊類(lèi)(子類(lèi))Truck(卡車(chē))之間的泛化關(guān)系。

UML中的泛化表示法

在Vechicle類(lèi)中可以定義車(chē)輛共有的屬性和行為,而在Truck類(lèi)中定義卡車(chē)特有的屬性和行為。

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

實(shí)現(xiàn)(realization)是類(lèi)目之間的語(yǔ)義關(guān)系,其中一個(gè)類(lèi)目規(guī)定了另外一個(gè)類(lèi)目執(zhí)行的規(guī)約。實(shí)現(xiàn)可以用于接口及實(shí)現(xiàn)其的類(lèi)之間,也可以用于用例和實(shí)現(xiàn)其的協(xié)作之間。

在圖形上,實(shí)現(xiàn)關(guān)系使用帶有空心三角形的虛線來(lái)表示,下面是接口與實(shí)現(xiàn)其的類(lèi)之間的實(shí)現(xiàn)關(guān)系表示方法。

UML中的實(shí)現(xiàn)關(guān)系

以上參觀了解了UML中的關(guān)系,下面再參觀了解一下UML中的公共機(jī)制。

UML中的公共機(jī)制

在UML中,有四種貫穿整個(gè)語(yǔ)言且通用一致的公共機(jī)制。

UML中的公共機(jī)制分類(lèi)

規(guī) 格 說(shuō) 明

UML中的每個(gè)模型元素都可以添加規(guī)格說(shuō)明(specification),以提供對(duì)構(gòu)造塊的語(yǔ)法和語(yǔ)義的文字說(shuō)明。

UML中的圖形化表示用來(lái)可視化建模,而UML的規(guī)格說(shuō)明用來(lái)說(shuō)明構(gòu)造塊的細(xì)節(jié)。

修 飾

UML中的大多數(shù)元素都有唯一的圖形表示符號(hào),以展示其最重要的方面。但對(duì)于一些其它細(xì)節(jié)可以表示為圖形或文字修飾,放到基本圖形中。如,抽象類(lèi)的名稱(chēng)使用斜體來(lái)表示,類(lèi)屬性或方法的可見(jiàn)性可以在其前面使用+(公有)、-(私有)和#(保護(hù)的)來(lái)表示。

通 用 劃 分

在面向?qū)ο蠼V校?種通用劃分。

第一種是類(lèi)和對(duì)象的劃分。類(lèi)是一種抽象,對(duì)象是類(lèi)的實(shí)例。在UML中,在對(duì)類(lèi)和對(duì)象進(jìn)行建模時(shí),在圖形上可以區(qū)分開(kāi)類(lèi)及其對(duì)象。

UML中的類(lèi)2 UML中的對(duì)象表示方法

在上面這個(gè)圖中,Person是一個(gè)類(lèi),而右面三個(gè)是它的對(duì)象,其中第一個(gè)顯式的指出Jack是類(lèi)Person的一個(gè)對(duì)象;而第二個(gè)是Person的一個(gè)匿名對(duì)象;第三個(gè)未給出其所屬的對(duì)象,但可以在其規(guī)格說(shuō)明中指出其所屬的類(lèi)。

第二種是接口和實(shí)現(xiàn)的分離。接口聲明了一個(gè)規(guī)約,而實(shí)現(xiàn)則表示了對(duì)該接口中規(guī)約的具體實(shí)施。在UML中,可以對(duì)接口建模,也可以對(duì)實(shí)現(xiàn)進(jìn)行建模。

UML中的接口及實(shí)現(xiàn)

上圖中,IUser是一個(gè)接口,VipUser是實(shí)現(xiàn)該接口的一個(gè)類(lèi)。

擴(kuò)展機(jī)制

UML再豐富也無(wú)法把實(shí)際細(xì)節(jié)完全表達(dá)出來(lái),因此,UML中提供了擴(kuò)展機(jī)制使人們能夠?qū)ML按照某種方式來(lái)擴(kuò)展其功能。UML主要提供了三種擴(kuò)展機(jī)制:構(gòu)造型、標(biāo)記值和約束。

(1)構(gòu)造型

構(gòu)造型擴(kuò)展機(jī)制的目的就是基于一個(gè)已存在的模型元素再重新定義一個(gè)新的模型元素,以擴(kuò)展UML的詞匯。

UML中的構(gòu)造型表示法

如上圖中,在類(lèi)的基礎(chǔ)上添加構(gòu)造型《Exception》以指示其是一個(gè)異常類(lèi)。

(2)標(biāo)記值

標(biāo)記值擴(kuò)展了UML構(gòu)造型的特性,可以用來(lái)創(chuàng)建構(gòu)造型的說(shuō)明信息。

擴(kuò)展機(jī)制-標(biāo)記值

上圖中使用注解的方式對(duì)InValidValue類(lèi)進(jìn)行版本和作者的說(shuō)明。

(3)約束

約束用來(lái)對(duì)構(gòu)造塊添加新規(guī)則或修改現(xiàn)有規(guī)則。約束一般放在一對(duì)花括號(hào)內(nèi)。

擴(kuò)展機(jī)制-約束

上圖中在類(lèi)關(guān)系時(shí)給Person添加的約束。

以上詳細(xì)介紹了UML中的事物、關(guān)系和公共機(jī)制。關(guān)于UML中的視圖和圖將在下一篇文章中進(jìn)行介紹。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜视频在线免费观看 | 亚洲免费片 | 国产一级淫片在线观看 | 国产成人网 | 久久久久久久久久综合 | 72pao成人国产永久免费视频 | 成人毛片视频在线观看 | 久久超碰99 | 中文字幕精品在线视频 | 在线观看一二区 | 国产精品免费一区二区 | free国产hd老熟bbw| 99riav国产在线观看 | 色阁五月 | 男人的天堂视频网站 | 国产小视频一区 | 欧美一区二区黄色 | 久久免费视频一区二区三区 | 久久亚洲精品国产一区 | 精品成人免费视频 | 黄色成人短视频 | 91视频站 | 久久久久一区 | 日本a v免费观看 | 一级黄色毛片免费 | 久久亚洲精品国产 | 国产精品成人一区二区三区吃奶 | www.91sese| 亚洲视屏在线观看 | 国产精品色综合 | 久久久久久久久日本理论电影 | 在线播放一区二区三区 | 毛片在线视频观看 | 欧美成人免费 | 福利在线免费视频 | 日韩视频高清 | 高清做爰免费无遮网站挡 | 91短视频网页版 | 亚洲成人在线免费 | 麻豆国产网站 | 黄色毛片视频在线观看 |