1. UML基本介紹
- UML——Unified modeling language UML (統一模組化語言),是一種用于軟體系統分析和設計的語言工具,它用于幫助軟體開發人員進行思考和記錄思路的結果。
- UML本身是一套符号的規定,就像數學符号和化學符号一樣,這些符号用于描述軟體模型中的各個元素和他們之間的關系,比如類、接口、實作、泛化、依賴、組合、聚合等。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL3FkaOd3a65keNpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxgTM3MzN1ADM2EzNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
2. UML圖
UML圖分類:
- 用例圖(use case)
- 靜态結構圖:類圖、對象圖、包圖、元件圖、部署圖
- 動态行為圖:互動圖(時序圖與協作圖)、狀态圖、活動圖
3. UML類圖
- 用于描述系統中的類(對象)本身的組成和類(對象)之間的各種靜态關系。
- 類之間的關系:依賴、泛化(繼承)、實作、關聯、聚合與組合
3.1 類圖—依賴關系(Dependence)
隻要是在類中用到了對方,那麼他們之間就存在依賴關系。
- 類中用到了對方
- 如果是類的成員屬性
- 如果是方法的傳回類型
- 是方法接收的參數類型
- 方法中使用到
3.2 類圖—泛化關系(generalization)
泛化關系實際上就是繼承關系,他是依賴關系的特例。
3.3 類圖—實作關系(Implementation)
實作關系實際上就是A類實作B接口,他是依賴關系的特例。
3.4 類圖—關聯關系(Association)
關聯關系實際上就是類與類之間的聯系,他是依賴關系的特例。
關聯具有導航性:即雙向關系或單向關系。
關系具有多重性:如“1”(表示有且僅有一個),“0…”(表示0個或者多個),“0,1”(表示0個或者一個),“n…m”(表示n到 m個都可以),“m…*”(表示至少m個)。
3.5 類圖—聚合關系(Aggregation)
聚合關系(Aggregation)表示的是整體和部分的關系,整體與部分可以分開。聚合關系是關聯關系的特例,是以他具有關聯的導航性與多重性。
如:一台電腦由鍵盤(keyboard)、顯示器(monitor),滑鼠等組成;組成電腦的各個配件是可以從電腦上分離出來的,使用帶空心菱形的實線來表示。
3.6 類圖—組合關系(Composition)
組合關系:也是整體與部分的關系,但是整體與部分不可以分開。 再看一個案例:在程式中我們定義實體:Person與IDCard、Head, 那麼 Head 和 Person 就是 組合,IDCard 和 Person 就是聚合。
但是如果在程式中Person實體中定義了對IDCard進行級聯删除,即删除Person時連同IDCard一起删除,那麼IDCard 和 Person 就是組合了。