流程图与 UML 活动图

问题描述 投票:0回答:6

使用流程图和 UML 活动图之间有什么实际区别? 我有一些想法,但也许我错过了房间里的大象?

流程图:

  1. 用途广泛;
  2. 非程序员也能轻松理解;
  3. 老?

UML活动图:

  1. 标准化;
  2. 支持并发;
  3. 不太为人所知的语法,但仍然足够简单。

对于我临时记录应用程序逻辑的特定块的情况,我决定使用流程图。公司里会有更多的人能够理解他们。

uml workflow-activity flowchart
6个回答
25
投票

这似乎是一种偏好,但如果我们有一种标准化的语言来描述软件系统,我们为什么还要使用其他语言呢?这可能会导致过度使用流程图的坏习惯。活动图非常简单。但是,如果您决定描述系统的更复杂的方面或尝试更改您所描述的部分,则无论如何您可能都必须进行切换。所以只要使用 UML 就可以避免将来出现混乱。


23
投票

正如您所注意到的,活动图本质上可以包括并发性和计时。 如果您查看从维基百科抄袭的这个示例,如下所示,您可以观察到带有两个粗水平条的部分,以及“呈现想法”和“记录想法”两个并行活动。 这被解读为“并行启动这些活动,并且仅在两项活动都完成后才继续”。 流程图无法用符号表达这一点。

实际上,使用活动图可以让您清楚地思考并发流程。 我想你会发现任何能阅读流程图的人都会很快适应。

活动图,西班牙维基百科用户 Gwaur CC BY-SA 3.0,来自 Wikimedia Commons: ​Activity diagram from Wikipedia


12
投票

根据敏捷建模网站:

在许多方面,UML 活动图是结构化开发中的流程图和数据流图 (DFD) 的面向对象等价物。

来自 IBM

但是,流程图不包含And状态,并且操作的流程图无法接收事件。

这可能就是流程图更容易理解的原因,因为活动图具有面向对象开发和并发的概念。


1
投票

您可以从 UML 生成源代码,反之亦然;这就是你所说的“标准化”特征。


1
投票

UML本身就是用来分享你的理解的。以标准化的方式分享理解。由于您的案例是临时的,并且 UML 图的主要用途是提供非正式的草图,因此可以在此处使用活动图。但流程图也可以,因为这里不涉及并行性。我一直发现以下论点很有帮助。我所生产的工艺品将会造福于谁?我可以使用流程图以不言自明的方式表达流程吗?如果是,那么您应该继续使用流程图。但是,如果您的类图、序列等采用 UML 格式,那么为了一致性起见,您的活动图也采用 UML 格式是有意义的(这里的论点是,如果人们能够理解类、序列 UML 语义,那么 y 就不是活动)图表。)。


© www.soinside.com 2019 - 2024. All rights reserved.