使用流程图和 UML 活动图之间有什么实际区别? 我有一些想法,但也许我错过了房间里的大象?
流程图:
UML活动图:
对于我临时记录应用程序逻辑的特定块的情况,我决定使用流程图。公司里会有更多的人能够理解他们。
这似乎是一种偏好,但如果我们有一种标准化的语言来描述软件系统,我们为什么还要使用其他语言呢?这可能会导致过度使用流程图的坏习惯。活动图非常简单。但是,如果您决定描述系统的更复杂的方面或尝试更改您所描述的部分,则无论如何您可能都必须进行切换。所以只要使用 UML 就可以避免将来出现混乱。
正如您所注意到的,活动图本质上可以包括并发性和计时。 如果您查看从维基百科抄袭的这个示例,如下所示,您可以观察到带有两个粗水平条的部分,以及“呈现想法”和“记录想法”两个并行活动。 这被解读为“并行启动这些活动,并且仅在两项活动都完成后才继续”。 流程图无法用符号表达这一点。
实际上,使用活动图可以让您清楚地思考并发流程。 我想你会发现任何能阅读流程图的人都会很快适应。
活动图,西班牙维基百科用户 Gwaur CC BY-SA 3.0,来自 Wikimedia Commons:
您可以从 UML 生成源代码,反之亦然;这就是你所说的“标准化”特征。
UML本身就是用来分享你的理解的。以标准化的方式分享理解。由于您的案例是临时的,并且 UML 图的主要用途是提供非正式的草图,因此可以在此处使用活动图。但流程图也可以,因为这里不涉及并行性。我一直发现以下论点很有帮助。我所生产的工艺品将会造福于谁?我可以使用流程图以不言自明的方式表达流程吗?如果是,那么您应该继续使用流程图。但是,如果您的类图、序列等采用 UML 格式,那么为了一致性起见,您的活动图也采用 UML 格式是有意义的(这里的论点是,如果人们能够理解类、序列 UML 语义,那么 y 就不是活动)图表。)。