What is class diagram?
類別圖是甚麼?
物件資料結構塑模
- 定義
類別
- 表示符號
- 間的關係
- 符號為
- 相依關係
- 一般化關係
- 關聯關係
- 實現化關係
- 屬性與操作的可視符號
物件
- 間的關係
類別與物件
- 關係
- 隱喻
物件圖
- 元件
類別圖
- 定義
- 元件
- 執行觀點
- 實作觀點
- 三個模型
- 使用案例發展類別圖的步驟
物件資料結構塑模
定義
類別
類別表示符號
介面:名稱前一行加<<interface>>類別間的關係
即類別間的連結,其表示符號為:
類別間的關係種類
- 表示使用的關係。例子:視窗類別使用事件類別。a類別的方法定義有b類別,例子:public Operation Create()。
- a使用b,則b改變會影響其他類別
- 父類別與子類別的關係(有繼承關係
- 又叫is-a關係,舉例superman is a kind of person ,即superman 類別繼承至person 父類別。
- 子類別相似處一般化為父類別
- 父類別延伸出子類別稱之為特殊化
- 圖形表示法,子類別指向父類別,記憶法:手指指向討人厭的父親
- 類別間的靜態結構關係
- 又叫has-a關係,即class a 的宣告包含class b的型別
- 一類別知道另一類別存在,或一類別使用另一類別的服務
- 例如:訂單有(動詞)產品資訊,箭頭方向可找到關聯資訊
- 或換句話說訂單為產品資訊的主人(名詞,角色)
類別的屬性與操作可視符號
- + 系統(程式碼)中所有的類別可以存取
- - 同一個類別才可以存取
- # 繼承的類別才可以存取
- ~ 表示同一個套件的類別可以存取
關於記憶類別圖函數寫法的補充
類別圖中的函數寫法(跟sql create table 裡的先寫欄位空格後,再寫型別的順序一樣)
- 例子:函數名稱:string ,<函數名稱>:<回傳值型別>
- <屬性名稱>:<型別>
物件
物件間的關係
- 靜態關係: 物件知道另一個物件的存在,或物件使用另一個物件的服務(物件不會改變另一個物件)
- 動態關係:兩個物件相互溝通
類別與物件
關係
- 類別是一種物件導向程式設計的概念,它可以讓開發者描述其結構,將相關的資料和方法封裝在一起,以便更好地組織和管理程式碼
- 類別描述物件之結構(從大的描述),且定義物件之屬性(從小的描述)。
- 屬性描述類別之特性與特徵,方法描述類別之行為。
- 物件為類別之執行個體。
關係隱喻
- 類別是模具。用松鼠蛋糕的模子(類別),做出一個個松鼠蛋糕(物件)。
- 物件是產品
物件圖
元件
- 物件
- 連結線
表示
- 一個系統於某一個時間點的靜態結構
類別圖
定義
元件
- 類別
- 類別間的關係
執行觀點
- 永存類別:須將資料存到資料庫
- 暫存類別:不須將資料存到資料庫
實作觀點
- 實體類別:可以是永存類別或暫存類別,大部分是永存類別
- 介面類別:程式結束後,刪除介面物件,所以是暫存類別
- 控制類別:送訊息到其他類別。程式結束後,刪除控制物件,所以是暫存類別
- 口訣:屍體用介面控制
三個模型
領域模型(Domain model)
- 是一種類別圖。描述特定領域的靜態結構
- 有助開發者知道領域的重要概念與實體
- 常用於需求分析階段的建立,是與領域專家合作的結果
概念模型(conceptual model)
- 描述系統整體架構,不關注細節
- 有助捕捉系統的概念和之間的關係
- 用於讓相關者理解系統核心概念
分析模型(analysis model)
- 了解系統需求,為設計階段做準備的類別圖。含有類別、屬性、操作與關係
- 有助於建立系統的靜態結構,滿足特定需求
- 用於系統分析階段
Comments
Post a Comment