当前位置:课程学习>>第四章>>知识讲解>>文本学习>>知识点五

第四章  总体设计



知识点五:面向数据流的设计方法


面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。

在软件工程的需求分析阶段,信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。因为任何软件系统都可以用数据流图表示,所以面向数据流的设计方法理论上可以设计任何软件的结构。通常所说的结构化设计方法(简称SD方法),也就是从基于数据流的设计方法。

4.5.1概念

面向数据流的设计方法把信息流映射成软件结构,信息流的类型决定了映射的方法。信息流有下述两种类型。

1.变换流

根据基本系统模型,信息通常以“外部世界”的形式进入软件系统,经过处理以后再以外部世界的形式离开系统。

参看图4.8,信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫作变换流。

2.事务流

基本系统模型意味着变换流,因此,原则上所有信息流都可以归结为这一类。但是当数据流图具有和图4.9类似的形状时,这种数据流是“以事务为中心的”,也就是说,数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流应该划为一类特殊的数据流,称为事务流。图4.9的处理T称为事务中心,它完成下述任务。

(1)接收输入数据(输入数据又称为事务)。

(2)分析每个事务以确定它的类型。

(3)根据事务类型选取一条活动通路。

图4.8 交换流

图4.9 事务流

3.设计过程

图4.10说明了使用面向数据流方法逐步设计的过程。

应该注意,任何设计过程都不是机械地一成不变的,设计首先需要人的判断力和创造精神,这往往会凌驾于方法的规则之上。

图4.10 面向数据流方法的设计过程

4.5.2变换分析

变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。下面通过一个例子说明变换分析的方法。

1.例子

我们已经开始进入“智能”产品时代。在这类产品中把软件做在只读存储器中,成为设备的一部分,从而使设备具有某些“智能”。因此,这类产品的设计都包含软件开发的任务。作为面向数据流的设计方法中变换分析的例子,考虑汽车数字仪表板的设计。

假设的仪表板将完成下述功能。

(1)通过模数转换实现传感器和微处理机接口

(2)在发光二极管面板上显示数据

(3)指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mph)等。

(4)指示加速或减速

(5)超速警告:如果车速超过55英里/小时,则发出超速警告铃声。

在软件需求分析阶段应该对上述每条要求以及系统的其他特点进行全面的分析评价,建立起必要的文档资料,特别是数据流图。

2.设计步骤

第1步复查基本系统模型

复查的目的是确保系统的输入数据和输出数据符合实际。

第2步复查并精化数据流图

应该对需求分析阶段得出的数据流图认真复查,并且在必要时进行精化。不仅要确保数据流图给出了目标系统的正确的逻辑模型,而且应该使数据流图中每个处理都代表一个规模适中相对独立的子过程。

假设在需求分析阶段产生的数字仪表板系统的数据流图如图4.11所示。

请同学们继续学习