偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

學(xué)習(xí)筆記 UML類(lèi)圖詳解

開(kāi)發(fā) 架構(gòu)
UML建模語(yǔ)言中有五類(lèi)圖,共有九種圖形,你對(duì)每種圖形是否都比較熟悉,這里向大家介紹一下UML類(lèi)圖,希望本文的介紹有所幫助。

本節(jié)和大家一起學(xué)習(xí)一下UML類(lèi)圖,主要包括UML2中的類(lèi)圖,大體上的結(jié)構(gòu)圖,類(lèi)的屬性列表等內(nèi)容。相信通過(guò)本文的你對(duì)UML類(lèi)圖一定會(huì)有深刻的認(rèn)識(shí)。

UML類(lèi)圖詳解

這是關(guān)于統(tǒng)一建模語(yǔ)言、即UML里采用的基本圖的文章。在這篇文章中,我將會(huì)討論結(jié)構(gòu)圖,這是已經(jīng)在UML2中提出的一種新圖種類(lèi)。由于本系列文章的目的是使人們了解記號(hào)元素及它們的含意,該文主要關(guān)注類(lèi)圖。你很快就會(huì)知道這樣做的理由。隨后的文章將會(huì)覆蓋結(jié)構(gòu)范疇中包含的其它圖。

我也想提醒讀者,這一系列文章是關(guān)于UML記號(hào)元素的,所以這些文章并不意味著為建模的最好方式提供指導(dǎo)方針,或是該如何決定哪些內(nèi)容應(yīng)該首先被建模。相反的,該文及本系列文章的目的主要是幫助大家對(duì)于記號(hào)元素--語(yǔ)法和含義有一個(gè)基本的理解。借由這些知識(shí),你應(yīng)該可以閱讀圖,并使用正確的記號(hào)元素創(chuàng)建你自己的圖。

這篇文章假定你對(duì)面向?qū)ο蟮脑O(shè)計(jì)已經(jīng)有了基本的理解。你們當(dāng)中如果有人需要一些面向?qū)ο蟾拍畹膸椭?,那么可以訪(fǎng)問(wèn)http://java.sun.com/docs/books/tutorial/java/concepts/,來(lái)獲得Sun公司關(guān)于面向?qū)ο缶幊痰暮?jiǎn)短指導(dǎo)。閱讀“什么是類(lèi)?”和什么是繼承?”章節(jié),將提供給你足夠的理解,并對(duì)該文的閱讀會(huì)有所幫助。另外,DavidTaylor的書(shū)《Object-OrientedTechnologies:AManager'sGuide》提供了面向?qū)ο笤O(shè)計(jì)的優(yōu)秀,高水平的說(shuō)明,而無(wú)需對(duì)計(jì)算機(jī)編程有高深的理解。

UML2中的陰和陽(yáng)

在UML2中有二種基本的圖范疇:結(jié)構(gòu)圖和行為圖。每個(gè)UML圖都屬于這二個(gè)圖范疇。結(jié)構(gòu)圖的目的是顯示建模系統(tǒng)的靜態(tài)結(jié)構(gòu)。它們包括UML類(lèi)圖,組件和(或)對(duì)象圖。另一方面,行為圖顯示系統(tǒng)中的對(duì)象的動(dòng)態(tài)行為,包括如對(duì)象的方法,協(xié)作和活動(dòng)之類(lèi)的內(nèi)容。行為圖的實(shí)例是活動(dòng)圖,用例圖和序列圖。

大體上的結(jié)構(gòu)圖

如同我所說(shuō)的,結(jié)構(gòu)圖顯示建模系統(tǒng)的靜態(tài)結(jié)構(gòu)。關(guān)注系統(tǒng)的元件,無(wú)需考慮時(shí)間。在系統(tǒng)內(nèi),靜態(tài)結(jié)構(gòu)通過(guò)顯示類(lèi)型和它們的實(shí)例進(jìn)行傳播。除了顯示系統(tǒng)類(lèi)型和它們的實(shí)例,結(jié)構(gòu)圖至少也顯示了這些元素間的一些關(guān)系,可能的話(huà),甚至也顯示它們的內(nèi)部結(jié)構(gòu)。

