類圖和物件圖
類圖和物件圖
1. 類的屬性
[可見性] 屬性名 [:型別] [’['多重性 [次序] ‘]’] [=初始值] [{特性}]
可見性:Java也叫訪問控制 屬性名:personNumber
型別:基本資料型別或使用者自定義型別(類)
多重性:如1…*表示該屬性值有一個或多個,還可以是有序的(用ordered指明)
約束特性:changeable(可變的); addOnly(只可加); Frozen(凍結的);
作用域:具有類作用域的屬性 – Java的靜態變數或類變數
具有物件作用域的屬性 – 非靜態變數或例項變數
2. 類的操作
[可見性] 操作名 [(引數列表)] [:返回型別] [{約束特性}]
操作名:setValue
約束特性:文字串(說明操作的一些有關資訊)
操作介面:操作名、引數列表和返回型別組成操作介面
操作的實現:操作的具體實現叫方法
類的職責:屬性和操作(形式化描述) – 職責(非形式化描述)
3. 類之間的關係
(1)關聯關係:關聯(Association)關係是類與類之間最常用的一種關係 – 是一種結構化關係 – 用於表示一類物件與另一類物件之間有聯絡 – 如汽車和輪胎、班級和學生等等用Java等實現關聯關係時通常將一個類的物件作為另一個類的成員變數
●雙向關聯:一條實線或者實線雙向箭頭
●單向關聯:實線單向箭頭
●自關聯;
●多重性關聯;
●聚合關係;:空心稜形實線箭頭
●組合關係:實心稜形實線箭頭
(2)依賴關係:依賴(Dependency)關係是一種使用關係–大多數情況下–依賴關係體現在某個類的方法使用另一個類的物件作為引數 – 駕駛員開車–在Driver類的drive( )方法中將Car型別的物件car作為一個引數傳遞 – 以便在drive( )方法中能夠呼叫car的move( )方法–且駕駛員的drive( )方法依賴車的move( )方法–因此類Driver依賴類Car
符號:虛線箭頭
(3)泛化關係:泛化(Generalization)關係也就是繼承關係 – 用於描述父類與子類之間的關係–父類又稱作基類或超類–子類又稱作派生類
符號:實線空心三角形箭頭
4. 類版型
實體類:儲存需要放進持久儲存體(資料庫-檔案等)的資訊–通常實體類在資料庫中有 相應的表(實體的屬性對應表的欄位) – 但不一定一一對應
邊界類:位於系統與外界的交界處-它是系統內的物件和系統外的參與者的聯絡媒介 窗體-對話方塊-報表-表示通訊協議-直接與外部裝置(如印表機和掃描器)互動的類-直接與外部系統互動的類等都是邊界類的例子
控制類:協調邊界類和實體類之間的互動–如果用例邏輯比較簡單可以不用控制類而 直接利用邊界類來操作實體類實現業務邏輯
引入邊界類-控制類-實體類的概念-有助於分析人員和設計人員確定系統中的類;一般按下面的BEC模式進行分析和設計。
BEC模式:將物件分為三類–邊界物件-控制物件-實體物件
●參與者只能與邊界物件互動
●每個用例可以對應生成一個控制類
●實體物件一般不能傳送訊息給邊界物件和控制物件(返回訊息除外)
5. 類圖
類及其關係–構成類圖–描述的是類和類之間的靜態關係;在軟體開發的不同階段使用的類圖具有不同的抽象層次。
領域模型–從物件導向的視角看待現實世界–主要工作是找出相關類–然後明確它們的關係–必要時加入一些多重性描述和業務規則–不涉及具體語言
分析模型–從領域模型將得到實體類–對軟體系統進行分析–可以得到邊界類;描述的是軟體的介面–不是軟體的實現–最利於開發者使用和交流的類圖
設計模型–加入了抽象類–介面等設計元素–加入了設計模式等–描述了類的實現細節-可以直接對映到可執行程式碼–因此–涉及具體語言和設計模式等
6. 物件圖
表示一組物件及它們之間的聯絡–是系統的詳細狀態在某一時刻的快照;常用於表示複雜的類圖的一個例項;
物件是類的例項–物件之間的鏈是類之間的關聯的例項–因此–物件圖實質上是具有關聯關係的類圖的例項。
相關文章
- 【UML之物件圖VS類圖】物件
- 看懂UML類圖和時序圖時序圖
- 物件圖物件
- UML 剖析(2) —— 類圖關聯和時序圖時序圖
- iOS啟動圖和開屏廣告圖,類似網易iOS
- UML類圖(上):類、繼承和實現繼承
- 物件和類物件
- 類和物件物件
- 從 Java 程式碼逆向工程生成 UML 類圖和序列圖Java
- Astah 使用 流程圖、類圖、時序圖AST流程圖時序圖
- Javascript 設計模式之物件導向與 UML 類圖JavaScript設計模式物件
- UMI類圖
- 圖書管理系統類圖
- Scala 類和物件物件
- Java 物件和類Java物件
- 類和物件(中)物件
- Java 類和物件Java物件
- Java物件和類Java物件
- scala類和物件物件
- 類和物件案例物件
- 專案類圖
- js 建立圖片物件JS物件
- 物件記憶體圖物件記憶體
- c++類和物件C++物件
- 認識類和物件物件
- 【Kotlin】類和物件Kotlin物件
- 6.類和物件物件
- C++ 類和物件C++物件
- 複習JAVA面相物件(類和物件)Java物件
- 圖書管理系統設計類圖
- C++類和物件是什麼?C++類和物件詳解C++物件
- 第10章 物件和類——物件和類(六) 抽象資料型別物件抽象資料型別
- [全程建模]UML工具的反工和程式碼類圖時序圖的作用時序圖
- 物件導向與UML圖物件
- UML類圖詳解
- UML類圖總結
- 圖片切割工具類
- git命令分類圖Git