如图2.8 所示,如果系统规模较大,仅用一个DFD 图难以描述,会使得系统变得复杂,且难以理解。为了降低系统的复杂性,采取“逐层分解”的技术,画分层的DFD 图。
画分层DFD 图的一般原则是:“先全局后局部,先整体后细节,先抽象后具体”。通常将这种分层的DFD 图,分为顶层、中间层、底层。顶层图说明了系统的边界,即系统的输入和输出数据流,顶层图只有一张。底层图由一些不能再分解的加工组成,这些加工都已足够简单,称为基本加工。在顶层和底层之间的是中间层。中间层的数据流图描述了某个加工的分解,而它的组成部分又要进一步分解。 画各层DFD 图时,应“由外向内”。
画分层DFD 图的具体步骤:
⑴ 先确定系统范围,画出顶层的DFD 图。
⑵ 逐层分解顶层DFD 图,获得若干中间层DFD 图。
⑶ 画出底层的DFD 图。
在画分层数据流图时,首先遇到的问题就是应该如何分解?不能够一下子把一个加工分解成它所有的基本加工,一张图中画出过多的加工是使人难以理解的,但是如果每次只是将一个加工分解成两个或三个加工,又可能需要分解过多的层次,也会影响系统的可理解性。
一个加工每次分解成多少个子加工才合适呢?
根据经验“最多不要超过7 个”。统计结果证明,人们能有效地同时处理7 个或7 个以下的问题,但当问题多于7 个时,处理效果就会下降。当然也不能机械地应用,关键是要使数据流图易于理解。
同时还有几条原则可供参考:
分解应自然,概念上要合理、清晰。
只要不影响数据流图的“易理解性”,可以适当地多分解成几部分,这样分层图的层数就可少些。
一般来说,在上层可以分解得快些,而在中、下层则应分解得慢些,因为上层是一些综合性的描述,“易理解性”相对地说不太重要。
下节我们以一个实例来说明画分层DFD 图的方法。