数据流图(DFD)概念及画法

article/2025/8/21 7:46:05

转载自:https://blog.csdn.net/xiaoxiang2017/article/details/81456317

数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

数据流图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。

不要将数据流图(DFD)与系统流程图、程序流程图相混淆,数据流图是从数据角度来描述一个系统,而框图是从对数据进行加工的工作人员的角度来描述系统。

一、.基本图形符号

å¾5 æ°æ®æµå¾ç¬¦å·

    (1)数据源点或终点:系统外部环境中的实体(人员,组织或其他软件系统), 统称外部实体,表达该系统数据的外部来源和去向。

     (2)数据处理:(又称加工)对数据进行某些操作或变换,每个处理需要被命名,通常动词短语,简明描述完成什么处理。在分层的数据流图中还应编号。

     (3)数据存储:(又称为文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织,一般为表结构。

     (4)数据流。数据流是数据传递的路径,因此由一组成分固定的数据组成,箭头表示数据流向。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

二、命名方法

(1)为数据流(或数据存储)命名
    A.名字应该代表整个数据流(或数据存储)的内容;
    B.不要使用空洞的、缺乏具体含义的名字(如“数据”、“输入”);
    C.如果为某个数据流(或数据存储)起名字时遇到困难,则很可能是因为对数据流图的分解不恰当造成的,应该试试重新分解数据流图;

(2)为处理命名
    A.通常先为数据流命名,然后再为与之相关联的处理命名;
    B.名字应该反映整个处理的功能;
    C.应该尽量避免空洞笼统的动词做名字,如“处理”、“加工”;
    D.通常用一个动词命名,如果必须用两个动词才能描述整个处理的功能,则可能要把这个处理分解成两个处理更恰当;
    E.如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的情况,应考虑重新分解。

(3)为数据源点/终点命名
通常,为“数据源点/终点”命名时,采用它们在问题域中习惯使用的名字(如“仓库管理员”、“采购员”)。

三、.分层数据流图

1 、数据流图采用分层的形式来描述系统数据流向,每一层次都代表了系统数据流向的一个抽象水平,层次越高,数据流向越抽象。高层次的DFD图中处理可以进一步分解为低层次、更详细的DFD图。

据层级数据流图分为顶层数据流图、中层数据流图和底层数据流图。除顶层数据流图外,其他数据流图从零开始编号。

      顶层数据流图只含有一个加工表示整个系统;输出数据流和输入数据流为系统的输入数据和输出数据,表明系统的范围,以及与外部环境的数据交换关系。

     中层数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图;中间层次的多少,一般视系统的复杂程度而定。

      底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

2、在单张数据流图时,必须注意以下原则:

(1)一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。

(2)保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者说是通过该加工能产生的数据。

(3)每个加工必须既有输入数据流,又有输出数据流。

(4)所有的数据流必须以一个外部实体开始,并以一个外部实体结束。

(5)外部实体之间不应该存在数据流

四、DFD画法   (来自百度百科)

(1)确定系统的输入输出

由于系统究竟包括哪些功能可能一时难于弄清楚,可使范围尽量大一些,把可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,根据用户的答复画出数据流图的外围。

(2)由外向里画系统的顶层数据流图

首先,将系统的输入数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。

(3)自顶向下逐层分解,绘出分层数据流图

对于大型的系统,为了控制复杂性,便于理解,需要采用自顶向下逐层分解的方法进行,即用分层的方法将一个数据流图分解成几个数据流图来分别表示

举例说明:

举例一:

下图是一个飞机机票预订系统的数据流图,它反映的功能是:旅行社把预订机票的旅客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。

 

(1)首先画系统的输入输出,即先画顶层数据流图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系。图3-3为飞机机票预订系统的顶层图。

(2)画系统内部,即画下层数据流图。不再分解的加工称为基本加工。一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。例如,在上面的机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来,图3-4为0层数据流图

(3)注意事项。

①命名。不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。

②画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

③一般不画物质流。数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。

④每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

⑤编号。如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。

⑥父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。

⑦局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。

⑧提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性

举例二:

(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。

(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。

(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。

(4)根据留底的订单进行销售统计,打印统计表给经理

 

 


http://chatgpt.dhexx.cn/article/fxwR2JIy.shtml

相关文章

DFD数据流图的基本要素及易错点详细介绍

定义 简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 基本符号概念 数据流 数据流是由一组固定成分的…

学校教材购销系统DFD

题目:从用户调查得出,在计划经济时期,某高校向学生销售教材的手续是:先有系办公室的张秘书开一购书证明,学生凭此证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书…

使用逐步细化开发 DFD

数据流图(DFDS) 表示通过系统的信息流。DFD 迅速成为可视化软件系统流程中涉及的主要步骤和数据的流行方式。 数据流图 (DFD) 是表示流程或系统(通常是信息系统)的数据流的一种方式,例如: 数据来自哪里它去哪里如何存储 换句话…

【图形设计】数据流图(DFD)简介

数据流图(DFD)简介 软件需求分析的基础:机构化分析方法。 结构化分析方法适用于数据处理类型软件的需求分析。它提供的主要建模工具包括 数据流图、数据字典、机构化英语、判定表、和判定树等。 在这里主要说明DFD图的使用和画法。 数据流图&…

对数据流图DFD的总结

什么是DFD? (1)先来个感官认识: (2)具体定义: DFD是Dateflow diagram(图表)的缩写,中文名字是数据流图。数据流图是以图形的方式描述数据在系统中流动和处理的过程。一…

软件工程——数据流图(DFD)

在《软件工程——系统流程图符号及案例》中我们知道了系统流程图描述的是物理系统,那么数据流图则是用来描述系统的逻辑模型,在数据流图中没有任何具体的物理元素,只是描绘信息在系统中的流动和处理情况。并且因为数据流图是逻辑系统的图形表…

kappa系数简介---一致性与分类准确度指标

kappa系数简介 kappa系数是什么 Kappa系数是一个用于一致性检验的指标,也可以用于衡量分类的效果。因为对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0。 为…

(笔记)Kappa系数 混淆矩阵

遥感图像的分类解译结果往往需要一定的精度评价指标进行精度验证,只有进行精度验证,我们才能知道分类解译的结果是否准确可靠。 Kappa系数就经常被用于影像分类的空间一致性检验,是一种衡量分类精度的指标。 Section 1:Kappa系数…

利用混淆矩阵及Kappa系数评价土地利用分类精度

文章目录 一、准备工作二、处理步骤2.1 Arcmap:栅格转点多值提取到点栅格转点多值提取至点 2.2 Excel:计算混淆矩阵 三、Excel计算模板下载地址 一、准备工作 土地利用类型参考栅格和预测栅格(.tif) 需要保证两者的投影坐标系和像元大小一致 用户精度&…

Kappa(cappa)系数只需要看这一篇就够了,算法到python实现

站主近期建立了一个自己的网站来发博文,文章已经搬运到了下面的地址: 【一致性检验指标】Kappa(cappa)系数 1 定义 百度百科的定义: 它是通过把所有地表真实分类中的像元总数(N)乘以混淆矩阵对角线(Xkk&…

FLeiss Kappa系数和Kappa系数的Python实现

Kappa系数和Fleiss Kappa系数是检验实验标注结果数据一致性比较重要的两个参数,其中Kappa系数一般用于两份标注结果之间的比较,Fleiss Kappa则可以用于多份标注结果的一致性检测,我在百度上面基本上没有找到关于Fleiss Kappa系数的介绍,于是自己参照维基百科写了一个模板出…

什么是Kappa架构?

写在前面 本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见100个问题搞定大数据理论体系 解答 Kappa架构和L…

机器学习中多分类模型的评估方法之--kappa系数

引言 分类是机器学习中监督学习的一种重要应用,基于统计的机器学习方法可以使用SVM进行二分类,可以使用决策书,梯度提升树等进行多分类。 对于二分类模型,我们通常可以使用ROC曲线来评估模型的预测效果。这里,我们介…

评分员间可信度与Kappa统计量 Inter-rater reliability Kappa statistics

评分员间可信度inter-rater reliability 在统计学中,评分员间可信度inter-rater reliability,评分员间吻合性inter-rater agreement,或一致性concordance 都是描述评分员之间的吻合程度。它对评判者们给出的评级有多少同质性homogeneity或共…

用混淆矩阵计算kappa系数

从一篇论文——融合注意力机制和高效网络的糖尿病视网膜病变识别与分类,看到人家除了特异性、敏感性、准确率、混淆矩阵以外,还用了加权kappa系数,所以了解一下kapp系数的知识,加权kappa还没找到更好的资料。。。 资料来源于百度百…

kappa 一致性系数计算实例

本文转载自新浪博客,网址:http://blog.sina.com.cn/s/blog_4aa4593d0100rwjd.html kappa系数在遥感分类图像的精度评估方面有重要的应用,因此学会计算kappa系数是必要的,但是从最近搜索的国内外网页和文献中都对kappa系数描述的不…

混淆矩阵(交叉表)及Kappa系数的计算

交叉分类表,是以两个不同时期的地理实体类型为横纵坐标的表格。 ①用于参照的时期的类型位于表格的上方,按照横方向排列 ②用以比较的时期的类型位于表格的左方,垂直排列 ③在横纵坐标上类型的排列顺序一致 ④位于对角线上的方格中记录…

【卡帕一致性检验(Kappa)】基于SPSS软件实现

利用WB和ELASA方法分别检测,利用Kappa系数分析2种方法的一致性。 1.SPSS操作 (1)在“数据视图”中输入数据,其中WB结果包括两类:positive和negative,即可以分别用1和2表示 (2)在“变…

kappa系数在评测中的应用

◆版权声明:本文出自胖喵~的博客,转载必须注明出处。 转载请注明出处:http://www.cnblogs.com/by-dream/p/7091315.html 前言 最近打算把翻译质量的人工评测好好的做一做。 首先废话几句,介绍下我这边翻译质量的人工评测怎么做。先…

一致性检验 -- Kappa 系数

一、Kappa 检验方法 在做数据分析时,我们经常会面临一致性检验问题,即判断不同的模型或者分析方法在预测结果上是否具有一致性、模型的结果与实际结果是否具有一致性等。另外,一致性检验在临床实验中也有着广泛的应用。对于两个或多个医务工作…