自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UML元素和UML關(guān)系圖符號簡介

開發(fā) 架構(gòu)
UML包含哪些元素你是否了解,UML關(guān)系圖符號你是否熟悉,本文就向大家介紹一下,希望本文的介紹會讓你對UML關(guān)系圖符號有一定的認(rèn)識。

本文和大家重點(diǎn)討論一下UML元素和UML關(guān)系圖符號。開發(fā)Java應(yīng)用程序時(shí),開發(fā)者要想有效地利用統(tǒng)一建模語言(UML),必須全面理解UML元素以及這些元素如何映射到Java。本文重點(diǎn)討論UML類圖中的元素和UML關(guān)系圖符號。

UML元素簡介

類圖是最常用的UML圖,它用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)。其中包括類關(guān)系以及與每個(gè)類關(guān)聯(lián)的屬性及行為。類圖能出色地表示繼承與合成關(guān)系。為了將類圖作為一種高效的溝通工具使用,開發(fā)者必須理解如何將類圖上出現(xiàn)的元素轉(zhuǎn)換到Java中。下面來進(jìn)一步探索這一轉(zhuǎn)換過程。
在后面的小節(jié)中,分別講解了類圖的各個(gè)元素及其在Java中相應(yīng)的表示。我會列出元素名,后續(xù)簡短的代碼片斷和一幅圖來表示元素在類圖上的樣子。每一節(jié)的***簡要總結(jié)了該元素。

類(Class)

類(圖A)是對象的藍(lán)圖,其中包含3個(gè)組成部分。***個(gè)是Java中定義的類名。第二個(gè)是屬性(attributes)。第三個(gè)是該類提供的方法。

屬性和操作之前可附加一個(gè)可見性修飾符。加號(+)表示具有公共可見性。減號(-)表示私有可見性。#號表示受保護(hù)的可見性。省略這些修飾符表示具有package(包)級別的可見性。如果屬性或操作具有下劃線,表明它是靜態(tài)的。在操作中,可同時(shí)列出它接受的參數(shù),以及返回類型,如圖A的“Java”區(qū)域所示。
圖A

 C#:
***行:類名,如果是抽象類,則用斜體顯示.
第二行:字段或?qū)傩?
第三行:類的操作(方法或者行為).
+:表示public;-:表示:private;#:表示protected;

包(Package)

包(圖B)是一種常規(guī)用途的組合機(jī)制。UML中的一個(gè)包直接對應(yīng)于Java中的一個(gè)包。在Java中,一個(gè)包可能含有其他包、類或者同時(shí)含有這兩者。進(jìn)行建模時(shí),你通常擁有邏輯性的包,它主要用于對你的模型進(jìn)行組織。你還會擁有物理性的包,它直接轉(zhuǎn)換成系統(tǒng)中的Java包。每個(gè)包的名稱對這個(gè)包進(jìn)行了惟一性的標(biāo)識。
圖B

 接口(Interface)

接口(圖C)是一系列操作的集合,它指定了一個(gè)類所提供的服務(wù)。它直接對應(yīng)于Java中的一個(gè)接口類型。接口既可用圖C的那個(gè)圖標(biāo)來表示,也可由附加了<<interface>>的一個(gè)標(biāo)準(zhǔn)類來表示。通常,根據(jù)接口在類圖上的樣子,就能知道與其他類的關(guān)系。
圖C

C#:
它表示一個(gè)接口圖,與類圖的區(qū)別主要是頂端有<<interface>>顯示。***行是接口名稱,第二行是接口方法。接口還有另一種表示方法,俗稱棒棒糖表示法,就是唐老鴨類實(shí)現(xiàn)了‘講人話’的接口。”

UML關(guān)系圖符號

后面的例子將針對某個(gè)具體目的來獨(dú)立地展示各種關(guān)系。雖然語法無誤,但這些例子可進(jìn)一步精煉,在它們的有效范圍內(nèi)包括更多的語義。

依賴(Dependency)

實(shí)體之間一個(gè)“使用”關(guān)系暗示一個(gè)實(shí)體的規(guī)范發(fā)生變化后,可能影響依賴于它的其他實(shí)例(圖D)。更具體地說,它可轉(zhuǎn)換為對不在實(shí)例作用域內(nèi)的一個(gè)類或?qū)ο蟮娜魏晤愋偷囊谩F渲邪ㄒ粋€(gè)局部變量,對通過方法調(diào)用而獲得的一個(gè)對象的引用(如下例所示),或者對一個(gè)類的靜態(tài)方法的引用(同時(shí)不存在那個(gè)類的一個(gè)實(shí)例)。也可利用“依賴”來表示包和包之間的關(guān)系。由于包中含有類,所以你可根據(jù)那些包中的各個(gè)類之間的關(guān)系,表示出包和包的關(guān)系。
圖D

