我的問題是關於UML多樣性的。我試圖理解多重性的概念,例如,一個人可以擁有多輛汽車,但一輛汽車是一人。如果有2個等級,人和汽車,它會是1到很多,1到1.但是,與另一個例子相比,汽車和零部件,1輛汽車會有很多很多的零件,這是一對多......汽車零件怎麼樣?它是1:M,因爲1部分(螺絲)被許多汽車使用?或1:1導致該部件僅用於1輛車?UML:Multiplicity概念
0
A
回答
1
當試圖確定類和基數之間的關係時,總會考慮類的實例。在這種情況下,你有汽車和零件。例如:
- 如果你有一輛車(如紅色轎車),它都會有一些零件(如發動機,油箱,輪胎等)
- 如果你有一個項目特定部件(例如一臺發動機),只能安裝並屬於一輛車(如紅色轎車)。
汽車可以有一個和多個零件(1..M)之間的任何地方,一個零件最多隻能安裝在一輛汽車中(0..1)。
因此,汽車和零件之間的關係是1:M(使用如下所示的每邊的最大值)。
-------- --------
| Car | 0..1 ---------- 1..M | Part |
-------- --------
0
有可能爲同一對類不同的連接方式:
- 一個人有車 - 多樣性爲1:(0到n),一個人能有幾輛車,任何車有車主。
- 一個人開車 - 多重是(0,1):(0,1),一個人可以開CAN車,一輛車可以開車。
- 一個人坐在車裏 - 多樣性是(0,n):(0,1),一個人只能坐在一輛車上。汽車可以容納0人 - 幾個人。
因此,這兩個類塊將有三個不同名稱的連接,每個連接都有其自身的多重性。
根據您的任務,您可以建立更多的連接,例如,被汽車,人員,修理汽車,人員,有權駕駛汽車等的人員死亡的人員。
如果你有很多不同的連接,爲每種連接創建一個特殊的類將會更容易理解。
但無論如何,這對類本身並沒有定義連接類型。爲了設置連接,你必須寫下更多的信息。
相關問題
- 1. 概念
- 2. 概念
- 3. 概念
- 4. MVC實現概念(概念(ABAP SAP)
- 5. sqlite概念到coredata的概念?
- 6. 多層概念
- 7. Laravel MVC概念
- 8. Xamarin MasterPage概念
- 9. Java ArrayList概念
- 10. Android:ViewHolder概念
- 11. Nodejs Promise概念
- 12. 多態概念
- 13. 界面概念
- 14. C++概念:CRTP
- 15. OAuth2.0的概念
- 16. 概念:在Python
- 17. Android webgl概念?
- 18. 子域概念
- 19. 線程概念
- 20. 封裝概念
- 21. Java Array概念
- 22. Android DownloadFilesTask概念
- 23. opengl glTranslatef()概念
- 24. 概念實例
- 25. 類概念SAPUI5
- 26. Android -Timer概念
- 27. 概念類圖
- 28. 餅乾概念
- 29. 概念提取
- 30. Master Form概念?
在這種情況下,該部件只屬於一輛汽車,但很多汽車也使用該部件。因此它應該是1:M的部件到汽車? @ dat3450 –
是的,許多汽車也可以使用該部件,但不是完全相同的部件(它們各自擁有自己的部件)。例如,一輛紅色的汽車和一輛藍色的汽車都有發動機,但每輛車都有自己的發動機。我已經更新了我的答案,以便更清楚。 – dat3450
另一個例子就像人卡,卡是提款卡,所以卡到卡的人是1:M,卡給人的又是什麼?是1:M還是1:1? –