【问题标题】:How to design a UML diagram with a scripting language?如何用脚本语言设计 UML 图?
【发布时间】:2010-06-21 10:23:49
【问题描述】:

我正在设计一个软件组件,它将从其他组件获取有关 UML 图应该是什么样子的指令,然后以不同的表示方式(SVG、GIF 等)生成这个 UML 图,例如(在 Java 中):

DiagramDesigner designer = new DiagramDesigner();
designer.setStyle('Use Cases')
designer.addActor('User');
designer.addUseCase('Print Document');
// etc.
String svg = designer.getSvg();

我不想重新发明轮子,而是想使用一些行业标准的语言/界面来实现我的DiagramDesigner 和其他组件之间的互连。我正在寻找一个类似于 DOM 的接口,但是是针对 UML,而不是针对 XML。

有人可以帮忙吗?提前致谢。

ps。除了上面的例子,我想让我的图表可以在服务器之间互操作和传输,例如:

// first server
String script = designer.getScript();
// second server
DiagramDesigner desiger2 = DiagramDesigner.import(script);

【问题讨论】:

    标签: uml


    【解决方案1】:

    因此,如果我的理解正确,您正在寻找一种在元模型级别上使用 UML 的方法。您应该查看 MOF 标准及其实现 EMF(Eclipse 建模框架),几乎所有基于 Eclipse 的 UML 工具都使用它,并且该框架被许多其他建模项目使用,它甚至在一定程度上影响了 MOF 的标准化(导致SMOF 和 EMOF 分离),因此我将其宣布为行业标准。

    【讨论】:

    • Gabriel,感谢您的评论,非常有帮助。有一件事对我来说仍然很重要——EMF 是否支持除类图之外的任何东西。我说的是状态图、活动图等——UML 的动态部分?我在 EMF 文档中没有找到。看起来 EMF 仅适用于静态模型。
    • @Vincenzo 这取决于您打算做什么。 Ecore(EMF 图)用于创建由简化的类模型表示的元模型,我猜这就是您所指的。然而,整个 UML 都是使用它建模的,您可以用这种方式创建 UML 模型。问题在于图表(注意模型和图表之间存在差异),有一段时间没有标准的存储方式,现在有 DI2,但我认为它不太受支持。
    【解决方案2】:

    可能只是松散相关,但无论如何:PlantUML。它是开源的,内置于​​ Java 中,可能已经包含您想要做的部分内容。

    【讨论】:

    • Bernd,感谢您的评论,我查看了 PlantUML 工具,它看起来是一个很棒的工具,但并不是我想要的。还是谢谢。
    【解决方案3】:

    您可以从这些脚本中获得灵感来生成您想要的任何输出: http://askuml.com/

    目前在 yUML 中给出了示例,因为它们很好,但可以是任何东西。

    【讨论】:

      【解决方案4】:

      至少对于语法部分,您可以从大量文本 UML 工具中获得一些灵感(这些工具允许设计人员以文本方式指定模型,然后使用标准 UML 表示法自动以图形方式显示模型)。

      这里至少有这样的工具:http://modeling-languages.com/content/uml-tools#textual

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-27
        • 2014-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多