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

数据流图DFD的画法相关推荐

  1. pd数据流图怎么画_数据流图(DFD)画法

    数据流图(DFD)画法要求 一.数据流图(DFD) 1.数据流图的基本符号 数据流图由四种基本符号组成,见图5-4-1所示. 图5-4-1  数据流图的基本符号 例:图5-4-2是一个简单的数据流图, ...

  2. 数据流图(DFD)画法

    1. 数据流图(data) 数据流图 (date flow diagram , DFD),是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必 ...

  3. 数据流图(DFD)画法要求

    http://www.cnblogs.com/baoguo/articles/826554.html 转载于:https://www.cnblogs.com/FCWORLD/archive/2010/ ...

  4. 数据流图DFD --详细介绍

    数据流图(DFD):用处理.外部实体.数据流以及数据存储来表示系统需求的图表 DFD的特点: 图形元素少且符号简单易懂 较充分表达系统的主要需求:输入.输出.处理和数据存储 最终用户.管理人员和系统开 ...

  5. 数据流图——从软考真题中学画数据流图DFD

    文章目录 题目 画顶层图 画0层图 解题技巧 题目 建议将题目复制到word后与此文分屏查看.后面需要多次查看题目. 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩, ...

  6. 数据流图的简介与画法

    数据流图的简介与画法 简介 理论 组成 例子 简介 数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型.在结 ...

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

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

  8. 数据库设计--数据流图(DFD)

    1.数据流图的定义 数据流图(DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程, 由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型. 在结构化开发方法中,数 ...

  9. 数据流图(Data Flow Diagram ,简称DFD)

    在信息处理系统中应用数据流图,通过对系统中数据.数据加工的全面分析,准确勾画出系统的框架,系统开发人员问以此为交流平台,共同分析可行性.合理性等,有助于系统缺陷在分析阶段被及时的发现和消除,为系统的设 ...

  10. 软件工程——数据流图

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

最新文章

  1. Kotlin setText 使用
  2. 2017回顾与2018前瞻:机器学习与人工智能
  3. 在基于nuxt的移动端页面中引用mint UI的popup组件之父子组件传值
  4. 使用drawio进行画图真的很方便(WEB版/Chrome APP版/桌面版)
  5. byte[]、sbyte[]、int[]以及Array的故事
  6. linux 解压安卓内核,解压内核镜像
  7. spring cloud 资源
  8. Springboot中使用websocket发送信息给指定用户和群发
  9. vfp 修改本机时间_借助novapdfPro 将VFP报表无感生成PDF文件
  10. SQL2005企业版详细部署(一)
  11. 在线程序员 计算器 (中文)
  12. c语言题库及详解答案 免费下载,C语言题库(带详解答案).pdf
  13. SIM800L 模块 使用AT命令打电话
  14. 论网站CDN的绕过姿势
  15. cmd进阶学习笔记(原创进阶)
  16. python图片文字合成视频_利用Python将多张图片合成视频的实现
  17. 问题 F: 【数论】青蛙的约会
  18. android wms 窗口,Android6.0 WMS(十一) WMS窗口动画生成及播放
  19. 1-10 Java 继承、protected和abstract抽象类
  20. 用数组来写兔子繁衍问题C语言

热门文章

  1. 计算机竞赛奖学金申请书,计算机专业奖学金申请书
  2. 服务器里怎么找到K3账套文件,金蝶K3账套自动备份步骤详解
  3. 各种三角形边长的计算公式
  4. 苹果6plus几核处理器_iOS 13.4 Beta3发布:苹果在布局,越狱软件也更新!
  5. 曾经决心永不做游戏 但为何阿里巴巴的游戏之心一直死不了?
  6. 带你搞懂朴素贝叶斯分类算法
  7. 安装SQL SERVER 2005后,没有SSMS界面管理的问题
  8. 暑假计算机教育培训总结,暑假信息技术培训心得
  9. java游戏繁体字名字,繁体字游戏名字你知道有几个?
  10. java的程序的创建快捷方式_关于Swing:如何为Java程序创建快捷方式图标