流程图与UML活动图

时间:2011-08-16 16:02:27

标签: uml workflow-activity flowchart

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

流程图:

  1. 广泛使用;
  2. 非程序员容易理解;
  3. 旧?
  4. UML活动图:

    1. 标准化;
    2. 支持并发;
    3. 鲜为人知的语法,但仍然很简单。
    4. 对于我特定记录特定应用程序逻辑块的情况,我决定使用流程图。公司中的更多人将能够理解他们。

5 个答案:

答案 0 :(得分:18)

这似乎是一种偏好,但如果我们有一种用于描述软件系统的标准化语言,为什么我们使用其他东西呢?这可能导致过度使用流程图的坏习惯。活动图非常简单。但是,如果您决定描述系统的更复杂的方面或尝试更改您描述的部分,您可能还是必须切换。因此,只需使用UML并防止将来出现混淆。

答案 1 :(得分:14)

如您所知,活动图本身可以包括并发和时序。如果你看一下来自维基百科的this example,如下所示,你可以观察到有两个重型水平条的部分,以及两个平行的“现在的想法”和“记录的想法”活动。这被解读为“并行开始这些活动,并且只有在两者完成时才继续。”流程图不能在表示法中表达。

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

Activity diagram由西班牙语维基百科用户Gwaur CC BY-SA 3.0,通过Wikimedia Commons: ​Activity diagram from Wikipedia

答案 2 :(得分:11)

根据Agile Modeling网站:

  

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

来自IBM

  

但是,流程图不包括和状态,操作的流程图无法接收事件。

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

答案 3 :(得分:1)

您可以从UML生成源代码,反之亦然;因此你谈到的“标准化”特征。

答案 4 :(得分:1)

UML本身用于分享您的理解。以标准化的方式分享理解。由于您的案例是临时的,并且UML图的主要用途是提供非正式草图,因此可以在此处使用活动图。但流程图也是如此,因为这里没有涉及到的parellism。我总是发现以下论点是有帮助的。我正在制作的艺术品会让谁受益?我可以使用流程图以自我解释的方式表达流程。如果是,那么你应该继续使用流程图。但是如果您的类图,序列等都是UML格式,那么为了一致起见,将您的活动图放在UML中也是有意义的(如果人们可以理解类,那么这里的参数是UML语义,那么你就不是活动图。)。