編輯:應對OP評論:
回覆。記錄所有權等信息,這裏有一個例子:
關鍵是獲取/出售等日期是資產和組織/用戶之間的關係的屬性。它們不是參與類的屬性。在示例中,資產使用允許許多併發用戶,而資產所有權只允許任何給定點的1個所有者。這是由多重性控制的。
需要顯示所有者以及用戶。如果看到資產不是所有者或用戶類的子類或子類,我將如何顯示它?
您的顯示頁面將根據關係從必需的類中提取信息。一個頁面不限於一次顯示來自單個課程的信息。
例如,所有者下的名稱屬性將具有組織的名稱,但服務器下的名稱屬性將具有服務器的名稱,即FQDN。
OK:那麼你可以爲這兩個名稱使用不同的數據類型。也許是一個簡單的組織字符串和一個特定的資產FQDN。但請記住:這意味着全部資產必須使用FQDN進行命名。如果只有計算機以FQDN命名,則將名稱屬性放在計算機上,而不是資產。順便說一句:組織有一個獨立於資產類型的資產命名方案是很常見的。唯一的要求是它是獨一無二的。例如,我已經在上面顯示了這一點。心連心。
末編輯
回答您的具體問題:
如何表達所有權[..]對於一個給定的資產?
推測這就是Organisation - Asset
協會涵蓋的內容?如果是這樣,那麼多重性是多少?據推測:
- 每個資產只屬於一個組織或者資產可以共同擁有?
- 每個組織都擁有多個(零個或多個)資產?
- 您是否需要記錄關於所有權的任何信息 - 例如,何時獲取資產,何時出售資產等等。如果是這樣,您需要一個關聯類來捕獲這些信息。
如何爲特定資產表示用戶?
上述類似的問題。很多用戶可以使用相同的資產嗎?同時或順序?你需要記錄資產使用的開始/結束日期嗎?
如何表達[..]服務器對象有IBM
的廠商價值你有這樣的建模與Asset.vendor
屬性 - 這可能是足夠的。但是:您是否需要獲取供應商的任何詳細信息?例如聯繫信息,地址,支持合同等。如果是這樣,您可能需要拆分出一個單獨的供應商類。
有沒有一種方法可以進一步分離常見的屬性或屬性,例如名稱,地點?是否需要進一步解耦?
所有3個子類具有相同的屬性。那味道不好 - 這表明他們並沒有真正的不同。您能否使用一個類別(Asset
)捕獲所有屬性 - 並且具有額外的「assetType」(或類似的),合法值爲「Server」,「Destop」,「Laptop」?但是:您是否需要跟蹤不是某種類型計算機的資產?如果是這樣,一個資產類別不夠靈活。
如何評估行爲約束如如果用戶離開組織或資產損壞會發生什麼?
取決於您的業務需求。如果用戶離開,需要發生什麼?資產是否應該沒有用戶?在這種情況下,關係需要是可選的(0 .. *)。
資產被損壞是什麼意思?你需要記錄損害賠償嗎?如果是這樣,你需要另一個班。
如果不在模型中,我會在何處捕獲這些信息?
如果它不在模型中,您不能記錄或更改它。所以我會非常警惕任何你認爲你需要捕捉的東西,這不在模型中。這更可能意味着您的模型不完整,或者您缺少需求。
一般來說,我建議你在命名&中加入一些進一步的想法。這樣做無疑會提出有關要求和/或域限制的問題。這將有助於您獲得一個滿足要求的更好機會的模型。
hth。
感謝您的詳細回覆。在這個階段沒有要求資產可以共同擁有。這並不是說它不會發生。如何模擬它發生的可能性?我不理解你的評論「你是否需要記錄關於所有權的任何信息 - 例如,資產何時被收購,何時被出售等等。如果是這樣,你需要一個關聯類來捕獲它。」我確實需要記錄這些信息。 – PeanutsMonkey
至於你的問題'以上類似的問題。很多用戶可以使用相同的資產嗎?同時或順序? '是的,多個用戶可以使用同一資產,並且可能同時或順序發生。例如,數據庫服務器將具有併發用戶。 – PeanutsMonkey
至於我關於運行時對象的問題,我的意思是說需要顯示所有者和用戶。如果看到資產不是所有者或用戶類的子類或子類,我將如何顯示它? – PeanutsMonkey