使用 UML 创建查看注册表
Creating a viewing registry using UML
我想创建一个用户查看视听内容时间的注册表。我创建了下图,想知道这是否是实现它的好方法。
注意:AudiovisualContent 连接到 DateTimeStamp 只是作为一种记录何时添加到平台的方式。
图表是否正确,是否有意义?
该图在形式上似乎是正确的,并且具有非常清楚 DateTimeStamp
.
的多重性和角色名称的优点
很难说这种方法对于“注册表”是否正确。但乍一看这是有道理的;我从图中了解到:
- 一个
Profile
(用户?)可以做几个Viewing
,每个Viewing
大约是一个Audiovisual Content
。反之,一个Audiovisual Content
可以是多个Viewing
的主题,每个Viewing
由一个Profile
执行
- 每个
Viewing
(给定用户的给定内容)都有一个 DateTimeStamp
- 每个
Audiovisual Content
都有一个 DateTimeStamp
对应于添加内容的时刻。
- 如果用户在不同时刻多次观看同一内容,则每次观看可能会有不同的评分,并且评分是可选的。
我可以从多重性进一步推断,时间戳对应于观看行为的开始(因为如果它是观看的结束,则观看开始时不会有时间戳,所以多重性应该是 0..1).
关注领域
根据您的图表,DateTimeStamp
是 class。在 Viewing
一侧和 Audiovisual Content
一侧具有 1
多重性这一事实意味着每个时间戳都必须与两者相关联。我怀疑这是正确的。
您可以考虑改用 0..1
,这将使时间戳仅与两者之一或 none 相关联。但是时间戳仍然可能同时具有两者,并且它们之间存在不一致的风险。
就我个人而言,我想 *
澄清许多查看和上传可能同时发生。我可能会将其显示为 属性 -addedOn: DateTimeStamp
和 -viewedOn:DateTimeStamp
.
实际上,时间戳很可能是一个值对象。然后你可以考虑把它变成 «dataType»
;将其显示为 属性 可能看起来更直观。
无关: 虽然您当前将 Viewing
建模为 class 的方式非常好,但您可能有兴趣展示是许多 Profile
和许多 Audiovisual Content
之间的关联 class
我想创建一个用户查看视听内容时间的注册表。我创建了下图,想知道这是否是实现它的好方法。
注意:AudiovisualContent 连接到 DateTimeStamp 只是作为一种记录何时添加到平台的方式。
图表是否正确,是否有意义?
该图在形式上似乎是正确的,并且具有非常清楚 DateTimeStamp
.
很难说这种方法对于“注册表”是否正确。但乍一看这是有道理的;我从图中了解到:
- 一个
Profile
(用户?)可以做几个Viewing
,每个Viewing
大约是一个Audiovisual Content
。反之,一个Audiovisual Content
可以是多个Viewing
的主题,每个Viewing
由一个Profile
执行
- 每个
Viewing
(给定用户的给定内容)都有一个DateTimeStamp
- 每个
Audiovisual Content
都有一个DateTimeStamp
对应于添加内容的时刻。 - 如果用户在不同时刻多次观看同一内容,则每次观看可能会有不同的评分,并且评分是可选的。
我可以从多重性进一步推断,时间戳对应于观看行为的开始(因为如果它是观看的结束,则观看开始时不会有时间戳,所以多重性应该是 0..1).
关注领域
根据您的图表,DateTimeStamp
是 class。在 Viewing
一侧和 Audiovisual Content
一侧具有 1
多重性这一事实意味着每个时间戳都必须与两者相关联。我怀疑这是正确的。
您可以考虑改用 0..1
,这将使时间戳仅与两者之一或 none 相关联。但是时间戳仍然可能同时具有两者,并且它们之间存在不一致的风险。
就我个人而言,我想 *
澄清许多查看和上传可能同时发生。我可能会将其显示为 属性 -addedOn: DateTimeStamp
和 -viewedOn:DateTimeStamp
.
实际上,时间戳很可能是一个值对象。然后你可以考虑把它变成 «dataType»
;将其显示为 属性 可能看起来更直观。
无关: 虽然您当前将 Viewing
建模为 class 的方式非常好,但您可能有兴趣展示是许多 Profile
和许多 Audiovisual Content