软件工程-第08章-面向数据流的设计方法ppt课课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程-第08章-面向数据流的设计方法ppt课课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 08 面向 数据流 设计 方法 ppt 课件
- 资源描述:
-
1、CompanyLOGO软件工程软件工程教材:主编 曹哲 高诚 中国水利水电出版社教案:河北工业大学廊坊分院 计算机系 黄南川.软件工程软件工程第8章面向数据流的设计方法v面向数据流的设计方法,即通常所说的结构设计法面向数据流的设计方法,即通常所说的结构设计法(Structure Design,简称,简称SD方法),由方法),由Yourdon和和Constantine等人于等人于1874年提出的,与结构化分析年提出的,与结构化分析(SA)相衔接,根据对数据流的分析设计软件结构。)相衔接,根据对数据流的分析设计软件结构。v本章所述技术用于软件的概要设计描述,包括模块、本章所述技术用于软件的概要设计
2、描述,包括模块、界面和数据结构的定义,这是所有后续开发的基础。界面和数据结构的定义,这是所有后续开发的基础。 vSD方法对那些顺序处理信息且不含层次数据结构的方法对那些顺序处理信息且不含层次数据结构的系统最为有效,例如过程控制、复杂的数值分析过程、系统最为有效,例如过程控制、复杂的数值分析过程、以及科学与工程方面的应用。当以及科学与工程方面的应用。当SD方法用于完全的方法用于完全的数据处理时,即使系统中使用层次数据也同样行之有数据处理时,即使系统中使用层次数据也同样行之有效。效。.软件工程软件工程8.1 SD方法的设计过程和有关概念方法的设计过程和有关概念SD方法能方便地将数据流图转换为软件结
3、构,其过方法能方便地将数据流图转换为软件结构,其过程分为五步:程分为五步: 1 确定信息流的类型;确定信息流的类型; 2 划定流界;划定流界; 3 将数据流图映射为程序结构;将数据流图映射为程序结构; 4 提取层次控制结构;提取层次控制结构; 5 通过设计复审和使用启发式策略进通过设计复审和使用启发式策略进 一步精化所得到的结构。一步精化所得到的结构。第第3步所用映射方法涉及信息流的类型。信息流分为步所用映射方法涉及信息流的类型。信息流分为变换流和事务流两种类型。变换流和事务流两种类型。.软件工程软件工程1)变换流)变换流v变换流变换流 在基本系统模型(即顶级数据在基本系统模型(即顶级数据流图
4、)中信息通常以流图)中信息通常以“外部世界外部世界”所具所具有的形式进入系统,经过处理后又以这有的形式进入系统,经过处理后又以这种形式离开系统。种形式离开系统。输入流输入流外外部部表表示示内内部部表表示示信信息息时间时间信息流信息流输出流输出流变换流变换流.软件工程软件工程1)变换流)变换流典型的变换流典型的变换流变换流的特点是:经过变换变换流的特点是:经过变换B的数据流一部分先的数据流一部分先经过变换经过变换C到达变换到达变换E,然后另一部分经过变换,然后另一部分经过变换D到达到达E;即;即C和和D是顺序结构。是顺序结构。ABCDEF.软件工程软件工程2)事务流)事务流v事务流事务流单个数据
5、项称为事务(单个数据项称为事务(transaction)沿传入路径(也称接受通道)进入系统,由外部形沿传入路径(也称接受通道)进入系统,由外部形式变换为内部形式后到达事务中心,事务中心根据式变换为内部形式后到达事务中心,事务中心根据数据项计值结果从若干动作路径中选定一条继续执数据项计值结果从若干动作路径中选定一条继续执行。行。v可见它是一个选择结构。可见它是一个选择结构。事务中心事务中心TB事务事务CA事务流事务流.软件工程软件工程图面向数据流的设计精化数据流图精化数据流图流的类流的类型型确定事务中心确定事务中心和各动作路径和各动作路径确定输入输出确定输入输出流界流界映射为事务结构映射为事务结
6、构映射为变换结构映射为变换结构提取控制结构提取控制结构利用启发式策略利用启发式策略精化软件结构精化软件结构描述接口和全局描述接口和全局数据结构数据结构事务分析事务分析变换分析变换分析复审复审详细设计详细设计通过通过“变换变换”“事务事务”.软件工程软件工程8.2 变换分析v下面以下面以“家庭保安系统家庭保安系统”的传感器监测的传感器监测子系统为例说明变换分析的各个步骤。子系统为例说明变换分析的各个步骤。 v步骤一、复审基本系统模型步骤一、复审基本系统模型 基本系统模型指顶级基本系统模型指顶级DFD和所有由外部和所有由外部提供的信息。这一设计步骤是对系统规提供的信息。这一设计步骤是对系统规格说明
7、书和软件需求规格说明书进行评格说明书和软件需求规格说明书进行评估。这两个文档描述软件界面上信息的估。这两个文档描述软件界面上信息的流程和结构。流程和结构。 .软件工程软件工程“家庭保安系统家庭保安系统”的顶级数据流图的顶级数据流图警报类别警报类别家庭保安家庭保安系统软件系统软件控制面板控制面板显示器显示器警报器警报器电话线电话线传感器传感器用户命令用户命令显示信息显示信息传感数据传感数据电话拨号音频电话拨号音频.软件工程软件工程“家庭保安系统家庭保安系统”的第一级的第一级DFD 电话拨号音频电话拨号音频配置数据配置数据配置配置 数据数据配置数据配置数据用户命用户命令处理令处理显示信息显示信息和
8、状态和状态传感器传感器监测监测系统系统配置配置控制面板控制面板显示器显示器警报器警报器电话线电话线传感器传感器配置信息配置信息配置配置 命令命令启动启动/ 停止命令停止命令原口令原口令有效口令有效口令传感器信息传感器信息报警类别报警类别传感数据传感数据显示显示 信息信息用户命令用户命令口令口令启动启动/停止停止系统和状态系统和状态启动或启动或停止消息停止消息口令口令核对核对用用户户交交互互子子系系统统图图8-5.软件工程软件工程8.2 变换分析v步骤二、复审和精化软件数据流图步骤二、复审和精化软件数据流图 这一步主要是对软件需求规格说明书中的分这一步主要是对软件需求规格说明书中的分析模型进行精
9、化,直至获得足够详细的析模型进行精化,直至获得足够详细的DFD。v例如,由例如,由“传感器监测子系统传感器监测子系统”的第一级和第的第一级和第二级二级DFD进一步推导出第三级数据流图,此时,进一步推导出第三级数据流图,此时,每个变换对应一个独立的功能,可以用一个具每个变换对应一个独立的功能,可以用一个具有较高内聚度的模块实现,至此已有足够的信有较高内聚度的模块实现,至此已有足够的信息可用于设计息可用于设计“传感器监测子系统传感器监测子系统”的程序结的程序结构,精化过程亦可结束。构,精化过程亦可结束。.软件工程软件工程“传感器监测子系统传感器监测子系统”的第二级的第二级DFD 传感器信息传感器信
10、息传感器标志传感器标志的类型和位置的类型和位置传感数据传感数据警报类别警报类别警报数据警报数据显示显示格式格式产生警产生警报信号报信号电话电话拨号拨号异常数异常数据判别据判别读取传读取传感数据感数据配配 置置 信信 息息配置数据配置数据传感器传感器标识类型标识类型电话号码电话号码电话拨号音频电话拨号音频.软件工程软件工程“传感器监测子系统传感器监测子系统”的第三级的第三级DFD 配配 置置 信信 息息警报条件码警报条件码传感器标志传感器标志定时信息定时信息传感数据传感数据电话号码电话号码对应的音频对应的音频电话拨电话拨号音频号音频传感器信息传感器信息号码表号码表电话号码电话号码读取传读取传感数
11、据感数据获取响获取响应信息应信息建立警建立警报条件报条件选择电选择电话号码话号码连通电连通电话网话网产生拨产生拨号脉冲号脉冲产生警产生警报信号报信号格式化格式化显示显示产生产生显示显示传感器标志的传感器标志的类型和位置类型和位置格式化标志的格式化标志的类型和位置类型和位置置传感器标识置传感器标识警报数据警报数据警报类别警报类别配配 置置 数数 据据.软件工程软件工程8.2 变换分析v步骤三、确定步骤三、确定DFD的特性,判定它为变换的特性,判定它为变换流还是事务流。流还是事务流。v 以图以图8 2 4所示所示DFD为例,数据沿一个为例,数据沿一个传入路径进来,沿三个传出路径离开,没传入路径进来
12、,沿三个传出路径离开,没有明显的事务中心,因此,该信息流应属有明显的事务中心,因此,该信息流应属变换流。变换流。v步骤四、划定输入流和输出流的边界,孤步骤四、划定输入流和输出流的边界,孤立变换中心。立变换中心。.软件工程软件工程8.2 变换分析v步骤五、执行步骤五、执行“一级分解一级分解”(first level factoring) 一级分解的目标是导出具有三个层次的程一级分解的目标是导出具有三个层次的程序结构,顶层为主控模块;底层模块执行序结构,顶层为主控模块;底层模块执行输入、计算和输出功能;中层模块控制、输入、计算和输出功能;中层模块控制、协调底层的工作。协调底层的工作。.软件工程软件
13、工程8.2 变换分析v程序结构可用程序结构可用Yourdon结构图表示。结构图中,方框结构图表示。结构图中,方框代表模块,框内名称表示模块的功能;方框之间的有代表模块,框内名称表示模块的功能;方框之间的有向边(无二义时也可用无向边)表示模块间的调用关向边(无二义时也可用无向边)表示模块间的调用关系。调用模块上无标志表示顺序调用:从左至右;菱系。调用模块上无标志表示顺序调用:从左至右;菱形表示选择调用;弧形箭头表示循环调用。但本书后形表示选择调用;弧形箭头表示循环调用。但本书后面除了顺序调用外,并没有遵循这些规定。面除了顺序调用外,并没有遵循这些规定。acbacbab a) 顺序调用顺序调用 b
14、) 选择调用选择调用 c) 循环调用循环调用.软件工程软件工程8.2 变换分析v对应于一级分解的上两层模块,即主控模对应于一级分解的上两层模块,即主控模块和下面几个中层控制模块:块和下面几个中层控制模块: 输入流控制模块,接收所有输入数据;输入流控制模块,接收所有输入数据; 变换流控制模块,对内部形式数据进行加变换流控制模块,对内部形式数据进行加工、处理;工、处理; 输出流控制模块,产生输出数据。输出流控制模块,产生输出数据。.软件工程软件工程8.2 变换分析一级分解一级分解输入流输入流变换流变换流变换流变换流控制模块控制模块输入流输入流控制模块控制模块输出流输出流主控模块主控模块输出流输出流
15、控制模块控制模块ABCDEFGH.软件工程软件工程8.2 变换分析v一个简单三叉结构,实际处理大型系统一个简单三叉结构,实际处理大型系统的复杂数据流时,可能需要多个模块对的复杂数据流时,可能需要多个模块对应一个模块的功能。应一个模块的功能。“一级分解一级分解”总的总的原则是,在完成控制功能并保持低耦合原则是,在完成控制功能并保持低耦合度、高内聚度的前提下尽可能地减少模度、高内聚度的前提下尽可能地减少模块的数量。块的数量。v“传感器监测子系统传感器监测子系统”一级分解,其中一级分解,其中控制模块的名字概括了所有下属模块的控制模块的名字概括了所有下属模块的功能。功能。.软件工程软件工程传感器监测子
16、系统一级分解结果传感器监测子系统一级分解结果 警报条件控警报条件控制模块制模块传感器输入传感器输入控制模块控制模块主控模块主控模块警报输出控警报输出控制模块制模块配配 置置 信信 息息.软件工程软件工程8.2 变换分析v步骤六、执行步骤六、执行“二级分解二级分解”。 二级分解的任务是把数据流图中每个处理二级分解的任务是把数据流图中每个处理框映射为结构图中的一个模块。其过程是框映射为结构图中的一个模块。其过程是从变换中心的边界开始沿输入、输出通道从变换中心的边界开始沿输入、输出通道向外移动;从变换中心的输入向外移动;从变换中心的输入(出出)边界向外边界向外移动,把遇到的每个处理框映射为结构图移动
17、,把遇到的每个处理框映射为结构图中相应控制模块下的一个模块。中相应控制模块下的一个模块。.软件工程软件工程二级分解二级分解 输入流输入流变换流变换流输入流控制输入流控制模块模块输出流输出流主控模块主控模块ABCDEFGHBDAC变换流控制变换流控制模块模块输出流控制输出流控制模块模块EFGH.软件工程软件工程8.2 变换分析vDFD的处理框与程序结构模块一一对应,的处理框与程序结构模块一一对应,但按照软件设计原则进行设计时,可能但按照软件设计原则进行设计时,可能需要把几个处理框聚合为一个模块,或需要把几个处理框聚合为一个模块,或者把一个处理框裂变为几个模块。总之,者把一个处理框裂变为几个模块。
展开阅读全文