数据流图

       数据流图(Data Flow Diagram,简称DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经历的变换,其既提供了功能建模机制也提供了信息建模机制。是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

 一、DFD中的基本符号:

    数据流图有四种基本图形符号:

    →:箭头,表示数据流
    〇:圆或椭圆,表示加工,即变换数据的处理
    =:双杠(或开口矩形),表示数据存储
    □:方框,表示数据的源点或汇点

 

二、DFD中的4中元素:

    (1)数据流:数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。 数据流是流   动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
    (2)加工(数据处理):对数据流进行某些操作或变换。每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应编号。
    (3)数据存储(文件):指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。
    (4)数据源点或终点(外部实体):是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图。

 

三、画数据流图的步骤:

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

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


                                                          

    (3)注意事项:

    ①命名:不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。
    ②画数据流而不是控制流:数据流反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
    ③一般不画物质流:数据流反映能用计算机处理的数据,并不是实物,因此对目标系统的数据流图一般不要画物质流。
    ④每个加工至少有一个输入数据流和一个输出数据流:反映出此加工数据的来源与加工的结果。
    ⑤编号:如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。

    ⑥父图与子图的平衡:子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
    ⑦局部数据存储:当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
    ⑧提高数据流图的易懂性:注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。

       

四、数据流程图的主要作用:

    1、便于用户表达功能需求和数据需求及其联系

    2、便于两类人员共同理解现行系统和规划系统的框架

    3、清晰表达数据流的情况 

    4、有利于系统建模

 

五、常见错误检测:

    1、数据流图中所有图形符号只能是4种基本符号

    2、数据流图的主图(非顶层图)必须包含4中基本元素,缺一不可

    3、主图的数据流必须封闭在外部实体之间,外部实体可以不只1个

    4、每个加工至少有1个输入数据流和1个输出数据流

    5、数据流图中必须按层给加工框编号,编号需体现各个层次的关系

    6、任何数据流子图均与上层的一个加工对应,且父图与子图平衡

    7、图上每个元素都必须有名字

    8、数据流图中不可夹带控制流

    9、实体和实体之间不能有数据流

   10、存储文件和存储文件之间不能有数据流


转载于:https://www.cnblogs.com/jpa2/archive/2011/10/20/2527371.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lwip+freeRTOS 实现热插拔功能

1、lwip启用LWIP_NETIF_CALLBACK 宏,cubeMX会自动生成相关函数()。 /* Set the link callback function, this function is called on change of link status*/netif_set_link_callback(&gnetif, ethernetif_update_config); 回调函数在v…

iOS设计模式 - 享元

iOS设计模式 - 享元 原理图 说明 享元模式使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结…

带箭头的菜单列表

<title>带箭头的菜单列表</title><style>body{background-color:#999;}#menu{font-size:16px;width:140px;margin:0 auto;border:solid 1px #ccc;}#menu a,#menu a:visited{text-decoration:none;text-align:center;color:#c00;display:block;padding:4px;ba…

gcc编译选项-Os的用法

From: http://hi.baidu.com/caosicong/item/e61fa700581980d11ff0469c **********************gcc/egcs 的主要选项********* gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色&#xff0c; 例如 asm 或 typeof 关键词。…

ASP.NET和PHP全面对比

谁是速度之王&#xff1f; 刚刚在9月编程语言排行榜上取得历史性突破的PHP在Web开发领域最到的对手可能就是基于微软.NET技术的ASP.NET。近日&#xff0c;微软的 Joe Stagner在博客上发表了一系列文章比较了PHP和ASP.NET性能方面的文章&#xff0c;引起了来自双方程序员的大量回…

40个漂亮的单页网站设计案例(上篇)

有很多人喜欢单页网站&#xff0c;这种网站只有一个页面&#xff0c;设计都很精美&#xff0c;通过锚记进行平滑的导航。不过&#xff0c;并不是每个网站都适合做成单页&#xff0c;一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做。如果你打算做一个这样的网站…

jsoncpp之初体验

参考文章 http://blog.csdn.net/JoeBlackzqq/article/details/9043315 , 我将里面的代码做在了一个工程亲自体验了下。 1. 下载jsoncpp源码&#xff0c; 地址: http://nchc.dl.sourceforge.net/project/jsoncpp/jsoncpp/0.5.0/jsoncpp-src-0.5.0.tar.gz 2. 编译json&#xff0…

让Windwos Server 2008 R2 SP1的FTP真正能访问

今天把FTP配置好后&#xff0c;在本机上匿名访问没有问题了&#xff0c;以为万事大吉&#xff0c;于是把需要的文件放入后&#xff0c;到另一台机子上去试试&#xff0c;结果发现出现下面的画面。访问不通&#xff01;什么原因&#xff1f;于是把防火墙完全关闭了&#xff0c;发…

几款用于电能质量测量的芯片

1、ATT7022B ATT7022B 是专用的智能电表计量芯片&#xff0c;ATT7022B 包含六路二阶 sigma-delta ADC、电能质量参数数字信号处理等电路。ATT7022B 可以测量系统的电压、电流、频率、有功功率、无功功率、有功能量、无功能量等参数。ATT7022B 通过 SPI 通信接口进行数据通信。…

深入浅出UML类图

From: http://www.uml.org.cn/oobject/201211231.asp 在UML 2.0的13种图形中&#xff0c;类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》&#xff08;《UML精粹&#xff1a;…

TI基于MSP430F67641的电能表技术方案

1、三相四线硬件架构 1.1 阻容降压供电 1.2 电压输入 1.3 电流输入 2、RMS有效值计算 3、计量参数算法 3.1 有功和无功 3.2 视在功率 3.3 三相总功率 3.4 电能 3.5 频率 3.6 功率因数

comsol 多物理场仿真流程-以开关柜为例

1、主要方法 在SolidWorks中对于开关柜的内部与外部结构进行建模&#xff0c;生成能够导入软件计算的3D模型。将SolidWorks中的模型导入comsol软件中&#xff0c;设置参数进行多物理场耦合仿真。 1、具体步骤 删除高压开关柜中对其内部电磁环境无较大影响的结构&#xff0c;如…

2.UiSelector API 详细介绍

一、UiSelector类介绍 //通过各种属性与节点关系定位组件简单实例&#xff1a;public void testDemo2() throws UiObjectNotFoundException{UiSelector l new UiSelector().text("相机");//搜索条件UiObject objectnew UiObject(l);//一句搜索条件找到对象object.cli…

断路器操作机构分合闸线圈电流特征曲线特点

1、特征量描述 高压断路器操作机构线圈电流波形可以反映分合闸电磁铁本身及所控制的锁闩或阀门以及与之相连的开关操动机构、辅助触点在操作过程中的工作情况。操作机构分合闸过程的工作原理相同&#xff0c;其线圈电流波形也类似。以下是典型的特征电流曲线示意图&#xff1a…

几种仪表放大器电路总结

一般模拟信号在进入A/D采样前&#xff0c;需要先进行信号调理&#xff0c;模拟信号放大部分需要着重设计。放大电路采用仪表放大器&#xff0c;其能有效抵抗共模干扰且具有很高的输入电阻&#xff0c;有效提高信噪比。 以下总结常用的仪表模拟放大电路设计。 1、单运放仪表放…

IEEE1459功率理论计算方法

0、ADC采集5通道电压&#xff08;ABCN地&#xff09;&#xff0c;4通道电流采用每周波1024点同步采样 1、计算各相&#xff08;Ua、Ub、Uc&#xff09;、线电压&#xff08;Uab、Uac、Ubc&#xff09;&#xff0c;相电流&#xff08;Ia、Ib、Ic&#xff09; 2、计算各相电压、…

使用Visio 2000逆向工程将代码转换为UML图表

From: http://www.sudu.cn/info/html/website/20080508/307109.html 摘要&#xff1a;Microsoft Visio 2000 Professional Edition 和 Enterprise Edition 包含通过逆向工程将 Microsoft Visual C、Microsoft Visual Basic 和 Microsoft Visual J 代码转换为统一建模语言 (UM…

POJ1177 Picture 线段树+离散化+扫描线

求最终的覆盖图形周长&#xff0c;写这种代码应该短而精确&#xff0c;差的比较远 /* Problem: 1177 User: 96655 Memory: 348K Time: 32MS Language: C Result: Accepted */ #include<iostream> #include<stdio.h> #include<stdlib.h>…

DA模拟量控制外接600V高压直流源-设计分析

一、STM32 12位AD DA线性度测试 配置STM32 DA为12bit输出&#xff0c;AD为12bit检测&#xff0c;测试AD和DA的线性度与误差。DAC从0到2.49V步进1mV。ErrorDAC 为标准值减去 ADC的测量值。 板子的Vref2.5V&#xff0c;ADC和DAC的极限为2.5V&#xff0c;测试时直接用杜邦线连接…