【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入門教程】——靜態結構(上):用例圖
- 【UML入門教程】——構件圖、部署圖、包圖
- 【UML入門教程】——動態部分(上):狀態圖、活動圖
- 【UML入門教程】——Hello,UML!
- 【UML入門教程】——UML關係
- UML 架構圖入門介紹 starUML架構
- UML類圖總結
- 【UML入門教程】——總結和自我補充
- UML類圖10分鐘快速入門 - From 聖傑
- C#快速入門教程(3)——類的靜態成員和例項成員C#
- 《Flask 入門教程》第 4 章:使用靜態檔案Flask
- .NET Emit 入門教程:第二部分:構建動態程式集(追加構建靜態程式集教程)MIT
- UML入門
- UML狀態圖
- 輕鬆理解UML用例圖時序圖類圖的教程時序圖
- UML實踐詳細經典教程----用例圖、順序圖、狀態圖、類圖、包圖、協作圖
- UML類圖幾種關係的總結
- UML類圖詳解
- UML類圖關係
- 【UML之物件圖VS類圖】物件
- eclipse 匯入靜態類,自動程式碼提示靜態方法Eclipse
- UML設計入門
- Hexo結合Stun靜態部落格搭建從入門到入土Hexo
- UML 類圖及關係
- 深入淺出UML類圖
- UML基礎系列:類圖
- Java自學入門之靜態變數Java變數
- iOS打包.a靜態庫檔案(入門)iOS
- 看懂UML類圖和時序圖時序圖
- C#快速入門教程(12)—— if語句結構C#
- Linux下的靜態連結與動態連結Linux
- UML 之 各種檢視簡介 & UML類圖幾種關係的總結
- UML類圖--類之間的關係
- C#資料結構-靜態連結串列C#資料結構
- Flux 架構入門教程UX架構
- django入門-靜態檔案-part6Django
- 設計模式之UML類圖設計模式
- 全面認識UML類圖元素