不同于类图、用例图和顺序图等等UML里面的概念,DFD数据流图术语结构化分析的范畴。它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
两句话来概括数据流图:
- 功能是用来描述整个系统中信息、数据的流向,以及途中发生的变化
- 分层的概念就是,将各个【加工】细分到不能再度分解
举个简单的例子,学生在系统里面提交自己的作业:用方形来表示外部实体,这里的实体有学生和老师,也即数据经过的客观存在物:
这里我们先画【顶层数据流图】,因此第一个加工应该是整个系统的处理(相当于最高层次的抽象),加工这里用圆角矩阵表示,很多情况下也用圆形表示:
千万提到,细化的过程就是对加工进行分解,如下处理后,得到0层数据流图:
每个加工至少有一个输入数据流和一个输出数据流~
学生的作业信息需要保存。如下图,也可以使用双横线:
对于数据仓库来说,同样也是一读一写~
还可以继续分解为1层数据流图、2层数据流图,这里博主就不扩展了,只需要记住核心要义:不断细化加工。这方面,倒是更考研各位的语文能力:阅读和写作。即便是很复杂的数据流图,亦是如此~