UML組成中的規(guī)則和公共機(jī)制詳解
上節(jié)我們介紹了UMl組成中的UML構(gòu)造塊,這里繼續(xù)向大家介紹UML組成問題,本節(jié)主要包括UML組成規(guī)則和UML公共機(jī)制兩大部分內(nèi)容,相信通過本節(jié)的學(xué)習(xí)你對(duì)UML組成一定會(huì)有全面的認(rèn)識(shí)。下面就是UML組成的具體介紹。
2、關(guān)系
UML模型的關(guān)系比較多,下圖
2.1 關(guān)聯(lián)關(guān)系
關(guān)聯(lián)(Association)表示兩個(gè)類之間存在某種語義上的聯(lián)系。關(guān)聯(lián)關(guān)系提供了通信的路徑,它是所有關(guān)系中最通用、語義最弱的。
在UML組成中,使用一條實(shí)線來表示關(guān)聯(lián)關(guān)系
在關(guān)聯(lián)關(guān)系中,有兩種比較特殊的關(guān)系:聚合和組合
聚合關(guān)系:聚合(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚合表示類之間的關(guān)系是整體與部分的關(guān)系
如果發(fā)現(xiàn)“部分”類的存在,是完全依賴于“整體”類的,那么就應(yīng)該使用“組合”關(guān)系來描述
組合是聚合的變種,加入了一些重要的語義。也就是說,在一個(gè)組合關(guān)系中一個(gè)對(duì)象一次就只是一個(gè)組合的一部分,“整體”負(fù)責(zé)“部分”的創(chuàng)建和破壞,當(dāng)“整體”被破壞時(shí),“部分”也隨之消失
聚合就像汽車和車胎,汽車壞了胎還可以用。組合就像公司和下屬部門,公司倒閉了部門也就不存在了!
2.2 泛化、實(shí)現(xiàn)與依賴
泛化關(guān)系描述了一般事物與該事物中的特殊種類之間的關(guān)系,也就是父類與子類之間的關(guān)系。
實(shí)現(xiàn)關(guān)系是用來規(guī)定接口和實(shí)現(xiàn)接口的類或組件之間的關(guān)系。接口是操作的集合,這些操作用于規(guī)定類或組件的服務(wù)。
有兩個(gè)元素X、Y,如果修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。
二、UML組成規(guī)則
命名:也就是為事物、關(guān)系和圖起名字。和任何語言一樣,名字都是一個(gè)標(biāo)識(shí)符
范圍:與類的作用域相似.
可見性:Public,Protected,Private,Package
三、UML組成公共機(jī)制
1、規(guī)格描述
在圖形表示法的每個(gè)部分后面都有一個(gè)規(guī)格描述(也稱為詳述),它用來對(duì)構(gòu)造塊的語法和語義進(jìn)行文字?jǐn)⑹觥_@種構(gòu)思,也就使可視化視圖和文字視圖的分離:
2、UML修飾與通用劃分
在為了更好的表示這些細(xì)節(jié),UML中還提供了一些修飾符號(hào),例如不同可視性的符號(hào)、用斜體字表示抽象類
UML通用劃分:
1)類與對(duì)象的劃分:類是一種抽象,對(duì)象是一個(gè)具體的實(shí)例
2)接口與實(shí)現(xiàn)的分離:接口是一種聲明、是一個(gè)契約,也是服務(wù)的入口;實(shí)現(xiàn)則是負(fù)責(zé)實(shí)施接口提供的契約
3、UML組成中擴(kuò)展機(jī)制
構(gòu)造型:在實(shí)際的建模過程中,可能會(huì)需要定義一些特定于某個(gè)領(lǐng)域或某個(gè)系統(tǒng)的構(gòu)造塊
標(biāo)記值則是用來為事物添加新特性的。標(biāo)記值的表示方法是用形如“{標(biāo)記信息}”的字符串
約束是用來增加新的語義或改變已存在規(guī)則的一種機(jī)制(自由文本和OCL兩種表示法)。約束的表示法和標(biāo)記值法類似,都是使用花括號(hào)括起來的串來表示,不過它是不能夠放在元素中的,而是放在相關(guān)的元素附近。
4、UML視圖和圖
圖名 功能 備注
類圖 描述類、類的特性以及類之間的關(guān)系 UML1原有
對(duì)象圖 描述一個(gè)時(shí)間點(diǎn)上系統(tǒng)中各個(gè)對(duì)象的一個(gè)快照 UML1非正式圖
復(fù)合結(jié)構(gòu)圖 描述類的運(yùn)行時(shí)刻的分解 UML2.0新增
構(gòu)件圖 描述構(gòu)件的結(jié)構(gòu)與連接 UML1原有
部署圖 描述在各個(gè)節(jié)點(diǎn)上的部署 UML1原有
包圖 描述編譯時(shí)的層次結(jié)構(gòu) UML中非正式圖
用例圖 描述用戶與系統(tǒng)如何交互 UML1原有
活動(dòng)圖 描述過程行為與并行行為 UML1原有
狀態(tài)機(jī)圖 描述事件如何改變對(duì)象生命周期 UML1原有
順序圖 描述對(duì)象之間的交互,重點(diǎn)在強(qiáng)調(diào)順序 UML1原有
通信圖 描述對(duì)象之間的交互,重點(diǎn)在于連接 UML1中的協(xié)作圖
定時(shí)圖 描述對(duì)象之間的交互,重點(diǎn)在于定時(shí) UML2.0新增
交互概觀圖 是一種順序圖與活動(dòng)圖的混合 UML2.0新增
本節(jié)關(guān)于UML組成方面的內(nèi)容介紹到這。
【編輯推薦】