貫穿整個(gè)軟件生命周期,結(jié)構(gòu)圖對(duì)于各種團(tuán)隊(duì)成員都是有用的。一般而言,這些圖支持設(shè)計(jì)驗(yàn)證,和個(gè)體與團(tuán)隊(duì)間的設(shè)計(jì)交流。舉例來(lái)說(shuō),業(yè)務(wù)分析師可以使用類(lèi)或?qū)ο髨D,來(lái)為當(dāng)前的資產(chǎn)和資源建模,例如分類(lèi)賬,產(chǎn)品或地理層次。架構(gòu)師可以使用組件和部署圖,來(lái)測(cè)試/確認(rèn)他們的設(shè)計(jì)是否充分。開(kāi)發(fā)者可以使用類(lèi)圖,來(lái)設(shè)計(jì)并為系統(tǒng)的代碼(或即將成為代碼的)類(lèi)寫(xiě)文檔。

特殊的類(lèi)圖

UML2把結(jié)構(gòu)圖看成一個(gè)分類(lèi);這里并不存在稱(chēng)為“結(jié)構(gòu)圖”的圖。然而,類(lèi)圖提供結(jié)構(gòu)圖類(lèi)型的一個(gè)主要實(shí)例,并為我們提供一組記號(hào)元素的初始集,供所有其它結(jié)構(gòu)圖使用。由于類(lèi)圖是如此基本,本文的剩余部分將會(huì)把重點(diǎn)集中在類(lèi)圖記號(hào)集。在本文的結(jié)尾,你將對(duì)于如何畫(huà)UML2類(lèi)圖有所了解,而且對(duì)于理解在后面文章中將涉及的其他結(jié)構(gòu)圖有一個(gè)穩(wěn)固的基礎(chǔ)。

基礎(chǔ)

如先前所提到的,類(lèi)圖的目的是顯示建模系統(tǒng)的類(lèi)型。在大多數(shù)的UML模型中這些類(lèi)型包括:

類(lèi)
接口
數(shù)據(jù)類(lèi)型
組件
UML為這些類(lèi)型起了一個(gè)特別的名字:“分類(lèi)器”。通常地,你可以把分類(lèi)器當(dāng)做類(lèi),但在技術(shù)上,分類(lèi)器是更為普遍的術(shù)語(yǔ),它還是引用上面的其它三種類(lèi)型為好。

類(lèi)名

UML類(lèi)圖的UML表示是一個(gè)長(zhǎng)方形,垂直地分為三個(gè)區(qū),如圖1所示。頂部區(qū)域顯示類(lèi)的名字。中間的區(qū)域列出類(lèi)的屬性。底部的區(qū)域列出類(lèi)的操作。當(dāng)在一個(gè)類(lèi)圖上畫(huà)一個(gè)類(lèi)元素時(shí),你必須要有頂端的區(qū)域,下面的二個(gè)區(qū)域是可選擇的(當(dāng)圖描述僅僅用于顯示分類(lèi)器間關(guān)系的高層細(xì)節(jié)時(shí),下面的兩個(gè)區(qū)域是不必要的)。圖1顯示一個(gè)航線(xiàn)班機(jī)如何作為UML類(lèi)建模。正如我們所能見(jiàn)到的,名字是Flight,我們可以在中間區(qū)域看到Flight類(lèi)的3個(gè)屬性:flightNumber,departureTime和flightDuration。在底部區(qū)域中我們可以看到Flight類(lèi)有兩個(gè)操作:delayFlight和getArrivalTime。

圖1:Flight類(lèi)的類(lèi)圖

類(lèi)屬性列表

UML類(lèi)圖的屬性節(jié)(中部區(qū)域)在分隔線(xiàn)上列出每一個(gè)類(lèi)的屬性。屬性節(jié)是可選擇的,要是一用它,就包含類(lèi)的列表顯示的每個(gè)屬性。該線(xiàn)用如下格式:

name:attributetype

flightNumber:Integer

繼續(xù)我們的Flight類(lèi)的例子,我們可以使用屬性類(lèi)型信息來(lái)描述類(lèi)的屬性,如表1所示。

表1:具有關(guān)聯(lián)類(lèi)型的Flight類(lèi)的屬性名字

 #p#
在業(yè)務(wù)類(lèi)圖中,屬性類(lèi)型通常與單位相符,這對(duì)于圖的可能讀者是有意義的(例如,分鐘,美元,等等)。然而,用于生成代碼的類(lèi)圖,要求類(lèi)的屬性類(lèi)型必須限制在由程序語(yǔ)言提供的類(lèi)型之中,或包含于在系統(tǒng)中實(shí)現(xiàn)的、模型的類(lèi)型之中。

