软件设计师-16,下午题-数据流图
Joker2Yue数据流图基本概念、数据流图设计原则、解题技巧、真题讲解
NULL
大纲
数据流图基本概念
数据流图
-
数据流图描述数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模,数据流图相关概念如图:
-
数据流图是可以分层的,从顶层(即上下文无关数据流)到0层、1层等,顶层数据流图只含有一个加工处理表示整个管理信息系统,描述了系统的输入和输出,以及和外部实体的数据交互。数据流图示例如下:
-
顶层数据流图
描写的是**外部实体(长方形)和系统(圆角长方形)**之间的交互,而外部实体我们是不需要分析的
-
零层数据流图
是对顶层数据流图的进一步分析,其中操作是圆角长方形,数据存储是未封闭的长方形
-
外部实体
通常是人物、部门、系统等
-
数据存储
通常是记录、文件、清单等
-
数据字典
-
数据字典是用来定义在数据流图中出现的符号或者名称的含义,在数据流图中,每个存储、加工、实体的含义都必须定义在数据字典中,并且交图和子图之间这些名称要相同。示例如下:
数据流图的设计原则
基本设计原则
-
数据流图是一种重要的系统设计工具,其基本设计原则有以下几点:
-
数据守恒原则:每个加工的输出数据必须来源于该加工的输入数据,或者说,输出数据可以通过该加工从输入数据中直接获得或者通过加工产生。
-
守恒加工原则:同一加工的输入与输出的名字必须不相同,即使它们的组成成分相同。这有助于确保数据的一致性和可理解性。
-
输入与输出必须同时存在:每个加工必须既有输入数据流,又有输出数据流,以确保数据在系统中的流动和处理。
-
外部实体之间不传递数据流
-
外部实体与数据存储不传递数据流
-
数据存储与数据存储之间不传递数据流
-
父图与子图的平衡原则:父图中的输入输出数据流与子图中相应加工的输入输出数据流必须一致,以确保父子图之间的数据传递和一致性。(上下文图就是父图,零层图就是子图)。这一原则在复杂系统中尤为重要,但不适用于单一图。
-
数据流与加工有关,且必须经过加工
-
数据平衡原则
-
以下是数据平衡原则
-
父图与子图之间的平衡:在顶层图中,我们描述了外部实体与系统之间的数据流关系。在子图中,系统内部的数据流关系更详细。然而,顶层图与子图是相互关联的,它们的输入和输出数据流的数量和名称应该始终保持一致。这意味着我们可以通过比较父图和子图中的外部实体的输入和输出数据流来确认是否存在任何缺失数据流。
-
子图内部的平衡:对于子图中的每个加工,我们要求每个加工既要有输入数据流,也要有输出数据流,这才构成了数据平衡。根据这一原则,我们可以检查每个输入是否有相应的输出,反之亦然,从而确定是否存在任何缺失的数据流,然后采取相应的措施来补充缺失的数据流。
-
数据流与加工的关联:数据流只能与加工有关。这意味着数据流可以从一个加工流向另一个加工,也可以从数据源流向加工,或者从加工流向数据源。这一关联确保了数据在系统中的有效处理和传递。
-
输入和输出数据流的名称和类型不同:在数据流图中,输入和输出数据流的名称必须不同,同时它们的数据类型必须匹配。这有助于确保数据流的清晰性和一致性,以避免混淆或错误。
-
解题技巧
数据流图的考试形式非常固定,第一小题补充外部实体,第二小题补充数据存储,第三小题补充缺失数据流,第四小题考察简单概念。都不算难,以题目自描述和数据流图为主,答案都在题目描述里,更像是阅读理解题。技巧如下:
-
补充外部实体:外部实体就是与系统进行交互的其他实体,可以是大型系统、公司部门、相关人员等。外部实体会与系统进行交互,反应在数据流图中就是一个个事件流。根据事件的名称结合题目描述可以轻易得出答案。
-
补充数据存储:数据存储出现在0层数据流图中,反应系统内部数据的存储。可以直接根据数据流图中数据存储的输入数据流和输出数据流判断该数据存储的信息,但注意要使用题目自带的数据存储名词作为答案。
-
补充缺失数据流:可以分成两步进行,首先判断父图和子图是否数据平衡,依据文图和子图间的数据平衡原则核对父图中的每个输入、输出数据流是否都能在子图中找到。直接查看外部实体的输入、输出数据流,可以轻松得出答案。然后判断子图内部是否数据平衡,根据子图内数据平衡原则,详细阅读题目自描述,对每句话核对是否反映在子图中,以及每个加工是否都有输入和输出等原则判断。一般来说,父图中的缺失数据流是由子图中多条数据流组成的,要注意分析。