第2章UML語言體系_第1頁
第2章UML語言體系_第2頁
第2章UML語言體系_第3頁
第2章UML語言體系_第4頁
第2章UML語言體系_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

UML語言體系目錄2.1UML語言組成2.2基本元素2.3關(guān)系元素2.4規(guī)則2.5公共機(jī)制目錄2.6公共機(jī)制2.7用視圖表示系統(tǒng)體系結(jié)構(gòu)小結(jié)2.1UML語言組成我們知道,UML語言是一門設(shè)計(jì)語言,這種語言由一些構(gòu)造元素、規(guī)則和公共機(jī)制構(gòu)成。構(gòu)造元素描述事物的基本成分,這些基本成分按某種規(guī)則關(guān)聯(lián)在一起,組成圖;同時(shí),這些基本元素都遵循通用規(guī)則,即公共機(jī)制。下面是UML語言的組成結(jié)構(gòu),如圖2-1所示。UML構(gòu)造元素規(guī)則公共機(jī)制基本元素關(guān)系圖詳述修飾通用劃分?jǐn)U展機(jī)制命名范圍可見性完整性執(zhí)行圖2-1UML語言體系2.1UML語言組成1.構(gòu)造元素構(gòu)造元素包括基本元素、關(guān)系和圖。這3種元素代表了軟件系統(tǒng)或業(yè)務(wù)系統(tǒng)中的某個(gè)事物或事物間的關(guān)系。2.規(guī)則構(gòu)造元素應(yīng)該具有命名、范圍、可見性、完整性和執(zhí)行等屬性。規(guī)則是對(duì)軟件系統(tǒng)或業(yè)務(wù)系統(tǒng)中的某些事物的約束或規(guī)定。3.公共機(jī)制公共機(jī)制包括詳述、修飾、通用劃分、擴(kuò)展機(jī)制。公共機(jī)制指適用于軟件系統(tǒng)或業(yè)務(wù)系統(tǒng)中每個(gè)事物的方法或規(guī)則。2.2基本元素我們把基本元素分為4類:結(jié)構(gòu)元素、行為元素、分組元素、注釋元素。2.2.1結(jié)構(gòu)元素結(jié)構(gòu)元素定義了業(yè)務(wù)或軟件系統(tǒng)中的某個(gè)物理元素,描述了事物的靜態(tài)特征。結(jié)構(gòu)元素常用名詞表示。結(jié)構(gòu)元素有7種,它們是:類、對(duì)象、接口、主動(dòng)類、用例、協(xié)作、構(gòu)件、節(jié)點(diǎn)。2.2.1結(jié)構(gòu)元素1.類和對(duì)象類是對(duì)具有相同屬性、相同操作、相同關(guān)系的一組對(duì)象的共同特征的抽象,類是對(duì)象的模板,對(duì)象是類的一個(gè)實(shí)例。(1).類的表示在UML中,類是用一個(gè)矩形表示的,它包含三個(gè)區(qū)域,最上面是類名、中間是類的屬性、最下面是類的方法。例如,描述People(類)用圖形表示,如圖2.2所示。假設(shè),People類包含的屬性和行為如下:類名:People,在第一欄。字段名:name、age,字段名(也稱屬性)放在第二欄。方法名:speak()、breathe()、fly(),方法在第三欄。圖2.2People類表示Peopleagespeak()breathe()fly()2.2.1結(jié)構(gòu)元素注意:行為、服務(wù)、方法可以等價(jià)理解;屬性、域、字段可以等價(jià)理解。(2).對(duì)象的表示對(duì)象是用一個(gè)矩形表示,在矩形框中,不再寫出屬性名和方法名,只是在矩形框中用“對(duì)象名:類名”的格式表示一個(gè)對(duì)象。例如,屬于類People中的對(duì)象李自成的圖形表示如圖2.3所示。圖2.3對(duì)象”李自成”的表示方法李自成:People圖2.3對(duì)象”李自成”的表示方法2.2.1結(jié)構(gòu)元素2.接口因?yàn)?,外界?duì)類(或構(gòu)件)的使用,是通過類(或構(gòu)件)的方法來實(shí)現(xiàn)的,因此,我們把類或構(gòu)件的方法集合稱為接口。接口向外界聲明了它能提供的服務(wù)。接口分為供給接口和需求接口兩種,供給接口只能向其它類(或構(gòu)件)提供服務(wù),需求接口表示類(或構(gòu)件)使用其它類(或構(gòu)件)提供的服務(wù)。兩種接口的表示方法如圖2.4所示供給接口需求接口圖2-4接口的表示2.2.1結(jié)構(gòu)元素3.主動(dòng)類主動(dòng)類是指該類創(chuàng)建的對(duì)象至少擁有一個(gè)進(jìn)程或線程,通過進(jìn)程或線程控制任務(wù)的執(zhí)行。主動(dòng)類的表示與一般類相似,只是最外框是粗線描述而已。如主動(dòng)類”Radio”的表示如圖2-5所示。4.用例圖2-5主動(dòng)類的表示2.2.1結(jié)構(gòu)元素在系統(tǒng)中,為完成某個(gè)任務(wù)而執(zhí)行的一序列動(dòng)作,以實(shí)現(xiàn)某種功能,我們把這些動(dòng)作的集合稱為用例實(shí)例。用例是對(duì)一組用例實(shí)例共同特征的描述,用例與用例實(shí)例的關(guān)系,正如類與對(duì)象的關(guān)系。用例是著名的大師IvarJacobson首先提出的,現(xiàn)已經(jīng)成為了面向?qū)ο筌浖_發(fā)中一個(gè)需求分析的最常用工具。用例是用一個(gè)實(shí)線橢圓來表示的,在橢圓中寫入用例名稱。如,用例”用戶登錄”表示如圖2-65.協(xié)作協(xié)作是指有意義的交互,即,一組對(duì)象為了完成某個(gè)任務(wù),相互間進(jìn)行的交互。用例的實(shí)現(xiàn):實(shí)現(xiàn)某個(gè)用例的一組對(duì)象之間的交互,即,把一個(gè)用例表示為多個(gè)對(duì)象間的交互(協(xié)作)。從本質(zhì)上說,協(xié)作就是用例的實(shí)現(xiàn)。2.2.1結(jié)構(gòu)元素

