此图是有效的 UML 组件图吗?

Is this diagram a valid UML component diagram?

我正在计划一个新的 Web 应用程序,因此我想创建一个组件图来显示应用程序的体系结构。 现在我其实不是UML专家,想知道我做的图对UML标准化是否正确。

我已经在一些示例中使用了很多 google,但是其中 none 确实可以帮助我在其中显示数据库、orm 和 webbrowser。

这是我的实际结果,如果我能收到一些关于错误之处以及如何正确制作的反馈,那就太好了。

基本上你的图表很好(除了下半部分的实心箭头)。但是,还有改进的余地。

您可以在每个端口上显示所需和提供的接口,并将功能委托给组件的内部 类(请参阅下面的编辑)。上面说的很简单,但是应该把delegate关系的使用说清楚了。

另外,在更粗略的图片中,您可以省略 Application 的内部部分,只显示其 ports/interfaces 的概览图:

编辑: 人永远不会停止学习。首先,在 UML 2.1.1 中,所需 IF 的箭头过去是相反的。但是现在(UML 2.5)他们只使用一条直线来进行委托。没有箭头也没有关键字 delegate.

在组件元素内部,您可以显示其内部结构其封装元素。看来你把这两者混为一谈了。如果要同时显示两者,则必须使用两个单独的隔间。这是 UML 2.5 规范中的图 11.48:

建议你选择显示内部结构。在那种情况下,组件符号内的元素应该是 'Parts',在 class 名称前面有一个冒号。组件内部的虚线箭头应替换为实线。

有关详细信息,请参阅