學(xué)習(xí)筆記 UML建模技術(shù)的組成部分
UML建模技術(shù)組成,三部分:構(gòu)造塊、規(guī)則、公共機制。
一、構(gòu)造塊
1、構(gòu)造塊是對模型中***有代表性的成分的抽象
建模元素:UML中的名詞,它是模型基本物理元素。
行為元素:UML中的動詞,它是模型中的動態(tài)部分,是一種跨越時間、空間的行為。
分組元素:UML中的容器,用來組織模型,使模型更加的結(jié)構(gòu)化。
注釋元素:UML中的解釋部分,和代碼中的注釋語句一樣,是用來描述模型的。
1.1、UML建模技術(shù)元素
類(class)和對象(object)
接口(interface)
主動類(activeclass)
用例(usecase)
協(xié)作(collaboration)
構(gòu)件(component)
節(jié)點(node)
類(class)和對象(object)
類是對一組具有相同屬性、相同操作、相同關(guān)系和相同語義的對象的抽象
UML中類是用一個矩形表示的,它包含三個區(qū)域,最上面是類名、中間是類的屬性、最下面是類的方法
對象則是類的一個實例(objectisaInstanceofClass)
接口(interface)
接口是描述某個類或構(gòu)件的一個服務(wù)操作集
主動類(activeclass)
主動類實際上是一種特殊的類。引用它的原因,實際上是在開發(fā)中需要有一些類能夠起到啟動控制活動的作用
主動類是指其對象至少擁有一個進程或線程,能夠啟動控制活動的類
用例(usecase)
用例是著名的大師IvarJacobson首先提出的,現(xiàn)已經(jīng)成為了面向?qū)ο筌浖_發(fā)中一個需求分析的最常用工具
用例實例是在系統(tǒng)中執(zhí)行的一系列動作,這些動作將生成特定執(zhí)行者可見的價值結(jié)果。一個用例定義一組用例實例。
協(xié)作(collaboration)
協(xié)作定義了一個交互,它是由一組共同工作以提供某協(xié)作行為的角色和其他元素構(gòu)成的一個群體。
對于某個用例的實現(xiàn)就可以表示為一個協(xié)作
構(gòu)件(component)
在實際的軟件系統(tǒng)中,有許多要比“類”更大的實體,例如一個COM組件、一個DLL文件、一個JavaBeans、一個執(zhí)行文件等等。為了更好地對在UML模型中對它們進行表示,就引入了構(gòu)件(也譯為組件)
構(gòu)件是系統(tǒng)設(shè)計的一個模塊化部分,它隱藏了內(nèi)部的實現(xiàn),對外提供了一組外部接口。在系統(tǒng)中滿足相同接口的組件可以自由地替換
節(jié)點(node)
為了能夠有效地對部署的結(jié)構(gòu)進行建模,UML引入了節(jié)點這一概念,它可以用來描述實際的PC機、打印機、服務(wù)器等軟件運行的基礎(chǔ)硬件
節(jié)點是運行時存在的物理元素,它表示了一種可計算的資源,通常至少有存儲空間和處理能力
1.2、行為元素
交互(interaction):是在特定語境中,共同完成某個任務(wù)的一組對象之間交換的信息集合
交互的表示法很簡單,就是一條有向直線,并在上面標(biāo)有操作名
狀態(tài)機(statemachine):是一個對象或交互在生命周期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列
在UML模型中將狀態(tài)畫為一個圓角矩形,并在矩形內(nèi)寫出狀態(tài)名稱及其子狀態(tài)。下面我們看一下UML建模技術(shù)的分組元素。
1.3、分組元素
對于一個中大型的軟件系統(tǒng)而言,通常會包含大量的類,因此也就會存在大量的結(jié)構(gòu)事物、行為事物,為了能夠更加有效地對其進行整合,生成或簡或繁、或宏觀或微觀的模型,就需要對其進行分組。在UML中,提供了“包(Package)”來完成這一目標(biāo)
1.4、注釋元素
結(jié)構(gòu)事物是模型的主要構(gòu)造塊,行為事物則是補充了模型中的動態(tài)部分,分組事物而是用來更好地組織模型,似乎已經(jīng)很完整了。而注釋事物則是用來錦上添花的,它是用來在UML模型上添加適當(dāng)?shù)慕忉尣糠帧?p#
2、UML建模技術(shù)關(guān)系
2.1 關(guān)聯(lián)關(guān)系
關(guān)聯(lián)(Association)表示兩個類之間存在某種語義上的聯(lián)系。關(guān)聯(lián)關(guān)系提供了通信的路徑,它是所有關(guān)系中最通用、語義最弱的。
在UML中,使用一條實線來表示關(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)系來描述
組合是聚合的變種,加入了一些重要的語義。也就是說,在一個組合關(guān)系中一個對象一次就只是一個組合的一部分,“整體”負(fù)責(zé)“部分”的創(chuàng)建和破壞,當(dāng)“整體”被破壞時,“部分”也隨之消失
聚合就像汽車和車胎,汽車壞了胎還可以用。組合就像公司和下屬部門,公司倒閉了部門也就不存在了!
2.2 泛化、實現(xiàn)與依賴
泛化關(guān)系描述了一般事物與該事物中的特殊種類之間的關(guān)系,也就是父類與子類之間的關(guān)系。
實現(xiàn)關(guān)系是用來規(guī)定接口和實現(xiàn)接口的類或組件之間的關(guān)系。接口是操作的集合,這些操作用于規(guī)定類或組件的服務(wù)。
有兩個元素X、Y,如果修改元素X的定義可能會引起對另一個元素Y的定義的修改,則稱元素Y依賴(Dependency)于元素X。UML建模技術(shù)的第二組成部分。
二、規(guī)則
命名:也就是為事物、關(guān)系和圖起名字。和任何語言一樣,名字都是一個標(biāo)識符
范圍:與類的作用域相似.
可見性:Public,Protected,Private,Package。下面我們看一下UML建模技術(shù)的公共機制。
三、UML公共機制
1、規(guī)格描述
在圖形表示法的每個部分后面都有一個規(guī)格描述(也稱為詳述),它用來對構(gòu)造塊的語法和語義進行文字?jǐn)⑹?。這種構(gòu)思,也就使可視化視圖和文字視圖的分離:
2、UML修飾與通用劃分
在為了更好的表示這些細節(jié),UML中還提供了一些修飾符號,例如不同可視性的符號、用斜體字表示抽象類
UML通用劃分:
1)類與對象的劃分:類是一種抽象,對象是一個具體的實例
2)接口與實現(xiàn)的分離:接口是一種聲明、是一個契約,也是服務(wù)的入口;實現(xiàn)則是負(fù)責(zé)實施接口提供的契約
3、UML擴展機制
這部分不容易描述,待改(邀月注 2009.2.18)
構(gòu)造型:在實際的建模過程中,可能會需要定義一些特定于某個領(lǐng)域或某個系統(tǒng)的構(gòu)造塊
標(biāo)記值則是用來為事物添加新特性的。標(biāo)記值的表示方法是用形如“{標(biāo)記信息}”的字符串
約束是用來增加新的語義或改變已存在規(guī)則的一種機制(自由文本和OCL兩種表示法)。約束的表示法和標(biāo)記值法類似,都是使用花括號括起來的串來表示,不過它是不能夠放在元素中的,而是放在相關(guān)的元素附近。
【編輯推薦】
- UML建模技術(shù)的三大組成部分
- UML實例教程 圖書管理系統(tǒng)中UML建模分析與設(shè)計
- 利用UML建模技術(shù)建立圖書館個性化推送系統(tǒng)模型
- UML建模時需要注意的四大問題
- 解析九大UML建模圖形用法