77范文网 - 专业文章范例文档资料分享平台

软件工程第四讲教案(5)

来源:网络收集 时间:2019-04-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

不能再分解的底层模块称为原子模块。如果一个系统的全部实际加工由原子模块来完成,而其它非原子模块只是执行控制和协调工作,那么这种系统就称为完全因子分解的系统。图 4-19显示了系统结构图允许使用的6种模块。 其中传入、传出和变换模块用来组成变换结构中的各个相应郎分。源模块是不调用其它模块的传入模块,只用于传入部分的始端。漏模块是不调用其它模块的传出模块,仅用于传出部分的末端。控制模块是只调用其它模块、而不被其它模块调用的模块,例如变换型结构的顶层模块,事务型结构的事务中心等,均属于控制模块这一类。 (2)简单调用

图4-20 模块的简单调用

在系统结构图中,调用线的箭头指向被调用模块。见图 4-20,在图4-20(a)中,允许模块A调用模块B和模块C,而不是相反。调用B时,A向它传送数据流X与Y,B向A返回数据流动调用C时,A仅向C传送数据流动。显而易见,B属于变换模块,C属于漏模块。图4-20(b)是图(a)的一种替代画法。用附表列出在模块间传送的数据流,以代替直接在调用线的两侧作标注。当系统结构图包含的数据流太多时,将造成画面拥挤,采用这种画法可使画面简洁并能减少错误。 (3)选择调用

图4-21 模块的选择调用

选择调用的画法如图 4-21所示。图中用菱形符号来表示选择。左方菱形的含义是:模块A根据它内部的判断,来决定要不要调用模块B。右方的菱形则表示A按照另一判定的结果,选择调用模块C或者模块D。

21

图4-22 模块的循环调用

(4)循环调用

用叠加在调用线始端的环形箭头表示循环。图 4-22 的含义是:模块A将根据其内在的循环重复调用B、C等模块,直至在A模块内部出现满足循环终止的条件为止。 以上简述了系统结构图的符号和画法。利用这些画法,可以将目标系统的DFD图转换为目标系统的初始系统结构图。

SD方法提出了两种分析与过渡方法:即变换分析与事务分析方法。利用它们能方便地把 DFD图转换为初始系统结构图。前者适用于 DFD图中的变换型结构,后者适用于DFD图中的事务型结构。图4-23简明的说明了变换分析与事务分析各自的功能。

图4-23 变换分析与事务分析的功能

4.3.3 变换分析

经过变换分析步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构图。

1.对DFD图的分析和划分

首先区分传入、传出和变换中心三个部分,在 DFD图上标明它们的分界线。 前已说明,变换结构由传入、传出和变换中心三部分组成。变换中心的任务,就是通过计算或者处理,把系统的逻辑输人变换(或加工)为系统的逻辑输出。所谓逻辑输入,是指离物理输入端(输入始端)最远,但仍可以被看作系统输入的那些数据流。而逻辑输出则是指离物理输出端(输出末端)最远,但仍可视为系统输出的所有数据流。需要指出,当数据在系统中流动时,不仅在通过变换中心时要被变换,在传入和传出的路径上,其内容和形式也可能发生变化。所以有时把变换中心称为中心加工,以区别干数据在传入传出过程中常见的其它加工。

22

图4-24 变换型分析

图 4-24 是在DFD上区分三个组成部分的一个例子。图中c、e是逻辑输入数据流,u、w是逻辑输出数据流,介于它们之间的P,Q,R属于中心加工。用虚线表示的两条分界线,标出了这三个部分的边界。

对DFD图的分析和划分是变换分析的第一步。对于较复杂的DFD图,可以有多种的不同划分结果。以下列出几种可能遇到的情况及其处理方法。 ·有些系统没有加工中心,系统的逻辑输入和逻辑输出是相同的数据流。此时应如实地把 DFD图划分为传入和传出两个部分,不要强求分成三个部分。 ·除传入部分外,在变换中心甚至传出部分也可能从系统外接受某些输入数据流,称为二次输入数据。分析时,应把二次输人数据看成变换中心或输出部分的一个成份,不应当作输入部分的一部分。

