本章的考点主要集中于以下几个方面。
补充数据流图的缺失部分,包括补充数据流、补充外部实体、补充数据存储。
数据流图的改错,包括修正数据流名称、数据流的起点与终点、删除多余数据流。
目录
一、数据流图技术
1. 数据流图的基本元素
2. 分层数据流图(DFD)
3. 数据字典
4. 数据平衡原则
二、作答技巧
1. 补充实体
2. 补充存储
3. 补充数据流
4. 补充加工名
5. 利用数据平衡原则
一、数据流图技术
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具。
1. 数据流图的基本元素
数据流图包括四大基本元素:加工、数据流、数据存储、外部实体,如表 “数据流图” 所示。
虽然涉及的元素少,但数据流图本身却并不简单。图 “0层数据流图示例” 便是一张数据流图,该图中包括:数据流(例如:非法用户信息、用户信息等)、外部实体(例如:前端应用、数据管理员等)、数据存储(例如:用户表、操作表、权限表)、加工(例如:用户验证、用户管理等)。
2. 分层数据流图(DFD)
从图 “0层数据流图示例” 可以看出,越庞大的系统,数据流图越复杂。以至于一张图根本无法清楚的表达系统 内容,所以需要对图进行分层,逐层精化。目前使用的数据流图都是分层次的,这也就是为什么平 时也把数据流图称为“分层数据流图”的原因。分层数据流图很好的传承了结构化思想——“自顶至下,逐步精化”。将图分成了若干个层次,首先绘制针对系统整体的顶层图,以说明系统与外界的交互,再将图层层细化。具体过程为:
(1)画系统的输入和输出:把整个软件系统看做一个大加工,确定与外部实体之间的输入和输出数据流,这个结果也称为顶层图。如图 “顶层数据流图示例” 所示,数据管理中间件是我们要开发的系统,但顶层图将该系统看成了一个大加工,这种图能很好的体现出系统与外部实体之间的交互关系。
(2)画系统的内部:将顶层图中的加工分解成若干个加工,并用数据流连接这些加工。这张图 称为0层图。而从一个加工画出一张数据流图的过程就是对该加工的分解过程。如图 “0层数据流图示例” 所示,它便是图 “顶层数据流图示例” 的0层图,在该图中,展示出数据管理中间件拥有一系列的加工:用户验证、用户管理、操作管理、权限管理、格式检查、权限验证、连接管理,以及这些加工之间的关系。从这张图,可以大致看出原始数据是经历了哪些步骤,产生了目标数据。但这还不够详细,例如我们需要了解“格式检查”是如何进行格式检查的,从该图仍无法得到答案。此时,可以进一步细化“格式检查”的内部结构,这便是下一步“画加工的内部”需要做的事情。
(3)画加工的内部:把每个加工看做一个小系统,以画0层图的方式画出每个加工的DFD子图(对于较细的加工,可以不进行分解)。
3. 数据字典
DFD描述了系统的分解,即系统由哪几部分组成,各部分之间的联系等,但是,对于数据的详细内容却无法在DFD中得到反映。例如,图 “顶层数据流图示例” 中的数据流“用户信息”包括哪些内容,在DFD中就无法具体、准确地描述。数据字典是在DFD的基础上,对DFD中出现的所有命名元素都加以定义,使得每个图形元素的名字都有一个确切的解释。DFD和数据字典等工具相配合,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。表 “数据字典常用符 ” 给出了数据字典定义数据时可能出现的符 。
4. 数据平衡原则
数据平衡原则有两个层面的意思,一方面是分层数据流图之间需要平衡,另一方面是每张数据 流图的数据需要平衡。
(1)分层数据流图的数据平衡原则
分层的流程图是由粗至精、逐步细化地描述系统信息的。上层图中描述的是粗略涉及全体的信 息,而下层图中则详细描述上层图中具体某一个部分的内容。因此,上层图不需要描述下层图中所 描述的详细信息,而下层图的输入与输出应与上层图保持一致,也就是父图和子图之间的数据流必 须保持一致。比如说在父图中某加工有两个输入数据流和一个输出数据流,那么在该加工的子图中 的输入/输出数据流必须在数目上和内容上与父图保持一致。此外值得注意的是:保持一致并非指输 入输出流的数量与名称完全一样。而是下层数据流图的所有输出数据流必须是上层数据流图中相应 加工产生的输出数据流。如果上层数据流底部某加工的一个输入(输出)数据流对应于下层数据流 图中若干个输入(输出)数据流,而且下层数据流图中这些数据流的成分之和正好等于上层数据流 底部的这个数据流,那么它仍算是平衡的。
父图 = 顶层数据流图 子图 = 0层数据流图
保持父图与子图平衡。父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数 量和名字上相同。如果父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流,那么它们仍然算是平衡 的。
(2)每张数据流图的数据平衡原则
加工的输入数据流和输出数据流要平衡,即保证加工的输出数据流都有其对应的输入数据流与 输出数据流。以下属于打破了数据平衡原则,会产生错误的情况。
若一个加工只有输入数据流而无输出数据流,则称为黑洞。如图(a)所示。
若一个加工只有输出数据流而无输入数据流,则称为奇迹。如图11-3(b)所示。 若一个加工的输入数据流无法通过加工产生输出流,则称为灰洞。
此外需要注意的是:一个数据流图中,不允许数据流同名。
二、作答技巧
1. 补充实体
实体可能是:名词
(1)人物角色:如 客户、管理员、主管、经理、老师、学生
(2)组织机构:如 银行、供应商、募捐机构
(3)外部系统:如 银行系统
2. 补充存储
存储的文字方面特征:“**文件” “**表” “**库” “**清单” “**档案”
3. 补充数据流
(1)数据平衡原则
- 顶层图与0层图对比,是否有顶层图有的数据流但0层图无的数据流,或反之。
- 检查图中每个加个,是否在只有入没有出,或只有出没有入,或根据输入的数据无法产生对应的输出的情况。
(2)按题目说明与图进行匹配
说明中的每一句话,都能与图中有对应关系,当把说明中的实体与数据流标识出来后,容易缩小对应范围,找出纰漏。
4. 补充加工名
加工是用于处理数据流的,所以要补充加工名,可以把该加工涉及到的数据流,在说明中标识出来,再在数据流名称所在的句子中,找 “动词+名词” 的结构,分析是否可作为加工。
“动词+名词” 如:生成 告,发出通知,批改作业,记录分数,当然这只是普遍情况,也有例外,如 物流跟踪、用户管理。
5. 利用数据平衡原则
数据平衡原则在前面已有说明。在此主要强调它在解题中的使用。在解答“补充数据流”或 是“数据流查错”这些类型的题时。数据平衡原则起到了重要作用,我们通常可以用外部实体为主线,在不同层次的图上分析与该外部实体相关的输入输出流,如果存在不匹配的情况,则说明图中该处有误。
例如,在某系统中,对于实体E,在顶层图中相关数据流情况如图a)所示,而在0层图中 相关数据流如图(b)所示。则我们可以清楚的看到0层图存在数据流缺失的情况。
示例-不同图层中实体E的数据流情况示意图
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!