在UML類(lèi)圖上顯示具有默認(rèn)值的特定屬性,有時(shí)是有用的(例如,在銀行賬戶(hù)應(yīng)用程序中,一個(gè)新的銀行賬戶(hù)會(huì)以零為初始值)。UML規(guī)范允許在屬性列表節(jié)中,通過(guò)使用如下的記號(hào)作為默認(rèn)值的標(biāo)識(shí):

name:attributetype=defaultvalue

舉例來(lái)說(shuō):balance:Dollars=0

顯示屬性默認(rèn)值是可選擇的;圖2顯示一個(gè)銀行賬戶(hù)類(lèi)具有一個(gè)名為balance的類(lèi)型,它的默認(rèn)值為0。

圖2:顯示默認(rèn)為0美元的balance屬性值的銀行賬戶(hù)UML類(lèi)圖。

類(lèi)操作記錄在類(lèi)圖長(zhǎng)方形的第三個(gè)(最低的)區(qū)域中,它也是可選擇的。和屬性一樣,類(lèi)的操作以列表格式顯示,每個(gè)操作在它自己線(xiàn)上。操作使用下列記號(hào)表現(xiàn):

name(parameterlist):typeofvaluereturned


下面的表2中Flight類(lèi)操作的映射。

表2:從圖2映射的Flight類(lèi)的操作


圖3顯示,delayFlight操作有一個(gè)Minutes類(lèi)型的輸入?yún)?shù)--numberOfMinutes。然而,delayFlight操作沒(méi)有返回值。1當(dāng)一個(gè)操作有參數(shù)時(shí),參數(shù)被放在操作的括號(hào)內(nèi);每個(gè)參數(shù)都使用這樣的格式:“參數(shù)名:參數(shù)類(lèi)型”。

圖3:Flight類(lèi)操作參數(shù),包括可選擇的“in”標(biāo)識(shí)。

當(dāng)文檔化操作參數(shù)時(shí),你可能使用一個(gè)可選擇的指示器,以顯示參數(shù)到操作的輸入?yún)?shù)、或輸出參數(shù)。這個(gè)可選擇的指示器以“in”或“out”出現(xiàn),如圖3中的操作區(qū)域所示。一般來(lái)說(shuō),除非將使用一種早期的程序編程語(yǔ)言,如Fortran,這些指示器可能會(huì)有所幫助,否則它們是不必要的。然而,在C++和Java中,所有的參數(shù)是“in”參數(shù),而且按照UML規(guī)范,既然“in”是參數(shù)的默認(rèn)類(lèi)型,大多數(shù)人將會(huì)遺漏輸入/輸出指示器。

  【編輯推薦】

  1. 六大UML類(lèi)圖關(guān)系連連看
  2. 專(zhuān)家指導(dǎo) UML類(lèi)圖關(guān)系表示方法
  3. 深入剖析UML類(lèi)圖依賴(lài)關(guān)系
  4. UML類(lèi)圖關(guān)系大全
  5. UML基礎(chǔ)與應(yīng)用--UML類(lèi)圖解析
責(zé)任編輯:佚名 來(lái)源: csdn.net
相關(guān)推薦

2010-07-06 11:07:11

UML組件圖

2010-07-06 10:56:32

UML圖詳解

2010-06-28 16:37:05

UML類(lèi)圖

2010-07-01 11:52:59

UML類(lèi)圖

2010-07-07 17:51:06

UML類(lèi)圖

2010-06-28 15:41:17

UML圖類(lèi)型

2010-07-09 14:39:42

UML類(lèi)圖

2010-07-12 09:30:34

UML模型圖

2010-07-05 17:58:41

UML活動(dòng)圖

2010-06-28 17:14:20

UML類(lèi)圖符號(hào)

2010-07-05 09:01:29

UML靜態(tài)模型圖

2010-06-30 14:37:20

UML類(lèi)圖

2010-07-05 15:15:25

UML9種圖

2010-07-12 10:25:44

UML類(lèi)圖

2010-07-06 12:00:23

UML活動(dòng)圖

2010-06-11 17:18:26

UML精粹

2010-07-12 09:37:26

UML建模

2010-06-29 11:00:25

UML類(lèi)圖實(shí)例

2010-07-05 13:08:42

用Visio畫(huà)UML圖

2010-06-28 16:13:18

UML類(lèi)圖設(shè)計(jì)
點(diǎn)贊
收藏

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