数据流图

结构化分析模型结构如图

数据流图:描述与用户相关的初始数据的接受过程以及这些数据转变为输出结果的内部加工过程。

数据字典:模型中的数据信息集合。

数据流图符号

数据流图的附加符号

数据流图的构建:自顶向下,逐层分解,构建分层的数据流(DFD)图 。

1)构建顶层数据流图

    顶层数据流图体现系统的应用领域及系统与外界的主要接口。

    由以下三部分组成:

  •    一个加工,标识被开发的系统
  •    与系统有关的全部外部实体(即数据源点、终点)。
  •    与外部实体相关的系统主要输入、输出数据流。

2)构建零层数据流图

    0层数据流图体现系统功能及各项功能与外部的接口情况,主体功能体现系统框架。

    有四部分组成:

  •  加工。每个主体功能用一个加工表示。
  • 主体功能相关的输入、输出数据流。
  • 外部实体。这些外部实体分别通过输入 数据流引发各主体功能执行,并接收执行后的输出结果。
  • 数据存储。体现主体功能执行后产生的、需要保留在系统内部的数据的去处。

3)逐层细化0层图,将一个主体加工分解为不同的加工,每个操作环节分别由一个加工表示。如果主体功能复杂,难于在一层图中全部细化完成,则可以再次细化,产生2层图。以此类图,指导内部的执行逻辑十分简明、不能再细化为止。

画数据流图注意事项

1)命名:数据流图中每个元素必须有名字,且命名合理。

  •       加工名字应该反映加工的功能,而不是一部分功能。加工命名一般为“动词+名词短语”。
  •       数据流名字应该代表整个数据流的内容,而不是仅仅反映它的某些成分。数据流命名为“名词”。
  •       画数据流而不是画控制流。数据流图反映的是系统“做什么”,而不反映“如何做”.

3)每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与结果。

4)按层给加工编号。如果一张数据流图中的某个加工要分解成另一张数据流图时,则上层图为父图,直接下层图为子图,子图的编号是父图中相应处理的编号的扩充,子图上处理的编号是父图号、小数点及子图的局部号组成。

5)保持父图与子图的平衡。子图的输入、输出数据流同父图相应加工的输入、输出数据流必须一致,或者组成子图输入(输出)数据流的数据项全体恰好是父图中的这个数据流。可借助数据字典中的关于该数据流的描述来判定。

数据流图举例

例:图书预订系统

        书店向顾客发放订单,顾客将所填订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单和正常订单两种,随时处理优先订单,定期处理正常订单。最后系统将所处理的订单汇总,并按出版社要求发给出版社。

原文地址:https://www.cnblogs.com/cxler/p/10545041.html