【UML入門教程】——靜態結構(下):類圖
【類圖——理論基礎篇】
【功能】
描述系統的靜態部分。不僅定義系統中的類,表示類之間的聯絡(關聯、依賴、泛化,實現),也包括類的內部結構(類的書寫和操作)。
【包含元素】
類、關係。
1.什麼是類呢?
類=類名+屬性(可隱藏)+方法(可隱藏)
屬性:物件的性質與物件之間的關係的統稱。事務的形狀、顏色、氣味等是事務的性質。大於、小於、朋友、矛盾等是事務的關係。任何屬性都是屬於某種物件的。
比如說狗類,狗身上都有狗毛,狗毛就是狗自身的屬性;小狗能吃、喝……,這些都是小狗能夠進行的操作,稱為方法。
屬性的可見性常分為:+:Public(公有) -:Private(私有) #:Protected(保護)
在rose中的顯示
2.類圖涉及的關係
關聯、依賴、泛化、實現。類的關係是類圖的核心與精華。
詳情可參照:【UML入門教程】——UML關係
【類圖——實踐篇:機房收費系統】
【畫圖步驟】
1)識別出類
抽象出來的類一定要跟系統有密切聯絡。
開始對機房劃分類的時候,不知道從什麼角度劃分。後來經過查詢資料,發現大部分的類是由名詞或者動詞構成。所以自己想試著從兩個角度來劃分類:功能,物件(此處的物件不為類的例項化,為人名或事物名,純名詞)。畫了兩個圖,發現大同小異。很多時候,名字只是個形式,還是古語說的好:萬變不離其宗。
2)識別出類的主要屬性
個人認為此處的屬性主要跟資料表有很大的關聯。
大部分都是主鍵或者外來鍵充當屬性。另外屬性跟操作是相對應的。操作需要呼叫的資料庫表中的欄位,就是此處的屬性。
例如 操作 退卡(), 需要驗證卡號是否可用,驗證是否正在上機,所以我們要進行這些操作之前要了解的 屬性是 學生卡號、卡使用狀態(可否使用)、學生線上狀態(是否上機)。
3)描繪出類之間的關係
這個還是要參考UML的四大關係。四大關係中依賴就是使用,關係強度最弱。
關聯是整體和部分的關係。聚合強度關係<組合強度關係。
泛化主要子類繼承父類的屬性和方法,經常用於合併同類項。
實現關係是一個類實現介面的功能,對於這個關係的理解很窪~對於介面的理解:介面就是一個翻譯家。
例如,人類與程式之間的介面稱為使用者介面。使用者介面就把程式這樣大篇幅的東西翻譯成了視覺化的容易理解的資訊給人,這樣人才能更快速、更準確的瞭解程式。
4)對各類進行分析、抽象、整理
資料庫基礎操作:增、刪、改、查,體現在系統中的功能很大一部分是:查詢,新增,修改,刪除某些管理物件。這個可以作為整合類的依據。
許可權也可以作為一項參考依據。因為許可權不同,使用的系統功能不同,在粒度不是很小的情況下,也可以根據許可權對類進行整合。
還有在畫類圖的過程中,經常忽略人之外的事物。比如卡類,它跟整個系統的聯絡也是十分緊密的。與之對應的書寫、方法也能很好的表達系統靜態結構。
There are a thousand Hamlets in a thousand People's eyes.每個人對UML圖的看法、認識都可能不同,歡迎大家跟我交流。
【勞動果實】
如果大家有覺得不妥的地方還望指出!謝謝!
相關文章
- UML 架構圖入門介紹 starUML架構
- UML類圖
- UML入門
- C#快速入門教程(3)——類的靜態成員和例項成員C#
- .NET Emit 入門教程:第二部分:構建動態程式集(追加構建靜態程式集教程)MIT
- 《Flask 入門教程》第 4 章:使用靜態檔案Flask
- UML狀態圖
- 輕鬆理解UML用例圖時序圖類圖的教程時序圖
- UML類圖詳解
- Hexo結合Stun靜態部落格搭建從入門到入土Hexo
- 看懂UML類圖和時序圖時序圖
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- C#快速入門教程(12)—— if語句結構C#
- UML類圖--類之間的關係
- UML類圖繪製例項
- 物件導向設計的設計模式(二):結構型模式(附 Demo & UML類圖)物件設計模式
- UML設計:類圖說明及一步一步製作UML類圖
- C#資料結構-靜態連結串列C#資料結構
- 使用UML類圖檢視laravel結構,簡直縮短了我看框架的時間啊,記錄下,嘻嘻嘻Laravel框架
- apache2.4.33偽靜態配置入門教程(1)Apache
- Java自學入門之靜態變數Java變數
- C#快速入門教程(13)—— switch語句結構C#
- 透過一份經典的UML類圖來學會如何讀懂UML類圖
- 五分鐘讀懂UML類圖
- 例項 靜態 類
- 集合框架類結構圖框架
- 14 #### 方法分類與使用場景(繫結、靜態、類方法)
- pbootcms偽靜態教程boot
- Asp.Net Core入門之靜態檔案ASP.NET
- 自動化漏洞挖掘:靜態程式分析入門
- C#快速入門教程(14)—— 迴圈語句結構C#
- Python入門教程100天:Day04-迴圈結構Python
- [譯] 狀態恢復入門教程
- Django新手圖文入門教程Django
- 介面(抽象類)與後期靜態繫結學習抽象
- 團隊溝通利器之UML——類圖
- TypeScript 類靜態屬性TypeScript
- 靜態內部類 呼叫
- Arm64架構下靜態編譯Nginx架構編譯Nginx