国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

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

2023-06-17 18:00:48
字體:
供稿:網(wǎng)友

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

在真正接觸UML核心之前,我們首先了解一下UML的一些通用知識。這如同在進入公園之前,先在公園周圍溜達溜達。

那么,我們今天在進入UML這個公園之前,要看看UML公園周圍的什么風景呢?下面這個圖給出這次帶領(lǐng)大家參觀的內(nèi)容。

UML通用知識

UML中的事物

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

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

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

UML中的事物

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

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

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

(1)類(class)

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

UML中的類

即一個矩形框通常被水平分為三部分,從上到下依次是類的名稱、類的屬性和類的操作。

(2)接口(interface)

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

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

UML中的接口

接口表示法1

UML中的接口2

接口表示法2

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

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

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

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

(4)用例(use case)

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

UML中的用例表示法

(5)主動類(active class)

主動類對象本身至少擁有一個進程或線程,因此,主動類的對象可以自動地啟動控制活動,控制線程與其他元素并行執(zhí)行。

主動類的表示方法與類相似,但其左右外框是雙線。

UML中的主動類

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

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

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

(7)節(jié)點(Node)

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

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

以上是關(guān)于UML中結(jié)構(gòu)事物的介紹,下面我們再看看UML中的行為事物。

行 為 事 物

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

(1)交互(interaction)

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

UML中的消息

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

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

下圖是圖書的一個狀態(tài)。

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

(3)活動(activity)

活動描述了計算過程執(zhí)行的步驟序列。活動的一個步驟稱為一個動作,在圖形上使用下圖所示的圖形來表示。

UML中的活動表示法

下面來到UML中事物的第三站,讓我們再看看分組事物。

分 組 事 物

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

UML中的包表示法

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

注 釋 事 物

注釋事物(annotational thing)是UML模型的解釋部分。這些注釋事物可以用來描述、說明和標注模型中的任何元素。主要的注釋事物是注解(note)。注解是依附于一個模型元素或一組元素之上對其進行解釋或約束的符號。其圖形如下所示:

UML中的注釋表示法

以上我們詳細參觀了UML中的事物,下面我們再轉(zhuǎn)戰(zhàn)UML中的關(guān)系。

UML中的關(guān)系

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

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

依 賴 關(guān) 系

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

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

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

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

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

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

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

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

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

泛 化 關(guān) 系

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

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

UML中的泛化表示法

在Vechicle類中可以定義車輛共有的屬性和行為,而在Truck類中定義卡車特有的屬性和行為。

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

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

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

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

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

UML中的公共機制

在UML中,有四種貫穿整個語言且通用一致的公共機制。

UML中的公共機制分類

規(guī) 格 說 明

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

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

修 飾

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

通 用 劃 分

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

第一種是類和對象的劃分。類是一種抽象,對象是類的實例。在UML中,在對類和對象進行建模時,在圖形上可以區(qū)分開類及其對象。

UML中的類2 UML中的對象表示方法

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

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

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

上圖中,IUser是一個接口,VipUser是實現(xiàn)該接口的一個類。

擴展機制

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

(1)構(gòu)造型

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

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

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

(2)標記值

標記值擴展了UML構(gòu)造型的特性,可以用來創(chuàng)建構(gòu)造型的說明信息。

擴展機制-標記值

上圖中使用注解的方式對InValidValue類進行版本和作者的說明。

(3)約束

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

擴展機制-約束

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 莫力| 景泰县| 高清| 陆川县| 蒲江县| 竹山县| 准格尔旗| 苍南县| 醴陵市| 松原市| 抚州市| 江陵县| 吉水县| 霍城县| 百色市| 阿尔山市| 岑溪市| 儋州市| 项城市| 丹棱县| 巴东县| 宁乡县| 梓潼县| 洛宁县| 济南市| 渭源县| 永安市| 樟树市| 建始县| 正阳县| 云南省| 健康| 永平县| 长葛市| 仪征市| 玛纳斯县| 原阳县| 西华县| 平乐县| 利川市| 庆云县|