“動物幾大特征,比如有新陳代謝,能繁殖。而動物要有生命力,需要氧氣、水以及食物等。也就是說,動物依賴于氧氣和水。他們之間是依賴關(guān)系(Dependency),用虛線箭頭來表示。”

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

實(shí)體之間的一個(gè)結(jié)構(gòu)化關(guān)系表明對象是相互連接的。UML關(guān)系圖符號中關(guān)聯(lián)關(guān)系的箭頭是可選的,它用于指定導(dǎo)航能力。如果沒有箭頭,暗示是一種雙向的導(dǎo)航能力。在Java中,關(guān)聯(lián)(圖E)轉(zhuǎn)換為一個(gè)實(shí)例作用域的變量,就像圖E的“Java”區(qū)域所展示的代碼那樣??蔀橐粋€(gè)關(guān)聯(lián)附加其他修飾符。多重性(Multiplicity)修飾符暗示著實(shí)例之間的關(guān)系。在示范代碼中,Employee可以有0個(gè)或更多的TimeCard對象。但是,每個(gè)TimeCard只從屬于單獨(dú)一個(gè)Employee。
圖E

聚合(Aggregation)

UML關(guān)系圖符號中聚合(圖F)是關(guān)聯(lián)的一種形式,代表兩個(gè)類之間的整體/局部關(guān)系。聚合暗示著整體在概念上處于比局部更高的一個(gè)級別,而關(guān)聯(lián)暗示兩個(gè)類在概念上位于相同的級別。聚合也轉(zhuǎn)換成Java中的一個(gè)實(shí)例作用域變量。

關(guān)聯(lián)和聚合的區(qū)別純粹是概念上的,而且嚴(yán)格反映在語義上。聚合還暗示著實(shí)例圖中不存在回路。換言之,只能是一種單向關(guān)系。
圖F

合成(Composition)

合成(圖G)是聚合的一種特殊形式,暗示“局部”在“整體”內(nèi)部的生存期職責(zé)。合成也是非共享的。所以,雖然局部不一定要隨整體的銷毀而被銷毀,但整體要么負(fù)責(zé)保持局部的存活狀態(tài),要么負(fù)責(zé)將其銷毀。局部不可與其他整體共享。但是,整體可將所有權(quán)轉(zhuǎn)交給另一個(gè)對象,后者隨即將承擔(dān)生存期職責(zé)。
Employee和TimeCard的關(guān)系或許更適合表示成“合成”,而不是表示成“關(guān)聯(lián)”。
圖G

泛化(Generalization)

泛化(圖H)表示一個(gè)更泛化的元素和一個(gè)更具體的元素之間的關(guān)系。UML關(guān)系圖符號中泛化是用于對繼承進(jìn)行建模的UML元素。在Java中,用extends關(guān)鍵字來直接表示這種關(guān)系。
圖H

實(shí)現(xiàn)(Realization)

實(shí)例(圖I)關(guān)系指定兩個(gè)實(shí)體之間的一個(gè)合同。換言之,一個(gè)實(shí)體定義一個(gè)合同,而另一個(gè)實(shí)體保證履行該合同。對Java應(yīng)用程序進(jìn)行建模時(shí),實(shí)現(xiàn)關(guān)系可直接用implements關(guān)鍵字來表示。
圖I

【編輯推薦】

  1. 術(shù)語匯編 解析UML類圖建模
  2. 六大UML類圖關(guān)系連連看
  3. 繪制UML圖時(shí)應(yīng)避免的六大問題
  4. UML部署圖繪制及應(yīng)用說明
  5. 揭秘五種UML類圖關(guān)系

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-28 17:14:20

UML類圖符號

2010-06-12 12:40:59

UML類圖符號

2010-06-12 12:48:36

UML類圖符號

2010-07-05 17:07:44

UML類圖符號

2010-06-28 18:52:49

UML關(guān)系符號

2010-06-13 10:56:13

UML文獻(xiàn)

2010-07-12 11:23:09

UML類圖

2010-07-08 15:18:13

UML類圖符號

2010-06-17 14:52:42

UML構(gòu)件圖

2010-06-10 16:09:45

UML協(xié)作圖

2010-06-17 15:29:52

UML活動圖

2010-06-13 16:26:10

UML圖

2010-06-28 18:29:09

UML類圖元素

2010-06-10 09:17:40

UML用例圖

2010-06-13 16:43:37

UML公共機(jī)制

2010-06-10 09:41:11

UML時(shí)序圖

2010-06-10 13:14:48

UML狀態(tài)圖

2010-06-07 18:17:54

UML建模

2010-06-09 18:17:18

UML

2010-06-18 10:58:28

UML模型元素
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號