【问题标题】:Nesting packages and classes inside components in Sparx Enterprise Architect (EA)在 Sparx Enterprise Architect (EA) 中的组件内嵌套包和类
【发布时间】:2020-03-03 07:47:47
【问题描述】:

在我使用 EA 13 创建的软件模型中,我的顶级节点包含包。每个包都包含组件,组件也可以包含子组件。有几个级别的子子组件。最后,每个组件的详细设计由每个 sub-sub-sub[...]-component 下的类图表示。我的类包含在他们描述的软件组件中。

我希望能够将我的类分成几个包,模仿相应实现的 Java 包结构。我的问题是 EA 组件不可能包含一个包。如果我在类图中创建一个包,那么它将与项目浏览器中的最高级别组件出现在同一级别。

我的期望:Root Node / Package / Component / Sub-component / Java package / Class

我得到了什么: Root Node / Package / Java package / Component / Sub-component / Class

我发现的唯一解决方法是创建一个组件来模拟 Java 包,但我觉得我在扭曲 EA。

有没有办法做到这一点?还是我完全错过了什么?

谢谢。

【问题讨论】:

    标签: namespaces components uml modeling enterprise-architect


    【解决方案1】:

    你没有错过任何东西。只有包可以包含包。我从很久以前就习惯了,所以我没有检查过 UML 规范。模仿包结构的唯一方法是创建原型类(使用您自己的配置文件)。 EA 提供了一个 PackagingComponent,但这是一个原型包,也不能放在元素内部。

    您可以发送功能请求。但做自己真正喜欢的事情可能更有效。

    【讨论】:

      【解决方案2】:

      一个UML组件不能包含UML包,没有意义。

      您可能会混淆 UML 组件和 UML 工件吗?

      UML 工件不能包含 UML 包,但 Java 的 UML 包的部署是一个目录,因此您的 Java 树的包/子包/文件可以由带有子工件的工件支持,如果这是您想要的模型。

      (norm 中第 656 页的 §19.3.1 和第 660 页的 §19.5.1)

      【讨论】:

        猜你喜欢
        • 2019-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多