数据流图DFD画法「建议收藏」

数据流图DFD画法「建议收藏」数据流图(DFD-DataFlowDiagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢?步骤1数据流图里包含的内容数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员

大家好,又见面了,我是你们的朋友全栈君。

数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢?
步骤1

  • 数据流图里包含的内容
  • 数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也能容易理解。

    不要将数据流图(DFD)与系统流程图、程序流程图相混淆。

步骤2

  • 数据流图里的符号

   

数据流图的画法转载 - 扬扬 - yang_ping111的博客 :箭头,表示数据流;

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

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

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

 

  (1) 数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份证号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。

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

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

  (4)数据源点或终点,是本软件系统外部环境中的实体(包括人员、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图。

 

需要注意的是:

1)处理并不一定是程序。它可以是一系统程序、单个程序或程序的一个模块,甚至可以是人工处理过程;

2)数据存储并不等同于一个文件。它可以是一个文件、文件的一部分、数据库元素或记录的一部分;它代表的是静态的数据。

3)数据流也是数据,是动态的数据。

步骤3

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

     源点/终点

    (外部实体)

    • 采购员
    • 仓库管理员

     数据处理

    • 产生报表
    • 处理事务 
     数据流
    • 定货报表
      零件编号
      零件名称
      定货数量
      目前价格
      主要供应商
      次要供应商
    • 事务
      零件编号
      事务类型
      数量 
     数据存储
    • 定货信息(见定货报表)
    • 库存清单
      零件编号
      库存量
      库存量临界值

步骤4

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

    数据流图DFD画法「建议收藏」

     

    对上图进行细化

    数据流图DFD画法「建议收藏」

    再细化一点

    数据流图DFD画法「建议收藏」

    勾画出边界

    数据流图DFD画法「建议收藏」

    最后细化一下

    数据流图DFD画法「建议收藏」

步骤5

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151638.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • modelsim 10.7安装教程

    modelsim 10.7安装教程安装步骤:安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。试装系统:win1064bit以安装Modelsim10.7为例,10.X的安装基本差不多重要:安装包有10.1,10.2,10.4,10.5,10.7这几个版本,如果是安装后安装目录win32/win64文件夹里面有mgls.dll文件,则第步不需要复制mgls.dll文件。另外有的安装教程也说…

    2022年5月10日
    39
  • kali最新版安装教程_kali linux安卓版安装

    kali最新版安装教程_kali linux安卓版安装百度搜索kali,就是它了顺着箭头安装,建议使用网盘或者IDM下载,浏览器等待时间太长。下载后解压文件夹,然后打开VMware输入默认的虚拟机账号密码,均为kali选择第一个,然后我们的kali就安装好了。之后就是获取root最高权限方便我们使用kaili所有的工具点击openterminalhere输入sudopasswdroot回车,输入原来密码:kali设置新密码.之前的用户会被注销,登录新的账号回到桌面再次点击openterminalhere,可以看到我们的权限已

    2025年6月7日
    0
  • Vagrant系列(二)—-Vagrant的配置文件Vagrantfile详解

    Vagrant系列(二)—-Vagrant的配置文件Vagrantfile详解

    2022年2月8日
    39
  • 2016TI杯——寻迹小车

    2016TI杯——寻迹小车首先,我选择的是B题————自动循迹小车,具体如下:B题:自动循迹小车1.任务设计制作一个自动循迹小车。小车采用一片TI公司LDC1314或LDC1000电感数字转换器作为循迹传感器,在规定的平面跑道自动按顺时针方向循迹前进。跑道的标识为一根直径0.6~0.9mm的细铁丝,按照图1的示意尺寸,用透明胶带将其贴在跑道上。图中所有圆弧的半径均为为20cm±2cm。图1跑道示意图

    2022年6月7日
    38
  • 十进制数负三的二进制数补码为_-8的补码

    十进制数负三的二进制数补码为_-8的补码十进制转二进制补码(正负都可)指针初学将一个十进制正(负)整数转换为对应的二进制补码(用指针完成十进制转二进制:1.先判断该整数是正数还是负数如果是正数则二进制补码首位为1,且对应的二进制补码就是原.如果是负数则二进制补码为原码基础上取反且末位加1(加1则涉及进位)代码:#include”stdio.h”#include”Stdio.h…

    2022年10月19日
    0
  • 干掉 “ZooKeeper”,阿里为什么不用 ZK 做服务发现?

    站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫…

    2020年10月18日
    439

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号