成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

技術分享 利用UML類圖進行系統建模

開發(fā) 架構
UML類圖有很多值得學習的地方,這里向大家簡單介紹一下如何利用UML類圖進行系統建模,希望通過本文的學習你對UML類圖的使用有深刻的認識。

本文和大家重點討論一下如何利用UML類圖進行系統建模,統一建模語言(UML)是用于系統建模的一種半形式化標準,該語言兼具嚴格性和靈活性特點,可以對系統的不同層面進行描述。

如何利用UML類圖進行系統建模

統一建模語言(UML)是用于系統建模的一種半形式化標準,該語言兼具嚴格性和靈活性特點,可以對系統的不同層面進行描述。本文以一個電源子系統為例,介紹了UML類的定義和對象之間的關系,以及通過UML類圖對系統進行建模的方法。

統一建模語言(UML)是一種用于系統建模的半形式化標準。其十分嚴格的特點能滿足可執(zhí)行性要求,同時又具有靈活性,能實現對系統各個層面的描述。在最基本的情況下,UML能描述一個系統的結構模型及系統內部的協作行為,以及系統對象和系統組件的具體行為規(guī)范。

類與UML類圖

類是指某組對象的低層結構和行為規(guī)范。類定義了對象的屬性(數據元)和方法(成員函數),類還可以通過狀態(tài)圖或活動圖來說明其實例如何響應各類事件。
形象地說,如果一個類是“切餅機”,那么其對象便是“餅”。一個對象是某個類的實例,例如3.14159是浮點數類型的實例。一個特定類的所有對象具有相同的數據結構和行為,盡管它們的屬性值可能互不相同。

當我們希望描述一個系統的某些結構特性時,通常會從它的通用特征開始,如系統各個組成部分在設計時的各種特性以及它們之間的相互關系,而不是運行時某一具體時刻的系統結構。因此,我們通常會把系統結構抽象成為多個相互關聯的類,并且知道在運行中各時刻這些類的實例未必一定存在。如果我們希望獲得系統在某一瞬間的狀態(tài),便需要采用對象。

圖1所示為一個以電池和太陽能電池板構成的供電系統,該圖是一個典型UML類圖,圖中小方框表示不同的類。“電源子系統”類代表一個子系統,該子系統是一個大的結構對象,它包含了提供子系統功能的小對象。PowerClient類和Knob類以“標準形式”顯示,而Light類除了名字外,還顯示了它的某些屬性和方法,其屬性為分類色彩和亮度,相應的枚舉類型為COLOR_TYPE和整數(int)。在Light類的底部列出了獲得可能返回值和參數的方法。DisplayThread是一個特殊的類,該類的實例在其自己的線程內運行。DisplayThread類包含了一個Light類的實例,它也在DisplayThread對象的線程中運行。

通常,一個系統的結構模型由一組UML類圖構成,一些UML類圖表示子系統的結構,其中主要單元是大的對象,例如子系統和部件,另一些UML類圖集中描述任務結構,并以活動對象為主(但也可描述系統旗語和事件隊列)。其余的UML類圖描述類之間的協作結構,即對象是如何協同工作來實現系統級行為或模型構成,并主要描述各個模型包及其相互關系。上面這些UML類圖都是描述同一系統結構的不同方面。

對象關系

對象只是系統的組成部分,它們必須與其它對象進行協作來實現系統功能,因此需要在對象之間建立鏈接(通常采用C或C++的指針),以便調用服務或相互發(fā)送事件(event)。這在UML類圖中表現為類之間的關聯,在圖1中示出了三個不同的關聯,不帶箭頭的線表示常規(guī)關聯。這些類之間的關聯表示在運行過程中它們可能是實例對象之間的活動鏈接,并可在對象間調用服務。標有單向箭頭的地方表示信息流只有一個方向。

線上的空心菱形(例如SolarPanel和PositionSensor類之間的菱形)表明一個聚集,它代表了一種整體與局部的關聯形式。聚集的增強形式稱為組合體,采用實心菱形(如電源子系統和SolarPanel之間)或將一個類嵌套在另一個類中(如電源子系統和電池之間)來表示。組合體是整體與局部的關聯,但同時也表明整體類負責各部分對象的創(chuàng)建和解除。
對于各種關聯還可以表示其多重性,即運行時可充當某一角色的類的實例數。例如,你會發(fā)現只有一個Knob對象與每個PowerClient對象關聯。另一方面,每個電源子系統實例可與0個或多個(用*表示)SolarPanel實例關聯。對于嵌套的符號,在部件類的左上角示出了部件的多重性。例如,電源子系統擁有兩個電池對象。

