UML Class 图多重性和 ER 图基数

UML Class Diagram Multiplicity and ER Diagrams Cardinality

我有一个关于 class 图的多重性和 ER 图的基数的简单问题。他们让我困惑如何选择它们。是从一个实例的概念还是整个系统的概念来选择。

例如: 一个用户可以创建并拥有多个配置文件。这些配置文件只能有一个用户。 (一对多) 但是通常(在整个系统中),配置文件可以有除此特定用户之外的许多用户。 (多对多)

所以我的问题是,当我设计 class 和 ER 图时,我应该像第一个实例一样从一个实例(一个用户)的角度还是从整个系统的角度来考虑它。许多用户可以拥有多个配置文件,反之亦然?

A User can create and have many profiles. And These profiles can have only one user. (One to Many)

class 图可以是:

图表表明给定的 User 可以有任何正数或空值的 Profile,并且给定的 Profile 仅适用于一个 User

这意味着 Profile 的实例不能在没有 User 的关联实例的情况下存在,因此关系可以是一个组合(当一个实例用户 消失了它的 个人资料 也消失了):

However in general (in the whole system), Profiles can have many users other than this particular user. (Many to Many)

上图还是对的,没有对UserProfile的实例总数做任何假设。

您可以通过对象图显示实例示例:


根据您的评论:

i will have two classes one named User and one named Modules So Users can enroll into modules, So in that way it will be many to many right? Many users can enroll into modules while modules can have many users, is that right? or should it be also using only one instance? Like A user can enroll into many modules, and these modules can only have one user (one instance)

除非模块是 dedicated/created 仅适用于一个给定的用户,在这种情况下,您拥有多对多的可能性很小,因此双方的多重性都是“*”。