首页 理论教育 《管理信息系统:理论与实践(第2版)》中的数据流程图绘制

《管理信息系统:理论与实践(第2版)》中的数据流程图绘制

时间:2026-01-24 理论教育 小霍霍 版权反馈
【摘要】:绘制数据流程图时,一般从左至右绘制。正式的数据流程图应尽量避免线条交叉,必要时可用重复的数据源、终点和文件符号。此外,数据流程图中各种符号布置要合理,分布应均匀。画数据流程图是一项艰巨的工作,要做好重画的思想准备,重画是为了消除隐患,有必要不断改进。②文件使用在数据流程图中,文件与加工之间数据流的方向应按规定认真标注,这样也有利于对文件使用正确性的检查。

1.数据流程图的绘制步骤

要将组织的管理业务整体概括抽象成一个完整的数据流程图,无法用一幅数据流程图完成,必需使用分层抽象绘制的方法。

数据流程图的层次一般不超过10层,各层关系如图5-22所示。分层绘制数据流程图,可以用“数据处理”的复杂程度来控制数据流程图的复杂程度;层次的多少取决于“数据处理”分解的详略层次。

图示

图5-22 各层数据流程图之间的关系

对于不同的问题,数据流程图可以有不同的画法。一般情况下,应遵循“由外向里”的原则,即先确定系统的边界或范围,再考虑系统的内部;先画加工的输入和输出,再画加工的内部。具体步骤如下:

(1)识别系统的输入和输出,画出顶层图

即确定系统的边界。在系统分析初期,系统的功能需求等还不很明确,为了防止遗漏,先将范围定得大一些。系统边界确定后,越过边界的数据流则是系统的输入或输出,将输入与输出用处理连接起来,并加上输入数据来源和输出数据去向就形成了顶层图。

顶层(又称为0层)数据流程图指每个系统的最高级流程图,每个系统只有一个,图中只抽象出系统的最基本的功能,具有较为统一的一般形式,如图5-11所示。

(2)画系统内部的数据流、加工与文件,画出一级细化图

从系统输入端到输出端,反之也可,逐步用数据流和加工连接起来,当数据流的组成或值发生变化时,就在该处画一个“数据处理”,同时画上数据存储文件,并表明数据流是流入还是流出该文件。然后,再检查系统的边界,补上遗漏输入、输出数据流,删去系统没有使用的数据流。

(3)加工的进一步分解,画出二级细化图

同样运用“由外向里”方式对每个处理进行分析,如果在该处理内部还有数据流,则可将该处理分成若干个子处理,并用一些数据流把子处理连接起来,即可画出二级细化图。二级细化图可在一级细化图的基础上画出,也可单独画出该加工的二级细化图。

2.数据流程图的分解原则

(1)合理编号原则

分层数据流程图的顶层称为0层,称它是第1层的父图,而第1层既是0层图的子图,又是第2层图的父图,依此类推。由于父图中有的加工可能就是功能单元,不能再分解,因此父图拥有的子图数少于或等于父图中的加工个数。

为了便于管理,应按下列规则为数据流程图中的加工编号:子图中的编号由父图号和子加工的编号组成;子图的父图号就是父图中相应加工的编号。

为简单起见,约定第1层图的父图号为0,编号只写加工编号1、2、3,……下面各层由父图号加上子加工的编号组成如1.1,1.2,1.3等。按上述规则,图的编号就能反映出它所属的层次以及在系统中的具体位置。如图5-24所示。

(2)子图与父图平衡原则

这里的平衡主要是指子图与父图的数据流平衡,即子图的输入、输出数据流必须与父图中对应加工的输入、输出数据流相同。如图5-23所示。

图示

图5-23 父图—子图平衡的例子

但下列两种情况是允许的,一是子图的输入/输出流比父图中相应加工的输入/输出流表达得更细;二是考虑平衡时,可以忽略枝节性的数据流。在实际中,检查该类情况的平衡,需借助于数据字典进行。

(3)局部文件原则

图5-24中的父图和子图是平衡的,子图中的文件XX没在父图中出现。这是由于对文件XX的读、写完全局限在加工2之内完成,该文件是子图的局部文件或为临时文件,因而在父图的界面上不出现。

图示

图5-24 局部数据存储原则

如果一个临时文件在某层数据流程图中的某些处理之间出现,则在该层数据流程图中就必须画出这个文件,并画出这个文件同其他成分之间的联系。

(4)分解适度原则

