从数据流程图导出初始结构图方法
下面分别讨论经过”变换分析”和”事务分析”技术, 导出”变换型”和”事务型”初始结构图的技术。
1.变换分析
根据系统说明书, 能够决定数据流程图中, 哪些是系统的主处理。
主处理一般是几股数据流汇合处的处理, 也就是系统的变换中心, 即逻辑输入和逻辑输出之间的处理。
确定逻辑输入——离物理输入端最远的, 但仍可被看作系统输入的那个数据流即为逻辑输入。
确定方法是从物理输入端开始, 一步步向系统的中间移动, 直至达到这样一个数据流: 它已不能再被看作为系统的输入, 则其前一个数据流就是系统的逻辑输入。
确定逻辑输出——离物理输出端最远的, 但仍可被看作系统输出的那个数据流即为逻辑输出。
方法是从物理输出端开始, 一步步向系统的中间反方向移动, 直至达到这样一个数据流: 它已不能再被看作为系统的输出, 则其后一个数据流就是系统的逻辑输出。
对系统的每一股输入和输出, 都用上面的方法找出相应的逻辑输入、输出。
逻辑输入和逻辑输出之间的加工, 就是系统的主加工。
如图4-24所示。
图4-24(a)初始DFD图
图4-24(b)找系统的主加工
2) 设计模块的顶层和第一层
”顶层模块”也叫主控模块, 其功能是完成整个程序要做的工作。
在与主加工对应的位置上画出主模块。
系统结构的”顶层”设计后, 下层的结构就按输入、变换、输出等分支来分解。
设计模块结构的第一层: 为逻辑输入设计一个输入模块, 它的功能是向主模块提供数据; 为逻辑输出设计一个输出模块, 它的功能是输出主模块提供的数据; 为主加工设计一个变换模块, 它的功能是将逻辑输入变换成逻辑输出。
第一层模块同顶层主模块之间传送的数据应与数据流程图相对应。
这里主模块控制并协调第一层的输入、变换、输出模块的工作。
( 3) 设计中、下层模块
由自顶向下、逐步细化的过程, 为每一个上层模块设计下属模块。
输入模块的功能是向它的调用模块提供数据, 由两部分组成: 一部分是接受输入数据; 另一部分是将这些数据变换成其调用模块所
需要的数据。
在有多个输入模块的情况下, 我们可为每一个输入模块设计两个下层模块, 其中一个是输入, 另一个是变换。
输出模块的功能是将其调用模块提供的数据变换成输出的形式。
也就是说, 要为每一个输出模块设计两个下层模块, 其中一个是变换, 另一个是输出。
该过程自顶向下递归进行, 直到系统的物理输入端或物理输出端
为止, 如图4-25所示。
图4-25由变换型数据流程图导出初始模块结构图
变换模块设计下层模块则没有通用的规则能够遵循, 能够根据数
据流程图中主处理的复杂与否来决定是否分为子处理。
每设计出一个新模块, 应同时给它起一个能反映模块功能的名字。
运用上述方法, 就可获得与数据流程图相对应的初始结构图。
2.事务分析。