用一個(gè)帶2個(gè)分欄的虛線橢圓表示協(xié)作。如,用例”銷售房產(chǎn)”,用協(xié)作”銷售房產(chǎn)”表示時(shí),其對(duì)應(yīng)的表示法如圖2-76構(gòu)件構(gòu)件也稱組件:系統(tǒng)設(shè)計(jì)中,一個(gè)相對(duì)獨(dú)立的軟件部件,它把功能實(shí)現(xiàn)部分隱藏在內(nèi)部,對(duì)外聲明了一組接口(包括供給接口和需求接口)。因此,兩個(gè)具有相同接口的構(gòu)件可以相互替換。構(gòu)件是比“類”更大的軟件部件,例如一個(gè)COM組件、一個(gè)DLL文件、一個(gè)JavaBeans、一個(gè)執(zhí)行文件等等。為了更好地對(duì)在UML模型中對(duì)它們進(jìn)行表示,就引入了構(gòu)件(也譯為組件)用戶登錄圖2-6用戶登錄圖2-7協(xié)作”銷售房產(chǎn)”2.2.1結(jié)構(gòu)元素構(gòu)件通常采用帶有2個(gè)小方框的矩型表示。如圖2-87.節(jié)點(diǎn)節(jié)點(diǎn)是指硬件系統(tǒng)中的物理部件,它通常具有存儲(chǔ)空間或處理能力。如,PC機(jī)、打印機(jī)、服務(wù)器等都是節(jié)點(diǎn)。在UML中,用一個(gè)立方體表示一個(gè)節(jié)點(diǎn)。如,節(jié)點(diǎn)”server”的表示方法如圖2-9所示。圖2-8構(gòu)件的表示圖2-9節(jié)點(diǎn)server的表示Server2.2.2行為元素行為元素是用來描述業(yè)務(wù)系統(tǒng)或軟件系統(tǒng)中,事物之間的交互或事物的狀態(tài)變化。行為元素描述了事物的動(dòng)態(tài)特征。行為元素用動(dòng)詞表示。行為元素有2種:交互和狀態(tài)機(jī)。1.交互交互(interaction)是為了完成某個(gè)任務(wù)的對(duì)象之間相互作用,這種作用是通過信息的發(fā)送和接受來完成的。交互的表示法很簡單,用一條有向直線來表示對(duì)象間的交互,并在有向直線上面標(biāo)有消息名稱。如圖2-10所示。消息名稱圖2-10交互2.2.2行為元素2.狀態(tài)機(jī)狀態(tài)機(jī)(statemachine)在對(duì)象生命周期內(nèi),在事件驅(qū)動(dòng)下,對(duì)象從一種狀態(tài)遷移到另一狀態(tài)的狀態(tài)序列,這些狀態(tài)序列構(gòu)成了狀態(tài)機(jī),即,一個(gè)狀態(tài)機(jī)由多個(gè)狀態(tài)組成。在UML模型中,將狀態(tài)表示為一個(gè)圓角矩形,并在矩形內(nèi)標(biāo)識(shí)狀態(tài)名稱。如,”等待”表示如圖2-11圖2-11等待狀態(tài)2.2.3分組元素對(duì)于一個(gè)中大型的軟件系統(tǒng)而言,通常會(huì)包含大量的類、接口、交互,因此也就會(huì)存在大量的結(jié)構(gòu)元素、行為元素,為了能有效地對(duì)這些元素進(jìn)行分類和管理,就需要對(duì)其進(jìn)行分組。在UML中,提供了“包(Package)”來實(shí)現(xiàn)這一目標(biāo)。表示“包(Package)”的圖形符號(hào),與windows中表示文件夾的圖符很相似。包的作用與文件夾的作用也相似?!睌?shù)據(jù)訪問”包的表示法如圖2-12所示。圖2-12“數(shù)據(jù)訪問”包數(shù)據(jù)訪問2.2.4注釋元素在模型中,用來對(duì)其它元素的解釋部分(文本解釋)稱為注釋。注釋元素是用一個(gè)右上角折起來的矩形,解釋的文字就寫在矩形中。注釋符號(hào)如圖2-13圖2-13注釋符號(hào)2.3關(guān)系元素前面介紹了表示事物的基本元素,本節(jié)介紹反映事物之間關(guān)系的元素。在UML中,共定義了24種關(guān)系,如表2-1所示。表2-1UML元素關(guān)系種類2.3關(guān)系元素這24種關(guān)系在建模表示時(shí)可以歸為關(guān)聯(lián)關(guān)系、實(shí)現(xiàn)關(guān)系、泛化關(guān)系、擴(kuò)展關(guān)系和依賴關(guān)系五種,下面介紹這些關(guān)系的表示法。1.關(guān)聯(lián)關(guān)系關(guān)聯(lián)(Association)表示兩個(gè)類之間存在某種語義上的聯(lián)系,這種語義是人們賦予事物的聯(lián)系。關(guān)聯(lián)關(guān)系提供了通信的路徑,它是所有關(guān)系中最通用、語義最弱的關(guān)系。2.3關(guān)系元素在關(guān)聯(lián)關(guān)系中,有兩種比較特殊的關(guān)系,它們是聚合關(guān)系和組合關(guān)系。(1).關(guān)聯(lián)關(guān)系的表示關(guān)聯(lián)關(guān)系是聚合關(guān)系和組合關(guān)系的統(tǒng)稱,是比較抽象的關(guān)系;聚合關(guān)系和組合關(guān)系是更具體的關(guān)系。在UML中,使用一條實(shí)線來表示關(guān)聯(lián)關(guān)系。如圖2-14所示。(2).聚合關(guān)系圖2-14關(guān)聯(lián)關(guān)系聚合組合圖2-152.3關(guān)系元素聚合(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚合表示類之間的關(guān)系是整體與部分的關(guān)系。聚合關(guān)系是一種松散的對(duì)象間關(guān)系——計(jì)算機(jī)和它的外圍設(shè)備就是一例。一臺(tái)計(jì)算機(jī)和它的外設(shè)之間只是很松散地結(jié)合在一起。這些外設(shè)可有可無,可以與其他計(jì)算機(jī)共享,而且沒有任何意義表明它由一臺(tái)特定的計(jì)算機(jī)所“擁有”——這就是聚合。聚合的表示如圖2-15所示。圖案2-15中,棱形端表示事物的整體部分,另一端表示事物的部分。如計(jì)算機(jī)就是整體部分,外設(shè)就是部分。2.3關(guān)系元素(3).組合關(guān)系如果發(fā)現(xiàn)“部分”類的存在,是完全依賴于“整體”類的,那么就應(yīng)該使用“組合”關(guān)系來描述。組合關(guān)系是一種非常強(qiáng)的對(duì)象間關(guān)系,例如,樹和它的樹葉之間的關(guān)系。樹是和它的葉子緊密聯(lián)系在一起,葉子完全屬于這樹,它們不能被其它的樹所分享,并且當(dāng)樹死掉,葉子也會(huì)隨之死去——這就是組合,組合是一種強(qiáng)的聚合關(guān)系。組合的表示如圖2-15所示。2.泛化關(guān)系泛化關(guān)系描述了從特殊事物到一般事物之間的關(guān)系,也就是子類到父類之間的關(guān)系。從父類到子類的關(guān)系,則是特化關(guān)系。圖2-16泛化關(guān)系2.3關(guān)系元素3.實(shí)現(xiàn)關(guān)系實(shí)現(xiàn)關(guān)系是用來規(guī)定接口和實(shí)現(xiàn)接口的類或組件之間的關(guān)系。接口是操作的集合,這些操作用于規(guī)定類或組件提供的服務(wù)。實(shí)現(xiàn)關(guān)系是從類指向接口的帶空心箭頭的虛線表示。如圖2-17所示。4.依賴關(guān)系有兩個(gè)元素X、Y,如果修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。圖2-18依賴關(guān)系圖2-17實(shí)現(xiàn)關(guān)系2.3關(guān)系元素如果兩個(gè)元素是類,則類間的依賴現(xiàn)象有多種,如:一個(gè)類向另一個(gè)類發(fā)消息:一個(gè)類是另一個(gè)類的數(shù)據(jù)成員:一個(gè)類是另一個(gè)類的某個(gè)方法的參數(shù)。本質(zhì)上說,關(guān)聯(lián)和泛化以及實(shí)現(xiàn)關(guān)系都屬于依賴關(guān)系的一種,但是它們有更特別的語義,因此定義了其自己的名字和詳細(xì)的語義。1.擴(kuò)展關(guān)系擴(kuò)展表示把一個(gè)構(gòu)造型附加到一個(gè)元類上,使得元類的定義中包括這個(gè)構(gòu)造型。它是一種UML提供的底層的擴(kuò)展機(jī)制,與用例之間的擴(kuò)展(Extend)關(guān)系是不同的。在UML中,用一個(gè)帶箭頭的實(shí)線表示,如圖2-19所示。由于它的應(yīng)用并不廣泛,因此只需有一個(gè)了解即可。2.圖和視圖圖2-19擴(kuò)展關(guān)系2.3關(guān)系元素基本元素描述了事物,關(guān)系描述了事物間的關(guān)系。在UML中,通過關(guān)系把多個(gè)事物連接在一起,構(gòu)成了圖。圖可視化地描繪了系統(tǒng)某一方面的特征。在UML2.0中共定義了13種圖,比UML1.0新增了3種。表2-2列出了這13種圖的功能。UML的作者們并沒有把圖作為UML的主要部分,因此各種圖形并不是精確定義的,往往可以將一種圖形中的成分合法地繪制到另外一種圖形中。在UML參與手冊第2版中,將UML圖劃分為四大領(lǐng)域9種視圖,如表2-3所示。表2-2UML2.0的圖型2.3關(guān)系元素

一個(gè)圖只能反映系統(tǒng)中某個(gè)側(cè)面和特征,多個(gè)圖結(jié)合在一起可以反映系統(tǒng)的某些側(cè)面和多個(gè)特征。我們把能反映系統(tǒng)某些側(cè)面和特征的多個(gè)圖的集合稱為視圖。其中,結(jié)構(gòu)領(lǐng)域的視圖和圖,描述了系統(tǒng)中的結(jié)構(gòu)成員及其相互關(guān)系;動(dòng)態(tài)領(lǐng)域的視圖和圖,描述了系統(tǒng)隨時(shí)間變化的行為;物理領(lǐng)域的視圖和圖,描述了系統(tǒng)的計(jì)算資源和部署在這些資源上的系統(tǒng)工件;模型管理領(lǐng)域的視圖和圖,說明了模型自身的分層組織結(jié)構(gòu)。表2-3UML圖和視圖2.3關(guān)系元素從使用的角度來看,將UML的13種圖分為結(jié)構(gòu)模型(也稱為靜態(tài)模型)和行為模型(也稱為動(dòng)態(tài)模型)兩大類,但這里講的結(jié)構(gòu)、行為其含義與前面所說的是有一定區(qū)別的:前者是從定義角度,后者則是從使用角度。分類如圖2-20所示。圖2-20從使用的角度對(duì)UML圖分類2.4規(guī)則在UML中,基本元素在使用時(shí),應(yīng)該遵守一序列規(guī)則,其中,最常用的3種語義規(guī)則如下:1.命名:也就是為事物、關(guān)系和圖起名字。和任何語言一樣,名字都是一個(gè)標(biāo)識(shí)符。2.范圍:指基本元素起作用的范圍,相當(dāng)于程序設(shè)計(jì)語言中的變量的”作用域”.2.4規(guī)則3.可見性:我們知道,UML元素可能屬于一個(gè)類或包中,因此,所有元素都具有可見性這一屬性。在UML中共定義了4種可見性,如表2-4所示。表2-4UML的可見性2.5公共機(jī)制在UML語言中,定義了4種公共機(jī)制:規(guī)格描述、修飾、通用劃分、擴(kuò)展機(jī)制。2.6.1規(guī)格描述在UML語言中,每個(gè)元素都用一個(gè)圖形符號(hào)表示,同時(shí),對(duì)圖形符號(hào)的語義可以用詳細(xì)的文字進(jìn)行描述,這種對(duì)圖形符號(hào)的文字描述稱為規(guī)格描述,也稱為詳述。如圖2-21所示,對(duì)每個(gè)用例來說,既有圖形描述,也有對(duì)應(yīng)的文字描述,即,詳細(xì)描述.圖2-21圖形與規(guī)格描述2.6公共機(jī)制2.6.2修飾UML中,基本元素的符號(hào)對(duì)事物最重要的的方面提供了可視化表示,而要把元素的細(xì)節(jié)方面表示出來,就必須通過對(duì)元素進(jìn)行修飾。例如,用具體的可視性的符號(hào)修飾元素、用斜體字表示抽象類,這些都是對(duì)元素細(xì)節(jié)的描述。2.6.3通用劃分UML通用劃分,就是對(duì)UML元素進(jìn)行分類。有2種分類方法:類與實(shí)例、接口與實(shí)現(xiàn)。

1.類與對(duì)象的劃分:類是一種抽象,一個(gè)模型,對(duì)象是類的實(shí)例。

2.接口與實(shí)現(xiàn)的分離:接口是一種聲明、是一個(gè)合同、一個(gè)計(jì)劃;實(shí)現(xiàn)則是完成一個(gè)計(jì)劃、一個(gè)合同、執(zhí)行聲明。在UML中,用例就是一種對(duì)功能的聲明和定義,是對(duì)事物功能的抽象描述;而協(xié)作則是實(shí)現(xiàn)用例聲明的功能實(shí)現(xiàn);操作名是聲明服務(wù)的,而方法體則是實(shí)現(xiàn)服務(wù)的,因此,用例與協(xié)作、操作名與方法體之間就是接口與實(shí)現(xiàn)的關(guān)系。2.6.4擴(kuò)展機(jī)制2.6公共機(jī)制由于,UML中的基本元素不能表示所有事物,因此,我們通過一些方法對(duì)基本元素進(jìn)行擴(kuò)展,主要的擴(kuò)展機(jī)制有:構(gòu)造型、標(biāo)記值和約束1.構(gòu)造型構(gòu)造型就是構(gòu)造一種新的UML元素,例如,我們構(gòu)造一個(gè)元素《exception》,用該元素來表示軟件的異常。表示構(gòu)造型的符號(hào)有三種,圖2-22就是用3種不同的方式來表示”異?!边@種構(gòu)造型。假設(shè)Overflow是類名稱?!秂xception》Overflow構(gòu)造型標(biāo)準(zhǔn)表示法《exception》Overflow小圖標(biāo)表示法新圖標(biāo)表示法圖2-22構(gòu)造型的三種表示方法2.6公共機(jī)制第一種表示法:創(chuàng)建一種新的UML元素符號(hào)的方法是,用符號(hào)《》把構(gòu)造名字括起來,這是一種標(biāo)準(zhǔn)表示方法。如,《exception》就是新構(gòu)造的元素。第二種表示方法:用符號(hào)《》把構(gòu)造名字括起來,并為元素增加一個(gè)圖標(biāo)。第三種表示方法:直接用一個(gè)圖標(biāo)表示新的構(gòu)造元素。2.6公共機(jī)制2.標(biāo)記值標(biāo)記值是用來為事物(元素)添加新特征的。標(biāo)記值的表示方法是用形如“{標(biāo)記信息}”的字符串表示。標(biāo)記信息通常由名稱、分隔符和值組成。標(biāo)記值是對(duì)元素屬性的表示,因此,標(biāo)記值放在UML元素中的,如,name=”鄧小平”。3.約束約束是用來標(biāo)識(shí)元素之間約束條件,是用來增加新的語義或改變已存在規(guī)則的一種機(jī)制(自由文本和OCL兩種表示法)。約束的表示法和標(biāo)記值法類似,都是使用花括號(hào)括起來的串來表示,不過,不能夠把它放在元素中,而是放在相關(guān)的元素附近。2.7用視圖表示系統(tǒng)體系結(jié)構(gòu)在RUP中,從5個(gè)角度對(duì)系統(tǒng)進(jìn)行建模,5個(gè)視圖分別是用例視圖、設(shè)計(jì)視圖、組件視圖、并發(fā)視圖、部署視圖。即,從5個(gè)角度來描述系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論