我有作業,我應該繪製一個類圖和數據模型。我寫了類圖。我不知道該如何處理數據模型。 有什麼區別?UML中'class diagrams'和'data models'有什麼區別?
根據互聯網上的文本,他們對我來說,即:類圖和數據模型是一樣的。
class diagrams
和data models
有什麼區別?
我有作業,我應該繪製一個類圖和數據模型。我寫了類圖。我不知道該如何處理數據模型。 有什麼區別?UML中'class diagrams'和'data models'有什麼區別?
根據互聯網上的文本,他們對我來說,即:類圖和數據模型是一樣的。
class diagrams
和data models
有什麼區別?
統一建模語言,因爲你可能已經知道,是描述與圖系統的一個手段。它們不僅涉及軟件,還涉及硬件,經濟學,日常用品,事實上,儘管它們通常與軟件系統一起使用。
類圖詳細說明了如何將系統拆分爲離散對象,這些對象如何相互關聯以及它們可能具有的任何已知接口。類圖中的每個類都可以包含數據和函數。
例如,汽車類有一個引擎,一個方向盤類和多個車輪,門,座椅和踏板類連接到它。在所有這些類圖都是靜態的。
我不完全確定你的數據模型是什麼意思。
我看到用於數據庫表模型的類圖,通常這些都沒有任何功能元件和只顯示數據表如何彼此相關。
還有那些認爲需要有一個除了對數據圖表UML標準,但至今都沒有被批准。
這是因爲表之間的數據,關鍵關係和約束的持久性可能很難用一個標準的類圖進行建模和最UML工具實現,以允許該調整的標準。
然後有「數據流圖」,它們實際上是活動圖,用來顯示系統內進程之間的數據流。
現在,如果我們回到類圖和假設的數據則是用來數據庫模型,那麼你會發現,有一些差異可以忽略。
類圖上一個類可以有數據屬性(代碼變量等)和功能性質(方法,程序,函數等),但一類的這些元件也可以具有訪問屬性(私有,公共等)。類圖也可以顯示繼承性,例如Volkswagon是一輛汽車,福特也是如此,它們都將繼承Car,並且可以顯示。
數據庫意義上的數據圖將顯示數據項(數據庫表中的列/字段),但訪問屬性(公共,私有等)的想法或繼承的想法沒有意義,因此不能所示。
這是因爲它不是模擬具有數據和函數但具有與這些對象關聯的數據的離散對象。例如,Car表可能與製造商表的關係鏈接存儲值Volkswagon和Ford。它可能有一個輪子列,但這隻會顯示輪子的數量。數據庫的存儲過程存在於從數據抽取的級別 - 它們利用數據,但不受數據表的管轄或擁有,數據表從數據表中獲取數據。
我可能沒有很好地解釋我自己,但我希望我能幫上忙。
Datamodeling不是UML,而是關注對象方法。
話雖如此,您可以在對象級別的類圖內進行建模,並使用Java代碼中的Hibernate註釋創建數據庫。 我的意思是你創建你的代碼並同時添加持久性註釋。這將在部署時創建數據庫。
如果您使用Omondo持久性配置文件,那麼不應該是數據構建的UML也可以在部署級別創建數據。這意味着您可以在對象級建模並創建數據庫。非常強大的方法,因爲數據創建階段現在加入對象
這仍然是一個舉措,但它可以成爲一個標準,如果大公司採用這種方法,這對我來說是在Java中編寫的最佳實踐之一,我會推薦。
通常數據模型定義了數據庫是如何實現的。這些圖是實體圖。類模型是系統中對象之間的函數關係。一個類有數據,但它不是數據模型。一個設計既有類模型也有數據模型。作爲一個簡單的例子,一個客戶存在一個數據模型。該數據模型是我們客戶數據庫的設計。存在類模型設計來實現如何處理客戶訂單。數據模型是數據庫設計人員使用的。類模型是軟件設計者用來實現訂購業務功能的模型。數據模型和類模型都有圖表。他們使用不同的符號和規則。類圖vs實體圖。兩種不同的圖表。
什麼哦什麼是你的問題。我不明白。 –
@OlofEdler我的問題是類圖與數據模型有什麼區別? –
標籤說的是UML。這是關於UML的嗎?類的建模(或者可能是數據庫建模)。 (不,我不知道UML)。 –