数据库原理——需求分析——数据流图的画法[0.6]

1.数据流图

数据流图是结构化分析的工具。

表示
数据库原理——需求分析——数据流图的画法[0.6]_第1张图片

1.1. 数据流图的画法

数据库原理——需求分析——数据流图的画法[0.6]_第2张图片

  1. 确定系统的输入输出、画出顶层图

    开始由于系统究竟包括哪些功能可能一时难于弄清楚,所以把整个系统视为一个大的加工,可能有的内容全部都包括进去。此时,应该向用户了解“系统从外界接受什么数据”(输入)、“系统向外界送出什么数据”(输出)等信息,然后,根据用户的答复画出数据流图的外围。

  2. 画系统的内部

    把顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。这张图称为0层图


    加工的分解:从一个加工画出一张数据流图的过程就是对加工的分解。

    1. 确定加工的方法:

      • 可以根据数据流的组成或值变化的地方决定加工。
      • 也可以根据系统的功能决定加工。
    2. 确定数据流的方法

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

    3. 关于数据存储:

      对于以后要使用的数据,可以组织成为一个数据存储来表示。

  3. 画加工的内部

    把每个加工看作一个小系统,把加工的输入输出数据流看成小系统的输入输出流。于是可以象画0层图一样画出每个小系统的加工的DFD图 。

  4. 对第三步分解出来的DFD图中的每个加工,重复第四步的分解过程,直到图中尚未分解的加工不可再分解。至此,得到了一套分层数据流图。

  5. 第五步,对数据流图和加工编号

    ​ 对于一个软件系统,其数据流图可能有许多层,每一层又有许多张图。为了区分不同的加工和不同的DFD子图,应该对每张图进行编号,以便于管理。

    ● 顶层图只有一张,图中的加工也只有一个,所以不必为其编号。

    ● 0层图只有一张,图中的加工号分别是0.1、0.2、…,或者1, 2 。

    ● 子图就是父图中被分解的加工号。

    ● 子图中的加工号是由图号、圆点和序号组成,如:1.12,1.3 等等。

    应该注意的问题:

    1. 应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。
    2. 画数据流图,不是画控制流。
    3. 一个加工的输出数据流,不应与输入数据流同名,及时他们的组成完全相同。
    4. 允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。
    5. 保持父图与子图的平衡。也就是说,父图中的某加工的输入输出流必须与他的子图的输入输出数据流在数量上和名字上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么他们仍然算是平衡的。
    6. 在自顶向下的分解过程中,若一个数据存储首次出现时,只与一个加工有关系,那么这个数据存储应作为这个加工的内部文件而不必画出。
    7. 保持数据守恒,也就是,一个加工的所有输出数据流中的数据必须能从该加工的输出流中直接获得,或者通过该加工能产生的数据。
    8. 每个加工必须既有输入数据流,又有输出数据流。
    9. 在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但是在某张子图中,可能只有读没有写,或者只有写没有读。特别注意上面的几点,都是必须学会的目标。考查的内容都集中到2、5、6、8的几点上。

参考

  • https://jingyan.baidu.com/article/4f34706eefdb04e387b56deb.html
  • https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%B5%81%E5%9B%BE/4136477?fr=aladdin
    ike.baidu.com/item/%E6%95%B0%E6%8D%AE%E6%B5%81%E5%9B%BE/4136477?fr=aladdin
  • https://www.cnblogs.com/yjbjingcha/p/7401622.html

你可能感兴趣的:(数据库)