如何用UML阐述大规模分布式系统中的信息流

时间:2013-07-17 07:10:53

标签: uml netty use-case sequence-diagram distributed-system

我目前正在为由8个节点组成的分布式支持设计UML图,这些节点根据从Web客户端收到的消息处理特定操作。

我遇到的问题是,作为客户端生成的所有消息和交互的“入口门”的初始节点不包含可以表示为“标准用例”的具体操作,但是只有大量与客户端用例操作相关的消息流才会引发这一点。

但我也迫切需要一种方法来显示客户端用例和初始节点用例进程之间的进程映射,以保持一致性。如果未映射这些消息,则从客户端到服务器端的操作流程将会有些复杂。

不幸的是,由于系统的复杂性,我在单个图表中也存在设计整个系统的问题。

考虑了一些可能的即兴创作

•创建“地方持有者”,例如用例外部表示法来表示扩展名。 例如。客户端有一个放置新订单用例,消息从初始节点流向后端节点。为了创建连接,请指明一个用例,该用例将显示放置新订单Ext 。这将表示连接,但只会指向一个消息流。(但我不确定这种做法是否在UML中大部分被排除。)

•仅依靠序列和通信图旨在展示“事物”如何相互作用,每条生命线指定一个系统组件。但我觉得Client-end和Back-end Use Case之间的关联不是很清楚。

我也在这个论坛上检查了类似的问题,但有一些但没有明确回答我的问题。所以我想发布这个问题。 有人可以建议在这个高度事件驱动的分布式信息系统中显示信息流的最佳选择是什么 - 上面提到的一个或我可能忽略的任何其他选项?

1 个答案:

答案 0 :(得分:1)

您是否考虑过使用组件图,其中组件有端口,端口接受(并产生)信号而不是操作?信号基本上是一个消息/事件。

您还可以将信号建模为高级别的类,或者根据需要进行详细设计。您可以对应用程序级信号的某些属性建模,以便在将消息转发到输出端口之前,可以显示组件如何根据某些属性进行多路分解。