除了關聯之外,UML還定義了其它的類間關系。最常見的一個是“判定”,即“is-a”關系,例如PowerClient(廣義的)和Light(具體的)間的關系(即Light是一種PowerClient)。從語義上來講,“判定”確保Light類同樣具有所有PowerClient類的屬性、操作及關聯。Light類可重新定義PowerClient類中定義的操作,同時也可定義新的屬性和操作。例如,Light類與Knob類有關聯,因為它的父類PowerClient中定義了這一關聯。

此外,圖中還定義了“正確性規(guī)則”約束,這是系統的類和關聯中沒有定義的系統語義。在本文例舉的UML類圖中,我們需要規(guī)定在同一時刻,只能是電池或太陽能電池板之一供電,而不能兩者同時供電。約束是用來描述系統的非功能性特征(通常稱為QoS,服務質量),例如方法的最差及平均性能、功能等。

UML是用于描述系統不同層面的一個功能強大的建模語言,其UML類圖是一種靈活的圖形符號,能清楚地表示出不同抽象程度下的系統結構。UML所描述的系統層面主要包括系統結構單元,以及從如何支持協作、所涉及的實例數量來描述的結構單元之間的相互關系。附加約束可讓開發(fā)人員更方便地描述系統結構的特殊情況以及結構限制。

【編輯推薦】

  1. UML類圖和對象圖概念及其區(qū)別解析
  2. UML基礎 解析UML類圖和對象圖
  3. 學習筆記 解析UML建模工具-Rational Rose
  4. 經驗總結 在UML類圖中表示Java繼承和接口
  5. UML類圖關系中關聯、依賴、聚集等關系的異同

 


 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-06-09 09:29:18

UML類圖

2010-07-07 18:00:44

UML類圖建模

2010-07-09 15:19:58

UML類圖建模

2010-06-30 14:37:20

UML類圖

2010-06-29 14:51:26

UML建模技術

2010-07-09 16:54:47

UML類圖

2010-06-29 16:27:06

UML業(yè)務建模實例

2010-07-12 09:37:26

UML建模

2010-06-09 10:53:28

UML類圖

2010-06-13 17:48:36

UML面向對象建模

2010-07-09 09:00:22

UML建模

2010-07-02 12:22:53

UML對象圖

2010-07-07 18:11:13

UML對象圖

2010-06-30 14:24:02

UML類圖建模

2010-06-13 17:56:49

UML面向對象

2010-06-30 17:36:58

UML用例圖

2010-07-01 17:05:34

UML包圖

2010-07-12 11:23:09

UML類圖

2010-06-10 14:17:19

UML建模語言

2010-06-30 14:46:49

UML類圖
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 依人成人 | 国产美女黄色片 | 日韩欧美中文 | 日韩福利 | 欧美成年黄网站色视频 | 操一草 | 午夜久久久 | 97视频在线观看网站 | 久久久成人一区二区免费影院 | 久久成人国产精品 | 国产成人在线播放 | 国产99久久精品一区二区永久免费 | 日韩午夜影院 | а_天堂中文最新版地址 | 亚洲综合视频 | 欧美一级片在线观看 | 国产成人短视频在线观看 | 婷婷国产一区 | 久久久久久久久一区 | 99精品视频在线观看 | 九色国产| 成人免费在线视频 | 久久久久久天堂 | 欧美一级淫片免费视频黄 | 久久精品国产99国产 | 激情五月综合 | 亚洲一区精品在线 | www.一级毛片 | 福利视频网址 | 一级免费黄色 | 国产一级免费视频 | 成人精品一区二区 | 国产精品区二区三区日本 | 亚洲另类自拍 | 国产视频不卡一区 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 一区视频 | 国产一级片免费看 | 日韩精品视频在线免费观看 | 精品视频在线观看 | 国产精品99久久久久久久久久久久 |