结构化设计(SD)是以结构化分析(SA)产生的数据流图为基础,将数据流图按一定的步骤映射成软件结构图(SC)。

一. 数据流的类型

结构化设计的目的是要把数据流图映射成软件结构,根据数据流的特性,一般可分为变换型数据流图和事务型数据流图。

1. 变换型数据流图

根据信息系统的模型,信息一般是以外部形式进入系统,通过系统处理后,然后离开系统。从其过程可以得出,变换流的数据流图是一个线性结构。
变换型的数据流是由输入、变换(或称处理)和输出三部分组成 。

在这里插入图片描述

2. 事务型数据流图

若某个加工将它的输入流分离成许多发散的数据流,形成许多平行的加工路径,并根据输入的值选择其中一个路径来执行,这种特征的数据流图称为事务型数据流图。
图中的处理T称为事务中心,它完成下述任务:
(1)接收输入数据。
(2)分析每个事务,确定其类型。
(3)根据事务选择一条活动通路。

在这里插入图片描述

二. 变换设计分析

1.确定数据流图的变换中心、逻辑输入和逻辑输出

从物理输入端开始,沿着数据流方向向系统中心寻找,直到有这样的数据流,它不能被看做是系统的输入,则它的前一个数据流就是系统的逻辑输入。
从物理输出端开始,逆数据流方向向中间移动,直到有这样的数据流,它不能被看做是系统的输出,则它的后一个数据流就是系统的逻辑输出。
位于逻辑输入和逻辑输出之间的就是变化中心。

2.设计软件结构的顶层和第一层

在这里插入图片描述

3. 设计中、下层模块。

(1)输入模块的下属模块的设计
输入模块的功能是向调用它的模块提供数据,所以必须要有数据来源。这样输入模块应由接受输入数据和将数据转换成调用模块所需的信息两部分组成。因此,每个输入模块可以设计成两个下属模块:一个接受、一个转换。如图中模块get f3和 get f2的分解。
(2)输出模块的下属模块的设计
每个输出模块可以设计成两个下属模块:一个转换、一个发送。如图中模块put f7和 put f8的分解。
(3)变换模块的下属模块的设计

4. 设计的优化

(1)输入部分的求精
(2)输出部分的求精
(3)变换部分的求精

三. 事务设计分析

1.确定数据流图中的事务中心和加工路径

当数据流图中的某个加工具有明显地将一个输入数据流分解成多个发散的输出数据流时,该加工就是事务中心。从事务中心辐射出去的数据流为各个加工路径。

2.设计软件结构的顶层和第一层

事务处理中心和事务处理路径确定后,就可以确定它们的软件结构。一般是一个接受分支和一个发送分支。
接收分支:负责接收数据,它的设计与变换型数据流图的输入部分设计方法相同。
发送分支:通常包含一个调度模块,它控制管理所有下层的事务处理模块。当事务类型不多时,调度模块可与主模块合并。

3.进行事务结构中、下层模块的设计、优化等工作

在这里插入图片描述
在这里插入图片描述

四. 混合流设计

1. 混合数据流图的映射

一般中型以上的系统的数据流图中,都会既有变换流,又有事务流。这就是所谓的混合的数据流图,其软件结构设计方法一般采用以变换流为主,事务流为辅的方法。
(1)确定数据流图整体上的类型。
(2)标出局部的数据流图范围,确定其类型。
(3)按整体和局部的数据流图特征,设计出软件结构。

2. 分层数据流图的映射

对于一个复杂问题的数据流图结果,往往是分层的。那么对于分层的数据流图映射成软件结构图也应该是分层的。

主图变换型,子图事务型:

在这里插入图片描述
主图事务型,子图变换型 :
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