类 用于 class 图 UML

Classes for class diagram UML

我目前正在研究一个示例 from an online course 来设计图书馆管理系统的 class 图。

但是,我对这个例子感到困惑:

我真的无法理解创建两个 class 的目的:BookBook Item。 难道我不能将 Book Item class 中的属性插入 Book class 并只保留两者中的一个 class 吗?

这是一个有趣的例子:

  • Book 指的是出版商或图书馆目录中的一本书。它具有唯一标识它的 ISBN、标题、作者等。
  • BookItem 指的是图书馆拥有并借给用户的那本书的副本。

但是这个例子需要改进:

  • 模型应该更喜欢 composition over inheritance,这在 UML 中翻译为 tonprefering a simple association over a specialization。几个 BookItems 可能指的是同一个 Book,模型没有捕捉到这个现实。
  • 书籍和书籍项目之间的界限需要审查。例如,BookFormat(仅在项目中)实际上可能会影响页数(在书中)。此外,出版日期似乎不是特定于某本书的项目,而是该书的一般日期。每件商品的印刷日期可能会有所不同。