面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。
在软件工程的需求分析阶段,信息流是一个关键考虑。通常用数据流图描绘信息在系统中加工和流动的
情况。面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变成软件结构。
因为任何软件系统都可以用数据流图表示,所以面向数据流的设计方法理论上可以设计任何软件的结构。
通常所说的结构化程序设计就是基于数据流的设计方法。
1.变换流
信息沿输入通路进入系统,由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以
后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫作变换流。
2.事务流
数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这
类数据流应该划为一类特殊的数据流,称为事务流。图中的处理T称为事务中心,它完成下述任务。
(1)接收输入数据(输入数据又称为事务)。
(2) 分析每个事务以确定它的类型。
(3) 根据事务类型选取一条活动通路.
3.变换分析
第1步复查基本系统模型
第2步复查并精化数据流图。
第3步确定数据流图具有变换特性还是事务特性。
第4步确定输入流和输出流的边界,从而孤立出变换中心。
第5步完成“第一级分解
软件结构代表对控制的自顶向下的分配,所谓分解就是分配控制的过程。对于变换流的情况,数据流图被映射成一个特殊的软件结构,这个结构控制输入、变换和输出等信息处理过程。位于软件结构最顶层的控制模块Cm协调下述从属的控制功能。输入信息处理控制模块Ca,协调对所有输入数据的接收。变换中心控制模块Ct,管理对内部形式的数据的所有操作。输出信息处理控制模块Ce,协调输出信息的产生过程。
第6步完成“第二级分解”
第二级分解就是把数据流图中的每个处理映射成软件结构中一个适当的模块。
第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。
4.事物分析
数据流具有明显的事务特点时采用事务分析方法。事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。由事务流映射成的软件结构包括一个接收分支和一个发送分支。