数据库软考笔记(八)关于数据流图那些事

基础概念、解题方法

数据流图(DFD)是结构化分析方法中用来描述系统的逻辑模型的。它是面向数据流来建模的。

  1. 数据流:由一组固定成分的数据组成,表示数据的流向。DFD描述的说数据流,不是控制流。除了流向数据存储或从数据存储流出的数据流不必命名外,每个数据流都必须有一个合适的名字,以反映该数据流的含义。
  2. 加工:描述输入数据流到输出数据流之间的变换,也就是输入数据流经过什么处理后变成了输出数据流。每个加工有一个名字和编号。编号能反映出该加工位于分层DFD中的哪个层次和哪张图,也能看出它是哪个加工分解出来的子加工。
  1. 数据存储:数据的存储用来表示存储的数据,每个数据存储都有一个名字。(...表或...信息表或...文件)
  2. 外部实体:外部实体是指存在于系统之外的人员或组织或其他系统,它指出系统所需数据的发源地和系统所产生的数据的归宿地。

数据流图需要注意的问题:

1.适当的为数据流、加工、数据存储、外部实体命名,名字反映该成分的实际含义,避免空洞的名字。(eg:例如课程表的数据流命名为课程信息,成绩表的数据流命名为成绩,不能笼统地命名为信息、数据等,这种让人很难以理解。)

2.画数据流不要画控制流。

3.每条数据流的输入或输出是加工。(eg:也就是说数据流不能从一个实体流向另一个实体,或者一个实体流向存储。通俗点说这和数据存储一样,不能是客户端直接对数据库吧,总得要先对数据处理。)

4,一个加工的输出数据流不应与输入数据流同名,即使它们的组成成分相同。(eg:见下图,不能同一个名字。)

5.允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出数据流流向两个不同的加工。(eg:一个加工可以流向另一个加工或多个加工)

6.保持父图与子图的平衡。也就是说,父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同。如果父图中的一个输入(输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡的。(eg:非常重要,会考,背下来)

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

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

9.每个加工必须既有输入数据流,又有输出数据流。(eg:通俗讲就是有米才有饭)

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

考试总结

  1. 每个小标题对应一个加工,逐字逐句地仔细阅读题干中的说明,将每一句话与图中的数据流对应,如果有一句话没有找到读音的数据流,做出标记,可能为缺失的数据流。
  2. 在此过程中可以对应地找到实体E和数据存储D,命名的时候一定要按照题干说明中的词语并结合实际语义来命名,不要随意编造。
  3. 如果某句话暂时存疑,可以先做一个标记,等后面的读完了再来做判断。
  4. 根据找缺失数据流的分值来估算可能需要找几条缺失的数据流,如果一遍没有找全,可以回过头再看一次。优先在答题卡写有把握。
  5. 把父图与子图平衡那句话背下来。
经验分享 程序员 微信小程序 职场和发展