数据流图(DFD)

一、数据流图 ( DFD )

文章目录





一、数据流图 ( DFD ) 简介



数据流图 ( Data Flow Diagram ) :

需求分析 阶段 , 使用的工具 , 在 “结构化分析” 中 , 数据流图 ( DFD ) 使用频率很高 ;

数据流图涉及内容 : 基本概念符号 , 数据字典 , 数据平衡原则 ;





二、数据流图 ( DFD ) 概念符号





1、数据流


数据流 : 数据流由 一组固定成分的数据 组成 , 表示 数据的流向 ;

数据流命名 : 每个数据流都有一个 命名 , 该命名表达了 该数据流传输 数据的含义 ; 如在箭头上标注 “账号信息” , 表示该数据流是传输账号信息 的 , 表示 数据的内容 ;

数据字典 : 数据流箭头上只标明了 “账号信息” , 没有具体的格式内容 , 是只有账号 , 还是有账号/密码/验证码等信息 , 这些数据详细格式 , 都在 数据字典中定义 ;

符号表示 : 数据流 使用 箭头 表示 , 箭头所指的方向 , 代表了数据流向 ;
在这里插入图片描述



2、加工 ( 核心 )


加工 : 描述 “输入数据流”“输出数据流” 之间的变换 , 即 对数据进行了什么样的处理 , 使得 “输入数据流” 变为 “输出数据流” ;

主要操作 : 在程序中的体现是 处理 数据的过程 , 向 “加工” 中输入数据流后 , 将数据进行加工 , 处理 , 变换后 , 产生新的 “输出数据流” ;

符号表示 : 使用 圆形 / 圆角矩形 表示加工 ;
在这里插入图片描述



3、数据存储


数据存储 ( 文件 ) : 表示 暂时存储的数据 , 数据存储的粒度是以 表 为单位 ;

文件名称 : 每个 数据存储 ( 文件 ) 都有 名字 ;

方向 : 流向文件的数据流 表示 向文件内写入内容 , 从文件流出的数据流 表示 从文件读取内容 ;

符号表示 : 使用 双横线 / 半框形矩形 表示
在这里插入图片描述



4、外部实体


外部实体 : 软件系统之外的 人员 / 组织 ;

符号表示 : 矩形 ;

在这里插入图片描述





三、数据流图 ( DFD ) 分层



在这里插入图片描述



1、分层说明


数据流图分层 , 最上层是 顶层数据流图 , 第二层是 层数据流图 , 最底层是 底层数据流图 ,

“顶层数据流图”“底层数据流图” 之间是若干 中层数据流图 ,

中层数据流图 需要进行编号 , 从 开始编号 ;



2、顶层数据流图


顶层数据流图 : 中间的椭圆 是需要开发的 系统 , 周边的矩形 表示的是 外部实体人或组织 , 外部实体 与 系统 之间 , 有数据传输关系 ;

一个形象的说明是 多个人吃火锅 , 外层周边是人 , 中心位置火锅是系统 ;


顶层数据流图 能够表达的信息是非常有限的 , 其 将整个系统 , 使用一个节点表示 ,

其可以体现出 系统与外界实体之间的交互 ,

但是 系统内部的情况 , 系统内部模块之间的数据交换 是没有体现的 ;



3、中层数据流图


“顶层数据流图” 进行细化 , 细化后的 class="mord">0 层数据流图 ,

与 顶层数据流图 比较没有变化的部分 : 外部实体 , 外部实体与系统之间的数据流 , 是没有变化的 ;

变化部分 : 有变化的部分是系统内部 , 系统内部进行了细化 , 原来系统是一个节点 , 在 中层数据流图 中 , 会将一个节点 拆分成 多个节点 , 这些节点就是系统中的数据处理部件 , 即 加工 ;

这些数据处理部件 ( 加工 ) 之间会有数据流的交互 ,



4、底层数据流图


针对每个加工 节点 , 将其拆分 , 绘制其中的更详细的数据流转情况 ;

数据流图 ( DFD ) 分层 , 是从 顶层 -> 中层 -> 底层 , 逐层进行分解 , 这种分解思路 , 与结构化的开发方法 , 是完全匹配的 ;

因此 , 数据流图 是 结构化 开发方法中 , 最常用的工具 ;

绘制数据流图时 , 要保证 上一层数据流图 与 下一层数据流图 保持平衡 , 这就是 数据流图平衡原则 ;

### 数据流图0的区别 #### 顶数据流图 (Context Level DFD)数据流图也称为上下文级数据流图,用于展示整个系统的最高级别视图。该级别的图表仅包含一个处理节点,代表整个系统,并显示外部实体如何与这个单一的系统交互[^1]。 - **特点** - 只有一个处理框表示整个系统。 - 显示外部实体(External Entities),这些实体可以是向系统提供输入的人或事物,也可以是从系统接收输出的对象。 - 描述了进入和离开系统的数据流方向。 ```plaintext +-------------------+ | | | 外部实体 |<-----(数据流向)-----+ 系统 + | (E1) | | +----------+--------+ | v +-----------v------------+ | | | 系统 | | (P1) | | | +------------------------+ ``` 此图为简化版的顶DFD示意[^2]。 #### 0 数据流图 (Level 0 DFD 或者称作“爆炸图”) 当进一步细化顶中的单个处理节点时,则得到了0数据流图。这一级展示了构成顶级处理的具体子过程,以及它们之间、与其他外部实体间的数据流动情况。 - **特点** - 将顶的一个大处理拆分为多个更具体的小处理。 - 更加详细的描绘各个功能模块间的联系。 - 包含更多的数据存储(Data Stores),用来保存临时或永久性的信息。 ```plaintext +------------------+ +--------------------+ | | | | | 外部实体(E1) |<-------------+ 子处理(P1.1) | | | | | +---------+--------+ +-------+------------+ | | v v +---------v--------------+ +------v---------------+ | | | | | 子处理(P1.2) | | 数据存储(DS1) | | | | | +--+------------------+ | | | 子处理(P1.n) | | | +--------------------------------+ ``` 上述为0DFD的概念性示意图[^3]。 --- 对于食品订购系统来说,在顶图中只会看到顾客作为外部实体与整体订单管理系统之间的简单互动;而在0图里则会细分出诸如菜单浏览、下单确认等多个内部操作环节及其关联的数据传输路径。 同样地,在客户服务系统案例研究中提到,顶图只展现了客户和服务平台这两个主体的关系,而到了0就会展开成咨询受理、问题转接等具体的业务活动流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值