1.数据流图的定义:

数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
数据流图英文缩写DFD(Data Flow Diagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。

2.数据流图的基本图形元素有:
(1)数据流
(2)加工(处理)
(3)文件(数据存储)
(4)数据池(数据源或终点)

数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。

加工(处理)
在数据流图中加工用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。

文件(数据存储)

是按照某种规则组织起来的、长度不限的数据。在数据流图中文件用一直线表示,在线段旁注上文件名。一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等;

数据池(源点和终点)

在数据流图中用方框表示,在框内写上相应的名称。

3.数据流图的四种基本图形符号:

-->:箭头,表示数据流;

〇:圆或椭圆,表示加工;

= :双杠,表示数据存储;

□:方框,表示数据的源点或终点。

4.画数据流图所使用的工具:visio

5.数据流图的画法步骤:

1)确定系统的输入输出

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

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

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

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

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

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

  • 分层:一般将层号从0开始编号,采用自顶向下,由外向内的原则。画0层数据流图时,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。
  • 编号:如果一张数据流图中的某个加工分解成另一张数据流图时,则上层图为父图,直接下层图为子图。子图及其所有的加工都应编号。
  • 父图与子图的平衡:子图的输入输出数据流同父图相应加工的输入输出数据流必须一致,此即父图与子图的平衡。
  • 局部数据存储。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。
  • 提高数据流图的易懂性。注意合理分解,要把一个加工分解成几个功能相对独立的子加工,这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性

例题:

假设一家工厂的采购部门每天需要一张定货报表。报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应商、次要供应商。零件入库或出席称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存临界值时就应该再次定货。

  • 逐步分解地画出数据流图
  • 第一步,画出最概括的系统模型。因为任何系统实质上都是由若干个数据源点/终点以及一个处理组成。这个处理就代表了系统对数据加工变换的基本功能。

对上图进行细化

再细化一点

勾画出边界

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

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

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

数据流图的画法,如何画数据流图相关推荐

  1. 分层数据流图(画法+例子)

    分层数据流图(画法+例子) 数据流图基本元素 数据流图基本元素: 数据流:每个数据流都应该命名,以反映该数据流的含义 加工:每个加工应有名字和编号以反映其功能和在DFD中的层次位置.有输入无输出称位黑 ...

  2. 软件工程白盒测试的流图怎么画_软件工程数据流图的画法

    分层数据流图的设计方法 第一步,画子系统的输入输出 把整个系统视为一个大的加工,然后根据数据系统从哪些外部实体接收数据流,以及系统发送数据流到那些外部实体,就可以画出输入输出图.这张图称为顶层图. 第 ...

  3. 软件工程中数据流图的画法

    软件工程中数据流图的画法 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映 ...

  4. 软件工程数据流图的画法

    摘自百度经验 系统流程图是在系统分析员在做系统构架阶段,或者说,在接触实际系统时,对未来构建的信息处理系统的一种描述.这种描述是相对简单且完全的,涉及到未来系统中使用的处理部件,如磁盘,显示器,用户输 ...

  5. 软件设计师认证 -如何画数据流图

    1. 数据流 企业活动包含各种流,比如说物资流.事务流.货币流.人员流.机器及设备流. 而数据流是记录以上各种流的抽象表示. 2.什么是数据流图 DFD? 数据流图 = 数据流程图,便于理解的分析系统 ...

  6. 好东西大家分享: 怎么画数据流图

    数据流图-1(DFD基本组成) 数据流图(Data Flow Diagram,简称DFD) 是一种最常用的结构化分析工具,它从数据传 递和加工角度,以图形的方式刻画系统内的数据运动情况. 数据流图中具 ...

  7. 好东西大家分享: 怎么画数据流图 1

    数据流图(Data Flow Diagram ,简称DFD) 是一种最常用的结构化分析工具,它从数据传 递和加工角度,以图形的方式刻画系统内的数据运动情况. 数据流图中具有四种基本成分,如图1.3 所 ...

  8. 一篇文章彻底学会画数据流图

    一篇文章带你学会如何画数据流图(DFD) 文章目录 数据流图 数据流图基本符号 数据流图层次结构 顶层流图 中间数据流图 底层流图 数据流图设计原则 1.父图-子图平衡原则 2.数据守恒原则 3.守恒 ...

  9. mysql数据流图怎么做_数据流图的画法以及实例(精选)

    数据流图也称为数据流程图date flow diagram , DFD,是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和具体内容,精确的在逻辑上描述系统的功能.输入.输出和数据存储等,是 ...

最新文章

  1. 机器学习常用损失函数小结
  2. JavaScript作用域面试题避坑指南
  3. Android动态加载技术
  4. linux打包tar包命令,Linux压缩打包方法连载之一:tar命令
  5. 计算机硬盘中病毒以后怎么办,计算机中病毒,格式化整个硬盘后还有?怎么办?...
  6. 苹果首款自研芯片Mac成本可能上升 因设计改变
  7. 库克时期的苹果和乔布斯时期的苹果是否有差距?
  8. 软件测试入门到飞升上仙之web 端测试
  9. Tensorflow训练简单神经网络
  10. java 判断 and_Java中如何判断两个对象是否相等(Java equals and ==)
  11. Android项目-IPTV经验总结
  12. 微PE安装win10系统 GPT、BOOTMGR PBR、EFI PART红色
  13. LTE时代的定位技术:OTDOA,LPP,SUPL2.0
  14. 高一计算机课期中考试总结反思,信息技术期中考试试卷分析与反思
  15. iOS安装ipa文件
  16. Java面试相关问题以及解析
  17. 大学c语言基础知识选修课,北京交通大学选修课选课指南
  18. 冰羚 example-icedelivery-README.md翻译
  19. 饶天亮到访深圳时空梭,区块链技术与名人明星产业碰撞出新火花
  20. Mysql_use_result和Mysql_store_result

热门文章

  1. 分析淘宝网络框架tbnet
  2. 30道计网常考面试题含答案总结!血赚!
  3. 微信小程序开发 | 综合项目-点餐系统
  4. 【数据库连接池】could not inspect JDBC autocommit mode 问题处理
  5. pdf怎么转换成txt?思路提供
  6. 为什么你当下的生活如此无聊——10个残酷而诚恳的原因
  7. 戴尔塔式服务器T110II详细评测
  8. [从头读历史] 第270节 诗经 王风
  9. 在linux mint 18.3安装深度音乐
  10. 使用opencv-python调整图片亮度