版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、UML語(yǔ)言體系結(jié)構(gòu)2.1 UML語(yǔ)言組成UML語(yǔ)言是一門(mén)設(shè)計(jì)語(yǔ)言,它由一些構(gòu)造符號(hào)、規(guī)則和公共機(jī)制三個(gè)部分構(gòu)成。一些代表事物的構(gòu)造符號(hào)按某種規(guī)則通過(guò)關(guān)系符號(hào)連接在一起組成圖(圖是由元素符號(hào)和關(guān)系符號(hào)組成的),所有的構(gòu)造符號(hào)在使用時(shí),必須遵循通用規(guī)則,這些通用規(guī)則被稱(chēng)為公共機(jī)制。下面是UML語(yǔ)言的組成結(jié)構(gòu),如圖1所示。圖1 UML語(yǔ)言組成1構(gòu)造符號(hào)所謂構(gòu)造符號(hào),就是用來(lái)構(gòu)造圖形的基本符號(hào)。構(gòu)造符號(hào)又包括:元素符號(hào)、關(guān)系符號(hào)和圖。這三種符號(hào)分別代表不同級(jí)別的事物。元素符號(hào)代表了軟件系統(tǒng)或業(yè)務(wù)系統(tǒng)中的簡(jiǎn)單事物;關(guān)系符號(hào)代表了事物間的關(guān)系;圖代表了由簡(jiǎn)單事物按某種關(guān)系連接在一起組成的更大顆粒的事物;圖
2、與圖通過(guò)關(guān)系符號(hào)連接在一起,組成更大的圖,這個(gè)圖代表更復(fù)雜的事物。構(gòu)造符號(hào)的組成結(jié)構(gòu)如圖2所示。圖2 構(gòu)造符號(hào)的組成結(jié)構(gòu)2規(guī)則每個(gè)構(gòu)造符號(hào)代表的事物都具有名字、范圍、可見(jiàn)性、完整性和可執(zhí)行等屬性。規(guī)則是指用UML語(yǔ)言描述事物時(shí),每個(gè)元素應(yīng)該遵守的規(guī)定,即,用UML構(gòu)造符號(hào)描述軟件系統(tǒng)或業(yè)務(wù)系統(tǒng)中事物時(shí)應(yīng)該遵守的約束或規(guī)定。描述事物時(shí),構(gòu)造符號(hào)應(yīng)該遵守的規(guī)則的組成結(jié)構(gòu)如圖3所示。圖3 構(gòu)造符號(hào)應(yīng)遵守的規(guī)則(1)名稱(chēng)。指每個(gè)元素符號(hào)應(yīng)該有一個(gè)名字。(2)范圍。每個(gè)元素符號(hào)使用的范圍。(3)可見(jiàn)性。元素被訪(fǎng)問(wèn)的級(jí)別或者權(quán)限。(4)完整性。元素符號(hào)應(yīng)該代表完整的含義。(5)可執(zhí)行。表示元素符號(hào)的可行性
3、。3公共機(jī)制公共機(jī)制包括詳述、修飾、通用劃分以及擴(kuò)展機(jī)制,它是指適用于軟件系統(tǒng)或業(yè)務(wù)系統(tǒng)中每個(gè)事物必須遵守的規(guī)則。公共機(jī)制的組成結(jié)構(gòu)如圖4所示。圖4 公共機(jī)制的組成結(jié)構(gòu)2.2 元素符號(hào)元素符號(hào)代表了業(yè)務(wù)系統(tǒng)或軟件系統(tǒng)中的簡(jiǎn)單事物。元素符號(hào)又細(xì)分為4類(lèi):結(jié)構(gòu)符號(hào)、行為符號(hào)、分組符號(hào)和注釋符號(hào)。2.2.1 結(jié)構(gòu)符號(hào)結(jié)構(gòu)符號(hào)代表了業(yè)務(wù)系統(tǒng)或軟件系統(tǒng)中的某個(gè)簡(jiǎn)單事物。結(jié)構(gòu)符號(hào)代表的簡(jiǎn)單事物有7種,分別是類(lèi)(對(duì)象)、接口、主動(dòng)類(lèi)、用例、協(xié)作、構(gòu)件和節(jié)點(diǎn)。結(jié)構(gòu)符號(hào)常用名詞命名。下面分別介紹7種結(jié)構(gòu)符號(hào)的表示法和含義。1類(lèi)和對(duì)象類(lèi)是對(duì)具有相同屬性、相同操作以及相同關(guān)系的一組對(duì)象的共同特征的抽象,類(lèi)是對(duì)一組對(duì)
4、象共同特征的描述,即,類(lèi)是對(duì)象的模板,而對(duì)象是類(lèi)的一個(gè)實(shí)例。(1)類(lèi)的表示在UML中,類(lèi)表示為一個(gè)長(zhǎng)方形,垂直地把長(zhǎng)方形分為三個(gè)區(qū),如圖5 所示。頂部區(qū)域顯示類(lèi)的名字。中間的區(qū)域列出類(lèi)的屬性。底部的區(qū)域列出類(lèi)的操作。在表示一個(gè)類(lèi)時(shí),類(lèi)名不能省略,屬性和操作可以省略。圖5是Flight類(lèi)(航線(xiàn))的圖形表示。正如我們所能見(jiàn)到的,類(lèi)名是 Flight,我們可以在中間區(qū)域看到Flight類(lèi)的3個(gè)屬性:flightNumber,departureTime 和 flightDuration。在底部區(qū)域中我們可以看到Flight類(lèi)有兩個(gè)操作:delayFlight 和 getArrivalTime。圖5 表
5、示Flight類(lèi)的UML符號(hào)(2)對(duì)象的表示對(duì)象也是用一個(gè)矩形表示的,但在矩形框中不再寫(xiě)出屬性名和方法名,只是用“對(duì)象名:類(lèi)名”的格式表示一個(gè)對(duì)象,并且,對(duì)象名和類(lèi)名下面必須帶下劃線(xiàn)。例如,屬于類(lèi)People中的對(duì)象“李世民”的表示方法如圖6所示。李世民:People圖6 表示對(duì)象“李世民”的UML符號(hào)2接口因?yàn)橥饨缡峭ㄟ^(guò)類(lèi)或?qū)ο?或構(gòu)件)的方法類(lèi)訪(fǎng)問(wèn)對(duì)象或類(lèi)的(或構(gòu)件),因此把類(lèi)或構(gòu)件的方法集合稱(chēng)為接口。接口向外界聲明了類(lèi)(或構(gòu)件)能提供的服務(wù)。接口分為供給接口和需求接口兩種,供給接口只能向其他類(lèi)(或構(gòu)件)提供服務(wù),需求接口表示類(lèi)(或構(gòu)件)需要用到其他類(lèi)(或構(gòu)件)提供的服務(wù)。上述兩種接口的表
6、示方法如圖7所示。圖7 表示接口的UML符號(hào)3主動(dòng)類(lèi)一個(gè)對(duì)象可以是主動(dòng)的也可以是被動(dòng)的。主動(dòng)對(duì)象是可以改變自身狀態(tài)的對(duì)象。例如,定時(shí)器和時(shí)鐘就可以在沒(méi)有外部事件觸發(fā)的情況下,能自已改變它們自身狀態(tài)。通常使用進(jìn)程或者線(xiàn)程來(lái)實(shí)現(xiàn)創(chuàng)建主動(dòng)對(duì)象。被動(dòng)對(duì)象只有在接受到消息后才會(huì)改變自身的狀態(tài)。例如,銀行賬戶(hù)的屬性不會(huì)發(fā)生變化,除非銀行賬戶(hù)(對(duì)象)接收到一條設(shè)置余額(一種用于更新賬戶(hù)余額的操作)的消息。因?yàn)榇蠖鄶?shù)對(duì)象都是被動(dòng)對(duì)象,所以,我們假設(shè)所有對(duì)象都是被動(dòng)對(duì)象。主動(dòng)類(lèi)是指創(chuàng)建主動(dòng)對(duì)象的類(lèi)。主動(dòng)類(lèi)的表示與一般類(lèi)相似,只是最外框是粗線(xiàn)描述而已,如主動(dòng)類(lèi)Radio的表示方法如圖8所示。圖8 表示主動(dòng)類(lèi)Rad
7、io的符號(hào)4用例在系統(tǒng)中,為完成某個(gè)任務(wù)而執(zhí)行的一系列動(dòng)作的集合稱(chēng)為用例實(shí)例。用例是對(duì)一組用例實(shí)例共同行為的描述,這組用例實(shí)例具有相似的特征。因此,用例是對(duì)一組用例實(shí)例共同特征的描述;用例實(shí)例是用例的一次具體執(zhí)行過(guò)程,用例是對(duì)一組用例實(shí)例的描述。用例與用例實(shí)例的關(guān)系正如類(lèi)與對(duì)象的關(guān)系。在UML中,用例是用一個(gè)實(shí)線(xiàn)橢圓來(lái)表示的,在橢圓中寫(xiě)入用例名稱(chēng),如用例“取款”的表示方法如圖9所示。圖9 用例“取款”的表示方法在圖9中,一次具體的取款過(guò)程,就是用例的一個(gè)實(shí)例。5協(xié)作協(xié)作是指有意義的交互,即一組對(duì)象為了完成某個(gè)任務(wù),而在相互間進(jìn)行的交互。用例的實(shí)現(xiàn)是指實(shí)現(xiàn)某個(gè)用例的一組對(duì)象之間的交互,即把一個(gè)用
8、例表示為多個(gè)對(duì)象間的交互(協(xié)作)。從本質(zhì)上說(shuō),協(xié)作就是用例的實(shí)現(xiàn)。協(xié)作用一個(gè)帶兩個(gè)分欄的虛線(xiàn)橢圓表示的,例如,用例“銷(xiāo)售”,用協(xié)作“銷(xiāo)售”表示時(shí),其對(duì)應(yīng)的表示方法如圖10所示。圖10 協(xié)作“銷(xiāo)售”協(xié)作圖“銷(xiāo)售”表示的語(yǔ)義如下:(1)生產(chǎn)商生產(chǎn)出產(chǎn)品并以低價(jià)售給批發(fā)商和零售商,從中獲得了利潤(rùn)。(2)批發(fā)商以比生產(chǎn)商較高的價(jià)格出售給銷(xiāo)售商或零售商,零售商在自己的商店得到 更高利潤(rùn)。(3)顧客以較高的價(jià)格買(mǎi)到自己想要的商品。6構(gòu)件構(gòu)件也稱(chēng)組件,它是指系統(tǒng)設(shè)計(jì)中的一個(gè)相對(duì)獨(dú)立的軟件部件,它把功能實(shí)現(xiàn)部分隱藏在內(nèi)部,對(duì)外聲明了一組接口(包括供給接口和需求接口)。因此,兩個(gè)具有相同接口的構(gòu)件可以相互替換。
9、構(gòu)件是比“對(duì)象”更大的軟件部件,例如一個(gè)COM組件、一個(gè)DLL文件、一個(gè)JavaBeans以及一個(gè)執(zhí)行文件都可以是構(gòu)件。為了更好地在UML模型中對(duì)它們進(jìn)行表示,于是引入了構(gòu)件(也譯為組件)。構(gòu)件通常采用帶有兩個(gè)小方框的矩型表示,構(gòu)件的名字寫(xiě)在方框中,如圖11所示。圖11 表示構(gòu)件的UML符號(hào)7節(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)“顯示器”的表示方法如圖12所示。圖12 節(jié)點(diǎn)“顯示器”的UML符號(hào)2.2.2 行為符號(hào)行為符號(hào)是用來(lái)表示業(yè)務(wù)系統(tǒng)或軟件系統(tǒng)中事物之間的交互以及交互引
10、起的事物本身的狀態(tài)變化。行為符號(hào)描述了事物的動(dòng)態(tài)特征。描述事物的行為特征在兩個(gè)方面:事物之間的交互和事物本身的狀態(tài)變化,描述這2個(gè)方面的符號(hào)也有2種:一種符號(hào)代表事物間的交互;一種符號(hào)代表事物本身的狀態(tài)。1交互交互(interaction)是指為了完成某個(gè)任務(wù)的對(duì)象之間的相互作用,這種作用通過(guò)信息的發(fā)送和接收來(lái)完成。 交互的表示方法很簡(jiǎn)單,只需使用一條有向直線(xiàn)來(lái)表示對(duì)象間的交互,并在有向直線(xiàn)上方標(biāo)注消息名稱(chēng)即可,如圖13所示。圖13 表示交互的UML符號(hào)2狀態(tài)在對(duì)象生命周期內(nèi),在事件驅(qū)動(dòng)下,對(duì)象從一種狀態(tài)遷移到另一狀態(tài),這些狀態(tài)序列就構(gòu)成了狀態(tài)機(jī),即一個(gè)狀態(tài)機(jī)由多個(gè)狀態(tài)組成。在UML中,將狀態(tài)
11、表示為一個(gè)圓角矩形,并在矩形中寫(xiě)上狀態(tài)名稱(chēng)。例如,手機(jī)處在“正在通話(huà)”狀態(tài)的表示方法如圖14所示。圖14 表示“正在通話(huà)”狀態(tài)的UML符號(hào)2.2.3 分組符號(hào)對(duì)于一個(gè)中大型的軟件系統(tǒng)而言,通常會(huì)包含大量的類(lèi)、接口以及協(xié)作,因此也就會(huì)存在大量的簡(jiǎn)單事物和行為特征,為了能有效地對(duì)這些事物進(jìn)行分類(lèi)和管理,就需要對(duì)其進(jìn)行分組。在UML中可通過(guò)“包(Package)”來(lái)實(shí)現(xiàn)這一目標(biāo)。表示“包(Package)”的圖形符號(hào)與Windows中表示文件夾的圖符很相似,包的作用與文件夾的作用也很相似。如“java.awt”包的表示方法如圖15所示。圖15 表示“java.awt”包的UML符號(hào)2.2.4 注釋符
12、號(hào)在UML中,用來(lái)對(duì)其他事物進(jìn)行解釋的部分(文本解釋)稱(chēng)為注釋。注釋符號(hào)用一個(gè)右上角折起來(lái)的矩形表示,解釋的文字就寫(xiě)在矩形框中,如圖16所示。圖16 表示注釋的UML符號(hào)2.3 關(guān)系符號(hào)前面介紹了表示事物的元素符號(hào),本節(jié)將介紹反映事物之間關(guān)系的關(guān)系符號(hào)。在UML中,共定義了24種關(guān)系,相應(yīng)的有24種關(guān)系符號(hào),如表2-1所示。表2-1 UML中的關(guān)系及其符號(hào)關(guān)系大類(lèi)關(guān)系變種UML中的關(guān)系UML符號(hào)關(guān)系大類(lèi)關(guān)系變種UML中的關(guān)系UML符號(hào)抽象派生依賴(lài)關(guān)系derive導(dǎo)入私有依賴(lài)關(guān)系access顯現(xiàn)manifest公有import實(shí)現(xiàn)實(shí)現(xiàn)關(guān)系虛線(xiàn)加空心三角信息流flow精化依賴(lài)關(guān)系refine包含并
13、merge跟蹤trace許可permit關(guān)聯(lián)關(guān)聯(lián)關(guān)系實(shí)線(xiàn)協(xié)議符合未指定綁定依賴(lài)關(guān)系bind(參數(shù)表)替換依賴(lài)關(guān)系substitu-te部署deploy使用調(diào)用call擴(kuò)展Extendextend (擴(kuò)展點(diǎn))創(chuàng)建create擴(kuò)展extension擴(kuò)展關(guān)系實(shí)線(xiàn)加實(shí)心三角實(shí)例化instanti-ate泛化泛化關(guān)系實(shí)線(xiàn)加空間三角職責(zé)responsi-bility包含依賴(lài)關(guān)系include發(fā)送send上述有24種關(guān)系,在UML中,可以歸納為關(guān)聯(lián)關(guān)系、實(shí)現(xiàn)關(guān)系、泛化關(guān)系、擴(kuò)展關(guān)系和依賴(lài)關(guān)系5種,下面介紹這些關(guān)系的表示方法。1關(guān)聯(lián)關(guān)系只要2個(gè)類(lèi)之間存在某種關(guān)系,我們就認(rèn)為2個(gè)類(lèi)之間存在關(guān)聯(lián)。關(guān)聯(lián)是人們賦予事
14、物之間的聯(lián)系,即,只要我們認(rèn)為2個(gè)事物之間有某種聯(lián)系,就認(rèn)為事物之間存在關(guān)聯(lián)。實(shí)現(xiàn)關(guān)系、泛化關(guān)系、擴(kuò)展關(guān)系和依賴(lài)關(guān)系都屬于關(guān)聯(lián)關(guān)系,是更具體的關(guān)聯(lián)關(guān)系。關(guān)聯(lián)關(guān)系是最高層次的關(guān)系,在所有關(guān)系中,關(guān)聯(lián)的語(yǔ)義最弱的。在關(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)系,它包含的語(yǔ)義較少;聚合關(guān)系和組合關(guān)系是更具體的關(guān)聯(lián)關(guān)系,它包含的語(yǔ)義更具體。在UML中,使用一條實(shí)線(xiàn)來(lái)表示關(guān)聯(lián)關(guān)系如圖17所示。圖17 表示關(guān)聯(lián)關(guān)系的UML符號(hào)(2)聚合關(guān)系聚合(Aggregation)是一種特殊形式的關(guān)聯(lián),表示類(lèi)之間的關(guān)系是整體與部分的關(guān)系。聚合關(guān)系是一種松散
15、的對(duì)象間關(guān)系計(jì)算機(jī)與它的外圍設(shè)備就是聚合關(guān)系。一臺(tái)計(jì)算機(jī)和它的外設(shè)之間只是很松散地結(jié)合在一起,這些外設(shè)可有可無(wú),可以與其他計(jì)算機(jī)共享。即,部分可以離開(kāi)整體而存在。聚合的表示方法如圖18(a)所示。其中棱形端表示事物的整體,另一端表示事物的部分。如計(jì)算機(jī)就是整體,外設(shè)就是部分。(3)組合關(guān)系如果發(fā)現(xiàn)“部分”類(lèi)的存在是完全依賴(lài)于“整體”類(lèi)的,那么就應(yīng)使用“組合”關(guān)系 來(lái)描述。組合關(guān)系是一種非常強(qiáng)的對(duì)象間關(guān)系,就像樹(shù)和樹(shù)葉之間的關(guān)系。樹(shù)和它的葉子緊密聯(lián)系在一起,葉子完全依賴(lài)樹(shù),它們不能被其他的樹(shù)所分享,并且當(dāng)樹(shù)死去時(shí),葉子也會(huì)隨之死去這就是組合,在組合關(guān)系中,部分依賴(lài)于整體而存在。組合是一種強(qiáng)的聚合
16、關(guān)系,它的表示方法如圖18(b)所示。(a) (b)圖18 表示聚合關(guān)系和組合關(guān)系的UML符號(hào)2泛化關(guān)系泛化關(guān)系描述了從特殊事物到一般事物之間的關(guān)系,也就是子類(lèi)到父類(lèi)之間的關(guān)系,或者子接口到父接口的關(guān)系。表示泛化關(guān)系的符號(hào)是從子類(lèi)指向父類(lèi)的帶空心箭頭的實(shí)線(xiàn),其表示方法如圖19所示。而從父類(lèi)到子類(lèi)的關(guān)系則是特化關(guān)系。圖19 表示泛化關(guān)系的UML符號(hào)3實(shí)現(xiàn)關(guān)系實(shí)現(xiàn)關(guān)系是用來(lái)規(guī)定接口與實(shí)現(xiàn)接口的類(lèi)之間的關(guān)系。接口是操作的集合,這些操作聲明了類(lèi)或組件所提供的服務(wù)。表示實(shí)現(xiàn)關(guān)系的符號(hào)是從類(lèi)指向接口的帶空心箭頭的虛線(xiàn),其表示方法如圖20所示。圖20 表示實(shí)現(xiàn)關(guān)系的UML符號(hào)4依賴(lài)關(guān)系假設(shè)有兩個(gè)元素X、Y,
17、如果元素X的值發(fā)生變化,就會(huì)引起元素Y的值的變化,則稱(chēng)元素Y依賴(lài)(Dependency)于元素X。依賴(lài)關(guān)系的表示如圖21所示。 圖21 表示依賴(lài)關(guān)系的UML符號(hào)如果兩個(gè)元素是類(lèi),則類(lèi)間的依賴(lài)現(xiàn)象有多種,如一個(gè)類(lèi)向另一個(gè)類(lèi)發(fā)消息;一個(gè)類(lèi)是另一個(gè)類(lèi)的數(shù)據(jù)成員;一個(gè)類(lèi)是另一個(gè)類(lèi)的某個(gè)方法的參數(shù)。從本質(zhì)上說(shuō),聚合、組合、泛化以及實(shí)現(xiàn)關(guān)系都屬于依賴(lài)關(guān)系,但是它們有更特別的語(yǔ)義。5擴(kuò)展關(guān)系在UML中,用一個(gè)帶箭頭的實(shí)線(xiàn)表示擴(kuò)展關(guān)系,如圖22所示。這里的擴(kuò)展含義是指對(duì)一個(gè)元類(lèi)的擴(kuò)展,即,通過(guò)擴(kuò)展元類(lèi)的語(yǔ)義,獲得新的元類(lèi)。圖22 表示擴(kuò)展關(guān)系的UML符號(hào)2.4 UML圖元素符號(hào)代表了簡(jiǎn)單事物,簡(jiǎn)單事物通過(guò)一定
18、關(guān)系組合成復(fù)雜事物,圖就是用來(lái)表示復(fù)雜事物的。每個(gè)圖是由代表簡(jiǎn)單事物的元素符號(hào)和代表事物關(guān)系的關(guān)系符號(hào)構(gòu)成。2.4.1 UML圖分類(lèi)UML中的圖可分為兩大類(lèi):結(jié)構(gòu)圖和行為圖。結(jié)構(gòu)圖描繪系統(tǒng)中事物的組成及結(jié)構(gòu)關(guān)系;行為圖描繪系統(tǒng)中事物間的相互交互行為。下面是UML圖的組成,如圖23所示。圖23 UML圖的組成1結(jié)構(gòu)圖結(jié)構(gòu)圖又分為6種,如圖24所示。圖6-24 結(jié)構(gòu)圖組成(1)類(lèi)圖類(lèi)圖是使用UML建模時(shí)最常用的圖,它展示了系統(tǒng)中的靜態(tài)事物、它們的結(jié)構(gòu)以及它們之間的相互關(guān)系。這種圖的典型用法是描述系統(tǒng)的邏輯設(shè)計(jì)和物理設(shè)計(jì)。(2)構(gòu)件圖構(gòu)件圖可以展示一組構(gòu)件的組織和彼此間的依賴(lài)關(guān)系,它用于說(shuō)明軟件系統(tǒng)
19、如何實(shí)現(xiàn),以及軟件系統(tǒng)內(nèi)構(gòu)件如何協(xié)同工作等。(3)對(duì)象圖對(duì)象圖可以展示系統(tǒng)中的一組對(duì)象,它是系統(tǒng)在某一時(shí)刻的快照,也可以說(shuō)對(duì)象圖是類(lèi)圖在某一時(shí)刻的快照。(4)部署圖部署圖可以展示物理系統(tǒng)運(yùn)行時(shí)的架構(gòu),同時(shí)可以描述系統(tǒng)中的硬件架構(gòu)和硬件上駐留的軟件架構(gòu)。(5)組合結(jié)構(gòu)圖組合結(jié)構(gòu)圖可以展示系統(tǒng)的內(nèi)部結(jié)構(gòu)。(6)包圖包圖用于描繪包之間的依賴(lài)關(guān)系(包是一個(gè)用于組織其他模型元素的通用模型元素)。2行為圖行為圖又細(xì)分為4種,如圖6-25所示。圖6-25 行為圖組成 (1)活動(dòng)圖活動(dòng)圖顯示系統(tǒng)內(nèi)部的活動(dòng)控制流程。通常需要使用活動(dòng)圖描述不同的業(yè)務(wù)過(guò)程。(2)狀態(tài)圖狀態(tài)圖顯示對(duì)象從一種狀態(tài)遷移到其它狀態(tài)的轉(zhuǎn)換過(guò)
20、程。狀態(tài)圖是一個(gè)動(dòng)態(tài)視圖,對(duì)事件驅(qū)動(dòng)的行為建模尤其重要,例如可以利用狀態(tài)圖描述一個(gè)電話(huà)路由系統(tǒng)中交換機(jī)的狀態(tài),不同的事件可以令交換機(jī)轉(zhuǎn)移至不同的狀態(tài),用狀態(tài)圖對(duì)交換機(jī)建模有助于理解交換機(jī)的動(dòng)態(tài)行為。在 UML 2.0中,狀態(tài)圖被稱(chēng)為狀態(tài)機(jī)圖(state machine diagram)。(3)協(xié)作圖協(xié)作圖(也稱(chēng)通信圖)是交互圖的一種,交互圖還包括順序圖(以及UML 2.0中新定義的其他幾種圖,稍后將介紹)。協(xié)作圖突出對(duì)象之間的合作與交互。(4)順序圖順序圖是另一種交互圖,它強(qiáng)調(diào)一個(gè)系統(tǒng)中間相互作用時(shí)消息的時(shí)間順序。UML 2.0中又增加了下列幾種行為圖:(5)時(shí)間圖時(shí)間圖也是一種交互
21、圖,它描繪與交互對(duì)象的狀態(tài)轉(zhuǎn)換或條件變化有關(guān)的詳細(xì)時(shí)間 信息。(6)交互概觀圖交互概觀圖是一種高層視圖,用于從總體上顯示交互序列之間的控制流。注意:在實(shí)際進(jìn)行系統(tǒng)建模時(shí),幾乎沒(méi)有人會(huì)使用到UML標(biāo)準(zhǔn)中定義的所有圖。(7)用例圖用例描述了系統(tǒng)的工作方式,以及系統(tǒng)能提供的服務(wù)。用例圖描述了系統(tǒng)外部參與者如何使用系統(tǒng)提供的服務(wù)。注意:組合結(jié)構(gòu)圖、包圖及用例圖是UML 2.0中新增的結(jié)構(gòu)圖。3. 圖的功能在UML 2.0中共定義了13種圖。表2-2列出了這13種圖的作用。表2-2 UML 2.0中的圖圖分類(lèi)作 用描述類(lèi)圖描述系統(tǒng)中的類(lèi)組成和類(lèi)之間的關(guān)系與UML 1.0相同對(duì)象圖描述系統(tǒng)在某個(gè)時(shí)刻對(duì)象的
22、組成和關(guān)系UML 1.0非正式圖復(fù)合結(jié)構(gòu)圖描述復(fù)合對(duì)象的內(nèi)部結(jié)構(gòu)UML 2.0新增構(gòu)件圖描述構(gòu)件的結(jié)構(gòu)與組成與UML 1.0相同部署圖描述在系統(tǒng)中各個(gè)節(jié)點(diǎn)上的構(gòu)件及其構(gòu)件之間的關(guān)系與UML 1.0相同包圖描述系統(tǒng)的宏觀結(jié)構(gòu),并用包來(lái)表示UML中非正式圖用例圖描述用戶(hù)與系統(tǒng)如何交互及系統(tǒng)提供的服務(wù)與UML 1.0相同活動(dòng)圖描述活動(dòng)控制流程及活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換過(guò)程與UML 1.0相同狀態(tài)機(jī)圖描述對(duì)象生命周期內(nèi),在外部事件的作用下,對(duì)象從一種狀態(tài)如何轉(zhuǎn)換到另一種狀態(tài)與UML 1.0相同順序圖描述對(duì)象之間的交互,重點(diǎn)在強(qiáng)調(diào)消息發(fā)送的順序與UML 1.0相同協(xié)作圖描述對(duì)象之間的交互,重點(diǎn)在于強(qiáng)調(diào)對(duì)象的職責(zé)U
23、ML 1.0中的協(xié)作圖定時(shí)圖描述對(duì)象之間的交互,重點(diǎn)在于描述時(shí)間信息UML 2.0 新增交互概觀圖是一種順序圖與活動(dòng)圖的混合嫁接UML 2.0新增從使用的角度來(lái)看,可以將UML的13種圖分為結(jié)構(gòu)模型(也稱(chēng)為靜態(tài)模型)和行為模型(也稱(chēng)為動(dòng)態(tài)模型)兩大類(lèi)。2.4.2 視圖圖可視化地描繪了系統(tǒng)某個(gè)方面的局部特征;多個(gè)相關(guān)的圖可以描述系統(tǒng)的某個(gè)方面的全部特征,我們把描述系統(tǒng)某個(gè)方面全部特征的多個(gè)圖的集合稱(chēng)為視圖。在UML參考手冊(cè)第2版中,將UML圖劃分為4大應(yīng)用類(lèi)型和9種視圖,如表2-3所示。表2-3 UML圖和視圖應(yīng)用類(lèi)型視 圖組成結(jié)構(gòu)領(lǐng)域靜態(tài)視圖類(lèi)圖,對(duì)象圖設(shè)計(jì)視圖復(fù)合結(jié)構(gòu)圖、協(xié)作圖、構(gòu)件圖,對(duì)象
24、圖用例視圖用例圖動(dòng)態(tài)領(lǐng)域狀態(tài)視圖狀態(tài)機(jī)圖活動(dòng)視圖活動(dòng)圖交互視圖順序圖、通信圖,時(shí)間圖,交互概述圖物理領(lǐng)域部署視圖部署圖模型管理模型管理視圖包圖特性描述包圖其中,結(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)的硬件結(jié)構(gòu)和部署在這些硬件上的系統(tǒng)軟件;模型管理領(lǐng)域的視圖說(shuō)明了系統(tǒng)的分層組織結(jié)構(gòu)。2.5 規(guī) 則在UML中,代表事物的元素符號(hào)在使用時(shí)應(yīng)遵守一系列規(guī)則,每個(gè)元素必須遵守的3種語(yǔ)義規(guī)則如下:l 名稱(chēng):每個(gè)元素應(yīng)該有一個(gè)名字,即,事物、關(guān)系和圖都應(yīng)該有一個(gè)名字。和任何語(yǔ)言一樣,名字即是一個(gè)標(biāo)識(shí)符。l 范圍:每個(gè)元素起作用的范
25、圍。相當(dāng)于程序設(shè)計(jì)語(yǔ)言中變量的“作用域”。 l 可見(jiàn)性:我們知道,UML元素可能屬于一個(gè)類(lèi)或包中,因此,所有元素都具有可見(jiàn)屬性。在UML中,為元素定義了4種可見(jiàn)性,如表2-4所示。表2-4 UML元素的可見(jiàn)性元素的可見(jiàn)性規(guī) 則(假設(shè)被訪(fǎng)問(wèn)的元素在包中)標(biāo)準(zhǔn)表示法public任一元素若能訪(fǎng)問(wèn)包,則就可以訪(fǎng)問(wèn)包中的元素它+protected只有包中的元素或子包才能訪(fǎng)問(wèn)它#private只有包中的元素才能訪(fǎng)問(wèn)它-package只有聲明在同一個(gè)包中的元素才能訪(fǎng)問(wèn)該元素2.6 公 共 機(jī) 制在UML語(yǔ)言中,定義了4種公共機(jī)制:規(guī)格描述、修飾、通用劃分和擴(kuò)展機(jī)制。2.6.1 規(guī)格描述在UML語(yǔ)言中,對(duì)每一
26、個(gè)元素有一個(gè)圖形符號(hào)來(lái)表示,同時(shí),對(duì)每個(gè)圖形符號(hào)的語(yǔ)義有一個(gè)詳細(xì)的文字描述,這種對(duì)圖形符號(hào)的語(yǔ)義進(jìn)行的文字描述稱(chēng)為規(guī)格描述,也稱(chēng)為詳述。如圖26所示,在左邊的方框中有三個(gè)用圖形符號(hào)表示的用例,分別是:“存款“、“取款” 、”轉(zhuǎn)賬”,在右邊的方框中,分別對(duì)每個(gè)圖形符號(hào)表示的用例進(jìn)行了詳細(xì)的文字描述,即規(guī)格描述。圖26 圖形符號(hào)與對(duì)應(yīng)的規(guī)格描述2.6.2 修飾在UML中,每個(gè)元素符號(hào)對(duì)事物的主要方面提供了可視化表示,而若想將事物的細(xì)節(jié)表示出來(lái),則必須對(duì)元素符號(hào)加以修飾。例如,用斜體字表示抽象類(lèi),用+,-符號(hào)表示元素的訪(fǎng)問(wèn)級(jí)別,這些都是通過(guò)修飾符號(hào)來(lái)表示事物的細(xì)節(jié)。所謂修飾就是增加元素符號(hào)的內(nèi)涵,為
27、被修飾的元素提供更多的信息。2.6.3 通用劃分UML通用劃分,即對(duì)UML元素進(jìn)行分組,包括兩組:類(lèi)與對(duì)象、接口與實(shí)現(xiàn)。l 類(lèi)與對(duì)象:類(lèi)是對(duì)對(duì)象共同特征的描述、是對(duì)象的模板,而對(duì)象則是類(lèi)的實(shí)例。l 接口與實(shí)現(xiàn):接口是一種聲明、一個(gè)合同、是一組方法的集合,而實(shí)現(xiàn)則是完成一個(gè)合同、實(shí)現(xiàn)接口中的聲明。在UML中,用例就是一種對(duì)功能的聲明和定義,是對(duì)事物功能的抽象描述;而協(xié)作則是實(shí)現(xiàn)用例聲明的功能;操作名是聲明服務(wù)的,而方法體則是實(shí)現(xiàn)服務(wù)的。因此,用例與協(xié)作、操作名與方法體之間就是接口與實(shí)現(xiàn)的關(guān)系。2.6.4 擴(kuò)展機(jī)制由于UML中定義的元素符號(hào)不能表示所有的事物,因此需要通過(guò)一些方法對(duì)元素符號(hào)進(jìn)行擴(kuò)展
28、,主要的擴(kuò)展機(jī)制有:構(gòu)造型、標(biāo)記值和約束。1構(gòu)造型構(gòu)造型就是指分析師自已定義一種新的UML元素符號(hào),給這種新的元素符號(hào)賦予特別的含義,例如,分析師可以定義一個(gè)元素符號(hào)Interrupt,用該元素符號(hào)代表“中斷”。表示同一構(gòu)造型元素符號(hào)的方法有3種,圖27所示就是用3種不同方式來(lái)表示設(shè)備“中斷”這種構(gòu)造型,其中假設(shè)Equipment(設(shè)備)是類(lèi)名稱(chēng)。圖27 構(gòu)造型的3種表示方法l 第一種表示方法:創(chuàng)建一種新的UML元素符號(hào)Interrupt,表示“中斷”,在構(gòu)造元素符號(hào)右邊放置一個(gè)圖標(biāo)。構(gòu)造符號(hào)“Interrupt”與圖標(biāo)一起代表“中斷”。l 第二種表示法:創(chuàng)建一種新的UML元素符號(hào)Interrupt,表示“中斷”,這是一種標(biāo)準(zhǔn)表示方法。l 第三種表示方法:直接用一個(gè)圖標(biāo)表示新的構(gòu)造元素符號(hào),該符號(hào)的語(yǔ)義是“中斷”。2標(biāo)記值標(biāo)記值是用來(lái)為事物(元素符號(hào))添加新特征的,其表示方法是用格式如“標(biāo)記信息”的字符串表示。標(biāo)記信息通常是一個(gè)字符串,它由名稱(chēng)、分隔符和值3個(gè)部分組成。例如,標(biāo)記信息:name=“李小平” 。在這個(gè)標(biāo)記信息中,名稱(chēng)是name ; 分隔符是= ;標(biāo)記
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高端住宅賣(mài)房墊資金融服務(wù)合同3篇
- 2024清潔能源項(xiàng)目專(zhuān)用清潔勞務(wù)分包合同3篇
- 2024年環(huán)保鍋爐建設(shè)與運(yùn)營(yíng)承包合同
- 二零二五年度東莞市企業(yè)用工風(fēng)險(xiǎn)防范勞動(dòng)合同3篇
- 二零二五年度個(gè)人門(mén)面租賃合同包含配套設(shè)施租賃、物業(yè)管理及維護(hù)服務(wù)3篇
- 德語(yǔ)課程設(shè)計(jì)怎么寫(xiě)
- 2024模具設(shè)計(jì)及制造委托加工合同范例3篇
- 2025年度安全員現(xiàn)場(chǎng)安全監(jiān)督及隱患排查服務(wù)合同
- 美食視頻腳本課程設(shè)計(jì)
- 福建小學(xué)道法課程設(shè)計(jì)
- 中醫(yī)內(nèi)科學(xué)目錄
- 鍋爐日常巡回檢查表
- “大綜合一體化”行政執(zhí)法改革工作自查報(bào)告
- DB37T 3642-2019 全氟己酮滅火系統(tǒng)設(shè)計(jì)、施工及驗(yàn)收規(guī)范
- DB5110∕T 37-2021 地理標(biāo)志產(chǎn)品 資中冬尖加工技術(shù)規(guī)范
- (完整版)居家養(yǎng)老服務(wù)項(xiàng)目收費(fèi)標(biāo)準(zhǔn)一覽表
- 常見(jiàn)生產(chǎn)安全事故防治PPT課件
- 粉末涂料使用說(shuō)明
- 玻璃瓶罐的缺陷產(chǎn)生原因及解決方法63699
- 贊比亞礦產(chǎn)資源及礦業(yè)開(kāi)發(fā)前景分析
- 大型儲(chǔ)罐吊裝方案
評(píng)論
0/150
提交評(píng)論