您好,登錄后才能下訂單哦!
這篇文章主要介紹了UML組成元素有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、UML組成中構(gòu)造塊
1、構(gòu)造塊是對(duì)模型中***有代表性的成分的抽象
建模元素:UML中的名詞,它是模型基本物理元素。
行為元素:UML中的動(dòng)詞,它是模型中的動(dòng)態(tài)部分,是一種跨越時(shí)間、空間的行為。
分組元素:UML中的容器,用來(lái)組織模型,使模型更加的結(jié)構(gòu)化。
注釋元素:UML中的解釋部分,和代碼中的注釋語(yǔ)句一樣,是用來(lái)描述模型的。
1.1、建模元素
類(lèi)(class)和對(duì)象(object)
接口(interface)
主動(dòng)類(lèi)(active class)
用例(use case)
協(xié)作(collaboration)
構(gòu)件(component)
節(jié)點(diǎn)(node)
類(lèi)(class)和對(duì)象(object)
類(lèi)是對(duì)一組具有相同屬性、相同操作、相同關(guān)系和相同語(yǔ)義的對(duì)象的抽象
UML組成中類(lèi)是用一個(gè)矩形表示的,它包含三個(gè)區(qū)域,最上面是類(lèi)名、中間是類(lèi)的屬性、最下面是類(lèi)的方法
對(duì)象則是類(lèi)的一個(gè)實(shí)例 (object is a Instance of Class)
接口(interface)
接口是描述某個(gè)類(lèi)或構(gòu)件的一個(gè)服務(wù)操作集
主動(dòng)類(lèi)(active class)
主動(dòng)類(lèi)實(shí)際上是一種特殊的類(lèi)。引用它的原因,實(shí)際上是在開(kāi)發(fā)中需要有一些類(lèi)能夠起到 啟動(dòng)控制活動(dòng)的作用
主動(dòng)類(lèi)是指其對(duì)象至少擁有一個(gè)進(jìn) 程或線(xiàn)程,能夠啟動(dòng)控制活動(dòng)的類(lèi)
用例(use case)
UML組成中用例是著名的大師Ivar Jacobson首先提出的,現(xiàn)已經(jīng)成為了面向?qū)ο筌浖_(kāi)發(fā)中一個(gè)需求分析的最常用工具
用例實(shí)例是在系統(tǒng)中執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定執(zhí)行者可見(jiàn)的價(jià)值結(jié)果。一個(gè) 用例定義一組用例實(shí)例。
協(xié)作(collaboration)
協(xié)作定義了一個(gè)交互,它是由一組共同工作以提供某協(xié)作行為的角色和其他元素構(gòu) 成的一個(gè)群體。
對(duì)于某個(gè)用例的實(shí)現(xiàn)就可 以表示為一個(gè)協(xié)作
構(gòu)件(component)
UML組成中在實(shí)際的軟件系統(tǒng)中,有許多要比“類(lèi)”更大的實(shí)體,例如一個(gè)COM組件、一個(gè)DLL文件、一個(gè)JavaBeans、一個(gè)執(zhí)行文件等等。為了更好地對(duì)在UML模型中對(duì)它們進(jìn)行表示,就引入了構(gòu)件(也譯為組件)
構(gòu)件是系統(tǒng)設(shè)計(jì)的一個(gè)模塊化部分,它隱藏了內(nèi)部的實(shí)現(xiàn),對(duì)外提供了一組外部接口。在系統(tǒng)中滿(mǎn)足相同接口的組件可以自由地替換
節(jié)點(diǎn)(node)
為了能夠有效地對(duì)部署的結(jié)構(gòu)進(jìn)行建模,UML引入了節(jié)點(diǎn)這一概念,它可以用來(lái)描述實(shí)際的PC機(jī)、打印機(jī)、服務(wù)器等軟件運(yùn)行的基礎(chǔ)硬件
節(jié)點(diǎn)是運(yùn)行時(shí)存在的物理元素,它表示了一種可計(jì)算的資源,通常至少有存儲(chǔ)空間和處理能力
1.2、行為元素
交互(interaction): 是在特定語(yǔ)境中,共同完成某個(gè)任務(wù)的一組對(duì)象之間交換的信息集合
交互的表示法很簡(jiǎn)單,就是一條有向直線(xiàn),并在上面標(biāo)有操作名
狀態(tài)機(jī)(state machine):是一個(gè)對(duì)象或交互在生命周期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列
在UML模型中將狀態(tài)畫(huà)為一個(gè)圓 角矩形,并在矩形內(nèi)寫(xiě)出狀態(tài)名 稱(chēng)及其子狀態(tài)
1.3、分組元素
對(duì)于一個(gè)中大型的軟件系統(tǒng)而言,通常會(huì)包含大量的類(lèi),因此也就會(huì)存在大量的結(jié)構(gòu)事物、行為事物,為了能夠更加有效地對(duì)其進(jìn)行整合,生成或簡(jiǎn)或繁、或宏觀或微觀的模型,就需要對(duì)其進(jìn)行分組。在UML中,提供了“包(Package)”來(lái)完成這一目標(biāo)
1.4、注釋元素
結(jié)構(gòu)事物是模型的主要構(gòu)造塊,行為事物則是補(bǔ)充了模型中的動(dòng)態(tài)部分,分組事物而是用來(lái)更好地組織模型,似乎已經(jīng)很完整了。而注釋事物則是用來(lái)錦上添花的,它是用來(lái)在UML模型上添加適當(dāng)?shù)慕忉尣糠?/p>
2、關(guān)系
2.1 關(guān)聯(lián)關(guān)系
UML組成中關(guān)聯(lián)(Association)表示兩個(gè)類(lèi)之間存在某種語(yǔ)義上的聯(lián)系。關(guān)聯(lián)關(guān)系提供了通信的路徑,它是所有關(guān)系中最通用、語(yǔ)義最弱的。
在UML中,使用一條實(shí)線(xiàn)來(lái)表示關(guān)聯(lián)關(guān)系
在關(guān)聯(lián)關(guān)系中,有兩種比較特殊的關(guān)系:聚合和組合
聚合關(guān)系:聚合(Aggregation)是一種特殊形式的關(guān)聯(lián)。聚合表示類(lèi)之間的關(guān)系是整體與部分的關(guān)系
如果發(fā)現(xiàn)“部分”類(lèi)的存在,是完全依賴(lài)于“整體”類(lèi)的,那么就應(yīng)該使用“組合”關(guān)系來(lái)描述
組合是聚合的變種,加入了一些重要的語(yǔ)義。也就是說(shuō),在一個(gè)組合關(guān)系中一個(gè)對(duì)象一次就只是一個(gè)組合的一部分,“整體”負(fù)責(zé)“部分”的創(chuàng)建和破壞,當(dāng)“整體”被破壞時(shí),“部分”也隨之消失
聚合就像汽車(chē)和車(chē)胎,汽車(chē)壞了胎還可以用。組合就像公司和下屬部門(mén),公司倒閉了部門(mén)也就不存在了!
2.2 泛化、實(shí)現(xiàn)與依賴(lài)
泛化關(guān)系描述了一般事物與該事物中的特殊種類(lèi)之間的關(guān)系,也就是父類(lèi)與子類(lèi)之間的關(guān)系。
實(shí)現(xiàn)關(guān)系是用來(lái)規(guī)定接口和實(shí)現(xiàn)接口的類(lèi)或組件之間的關(guān)系。接口是操作的集合,這些操作用于規(guī)定類(lèi)或組件的服務(wù)。
有兩個(gè)元素X、Y,如果修改元素X的定義可能會(huì)引起對(duì)另一個(gè)元素Y的定義的修改,則稱(chēng)元素Y依賴(lài)(Dependency)于元素X。下面我們看一下第二個(gè)UML組成部分--規(guī)則。
二、UML組成規(guī)則
命名:也就是為事物、關(guān)系和圖起名字。和任何語(yǔ)言一樣,名字都是一個(gè)標(biāo)識(shí)符
范圍:與類(lèi)的作用域相似.
可見(jiàn)性:Public,Protected,Private,Package
三、UML組成中UML公共機(jī)制
1、規(guī)格描述
在圖形表示法的每個(gè)部分后面都有一個(gè)規(guī)格描述(也稱(chēng)為詳述),它用來(lái)對(duì)構(gòu)造塊的語(yǔ)法和語(yǔ)義進(jìn)行文字?jǐn)⑹?。這種構(gòu)思,也就使可視化視圖和文字視圖的分離 :
2、UML修飾與通用劃分
在為了更好的表示這些細(xì)節(jié),UML中還提供了一些修飾符號(hào),例如不同可視性的符號(hào)、用斜體字表示抽象類(lèi)
UML通用劃分:
1)類(lèi)與對(duì)象的劃分:類(lèi)是一種抽象,對(duì)象是一個(gè)具體 的實(shí)例
2)接口與實(shí)現(xiàn)的分離:接口是一種聲明、是一個(gè)契 約,也是服務(wù)的入口;實(shí)現(xiàn)則是負(fù)責(zé)實(shí)施接口提供 的契約
3、UML擴(kuò)展機(jī)制
這部分不容易描述,待改(邀月注 2009.2.18)
構(gòu)造型:在實(shí)際的建模過(guò)程中,可能會(huì)需要定義一些特定于某個(gè)領(lǐng)域或某個(gè)系統(tǒng)的構(gòu)造塊,標(biāo)記值則是用來(lái)為事物添加新特性的。標(biāo)記值的表示方法是用形如“{標(biāo)記信息}”的字符串
約束是用來(lái)增加新的語(yǔ)義或改變已存在規(guī)則的一種機(jī)制(自由文本和OCL兩種表示法)。約束的表示法和標(biāo)記值法類(lèi)似,都是使用花括號(hào)括起來(lái)的串來(lái)表示,不過(guò)它是不能夠放在元素中的,而是放在相關(guān)的元素附近。
4、UML視圖和圖
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“UML組成元素有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。