在 Sparx Enterprise Architect (EA) 中嵌套包和 类 内部组件
Nesting packages and classes inside components in Sparx Enterprise Architect (EA)
在我使用 EA 13 创建的软件模型中,我的顶级节点包含包。每个包都包含组件,组件也可以包含子组件。有多个级别的子子组件。最后,每个组件的详细设计由每个子子子 [...] 组件下的 class 图表示。我的 classes 包含在他们描述的软件组件中。
我希望能够将我的 classes 分成几个包,模仿相应实现的 Java 包结构。我的问题是 EA 组件不可能包含包。如果我在 class 图中创建一个包,那么它将出现在与项目浏览器中最高级别组件相同的级别。
我的期望: 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 包/子包/文件树如果这是您要建模的对象,则使用子工件。
(norm 中第 656 页的§19.3.1 和第 660 页的§19.5.1)
在我使用 EA 13 创建的软件模型中,我的顶级节点包含包。每个包都包含组件,组件也可以包含子组件。有多个级别的子子组件。最后,每个组件的详细设计由每个子子子 [...] 组件下的 class 图表示。我的 classes 包含在他们描述的软件组件中。
我希望能够将我的 classes 分成几个包,模仿相应实现的 Java 包结构。我的问题是 EA 组件不可能包含包。如果我在 class 图中创建一个包,那么它将出现在与项目浏览器中最高级别组件相同的级别。
我的期望: 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 包/子包/文件树如果这是您要建模的对象,则使用子工件。
(norm 中第 656 页的§19.3.1 和第 660 页的§19.5.1)