簡體   English   中英

關聯的多樣性可以隨時間變化嗎?

[英]Can the multiplicity of an association vary over time?

我對UML有一個要求:關聯的多重性可以根據時間而變化。 我對此有一些意見,例如,使用列表存儲多重性歷史記錄,一旦多重性發生變化,就創建一個新的關聯。 但是似乎它們都不是很好的選擇。 那么有人可以給我一些建議嗎? 非常感謝。

有兩種情況需要考慮:多樣性的變化可能是軟件系統(不可預見和不可預期的)演變的一部分,或者如果它是已知的(例如,星期五的2..5和1..3),則會發生變化。剩余時間),並將其作為要設計和構建的系統的要求的一部分。

如果多樣性的變化是軟件系統(不可預見的)發展的一部分,那么您將無法對其進行設計,因此,當它發生時,您只能將其容納在系統模型中。 軟件系統的發展基本上是由於其需求的發展。 但是,當您對系統建模時,您僅具有當前需求,可以作為使用類,關聯和多重性進行信息模型的基礎。 需求的演化意味着信息模型的相應演化,包括關聯多重性。 因此,隨着時間的流逝,您將獲得描述/定義系統的模型的歷史序列。

如果在設計時已知多重性的時間變化,那么您可以在模型中捕獲該變化的唯一方法是使用允許變化的最小慷慨多重性約束(例如1..5)並描述變化(簡單地關聯框所附的約束框內。

嗯,這很簡單:只需為關聯分配一個多重性。 如果未指定下限和上限,則該0..* 如果最小值為1,則為1..* 上限也是如此(將*替換為應該的值)。

如何實現完全取決於編碼器。 您只需在UML中在此處指定約束。 例如,如果您的多重性為0..*則編碼人員可能會選擇一個可變長度的數組/集合。 如果是1..2則可能以name1name2作為單個變量結尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM