【软考9】数据流图技术

导读:本篇博客仅针对自己在模拟中出现的问题,作为考前拾遗!不作技术研究和宏观探究!


一、是什么

1.1,定义

数据流图也成数据流程图(Data Flow Diagram,DFD),一种便于用户理解、分析系统数据流程的图形工具

1.2,表示

1.2.1,基本图形元素

数据流图中包含4中基本图形元素:数据流、加工、数据存储、外部实体。其中,数据流、加工和数据存储用于构建软件系统内部的数据处理模型;外部实体表示存在于系统之外的对象,用来帮助用户理解系统数据的来源和去向。

——>:箭头,表示数据流; 
〇:圆或椭圆,表示加工; 
〓:双杠(带一边开口,一边闭合),表示数据存储; 
□:方框,表示数据的源点或终点。 

1.2.2,扩充符号

扩充符号,主要用来描述多个数据流之间的关系:星号(*):表示数据流之间存在“与”关系;加号(+):表示数据流之间存在“或”关系;异或:表示数据流之间存在“互斥”关系。

1.3,约定

首先,对流进或者流出文件的数据流不需要标注名字,因为文件本身就足以说明数据流;而别的数据流则必须标注名字,名字应能反应数据流的含义。

其次,数据流不能重名。

然后,两个数据流在结构上相同是允许的,但必须体现人们对其的不同理解。

最后,由于用途不同,流动时间不同,两个加工之间可以有几条不同的数据流。


二、分层数据流图

2.1,来源

一个复杂的软件系统可能涉及到很多的加工和数据流,如果我们只有一个数据流图,那么这个数据流图则会显得十分的复杂,不易阅读、不易理解。根据自顶向下逐层分解的思想,我们将数据流图按照层次结构来进行划分。

2.2,层次结构

顶层图:只有一张图,一个代表整个系统的加工,该加工描述了软件系统与外界之间的数据流。

0层图:顶层图中的加工经分解后的图成称为0层图,也只有一张。

底层图:处于分层图中的最底层,在底层图中,所有的加工不在进行分解。

中间层:分层数据流中的其他图(除顶层、0层、底层),称为中间层,其中至少有一个加工被分解成一张子图。

2.3,图和加工的编号

顶层图:只有一个加工,该加工不必编号,代表整个软件系统。

0层图:加工编号分别为:1、2、3.......

子图:是父图中被分解的加工号,若父图的加工号为X,则子图的加工号为:X.1,X.2,X.3.......


三、数据平衡原则

3.1,内容

平衡:加工的输入数据流和输出数据流要平衡,即保证加工的输出数据流都有其对应的输入数据流与输出数据流。父图和子图之间的数据流必须保持一致,如果上层数据流底部某加工的一个输入(输出)数据流对应于下层数据流图中若干个输入(输出)数据流,而且下层数据流中这些数据流的成分之和正好等于上层数据流底部的这个数据流,那么,它仍算是平衡的。

3.2,反例

黑洞:一个加工,只有输入数据流,而无输出数据流;

奇迹:一个加工只有输出数据流,而无输入数据流;

灰洞:一个加工的输入数据流无法通过加工产生输出流。


四、考点分析

总原则:数据平衡原则

类型一:找出错误的数据流

类型二:补充缺失的数据流

不管是找出错误的,还是补充缺失的,总共分三种情况:1,有输入、无输出;2,有输出,无输入;3,生成文件的时候,没有数据来源。

类型三:数据平衡原则的概念和内容


五、总结

不知道为什么,临近考试,突然发现一个知识点的总结速度是蹭蹭的,以前都没有发现自己总结的效率这么高。虽然最近一直在做题,不过总结是不能少的,总结一次,收获一次。


原文地址:https://www.cnblogs.com/hhx626/p/6010397.html