介绍
数据流图也称 数据流程图(Data Flow Diagram,DFD),是一种便于用户理解、分析系统 数据流程 的图形工具。
在逻辑上描述系统的 功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
基本图形元素
基本图形元素包括:
- 数据流(DataFlow)
- 加工(Process)
- 数据存储(Data Store)
上面3个用于构建软件的 数据处理模型
- 外部实体(Extermal Agent):系统之外的对象,系统数据的来源和去向
DFD 的基本图形元素如下图
数据流
数据流由一组固定成分的 数据组成,表示 数据的流向
必须与 加工 相关,数据流的流向有以下几种:
- 从一个加工流向另一个加工;
- 从加工流向数据存储(写);
- 从数据存储流向加工(读);
- 从外部实体流向加工(输入);
- 从加工流向外部实体(输出)
每个数据流用一个名字表示。除了流向数据存储或从数据存储流出的数据流不必命名外
加工
输入数据流经过什么处理后变成了输出数据流
理解: 软件某个 功能
每个加工都有一个名字和编号。编号能反映出该加工位于分层DFD 中的哪个层次和哪张图中,也能够看出它是哪个加工分解出来的子加工。
至少有一个输入数据流和一个输出数据流
常见错误
常见的3种错误如图6-9所示:
有输入但是没有输出,称之为
黑洞,如:加工3.1.2有输出但没有输入,加工3.1.3
输入不足以产生输出,加工3.1.1中,我们称之为
灰洞
数据存储
把信息保存下来以供以后使用
可以是文件、数据库
每个数据存储都有一个定义明确的名字标识。
- 数据流流入数据存储,表示写入
- 数据流从数据存储流出,表示读取
- 数据流用 双向箭头 指向数据存储,表示 修改
具体实现
- 文件系统
- 数据库
存储介质
- 磁盘
- 磁带
- 其他存储介质
外部实体(外部主体)
软件之外的人员、组织,外部系统
指出系统所需 数据的发源地(源)和系统所产生的 数据的归宿地(宿)。
在许多系统中,某个源和某个宿可以是同一个人员或组织,此时,在DFD 中可以用同一个符号表示。
如:考生向系统提供报名单,而系统向考生送出准考证,所以在考务处理系统中,考生既是源又是宿。
源和宿采用相同的图形符号表示,当数据流从该符号流出时,表示它是源;当数据流流向该符号时,表示它是宿;当两者皆有时,表示它既是源又是宿。
2.数据流图的扩充符号
在DFD中,一个加工可以有 多个输入数据流 和 多个输出数据流,此时可以加上一些扩充符号来描述多个数据流之间的关系。
星号(*)
星号表示数据流之间存在 与 关系。
- 输入流:则表示所有输入数据流全部到达后才能进行加工处理;
- 输出流:则表示加工结束将同时产生所有的输出数据流。
加号(+)
加号表示数据流之间存在 或 关系。
输入流:则表示其中任何一个输入数据流到达后就能进行加工处理;
输入流:则表示加工处理的结果是至少产生其中一个输出数据流。
异或(⊕)
异或表示数据流之间存在 互斥 关系。
输入流:则表示 当且仅当其中一个输入流 到达后才能进行加工处理;
输出流:则表示加工处理的结果是仅产生这些输出数据流中的一个。
题
在结构化分析中,用数据流图描述()。当采用数据流图对一个
图书馆管理系统进行分析时,()是一个外部实体。
A、数据对象之间的关系,用于对数据建模
B、数据在系统中如何被传送或变换,以及如何对数据流进行变换
的功能或子功能,用于对功能建模
C、系统对外部事件如何响应,如何动作,用于对行为建模
D、类数据流图中的各个组成部分
A、读者
B、图书
C、借书证
D、借阅
答案
第一问:B
第二问:A,图书、借书证、借阅都是图书馆管理系统的功能

