问题标签 [component-diagram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1521 浏览

architecture - 现代 REST 应用程序是 3 层架构还是 4 层架构?

我目前正在学习 UML 和部署/组件图,并希望将我现有的应用程序建模为 3 层或 4 层架构。我的应用程序有以下实例:

  1. 角应用
  2. Java Spring Boot 应用程序作为 REST-Webservice
  3. 数据库

所有三个实例都可以部署在不同的服务器上。在我看来,这是一个三层架构。但是现在我很困惑,因为我不确定带有 Web 浏览器的客户端是否是我架构的第 4 层。webbrowser和 angular 应用程序是否可以在表示层中,如下所示:

在此处输入图像描述

我对此感到困惑和困惑,因为在这篇文章中:

可以将 UML 组件图用于 3 层架构吗?

他总结了表示层中的应用程序和浏览器。

编辑:这就是我将其实现为 4 层架构部署图的方式:

在此处输入图像描述

0 投票
2 回答
340 浏览

architecture - 在 UML 组件图中重用子组件

简而言之:目前我在 Sparx Enterprise Architect 中执行了大量的白盒建模。但是,我想知道 EA 不允许我添加两次子组件。是 UML 建模问题还是工具问题?

说明:为了解释我的主题,让我们假设我们要为公寓建模。公寓由房间组成,即浴室和客厅。两种房间都包括一扇门。门基本上是相同的 - 相同的制造商,相同的产品。

目标:房间的门是平等的。因此,我们不应该对它们单独建模,而是重用单个门组件(从我的角度来看)。下图显示了我的设置:

在此处输入图像描述

现在,我想创建组件图。我想要达到的目标如下所示。你会猜到我不可能得到想要的模型。相反,红色组件存在问题。

在此处输入图像描述

ISSUE:对于组件图,我总是选择将组件作为链接插入到 Sparx Enterprise Architect 中。当我第二次尝试粘贴门(子)组件时,我收到以下反馈:

在此处输入图像描述

注意:根据我的经验,我知道来自 Sparx Enterprise Architect 的错误消息通常表明存在一些建模错误。我在互联网上阅读了很多内容,甚至还买了一本关于该主题的 UML 书。不幸的是,在这两个来源中,我都无法找到我的建模问题的解决方案。解决此问题的唯一方法是将门组件作为实例而不是链接插入到组件图中,或者深度复制门组件。但是,这两个选项都感觉不自然,我觉得它们会在进一步的建模过程中引起后续问题。

0 投票
0 回答
113 浏览

graph - plantuml - 更好地配置箭头和文本

我正在尝试用 Plantuml 绘制这个组件图

结果有点乱:箭头重叠,箭头上的文字难以阅读

在此处输入图像描述

有没有办法更好地控制箭头和文本配置?(例如用于最小化箭头交叉点并使文本更接近相应箭头的东西)

0 投票
1 回答
59 浏览

uml - 接口符号是否显示数据传输方向

我正在尝试理解 UML 组件图,但我对接口的球窝符号的方向感到困惑。我不完全确定球窝的方向究竟代表什么。

在某些来源上,它说它显示了材料输入/输出方向。带有球的组件通过接口向带有套接字的组件提供数据。

在其他一些来源上,它说它显示了哪个提供接口以及哪个使用它。带有球的组件实现接口,而带有插座的组件使用它。

那么哪种解释更准确呢?

0 投票
1 回答
71 浏览

components - 是否可以在不连接到所需接口的情况下离开提供的接口?

我为以下场景绘制了组件图。User来到系统并下载内容。(这是我整个系统的一部分)。我想检查是否User有权下载该内容。因此我使用Access controller了组件。Access controller从数据库中获取用户信息并从数据库中获取内容。之后,它向用户提供内容。我就是这样建模的。

组件图

我可以离开提供的界面而不连接到任何必需的界面(如Access controller. 那是检查权限后提供给用户的内容)吗?

有没有更好的方法来做到这一点?

任何指导都是最有帮助的。谢谢!!!

0 投票
1 回答
114 浏览

interface - 如何在 UML 组件图中找出组件的正确接口?

我对 UML 组件图接口有疑问。我的系统中有一个搜索组件,它负责从数据库中搜索某些产品并将搜索结果返回给用户。据我了解,我以 3 种不同的方式绘制了搜索组件。我想知道哪种方法是正确的并且在实践中是最好的,以及为什么其他方法不正确。

在此处输入图像描述

在这种情况下,我认为搜索组件为Search interface其他组件提供了一个类似的组件,User并且他们使用它Search interface来搜索。用户也通过它传递搜索参数interface并通过它获得结果interface

在此处输入图像描述

在这种情况下,我认为 Search 组件提供Search interfaceUser使用它interface来传递搜索参数。它从数据库中获取数据。然后User组件用于Search result interface获取搜索结果。

在此处输入图像描述

在这种情况下,我认为Search component需要搜索参数来搜索某些内容。所以,它需要搜索参数。因此,我添加了Search params required interface. 获取数据后,搜索组件会提供该结果。所以,我添加了provide interface名为search result.

这些是我对这个搜索组件的看法。我不知道哪个是正确的。请解释哪一个是正确的,为什么其他不正确。

谢谢!!!

0 投票
1 回答
60 浏览

components - UML组件图中子系统和附加组合组件的区别

我试图理解这两个概念之间的区别:

对于子系统,我找到了一个网站:https ://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/

在此处输入图像描述

对于添加剂成分,在此网站上:https ://cpentalk.com/618/illustrate-composition-hierarchical-composition-composition

人们说

OnlineStore子系统示例中,因为OrderSystem组件正在调用Catalogue组件。如果它是一种添加剂组合物,里面的所有成分都应该是独立的吗?

在此处输入图像描述

我可以说我上面的例子是加法成分,因为profile并且bank_account是独立的吗?我基本上使用一些glueCode将它们的接口组合在一起,因此没有组件是依赖的。您认为这是添加剂组合物的一个很好的例子吗?