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

Posted

技术标签:

【中文标题】可以将 UML 组件图用于 3 层架构吗?【英文标题】:Is this okay to use UML component diagram for a 3-tier Architecture? 【发布时间】:2018-11-13 16:58:27 【问题描述】:

UML 中有很多类型的图表。我对使用哪个来做什么有点困惑。 我使用 UML 组件图为我的 Web 应用程序软件设计了一个 3 层架构。请查看附图并告诉我我这样做是对还是错。在这个架构中使用组件图是个好主意吗?

【问题讨论】:

【参考方案1】:

基本上我同意@KeizerHarm 的回答。但是,您的图表中有一个缺陷。您应该使用组件而不是包,因为您将端口放在它们的边界上。包不允许使用端口,但对于组件是。或者将端口放置在包装内的组件上。布线可以越过包装的边界:

【讨论】:

我使用了 lucidchart。他们像我一样使用包。在这里你可以在他们的文档中看到。 imgur.com/a/k1sezWo 也许吧。但是文档中的那张照片更加错误。需要参考 OMG 的 UML:omg.org/spec/UML/2.5/About-UML【参考方案2】:

我以前做过很多次这样的组件图。通常我会在整个事物周围画另一个框,以表明它是同一系统的一部分,但在适当的上下文中这样做并没有错。

我可能会建议为您的接口命名,或者至少从随附的描述中清楚地说明它们的作用。而Backend Application Server (Apache) 似乎需要来自内部和外部组件的相同接口,前者未填充,我自己不会这样做,因为它似乎暗示您可以用业务层内部的东西替换或补充Database未指定?

【讨论】:

以上是关于可以将 UML 组件图用于 3 层架构吗?的主要内容,如果未能解决你的问题,请参考以下文章

表示 react-redux 连接组件的 UML 图

UML学习笔记UML的7种常用图

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

程序员必备技能:如何画好架构图?

求自动售货机的uml组件图和部署图

Python设计模式 - UML - 组件图(Component Diagram)