本页位置:第五章>>第四节>>第 1  2  3  4  5  6  7  8  9  10  11 页>>第五节


五、数据流图的修改

前面介绍了画数据流图的基本方法。对于一个大型系统来说,由于在系统分析初期人们对于问题理解的深度不够,在数据流图上也不可避免地会存在某些缺陷或错误。因此还需要进行修改,才能得到完善的数据流图。这里介绍如何从正确性和可读性方面对数据流图进行改进。

1.正确性

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

(1)数据守恒

(2)文件使用

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

图5-4-8  局部文件使用错误

(3) 子、父图平衡

造成子图与父图不平衡的一个常见原因是在增加或删除一个加工时,忽视了对相应父图或子图的修改。在检查数据流图时应注意这一点。

(4) 加工与数据流的命名

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

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

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

2.可读性

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

(1)简化加工之间的联系

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

(2)分解应当均匀

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

(3)命名应当恰当

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

3. 数据流图重新分解的步骤

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

 (1)把需要重新分解的所有子图连成一张;

 (2)根据各部分之间联系最少的原则,把图划分成几部分;

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

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

 (5)为所有加工重新命名、编号。

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

  图5-4-9 结构不合理的数据流图  

六、数据流图的示例

百货商店业务管理系统顶层数据流程图

百货商店业务管理系统数据流程图一级分解

销售处理二级数据流程

采购处理二级数据流程

会计处理二级数据流程