UML类图中的类是否总是转换为概念数据模型中的实体?

Lug*_*aid 1 uml entity-relationship class-diagram data-modeling datamodel

我目前正在为我的大学从事一个项目,一位老师告诉我,我认为UML类图中可能存在类(将其视为设计图),而在数据中却没有等效类,我是错的模型。然后他向我施加压力,要求我提供一个反例来证明我的观点,但我只是想不到一个。

我检查了几本有关UML的书,例如“学习UML 2.0”,“应用UML和模式”和UML 2的傻瓜书,但是我找不到有关在类图上出现哪些类的任何信息。我问他关于实现类的问题,但他告诉我,不应将它们包括在类图中。所以我很茫然。

发布之前,我还检查了以下问题:

UML概念图和ERD之间的区别?

从概念数据模型生成UML

如何在uml类图中将数据与函数关联

但是他们并没有真正解决我的问题。

感谢您的任何见解。

Wal*_*tty 5

UML和概念数据建模之间的差异(我认为这等同于ER建模)使您的老师和您都不必要地分心。您和您的老师正在讨论的真正问题是分析和设计之间的区别,而与所使用的模型无关。

可以创建一个UML模型,该模型描述所陈述的问题或设计出解决方案。在第一种情况下,应省略实现类,因为它们与问题域无关。在第二种情况下,应将它们包括在内。第一种情况是分析。第二种情况是设计。

关于ER图存在相同的歧义。包括我自己在内的某些人仅使用ER模型和ER图来表示问题本身固有的数据要求。这就是“概念数据建模”的最常见含义。在此框架中,应该出现的唯一实体是在主题本身中具有感知现实的实体,而不仅仅是在数据库或应用程序内部的构造。这是分析。

但是,还有很多其他人,也许是大多数人,使用ER图来图形化表模式的设计。在此框架中,包括了外键,联结表被提升为实体的状态,即使它们不是主题实体也是如此。只要保持分析与设计之间的区分是明确的,就可以做到这一点。

不幸的是,分析和设计之间的区别常常被模糊不清。在SO中有很多这种情况。

因此,如果允许您和您的老师之间的讨论中引起分析与设计之间的混淆,那么讨论几乎可以朝任何方向进行。

  • 我认为欧文的观点与我的观点之间没有太多的空隙。我和欧文都以不同的方式关注区分描述要解决的问题和描述所提出的解决方案之间的区别。如果愿意,并且可以帮助您与项目的客户进行交流,您可以自由地区分这种区别。但是,如果您确实混淆了这种区分,并且最终为错误的问题找到了正确的解决方案,那便是您的工作。不要怪工具。 (2认同)