【问题标题】:How to generate UML class model from a Relational Model?如何从关系模型生成 UML 类模型?
【发布时间】:2011-03-10 12:25:56
【问题描述】:

有谁知道是否可以从数据库关系模型生成 UML 类模型?怎么样?

编辑:

澄清我认为的 UML 类模型 (UCM) 和数据库关系模型 (DRM)。

UCM 是比 DRM 更高的抽象。在 UCM 上,我们不讨论表,而是讨论实体。在 UCM 中,我们对实体的属性以及与其他实体的关系进行建模。

在 DRM 中则相反,我们不谈论实体,我们谈论表格。通常,如果不是每次,DRM 的表将比 UML 中的实体数量多。

我希望我现在已经说清楚了。

P.S:我正在使用SparxSystems Enterprise Arquitecht

谢谢。

【问题讨论】:

  • 关系图具有 UML 图的确切内容,但符号不同。符号变化的哪一部分让您感到困惑?请提供您认为是“关系模型”和您认为是“UML 类图”的示例。方框和线条的某些部分是否让您感到困惑?如果有,是哪一部分?只描述了三件事(实体、关联和约束),因此您需要解释这些事情的哪一部分让您感到困惑。
  • 你用的是什么建模工具?
  • @Silx:我正在使用 Enterprise Architect。

标签: uml relational-database


【解决方案1】:

[Enterprise Architect][1] 中的数据库关系模型只是一个原型类图,其中类元素是表,属性是列。

所以要回答您的问题,是的,只需使用 Enterprise Architect 的模型驱动架构 (MDA) 转换将其直接转换为类模型,就可以将关系模型生成为类模型。

为此:

在 Enterprise Architect 的项目浏览器中 DRM 包右侧,然后选择 Transform current package (Crtl+Shift+H)

选择合适的语言。

点击“Do Transform” - 并按照提示将新的类元素保存在项目浏览器中。

完成此操作后,您可以精确地调整您希望 UCM 的外观(更多/更少实体等)。希望这能让您顺利完成 99%。

【讨论】:

  • 问题是关于“选择合适的语言”:哪一种?我没有看到任何将数据库模型(带有原型“表”的 CLass)转换为 UML 类模型的目标语言。
  • 尝试生成“DDL”,然后在完成后选择包/元素上的目标数据库语言。
猜你喜欢
  • 1970-01-01
  • 2010-11-21
  • 2015-07-21
  • 2013-07-17
  • 1970-01-01
  • 2011-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多