关于库的 UML class 图的问题
Question about UML class diagrams of library
这是一个关于我的 UML 课作业的简单问题,我不确定我做了什么。
你能帮我改正吗,我将非常感谢你的建议:
练习是为图书馆系统设计 class 结构。它应该满足这些要求:
- 有两种类型的用户 - 未成年人和成人。
- 未成年用户通过全名和学生证识别。
- 成人用户通过全名和身份证识别。
- 图书馆有书。
- 每本书都有基本信息(书名、作者等)。
- 用户最多可同时借阅4本书
- 每个用户都有以前借过的书的历史记录(以及所有日期)
这是我制作的 UML 图:
乍看之下,图与记述相对应,附上一些注释:
Borrow
class可以叫Borrowed
或History
;在同一张图上有两个 borrow
用于不同的目的是混淆的根源
- 这 class 需要所有日期:借阅的开始日期和借阅的 return。
- 关联
borrow
表明在给定时刻最多借了 4 本书。但最小值应为 0(没有图书馆用户必须始终有一本书)。反过来,并不是所有的书都在某个时刻被借了:所以它是 0..1
现在图表提出了一些问题:
- 当前借出的图书是否已出现在历史记录中且 return 日期为空?
- 如果不是,我们如何跟踪借阅开始日期。
我没学过你的课,不知道老师的要求是什么。但我是这样建模的:
- 我使用了多对多
borrow
关联与关联 class
- 历史信息会在关联中class
- 最多借四本书的限制将用约束表示。
叙述中还有一个问题:未成年用户成年是什么时候?您的实现关系意味着同一个人将存在两个不同的用户(新成人将丢失历史记录)。
出于这个原因,我建议使用 composition over inheritance:使 user
成为完整的 class,与 Identification
组合,并使两个具体的 classes adultIdentification
, underageIdentificztion
。因此,当未成年用户成为成年人时,您可以让用户保留历史记录并仅更改识别方式:-)
这是一个关于我的 UML 课作业的简单问题,我不确定我做了什么。 你能帮我改正吗,我将非常感谢你的建议:
练习是为图书馆系统设计 class 结构。它应该满足这些要求:
- 有两种类型的用户 - 未成年人和成人。
- 未成年用户通过全名和学生证识别。
- 成人用户通过全名和身份证识别。
- 图书馆有书。
- 每本书都有基本信息(书名、作者等)。
- 用户最多可同时借阅4本书
- 每个用户都有以前借过的书的历史记录(以及所有日期)
这是我制作的 UML 图:
乍看之下,图与记述相对应,附上一些注释:
Borrow
class可以叫Borrowed
或History
;在同一张图上有两个borrow
用于不同的目的是混淆的根源- 这 class 需要所有日期:借阅的开始日期和借阅的 return。
- 关联
borrow
表明在给定时刻最多借了 4 本书。但最小值应为 0(没有图书馆用户必须始终有一本书)。反过来,并不是所有的书都在某个时刻被借了:所以它是 0..1
现在图表提出了一些问题:
- 当前借出的图书是否已出现在历史记录中且 return 日期为空?
- 如果不是,我们如何跟踪借阅开始日期。
我没学过你的课,不知道老师的要求是什么。但我是这样建模的:
- 我使用了多对多
borrow
关联与关联 class - 历史信息会在关联中class
- 最多借四本书的限制将用约束表示。
叙述中还有一个问题:未成年用户成年是什么时候?您的实现关系意味着同一个人将存在两个不同的用户(新成人将丢失历史记录)。
出于这个原因,我建议使用 composition over inheritance:使 user
成为完整的 class,与 Identification
组合,并使两个具体的 classes adultIdentification
, underageIdentificztion
。因此,当未成年用户成为成年人时,您可以让用户保留历史记录并仅更改识别方式:-)