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

UML狀態圖和Petri網絡在類測試用例生成的應用
編寫電視類TV,UML類圖和說明
基于UML的考試管理系統設計

詳解Oracle中XMI開發UML圖表技術

UML類圖之間的關系

什么是UML圖?常見的UML圖工具有哪些?

UML類圖符號等詳細介紹

評論