1 UML簡(jiǎn)介
1.1 UML是什么
UML,全稱為Unified Model Language,即統(tǒng)一建模語(yǔ)言,是由一整套圖表組成的,為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說(shuō)明、可視化和編制文檔的一種標(biāo)準(zhǔn)語(yǔ)言。UML 代表了一組最佳工程實(shí)踐,這些實(shí)踐已被證明在大型復(fù)雜系統(tǒng)的建模中是成功的。UML是開發(fā)面向?qū)ο筌浖蛙浖_發(fā)過(guò)程中非常重要的一部分。在嵌入式系統(tǒng)設(shè)計(jì)中,使用UML建模并書寫文檔,通常可以起到事半功倍的效果。
1.2 UML起源與發(fā)展
UML的出現(xiàn),起源于三位面向?qū)ο蟠髱煂?duì)各自方法的結(jié)合與統(tǒng)一:
- 由Booch創(chuàng)作的Booch方法
- 由Jacobson創(chuàng)作的OOSE、Martin/Odell方法
- 由Rumbaugh創(chuàng)造的OMT、Shlaer/Mellor方法
這些方法雖然各不相同,但共同的理念非常相似,三者結(jié)合,于1995年10月推出第一個(gè)名為“統(tǒng)一方法”的版本:Unified Method 0.8。
之后,又以名為“統(tǒng)一建模語(yǔ)言”的UML1.0版本提交到OMG組織(Object Management Group 對(duì)象管理組織),到1997年底OMG組織
正式采納UML1.1作為基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語(yǔ)言,UML1.1和UML 2.0(2005年發(fā)布)是UML歷史上兩個(gè)具有里程碑意義的版本。
1.3 UML中的各種圖
UML具有許多不同類型的圖表,包括:
- 靜態(tài)圖:用例圖、類圖、包圖
- 動(dòng)態(tài)圖:活動(dòng)圖、狀態(tài)圖、時(shí)序圖、協(xié)作圖
這些不同的圖,可以提供從不同的角度來(lái)描述系統(tǒng),因?yàn)榇笮偷能浖_發(fā)流程中除了程序員外,還有產(chǎn)品、設(shè)計(jì)、測(cè)試等人員,這些人都對(duì)系統(tǒng)的不同方面有不同關(guān)注,因此在建模時(shí)需要考慮不同的細(xì)節(jié)層次。
本篇文章,先來(lái)介紹UML類圖的基礎(chǔ)知識(shí)。
2 UML類圖實(shí)例
2.1 visio設(shè)計(jì)UML類圖
新建一個(gè)visio文件,打開后會(huì)自動(dòng)提示選擇創(chuàng)建某種類型的圖,這里選擇"軟件和數(shù)據(jù)庫(kù) ->UML類圖"
點(diǎn)擊確定之后,會(huì)進(jìn)入U(xiǎn)ML類圖的編輯界面,左側(cè)可以看到用于UML類圖編輯的基本元素:
將這些元素拖拽到右側(cè)的編解面板中,可以看到這些元素的基本結(jié)構(gòu)形式:
2.2 一個(gè)UML類圖實(shí)例
下面是一個(gè)UML類圖的實(shí)例:
- 動(dòng)物是一個(gè)抽象類,該類的一個(gè)子類是鳥類,鳥類又可以分出大雁、鴨、企鵝這些類,鴨類的一個(gè)子類是唐老鴨,這些屬于繼承關(guān)系
- 動(dòng)物類依賴氧氣和水,屬于依賴關(guān)系
- 翅膀是鳥的一部分,且翅膀不可獨(dú)立存在,屬于合成(或組合)關(guān)系
- 多只大雁聚集在一起形成雁群,屬于聚合關(guān)系
- 大雁可以飛翔,屬于接口(或?qū)崿F(xiàn))關(guān)系
- 企鵝'了解'氣候規(guī)律,屬于關(guān)聯(lián)關(guān)系
3 UML類圖元素介紹
下面具體介紹下UML類圖中的各個(gè)元素。
3.1 圖
UML類圖中的圖主要包括****類圖和 接口圖 。
3.1.1 類圖
**類圖是UML類圖中的主要元素,類圖的結(jié)構(gòu)包括3行: **
- 第1行:是類的名稱
- 第1行:是類的屬性,即類的各種成員變量
- 第1行:是類的方法,即類的各種成員函數(shù)
主:若類的名稱是斜體,表示這是個(gè)抽象類,比如這里的動(dòng)物
對(duì)于屬性和方法前面的符號(hào):
- +號(hào):共有類型,public
- -號(hào):私有類型,private
- #號(hào):保護(hù)類型,protect
3.1.2 接口圖
與類圖比較相似的是接口圖,與類圖最大的區(qū)別是頂端標(biāo)注有“<<接口>>”表示這是個(gè)接口圖,接口圖的接口只有兩行:
- 第1行:是接口的名稱
- 第1行:是接口的方法,即函數(shù)實(shí)現(xiàn)
注:接口圖還要另外一種“棒棒糖”表示法,圓圈的旁邊為接口名稱,接口方法的實(shí)現(xiàn)在類中實(shí)現(xiàn)
3.2 關(guān)系
圖之間的連接,通過(guò)各種關(guān)系線來(lái)連接,包括: 接口關(guān)系、依賴關(guān)系、繼承關(guān)系、合成關(guān)系、聚合關(guān)系、關(guān)聯(lián)關(guān)系 。
3.2.1 接口關(guān)系(實(shí)現(xiàn)關(guān)系)
接口關(guān)系,也稱實(shí)現(xiàn)關(guān)系,用帶****三角箭頭+虛線 ,箭頭指向接口的形式,表示類是接口所有特征和行為的實(shí)現(xiàn)
3.2.2 依賴關(guān)系
依賴關(guān)系,描述的是一種使用關(guān)系,即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助,用帶****普通箭頭+虛線 ,普通箭頭指向被使用者的形式表示
3.2.3 繼承關(guān)系(泛化關(guān)系)
繼承關(guān)系,也稱泛化關(guān)系,用帶****三角箭頭+實(shí)線 ,箭頭指向父類的形式,表示子類繼承父類的所有特征和行為
3.2.4 合成關(guān)系(組合關(guān)系)
合成關(guān)系,也稱組合關(guān)系,描述的是一種整體與部分的關(guān)系,且部分不能離開整體而單獨(dú)存在,用帶****實(shí)心菱形+實(shí)線 ,實(shí)心菱形指向整體的形式表示
3.2.5 聚合關(guān)系
聚合關(guān)系,描述的是整體與部分的關(guān)系,用帶****空心菱形+實(shí)線 ,空心菱形指向整體的形式表示
3.2.6 關(guān)聯(lián)關(guān)系
關(guān)聯(lián)關(guān)系,描述的是不同類的對(duì)象之間的結(jié)構(gòu)關(guān)系,用帶****普通箭頭+實(shí)線 ,箭頭指向被關(guān)聯(lián)者的形式表示。
雙向的關(guān)聯(lián)可以有兩個(gè)箭頭,或者沒(méi)有箭頭。單向的關(guān)聯(lián)有一個(gè)箭頭。
4 總結(jié)
本篇介紹了UML類圖的基礎(chǔ)知識(shí),包括2種和6種關(guān)系,并通過(guò)visio軟件,演示如何畫出一個(gè)UML類圖
審核編輯:湯梓紅
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3564瀏覽量
129224 -
UML
+關(guān)注
關(guān)注
0文章
122瀏覽量
30848 -
圖表
+關(guān)注
關(guān)注
0文章
25瀏覽量
8850
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論