一、概述
類圖在軟件建模中的作用:
在軟件空間中建立一個對問題空間的概念及關系的抽象印象
建立功能處理邏輯的靜態模型
軟件設計的基礎
數據庫設計的基礎
類圖在軟件建模中起着十分重要的作用,是軟件模型的核心和基礎
二、對象與實例
實例是類元中的一個元素,類元是實例的集合
類是一種類元;對象是類的實例
三、類元與類
類元是對聚集一組具有共同特征的實例的模型元素的通稱
類、接口、用例、參與者、關聯等都屬於類元
類的一般表示
簡化表示:
縮略表示:
類名:
- 名詞或名詞短語
- 竟可能明確剪短,避免使用抽象、無意義的名詞
- 英文首字母大寫
- 可分為簡單類名和帶限定名的類名
實體類表示客觀實體
界面類表示交互界面,比如登入界面
控制類表示系統處理過程。名字用動詞或動詞短語表示
屬性:描述類所表示事務的靜態特征
關聯屬性也叫偽屬性,作用是在類中標識與其存在關聯關系的其他類
操作:描述類所表示事務的動態性質
四、關聯關系
通俗含義:表示事務之間存在的內在的角色牽連關系
本質含義:用來表示存在內在角色聯系的類元中實例之間的連接關系
關聯本身是一種類元,關聯的實例被稱為鏈
多重性:
關聯類:把關聯信息通過類的形式描述出來,被稱為關聯類
限定關聯:通過限定符來規定關聯的限定關系
派生關聯:通過其他關聯得到的關聯,角色名前加/
關聯的種類:
一元(自反)關聯
二元關聯
多元關聯
五、組成關系
(1)概述
組成關系:描述事物之間整體與部分的關系
組成關系的特性:傳遞性(A是B的組成部分,B是C的組成部分,則A是C的組成部分)、不可逆性(A是B的組成部分,則B不是A的組成部分)
(2)聚集
聚集:整體與部分的關系是松散組成
(3)組合
組合:整體與部分的關系是緊密組成
(4)聚集於組合的區別
- 聚集松散,組合緊密
- 一個部分事務對象可以屬於多個狙擊對象,但一個部分事務對象僅能屬於一個組合對象
- 聚集的對象生命周期可以不同,但組合對象則是同存同亡
(5)組成與關聯的關系
- 與關聯一樣,組成關系是類元,其實例也是鏈
- 組成關系是有向關系,關聯是無向關系
- 組成關系的多重性,整體乙方的多重性只能是0...1
- 組成是一種特殊的關聯關系
六、泛化關系
(1)泛化的概念
泛化:泛化具有抽象、概括和超越的意思。反應事物之間的特殊與一般關系
泛化與繼承描述事物之間的同一種關系->父類與子類
(2)泛化的表示
(3)泛化的特性
傳遞性
不可逆性
反自反性:類元,不能和自己存在泛化
繼承性
單項擁有性:子類知道自己的父類,但父類不知道哪個是自己的子類
(4)泛化的作用
特征抽象
分層分類
特征重用
(5)泛化與分類
分類是泛化的基礎
(6)單繼承與多繼承
一個子類只有一個父類的被稱為單繼承
一個子類有多個父類的被稱為多繼承
多繼承轉化為單繼承,可用接口代替繼承
七、依賴關系
(1)依賴的概念
模型元素之間的一種有向關系,表示一個模型元素在其語義或結構上依賴於另一個元素
(2)依賴的表示
(3)依賴的類型
八、接口
(1)接口的概念
接口是一種類元,聚集了一組需要通過其他類元氏縣的公共的操作和屬性
接口只是定義一組操作的規約,並不實現這組操作,接口所定義的操作需要通過另外一個類園來實現
(2)接口的表示
(3)接口的特性
- 接口只聲明操作,不提供操作的實現,需要由另一個類來實現接口聲明的操作
- 接口雖然是類元,但接口沒有實例
- 接口不但可以聲明操作,也可以聲明屬性
- 接口聲明的操作和屬性的可見性是公開的,為public
(4)接口的類型
供口:提供接口被其他元素訪問
需口:需要訪問到的接口
(5)接口的實現
(6)接口的泛化
九、類圖
(1)類圖的概念
類圖是由類,相關建模元素,及其關系構成的圖,用來描述類之間的靜態關系
類圖在系統中處在核心位置,也是UML中最為重要的一種圖
(2)類圖的抽象層次
概念層
邏輯層
實現層
(3)建立類圖
十、對象圖
(1)對象圖的概念
對象圖標書類圖在某一時刻,個各類中的對象相互之間的關系,性黨羽對類圖在某時刻的一個快照。
同一類圖,不同時刻的對象圖不一樣
(2)對象圖的表示
(3)對象圖的作用
- 初期分析工具
- 模擬業務場景
- 模擬運行場景
十一、注意
對象類是可以實例化為對象的類
抽象類不能產生實例的類
類圖是用來描述系統資源和要素相互之間的靜態結構關系
類圖可以用於:業務模型、需求模型、設計模型
類的三種類型:界面類,實體類,控制類
類的四種關系:
關聯:表示類與對象之間的鏈接關系
組成(聚集和組合):表示事物之間的整體和部分關系
泛化:表示事物的一般和特殊關系
依賴:事物之間的因果關系
類圖的抽象層次:
概念層:需求建模
邏輯層:邏輯建模
設計層:設計建模
類可以優化,分解