• 数据流图DFD画法


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

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

    步骤
    2
    • 数据流图里的符号

    数据流图里的符号也极为简单,只有四个:1)外部实体;2)处理;3)连线;4)数据存储。这四个符号也有两种。一种是Yourdon & Coad法,另一种是Gane & Sarson法。只是略有不同而已。如果你使用Microsoft Visio,那么你只能使用Gane & Sarson法了。

    需要注意的是:

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

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

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

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

       源点/终点

      (外部实体)

      • 采购员
      • 仓库管理员

       数据处理

      • 产生报表
      • 处理事务 
       数据流
      • 定货报表
        零件编号
        零件名称
        定货数量
        目前价格
        主要供应商
        次要供应商
      • 事务
        零件编号
        事务类型
        数量 
       数据存储
      • 定货信息(见定货报表)
      • 库存清单
        零件编号
        库存量
        库存量临界值
    步骤
    4
    • 逐步分解地画出数据流图
    • 第一步,画出最概括的系统模型。因为任何系统实质上都是由若干个数据源点/终点以及一个处理组成。这个处理就代表了系统对数据加工变换的基本功能。

      对上图进行细化

      再细化一点

      勾画出边界

      最后细化一下

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

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

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

  • 相关阅读:
    初学设计模式【5】工厂方法模式——FactoryMethod
    Activity生命周期
    ACTIVITY状态保存
    初学设计模式【6】抽象工厂模式——AbstractFactory
    android Toast总结
    Android对话框总结
    【实用】无线调试android应用——ADB OVER NETWORK
    二分法求根与二分次数
    struts2__action执行顺序
    JDBC与Hibernate连接池
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/6094154.html
Copyright © 2020-2023  润新知