你和你的老师都不必要地被 UML 和概念数据建模(我认为这相当于 ER 建模)之间的差异分心。你和你的老师讨论的真正问题是分析和设计之间的区别,不管使用什么模型。
可以创建一个 UML 模型,该模型按照说明的方式描绘问题,或者按照设计的方式描绘解决方案。在第一种情况下,应该省略实现类,因为它们不属于问题域。在第二种情况下,它们应该被包括在内。第一种情况是分析。第二种情况是设计。
ER 图也存在同样的歧义。有些人,包括我自己,只使用 ER 模型和 ER 图来表示问题本身固有的数据需求。这就是“概念数据建模”最常见的含义。在这个框架中,唯一应该出现的实体是在主题本身中具有感知现实的实体,而不仅仅是数据库或应用程序内部的构造。这是分析。
但是还有很多其他人,也许是大多数人,他们使用 ER 图来描绘表模式的设计。在这个框架中,包括外键,并且联结表被提升到实体的状态,即使它们不是主题实体。只要分析和设计之间的区别保持清晰,这本质上没有错。
不幸的是,分析和设计之间的区别常常被掩盖得面目全非。SO中有几十个这样的例子。
因此,如果允许分析和设计之间的混淆潜入您和您的老师之间的讨论中,那么讨论最终可能会朝着几乎任何方向发展。