将包和类嵌套在Sparx Enterprise Architect(EA)中的组件中



在我使用EA13创建的软件模型中,我的顶级节点包含包。每个包都包含组件,这些组件也可以包含子组件。有几个级别的子组件。最后,每个组件的详细设计用每个子子组件下的类图来表示。我的类包含在它们描述的软件组件中。

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

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

我获得的:Root Node / Package / Java package / Component / Sub-component / Class

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

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

谢谢。

您没有遗漏任何内容。只有程序包才能包含程序包。我还没有检查过UML规范,因为我已经习惯了很久了。模仿包结构的唯一方法是创建定型的类(使用您自己的配置文件(。EA提供了一个PackagingComponent,但这是一个定型的包,也不能放在元素内部。

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

UML组件不能包含UML包,这是没有意义的。

你可能混淆了UML组件和UML工件吗?

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

(规范中第656页§19.3.1和第660页§19.5.1(

最新更新