【问题标题】:How to show this flow using UML?如何使用 UML 显示此流程?
【发布时间】:2014-05-23 15:14:12
【问题描述】:

我有一个简单的流程,我想以最好的方式使用 UML 来描述它。我没有使用 UML 的经验,也不想选择荒谬的图表类型。

DataA --> ProcessorA --> DataB --> ProcessorB ... --> DataN -->ProcessorN

简而言之,Data 是某种结构的数据集合,Processor x 将输入数据转换为供Processor X + 1 使用的数据。

DataProcessor 是实际的类,如果在代码中展示它是如何工作的会很好 - 为了处理某些数据,通常必须使用数据对象创建新处理器,例如 process() 方法在它上面调用它返回数据作为下一个处理器的输入。

我尝试研究动态 UML 图,但不确定哪种类型最适合。

【问题讨论】:

标签: uml modeling


【解决方案1】:

活动图是数据流行为的完美选择。您可以使用它们来显示您陈述的所有内容以及更多内容,尤其是当您使用其他一些 UML 图来补充活动图时。在这种情况下,我会推荐类图,因为这些数据结构可能很重要,也应该指定。

这是您的情况的一个简单示例。

下图是活动图

它非常直观,我猜你即使不学习 UML 也能理解它。除了这个简单的序列流之外,您还可以对并行活动、选择(例如 if-then)、事件、责任等进行建模。您甚至可以“打开”单个活动并在内部使用另一级别的活动进行建模。

那些灰色元素显示了流入和流出单个动作/活动的数据。

UML 中最好的事情是结合多个图表来显示问题的不同方面。在这里,以某种方式解释数据 A、数据 B 和其他数据对象的实际外观是合理的。在 UML 中有一个图表,类图

我在这里只展示了基本功能。类对复杂数据进行建模,通常配备属性并与其他类具有不同类型的关系。在这里您可以看到实际数据的样子(与活动相反,活动显示了对数据的处理方式)

类图是UML结构图之一,而活动图是典型的行为图。他们一起工作得最好。

【讨论】:

    【解决方案2】:

    我认为序列图最适合您的情况,因为您的生命线将代表您的对象(或类),而您的对象之间的交互消息将代表您的方法。 你也会有这个图表的年表。此图重点关注对象的交互。 你可以看到它:http://en.wikipedia.org/wiki/Sequence_diagram

    【讨论】:

    • 我不会在这里使用序列图,只是因为它们没有将重点放在数据输入和输出上(我认为这在这个问题中很重要)。他们将重点放在对象之间发送的消息及其及时顺序上,而不是似乎是这里的重点的数据转换。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多