若一张图上画出过多的处理会增加理解的难度和分解得复杂程度。反之,如果每张图上的子处理太少,又会使分解层次过多,增加作图的工作量,阅读也不方便。一般一个处理每次分解量最多不要超过七个为宜。同时,分解时应遵循以下原则:

·分解应自然,概念上要合理、清晰。

·因为上层为综合性描述,对可读性的影响小,因而可分解得快些,即分解成的子处理个数多些。下层则应分解得慢些。

·在不影响可读性的前提下,应适当增加每层的分解数量,以减少分解层数。

·当处理只有单一输入/输出数据流时,停止对该处理的分解。另外,对数据流图中不再做分解的处理,必须做出详细的处理说明,并且每个处理说明的编号必须与功能单元的编号一致。

(5)其他注意事项

绘制数据流程图时,一般应先给数据流命名,再根据输入/输出数据流名的含义为数据处理命名。名字含义要确切,要能反映相应的整体。若碰到难以命名的情况,则很可能是分解不恰当造成的,应考虑重新分解。

绘制数据流程图时,一般从左至右绘制。通常左侧、右侧分别是数据源和终点,中间是一系列加工和文件。正式的数据流程图应尽量避免线条交叉,必要时可用重复的数据源、终点和文件符号。此外,数据流程图中各种符号布置要合理,分布应均匀。(https://www.xing528.com)

因为作为顶层加工处理的改变域是确定的,所以改变域的分解是严格的自顶向下分解的。由于目标系统目前还不存在,应此分解时开发人员还需凭经验进行,这是一项创造性的劳动。

当画出分层数据流程图,并为数据流程图中各个成分编写词典条目或加工说明后,就获得了目标系统的初步逻辑模型。

画数据流程图是一项艰巨的工作,要做好重画的思想准备,重画是为了消除隐患,有必要不断改进。

3.数据流程图的修改

前面介绍了画数据流程图的基本方法。对于一个大型系统来说,由于在系统分析初期人们对于问题理解的深度不够,在数据流程图上不可避免地会存在某些缺陷或错误。修改可从正确性和可读性两方面进行。

(1)正确性

数据流程图的正确性,可以从两个方面来检查:

①数据守恒

主要是检查数据流程图中数据流的输入、输出是否匹配。

②文件使用

在数据流程图中,文件与加工之间数据流的方向应按规定认真标注,这样也有利于对文件使用正确性的检查。例如,在图5-25中,因为W1和W2是子图的局部文件,只在子图中画出对文件的全部引用。但子图中W2好像一个“渗井”,数据只流进不流出,显然是一个错误。

图示

图5-25 局部数据使用错误

③子图、父图平衡

造成子图与父图不平衡的一个常见原因是在增加或删除一个加工时,忽视了对相应子图或父图的修改。

加工和数据流的名字必须体现被命名对象的全部内容而不是一部分。对于加工的名字,应检查它的含义与被加工的输入/输出数据流是否匹配。

一个加工的输出数据流仅由它的输入数据流确定,这个规则绝不能违背。数据不守恒的错误有两种,一是漏掉某些输入数据流,二是某些输入数据流在加工内部没有被使用。虽然有时后者并不一定是个错误,但也要认真考虑,对于确实无用的数据就应该删去,以简化加工之间的联系。

在检查数据流程图时,应注意消除控制流。

(2)可读性

数据流程图的可读性,可以从以下几个方面来提高:

①简化加工之间的联系

各加工之间的数据流越少,各加工的独立性就越高。因此应当尽量减少加工之间数据流的数目,有必要时可采用后面要介绍的步骤对数据流程图重新分解。

②分解应当均匀

在同一张数据流程图上,应避免出现某些加工已是功能单元,而另一些加工却还应继续分解好几层的情况出现。否则应考虑重新分解。

③命名应当恰当

理想的加工名由一个具体的动词和一个具体的宾语(名词)组成。数据流和文件的名字也应具体、明确。

(3)数据流程图重新分解的步骤

有时需要对作出的部分或全部数据流图做重新分解,可按以下步骤进行:

①把需要重新分解的所有子图连成一张。

②根据各部分之间联系最少的原则,把图划分成几部分。

③重建父图,即把第二步所得的每一部分画成一个圆圈,各部分之间的联系就是加工之间的界面。

④重建各张子图,只需把第二步所得的图,按各自的边界剪开即可。

⑤为所有加工重新命名、编号。

例如,图5-26中加工2和其他加工的联系太复杂以致很难独立理解,所以其结构不太合理。因为图5-26的子图是由不相连的两部分组成的,所以将它们的父图加工分成两个更为合适。

图示

图5-26 结构不合理的数据流程图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