簡體   English   中英

UML 類圖多重性

[英]UML Class Diagram Multiplicity

我對 UML 類圖多樣性感到困惑。 要問我的問題,首先我需要給你舉個例子; 考慮這個要求:“章節應該有很多主題。” 我可以為 Section 和 Topic 制作具有多樣性的類,如下所示:

示例 1) 示例 1

上述關系可以理解為:“一個或多個部分有多個主題”。

但也要考慮這種設計:

例 2) 示例 2 上述關系可以理解為“一節有多個主題,一個主題只在一節中”。

問題 1 是:什么是正確的設計?

因為對我來說,我認為示例 2 的設計是正確的,因為我在那個特定時間只考慮了一個實例。 但是在示例 1 中,他們認為 Section 類是一個非常高的視圖! (當然,我可以創建無限數量的任何類的實例......)

問題2是:在例2中,我們說整個系統中只有一個Section,所以我們像例1那樣寫? 同樣在示例1中,這種關系是多對多的,因此我們需要制作一個關聯類來處理它。

我希望你理解我的困惑,在此先感謝:D

Q1:其實要看需求。 一個Topic可以出現在許多Section s 中,因為它是在不同方面進行討論的。 如果您要求一個主題必須在一個部分中完全涵蓋,那么您的第二種方法是正確的。 無論如何,我認為第一種是更常見的做事方式。

Q2:不可以。你只說一個Topic只能有一個Section 要說只允許一個部分,您可能需要一個約束。 (我為此目的使用了<<singleton>>構造型,但它不是 UML 標准。)

順便說一句:你在前的多樣性。 2錯了。 左邊你必須只有1..* ,右邊只有一個1

在示例 1 中有兩個獨立的語句:

一個部分的每個實例都可以有任意數量的主題和

主題的每個實例必須至少有一個部分。 不知道你說的是不是這個意思。

PS:填充鑽石所顯示的成分意味着排他性。 因此,多重性最多可以是 1,而不是 1..*。

不需要關聯類。 多對多關系只是正常的關聯。

暫無
暫無

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

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