DFD(数据流图)和活动图之间的差异

lla*_*aro 19 uml

我需要知道这些差异,以便找不到如何正确使用它们.

DFD和活动图的区别是什么?

pax*_*blo 20

实际上,这是合乎逻辑的.你只需要查看名称.

数据流图中,"框"之间的线表示在系统的组件之间流动的数据.因为这些只显示数据流,所以它们没有给出排序的指示.

活动图中,这些行只是活动之间的转换,根本不代表数据流.它们更多地代表了活动和决策的顺序.你可以从中了解事情发生的顺序.

这是一个简单的解释,但应该是一个很好的起点.可以从维基百科获取更多信息以获取DFD活动图.

  • 活动图也可以显示对象流. (4认同)
  • @paxdiablo:活动图可能包含带有对象流边缘的对象流:http://www.uml-diagrams.org/activity-diagrams.html#object-flow-edge (2认同)

sfi*_*nie 14

显性偏见:我是DFD的支持者.

@John是正确的,活动图用于表示对象流.@pax同样正确,他们很少.

对我来说有两大DFD优势:

  1. 链接到对象模型.DFD上的数据存储提供了一种将生成/消费的数据链接到对象模型的非常好的方法.对于一致性非常有用,并确保您的思维能够融为一体.

  2. 他们不再强调控制流程.经常设计过度约束测序.活动图确实支持并发 - 但它要求用户(a)记住并(b)使用它.所以默认是过度序列化.DFD没有.它们暴露了真实的序列依赖性,而无需用户方面的任何额外努力.因此,他们也更容易看到因果关系.如果进程a和b都需要数据输入D那么它在图上是显而易见的.因此并行活动是显而易见的.

不要误会我的意思 - 我不反对Activity diags.在控制流量是主要考虑因素的情况下,我将在DFD上使用AD.但凭经验我会说在大约70-80%的情况下我发现DFD是一个更有用的工具.

当然,YMMV.

  • @Dsjbirch:不,没有任何东西可以将DFD固有地与程序性程序联系起来 - 或者将ADs与OO联系起来.OMT和Shlaer-Mellor - 早于UML的OO方法 - 使用DFD来表达处理.AD实际上是流程图的演变,并没有关于它们的OO.例如SSADM和UML之间的分离更多地是他们的支持者的理想.存在一些差异,但两者都建立在一组类似的建模构造上.你应该使用任何适合你的东西,如果这意味着挑选不同技术的方面是完全正常的.心连心. (2认同)