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