使用流程图和UML活动图之间有什么实际区别? 我有一些想法,但也许我在房间里想念一头大象?
流程图:
UML活动图:
对于我特定记录特定应用程序逻辑块的情况,我决定使用流程图。公司中的更多人将能够理解他们。
答案 0 :(得分:18)
这似乎是一种偏好,但如果我们有一种用于描述软件系统的标准化语言,为什么我们使用其他东西呢?这可能导致过度使用流程图的坏习惯。活动图非常简单。但是,如果您决定描述系统的更复杂的方面或尝试更改您描述的部分,您可能还是必须切换。因此,只需使用UML并防止将来出现混淆。
答案 1 :(得分:14)
如您所知,活动图本身可以包括并发和时序。如果你看一下来自维基百科的this example,如下所示,你可以观察到有两个重型水平条的部分,以及两个平行的“现在的想法”和“记录的想法”活动。这被解读为“并行开始这些活动,并且只有在两者完成时才继续。”流程图不能在表示法中表达。
实际上,使用活动图可以让您清楚地思考并发流程。我想你会发现任何能阅读流程图的人都会很快适应。
Activity diagram由西班牙语维基百科用户Gwaur CC BY-SA 3.0,通过Wikimedia Commons:
答案 2 :(得分:11)
根据Agile Modeling网站:
在许多方面,UML活动图是面向对象的等效结构开发的流程图和数据流图(DFD)。
来自IBM:
但是,流程图不包括和状态,操作的流程图无法接收事件。
这可能就是为什么流程图更易于理解,因为活动图具有面向对象开发和并发的概念。
答案 3 :(得分:1)
您可以从UML生成源代码,反之亦然;因此你谈到的“标准化”特征。
答案 4 :(得分:1)
UML本身用于分享您的理解。以标准化的方式分享理解。由于您的案例是临时的,并且UML图的主要用途是提供非正式草图,因此可以在此处使用活动图。但流程图也是如此,因为这里没有涉及到的parellism。我总是发现以下论点是有帮助的。我正在制作的艺术品会让谁受益?我可以使用流程图以自我解释的方式表达流程。如果是,那么你应该继续使用流程图。但是如果您的类图,序列等都是UML格式,那么为了一致起见,将您的活动图放在UML中也是有意义的(如果人们可以理解类,那么这里的参数是UML语义,那么你就不是活动图。)。