‘壹’ 软件设计化结构包括哪些设计方法
1数据流的类型
在需求分析阶段,用SA方法产生了数据流图。结构化的设计能方便地将数据流图(DataFlowDiagram,DFD)转换成软件结构图。DFD中从系统的输入数据流到系统的输出数据流的一连串连续变换形成了一条信息流。根据数据流类型不同,可分为变换型和事务型2类,事务型和变换型数据流的设计步骤基本是大同小异,它们之间主要差别就是从数据流图到软件结构的映射方法不同。因此,在进行软件结构设计时,首先对数据流图进行分析,然后判断属于那一种类型,根据不同的数据流类型,通过一系列映射,把数据流程图转换为软件结构图。基本流程见图1.
1.1变换型数据流
信息在沿着输入通路进入系统,同时由外部形式变换成内部形式进入系统的信息,通过变换中心经加工处理,以后再沿着输出通路变换成外部形式离开系统。当数据流具有了信息流的这种特征时这种信息流就叫作变换型数据流。变换型数据流的DFD可明显地分为三大部分:逻辑输入、变换中心(主加工)、逻辑输出。变换型数据流结构见图2.逻辑输入:可以从数据流图上的物理输入开始,一步一步向系统中间移动,一直到数据流不再被看作是系统的输入为止,则其前一个数据流就是系统的逻辑输入。可以认为逻辑输入就是离物理输入端最远的,且仍被看作是系统输入的数据流。变换中心:多股数据流汇集的地方往往是系统的中心变换部分。
逻辑输出:从物理输出端开始,一步一步地向系统中间移动,就可以找到离物理输出端最远,且仍被看作是系统输出的数据流。
图片 [转到图文版]
图1数据流程图转换为软件结构图基本流程
图片 [转到图文版]
图2变换型数据流结构
1.2事务型数据流
信息在沿着输入通路进入系统,由外部形成内部形式后到达事务中心。通常事务中心位于几条处理路径的起点,从数据流程图上很容易标识出来,因为事务处理中心一般会有“发射中心”的特征。因为事务流有明显的事务中心,所以各式各样活动流都以事务中心为起点呈辐射状流出。事务型数据流结构见图3.
图片 [转到图文版]
图3事务型数据流结构
事务中心主要完成下述任务:接收输入数据(输入数据又称为事务);分析每个事务以确定它的类型;根据事务类型选取一条活动通路。通常,事务中心前面的部分叫作接收路径,发射中心后面各条发散路径叫作事务处理路径。对于每条处理路径来讲,还应该确定它们自己的流特征。
2映射过程
任何一个设计过程都不是统一、固定不变的,设计的要求越高,往往需要设计者在方法上不但具有超强的判断能力还要有规则性的创造精神。根据不同类型,分析其映射过程。
2.1变换型数据流到软件结构图映射
(1)设计软件结构的顶层和第1层。设计一个主模块,并用系统的名字为它命名,作为系统的顶层。第1层为每个逻辑输入设计一个输入模块,它的功能是为主模块提供数据;为每一个逻辑输出设计一个输出模块,它的功能是将主模块提供的数据输出;为中心变换设计一个变换模块,它的功能是将逻辑输入转换成逻辑输出。主模块控制和协调第1层的输入模块、变换模块和输出模块的工作。
(2)设计软件结构的下层结构。每个逻辑输入模块有2个下属模块:一个接收数据;另一个把数据变换成上级模块所需要的数据格式。而接收数据模块又是输入模块,又要重复上述工作。如此循环下去,直到输入模块已经涉及到物理输入端为止。同样,每个逻辑输出模块有2个下属模块:一个是将上级模块提供的数据变换成输出的形式;另一个是将它们输出。对于每一个逻辑输出,在数据流程图上向物理输出端方向移动,遇到物理输出为止。设计中心变换模块的下层模块没有通用的方法,一般应参照数据流程图的中心变换部分和功能分解的原则来考虑如何对中心变换模块进行分解。
变换型数据流转换后的初始软件结构图见图4.
图片 [转到图文版]
图4变换型数据流转换后的初始软件结构图
2.2事务型数据流到软件结构图映射
事务型数据处理问题的工作机理是接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。
(1)设计软件结构的顶层和第1层。软件结构图的顶层是系统的事务控制模块。第1层是由事务流输入分支和事务分类处理分支映射得到的程序结构。也就是说,第1层通常是由两部分组成:取得事务和处理事务。
(2)设计软件结构的下层结构。设计事务流输入分支的方法与变换分析中输入流的设计方法类似,从事务中心变换开始,沿输入路径向物理输入端移动。每个接收数据模块的功能是向调用它的上级模块提供数据,它需要有两个下属模块:一个接收数据;另一个把这些数据变换成它的上级模块所需要的数据格式。接收数据模块又是输入模块,也要重复上述工作。如此循环下去,直到输入模块已经涉及到物理输入端为止。
事务处理分支结构映射成一个分类控制模块,它控制下层的处理模块。对每个事务建立一个事务处理模块。如果发现在系统中有类似的事务,就可以把这些