【问题标题】:UML - How I insert attributes which are objects from java classes?UML - 如何插入来自 java 类的对象的属性?
【发布时间】:2013-07-04 07:36:24
【问题描述】:

)

我的问题是(类图):

例如我有两个类:classA 和 classB。

现在我想给classB添加三个属性:int a;诠释 b; A类测试;

这没问题,因为每个 UML 工具都知道我已经在我的 UML 图表中实现的原始数据类型和类。我可以在弹出菜单中选择classA作为数据类型。

但是当我在我的类中使用 Java 类作为属性时,例如:

final ExecutorService threadPool;

ExecutorService 不是原始数据类型,也不是我实现的类。它是一个java libery 的类。因此,如果我想添加新属性,它不会显示在我的数据类型弹出菜单中。

解决这个问题的标准方法是什么?当然我可以添加一个类 ExecutorService 但 ExecutorService 不是我编写的代码的一部分,而是一个 java libery。在某些工具中,您可以添加数据类型,但我认为这也是错误的方式,因为它是一个类。

你有什么建议?

谢谢你:-)

【问题讨论】:

  • 您正在使用什么 UML 工具以及您想将类图用于什么目的?您不能像- attributeName : datatypeName 那样简单地手动编写它吗?至少在 MagicDraw 中,您可以将其定义为您想要的任何数据类型,无论这是否有意义或完全是虚构的。

标签: java types uml executorservice class-diagram


【解决方案1】:

我将与您分享我是如何做到这一点的,但我不确定这是一种标准方式,也许它与使用的工具更相关......

我使用Modelio 进行Java 开发,我所有引用的库都是Modelio 模型组件。因此,简而言之,它们被经典地建模为 UML 包、类、操作等(来自 Java 反向)并以只读方式部署在我的项目中。所以他们可以引用它们(例如通过属性),但它们不可修改,也不是我的代码的“真正”部分,对我来说,这似乎接近 Java 库的概念。

希望对你有帮助。

问候,

RB

【讨论】:

    【解决方案2】:

    如果你想展示你的类之间的依赖关系,通常根本不需要像ExecutorService 这样的框架类。在这种情况下,我会说这是一个实现细节。

    但是,如果您想显示更多详细信息,则包含该类应该没有问题。如果您的 UML 工具确实无法表达自定义数据类型,请创建与 ExecutorService 类的关联。您可以突出显示(或灰显)框架类,这可能使您的图表更具可读性。

    粒度很大程度上取决于图表的目标受众。

    参考资料:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 2016-01-29
      • 1970-01-01
      相关资源
      最近更新 更多