·有些 DFD图可能太粗,缺少应有的细节。遇到这种情况,设计人员可对作为分析的DFD图进行补充,必要时甚至重画。过多的细节有益后面的设计。 2.完成第一级分解

这一步要画出初始的系统结构图,主要是画出它最上面的两层模块,即顶层模块和第一层模块。任何系统的顶层都只有一个用于控制的主模块。它的下一层(第一层)一般包括输入、输出和中心变换三个模块,分别代表系统的三个相应分支。但也可能只有输入和输出两个模块,可据DFD图的实际划分情况而定。

图 4-25 显示了图4-24的DFD图在第一级分解后导出的系统结构图,沿调用线标注了在模块间输送的数据流的名称。

23

图4-25 第一层DFD图

另一种画法,在第一层不是每一分支只画一个模块,而是按照实际情况确定模块的数量。仍以图4-24为例,输入和输出分支各有两个数据流,而中心加工会有三个加工,故可画出(2+2+3)共7个模块,如图4-26 所示。由于初始系统结构图还要细化和优化,这两种画法的差异,对最终的系统结构图无关紧要。

图4-26 模块间的调用

3. 完成第二级分解

对上步的结果继续进行由顶向下的分解,直至画出每个分支所需要的全部模块,称为第二级分解。这一步得到的结果便是系统的初始系统结构图。 同第一级分解一样,这一步的分解实质上仍然是映射,即把 DFD图中的加工按照一定规则转换为系统结构图中的模块。这就使整个工作变得有章可循,这也是SD方法的一大优点。

仍以图 4-24 为例,首先考察输入分支的模块分解。在图4-27 中输入模块 M A 可直接调用模块C与E以取得它所需的数据流c与e继续下推,模块C、E将分别调用各自的下属模块B、D,以取得b与d。模块B又通过调用下属模块A取得数据a。可见图 4-27中的5个下属模块就是DFD图中从A至E这5个加工的映射,但模块的调用顺序正好与加工顺序相反。

24

图4-27 第二级分解

数据流在输入的过程中,也可能经历数据的变换。以图 4-27中的两个输入流为例,其中一路将从a变换为b,再变换为c;另一路则从d变换为e。为了表示出这种变换,可以在图中增添3个变换模块(即“变A为B”。“变B为C”、“变D为E”),并在模块A至E的名称中加上 Read、Get 等字样,如图 4-28所示。这一改变除了处于输入端的源模块以外,让每一输入模块都调用两个下属模块,包括一个下属的输入模块和一个变换模块。图4-28所显示的结构较图4-27更加清楚明了。

按图 4-28寻踪,考察一下输入分支的操作过程。为了取得数据c、e,M。将分别调用模块C和E。为了得到c(或e),首先要得到b(或d为了得到b又要先读入a。图4-29 显示了有关模块的调用与执行过程。虽然模块的调用顺序(CBA ,ED)恰与加工的出现顺序相反,但取得数据的顺序(abc,de) ,与 DFD的要求是一致的。

仿照与输入分支相似的分解方法,可得到本例中输出分支的两种模块分解图,如图 4-30所示。

与输入、输出分支相比,中心加工分支的情况繁简各异,其分解也较复杂。但建立初始的系统结构图时,仍可以采取“一对一映射”的简单转换方法。图4-31显示了本例中心加工分支第二级分解的结果。

将图4-28和 图4-30 (右边) 与图4-31合并在一起,就可以得到本例的初始系统结构图,如图4-32 所示。

图4-28 输入分支的第二种分解

25

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库软件工程第四讲教案(5)在线全文阅读。

软件工程第四讲教案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/583924.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: