数据流图(DFD)是结构化系统分析方法的主要表达工具,数据流图,主要是为了说明在一个项目中,数据的处理与流动情况。
一:数据流图的基本成分:
(1)数据加工: 表示对数据进行的操作, 如“处理选课单” 、“产生发票”等 ,命名时最好使用动宾短语或者主谓词组
(2)外部实体:位于系统之外的信息提供者,数据输入的源点或是数据输出的终点。
(3)数据流:数据流可从加工流向加工,也可在加工与数据存储或外部实体之间流动;两个加工之间可有多股数据流 。数据 流的命名尽量使用简洁易懂的名词。 流向数据存储或从数据存储流出的数据流不必命名
(4)数据存储文件:表示需要保存的数据流向。
二:数据流图的设计原则:
(1):父图-子图平衡原则:
子图可以理解为父图中部分环节的细化。例如我们给出父图:
我们想对其中的成绩处理环节进行细化,画成如下数据流图:
其中一定要保证父图输入输出数据流 = 子图输入输出数据流
(2)数据守恒原则:
所有的输出数据流必须是通过加工的,且通过加工能直接产生。一般情况下要注意一下3个错误:
*1* 外部实体与外部实体间无数据流。
*2* 外部实体与数据存储文件无数据流。
*3* 数据存储文件间无数据流。
(3)守恒加工原则:
对于同一个加功,其输入与输出的名字必须不同。通常来说要注意一下2点:
*1* 对于每一个加工,都应该有输入、输出。
*2* 数据流与加工有关,且必须进过加工。
三:实战:简单的考务处理系统
有如下的一个简单考务处理系统,要求完成一下工作:
1. 对考生送来的报名单进行检查;
2. 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
3. 对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;
4. 制作考生通知单(含成绩及合格/不合格标志)送给考生;
5. 按地区进行成绩分类统计和试题难度分析,产生统计分析表。
我们对需求进行关键字提取,并用红色标出实体,绿色标出关键的数据流。
(1)顶层数据流图:
(2)一层数据流图:
(3)二层数据流图: