一、
数据流图
( DFD )
文章目录
一、
数据流图
( DFD ) 简介
数据流图 ( Data Flow Diagram ) :
在
需求分析
阶段 , 使用的工具 , 在
“结构化分析”
中 , 数据流图 ( DFD ) 使用频率很高 ;
数据流图涉及内容 :
基本概念符号 ,
数据字典 ,
数据平衡原则 ;
二、数据流图 ( DFD ) 概念符号
1、数据流
数据流 :
数据流由
一组固定成分的数据
组成 , 表示
数据的流向 ;
数据流命名 :
每个数据流都有一个
命名
, 该命名表达了
该数据流传输
的
数据的含义
; 如在箭头上标注 “账号信息” , 表示该数据流是传输账号信息 的 , 表示
数据的内容 ;
数据字典 :
数据流箭头上只标明了 “账号信息” ,
没有具体的格式内容
, 是只有账号 , 还是有账号/密码/验证码等信息 , 这些数据详细格式 , 都在
数据字典中定义 ;
符号表示 :
数据流 使用
箭头
表示 ,
箭头所指的方向 ,
代表了数据流向 ;
2、加工 ( 核心 )
加工 :
描述
“输入数据流”
到
“输出数据流”
之间的变换 , 即
对数据进行了什么样的处理
, 使得 “输入数据流” 变为 “输出数据流” ;
主要操作 :
在程序中的体现是
处理 数据的过程
, 向 “加工” 中输入数据流后 ,
将数据进行加工 , 处理 , 变换后
, 产生新的 “输出数据流” ;
符号表示 :
使用
圆形
/
圆角矩形
表示加工 ;
3、数据存储
数据存储 ( 文件 ) :
表示
暂时存储的数据
, 数据存储的粒度是以 表 为单位 ;
文件名称 :
每个 数据存储 ( 文件 ) 都有
名字 ;
方向 :
流向文件的数据流
表示
向文件内写入内容
,
从文件流出的数据流
表示
从文件读取内容
;
符号表示 :
使用
双横线
/
半框形矩形
表示
4、外部实体
外部实体 :
软件系统之外的
人员 / 组织 ;
符号表示 :
矩形 ;
三、数据流图 ( DFD ) 分层
1、分层说明
数据流图分层 , 最上层是
顶层数据流图
, 第二层是 层数据流图 , 最底层是
底层数据流图 ,
“顶层数据流图”
与
“底层数据流图”
之间是若干
中层数据流图 ,
中层数据流图 需要进行编号 ,
从 开始编号 ;
2、顶层数据流图
顶层数据流图 :
中间的椭圆
是需要开发的
系统
,
周边的矩形
表示的是
外部实体人或组织
, 外部实体 与 系统 之间 , 有数据传输关系 ;
一个形象的说明是
多个人吃火锅
,
外层周边是人 ,
中心位置火锅是系统 ;
顶层数据流图 能够表达的信息是非常有限的 , 其
将整个系统 , 使用一个节点表示
,
其可以体现出
系统与外界实体之间的交互 ,
但是
系统内部的情况
, 系统内部模块之间的数据交换 是没有体现的 ;
3、中层数据流图
将
“顶层数据流图” 进行细化
, 细化后的 class=”mord”>0 层数据流图 ,
与 顶层数据流图 比较没有变化的部分 :
外部实体
,
外部实体与系统之间的数据流
, 是没有变化的 ;
变化部分 :
有变化的部分是系统内部 , 系统内部进行了细化
, 原来系统是一个节点 , 在 中层数据流图 中 , 会将一个节点 拆分成 多个节点 , 这些节点就是系统中的数据处理部件 , 即 加工 ;
这些数据处理部件 ( 加工 ) 之间会有数据流的交互 ,
4、底层数据流图
针对每个加工 节点 , 将其拆分 ,
绘制其中的更详细的数据流转情况 ;
数据流图 ( DFD ) 分层 , 是从
顶层 -> 中层 -> 底层
, 逐层进行分解 , 这种分解思路 , 与结构化的开发方法 , 是完全匹配的 ;
因此 ,
数据流图 是 结构化 开发方法中 , 最常用的工具 ;
绘制数据流图时 , 要保证
上一层数据流图 与 下一层数据流图 保持平衡
, 这就是
数据流图平衡原则 ;