相关概念
数据流图(DFD)
1、一种图形化技术,描绘信息流和数据从输入移动到输出的过程中所经受的变换
2、在数据流图中没有任何具体的物理部件,只是描绘数据在软件中流动和被处理的逻辑过程
基本符号
1、数据源点/终点:通常是人或部门,可重复表示
2、处理:一个处理框可以代表一系列程序、单个程序或程序的一个模块;
3、数据存储:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据
4、数据流:描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件 ,数据流是处于运动中的数据
附加符号
星号(*):表示“与”关系
加号(+):表示“或”关系
异或(⊕):表示互斥关系
例一
假设采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件,应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存量少于库存量的临界值时,就应该再次定货。
画数据流图的步骤
1、从问题描述中提取数据流图的4种成分
(1)数据的源点/终点
“通过放在仓库中的CRT终端把事务报告给定货系统”——仓库管理员是数据源点 “采购部每天需要一张定货报表”——采购员是数据终点
(2)处理
“采购部需要报表”,——产生报表
事务的后果是改变零件库存量,因此对事务进行的加工是另一个处理——处理事务
(3)数据流:
“系统把定货报表送给采购部”——定货报表
“事务需要从仓库送到系统中”——事务
(4)数据存储:
处理事务和产生报表这两个处理在时间上明显不匹配,用来产生定货报表的定货信息必须存放一段时间——定货信息
零件库存量和库存量临界值需要存储——库存清单
2. 画基本系统模型 由若干个数据源点/终点和一个处理组成
定货系统的基本系统模型
3. 细化,描绘系统的主要功能(功能级数据流图)
定货系统的功能级数据流图
4. 对系统主要功能进一步细化
把处理事务的功能进一步分解后的数据流图
注意点
1、当进一步分解涉及如何具体的实现一个功能时就不应该再分解了
2、当对数据流图分层细化时必须保持信息连续性,也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同
3、注意对处理进行编号的方法
命名
1.为数据流(或数据存储)命名:
(1)完整性
(2)具体性
(3)起名字遇到了困难时,试试重新分解
2.为处理命名:
(1)通常先为数据流命名,然后再为与之相关联的处理命名
(2)完整性; 及物动词+宾语,具体性
(3)通常名字中仅包括一个动词,否则进行分解
(4)命名时遇到困难,应考虑重新分解
3.为数据源点/终点命名:
采用它们在问题域中习惯的名字
用途
1、作为交流信息的工具
(1)供有关人员审查确认白
(2)供用户理解和评价
(3)数据流图应该分层,超过9个时应该画分图
2、作为分析和设计的工具(1)描绘系统所完成的功能
(2)辅助物理系统的设计时,以定时要求为指南,画出许多组自动化边界,对应不同的物理系统
(3)导出更详细的设计步骤面向数据流的设计方法22C2S
更新方式
以批量方式更新库存清单
以联机方式更新库存清单
例二
高考录取统分子系统
功能如下:
(1) 计算标准分——根据考生原始分计算标准分,存入考生分数文件
(2) 计算录取线分——根据标准分和招生计划文件中的招生人数,计算录取线分,存入录取线文件
1. 提取数据流图的四种成分
(1)数据源点和终点:考生
(2)处理:
(1) 计算标准分
(2) 计算录取线分
(3)数据存储:
(1) 考生分数文件
(2) 招生计划文件
(3) 录取线文件
(4)数据流:
(1)原始分;标准分
(2)招生人数;录取线分
2. 画基本数据流图
3. 画功能级数据流图
例三
教材销售系统
1、人工:先找系办公室开购书申请,凭申请找教材科开购书证明,向出纳员交付书款获得领书单,然后到书库找保管员领书
2、计算机:包括销售和采购两大功能。
销售时,根据学生用书表和教材库存清单对购书单进行有效性审查,通过审查后得到有效购书单,并将缺书信息写入缺书表。交完款后开领书单,根据领书单更新教材库存清单。 采购时,将缺书表中的信息汇总生成采购单,新书进库时更新教材库存清单。
人工教材销售系统的数据流图
基本数据流图
功能级数据流图
销售功能细化的数据流图
采购功能细化的数据流图