zoukankan      html  css  js  c++  java
  • 初次认识数据流图

        数据流图

        说到数据流图,这算是在一个系统前期对一个系统的数据的非常好的描写叙述,正所谓一张图抵得上千言万语,所以在软件需求说明书中的至关重要的一个环节,所以在这里我为大家简单的的介绍一下软件需求说明书中的数据流图。

    概念

        数据流图(Data Flow Diagram)

    是一种图形化的系统模型,它在一张图中展示信息系统的数据流向——即系统的输入与输出数据各自是什么,数据从哪里来并终于流向何处,以及数据存储在什么地方。

    绘图的目的

        需求分析阶段,为了获得一个对新系统的框架认识、概念性认识,须要对新系统建模。而用图形表示需求,就是需求建模,获得分析模型。需求分析方法中的结构化分析方法的特点是利用数据流图来帮助人们理解问题,对问题进行分析,而且也是与客户交流非常重要的交流。

    基本组成

        数据流(-->:是由一组固定成分的数据组成,表示数据的流向。值得注意的是,数据流图中描写叙述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每一个数据流必需要有一个合适的名字,以反映该数据流的含义。

        加工():加工描写叙述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每一个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,可以看出它是由哪个加工分解出来的子加工。

     

    数据存储=:数据存储表示临时存储的数据。每一个数据存储都有一个名字。

    外部实体(:外部实体是存在于软件系统之外的人员或组织,他指出数据所须要的发源地或系统所产生的数据的归属地,也就是源点和终点。

    怎样绘图

    第一步:确定系统的输入输出

        应该向用户了解“系统从外界接受什么数据”、“系统向外界送出什么数据”等信息,然后,依据用户的答复画出数据流图的外围。这张图成为顶层图

    第二步:由外向里画系统的顶层数据流图

        首先,将系统的输人数据和输出数据用一连串的加工连接起来。在数据流的值发生变化的地方就是一个加工。接着,给各个加工命名。然后,给加工之间的数据命名。最后,给文件命名。这张图称为0层图。从一个加工画出一张数据流图的过程就是对加工的分解。

       能够用下述方法来确定加工:

           1.在数据流的组成或值发生变化的地方应该画出一个加工,这个加工的功能就是实现这一变化,也能够依据系统的功能决定加工。比如我们登录时的验证信息,就是一个简单的加工过程

           2.确定数据流的方法

       用户把若干数据当作一个单位来处理(这些数据一起到达、一起处理)时,能够把这些数据看成一个数据流。

           3.关于数据存储

        对于一些以后某个时间要使用的数据,能够组织成为一个数据存储来表示。

    第三步:自顶向下逐层分解,绘出分层数据流图

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

           

    应该注意的问题:

    1. 应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。

    2.  画数据流图,不是画控制流。

    3. 一个加工的输出数据流,不应与输入数据流同名,及时他们的组成全然同样。

    4. 同意一个加工有多条数据流流向还有一个加工,也同意一个加工有两条同样的输出数据流流向不同的加工。

    5.保持父图与子图的平衡。也就是说,父图中的某加工的输入输出流必须与他的子图的输入输出数据流在数量上和名字上同样。值得注意的是,假设父图中的一个输入(输出)数据流相应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么他们仍然算是平衡的。

    6. 在自顶向下的分解过程中,若一个数据存储首次出现时,仅仅与一个加工有关系,那么这个数据存储应作为这个加工的内部文件而不必画出。

    7. 保持数据守恒,也就是,一个加工的全部输出数据流中的数据必须能从该加工的输出流中直接获得,或者通过该加工能产生的数据。

    8. 每一个加工必须既有输入数据流,又有输出数据流。

    9. 在整套数据流图中,每一个数据存储必须既有读的数据流,又有写的数据流。可是在某张子图中,可能仅仅有读没有写,或者仅仅有写没有读。

    以下便是我对机房收费系统的一张数据流图,不过对大家做个參考。

  • 相关阅读:
    MFC自绘框架窗口客户区
    命令行下创建mysql数据库
    linux重置mysql root密码的6种方
    xampp修改mysql默认密码详解
    Java常用包装类
    Java异常处理
    Java数组
    Java流程控制
    Java基本数据类型
    golang https server分析
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4090396.html
Copyright © 2011-2022 走看看