gpt4 book ai didi

uml - 是否可以在 EA 类图中使用球窝表示法?

转载 作者:行者123 更新时间:2023-12-04 16:00:39 29 4
gpt4 key购买 nike

球窝符号是合法的 UML 2.0,但我找不到强制 EA 将其绘制在图表上的方法。它拒绝允许套接字和球之间的依赖关系。有没有办法让它发生,如下图所示(小毫秒绘画魔法):

enter image description here

另外,一个附带的问题,你能让球或窝出现在元素的另一边吗?

最佳答案

在 EA 中有两种不同的显示球窝的方式。

使用您使用的那个,您已经将连接器从您的 Consumer 和 Producer 类绘制到 IProducer 接口(interface)(分别是依赖项和实现)。
然后,您在类上打开了 Dependent 和 Realized 接口(interface)的显示。

这样做意味着球和 socket 是固定的。您不能选择它们(而是选择了类),不能将它们移动到它们的父类中,并且它们不能成为连接器的端点。

另一种方法是使用 Expose Interface。

使用此方法,您无需将任何连接器从您的类绘制到接口(interface)。相反,您使用 Expose Interface 在每个类中创建一个嵌入元素,该元素将接口(interface)作为其分类器。

这些暴露的接口(interface),本身就是元素,按照你希望的方式运行:你可以在它们各自类的周边移动它们,你可以在它们之间绘制连接器。

在示例中,请注意 IProducer 接口(interface)元素没有任何连接器。 Sample use of Exposed Interfaces

为了公开接口(interface),有两种方法可以解决。您可以在图表工具箱中选择 Expose Interface,但请注意,这仅在 Component 工具箱中可用 - 而不是 Class 工具箱。这就是我在这个例子中对 Producer 所做的。

另一种方法是右键单击类并选择 New Element -> Port。这将创建一个端口,您可以为其指定任何名称。然后右键单击端口并选择 New Element -> Provided/Required Interface。

无论哪种方式都会打开 Exposed Interface 对话框,它允许您通过使用省略号按钮 (...) 并浏览项目树中的接口(interface)来选择应该公开的界面元素。

使用端口可能看起来有点麻烦,但严格来说,它是更正确的 UML。另请注意,单个端口可以公开多个接口(interface),包括提供的和必需的接口(interface),允许您对形成某种逻辑单元的接口(interface)进行分组。可能是您有多个接口(interface)形成一个服务,因此一起使用,但是该类提供并需要多个服务。

当您讨论的不是单个类而是组件时,这(对我而言)更有意义,并且我通常在对类建模时使用实现/依赖关系,在对组件建模时使用端口和公开的接口(interface)。

关于uml - 是否可以在 EA 类图中使用球窝表示法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14764329/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com