软件工程曹哲电子教案 第08章.pptVIP

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 主编 曹哲 高诚 中国水利水电出版社 第8章 面向数据流的设计方法 面向数据流的设计方法,即通常所说的结构设计法(Structure Design,简称SD方法),由Yourdon和Constantine等人于1874年提出的,与结构化分析(SA)相衔接,根据对数据流的分析设计软件结构。 本章所述技术用于软件的概要设计描述,包括模块、界面和数据结构的定义,这是所有后续开发的基础。 SD方法对那些顺序处理信息且不含层次数据结构的系统最为有效,例如过程控制、复杂的数值分析过程、以及科学与工程方面的应用。当SD方法用于完全的数据处理时,即使系统中使用层次数据也同样行之有效。 8.1 SD方法的设计过程和有关概念 SD方法能方便地将数据流图转换为软件结构,其过程分为五步: 1.? 确定信息流的类型; 2.? 划定流界; 3.? 将数据流图映射为程序结构; 4.? 提取层次控制结构; 5.? 通过设计复审和使用启发式策略进 一步精化所得到的结构。 1)变换流 变换流 — 在基本系统模型(即顶级数据流图)中信息通常以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统。 1)变换流 典型的变换流 变换流的特点是:经过变换B的数据流一部分先经过变换C到达变换E,然后另一部分经过变换D到达E;即C和D是顺序结构。 2)事务流 事务流——单个数据项称为事务(transaction)沿传入路径(也称接受通道)进入系统,由外部形式变换为内部形式后到达事务中心,事务中心根据数据项计值结果从若干动作路径中选定一条继续执行。 可见它是一个选择结构。 图面向数据流的设计 8.2 变换分析 下面以“家庭保安系统”的传感器监测子系统为例说明变换分析的各个步骤。 步骤一、复审基本系统模型 基本系统模型指顶级DFD和所有由外部提供的信息。这一设计步骤是对系统规格说明书和软件需求规格说明书进行评估。这两个文档描述软件界面上信息的流程和结构。 “家庭保安系统”的顶级数据流图 “家庭保安系统”的第一级DFD 8.2 变换分析 步骤二、复审和精化软件数据流图 这一步主要是对软件需求规格说明书中的分析模型进行精化,直至获得足够详细的DFD。 例如,由“传感器监测子系统”的第一级和第二级DFD进一步推导出第三级数据流图,此时,每个变换对应一个独立的功能,可以用一个具有较高内聚度的模块实现,至此已有足够的信息可用于设计“传感器监测子系统”的程序结构,精化过程亦可结束。 “传感器监测子系统”的第二级DFD “传感器监测子系统”的第三级DFD 8.2 变换分析 步骤三、确定DFD的特性,判定它为变换流还是事务流。 以图8?2?4所示DFD为例,数据沿一个传入路径进来,沿三个传出路径离开,没有明显的事务中心,因此,该信息流应属变换流。 步骤四、划定输入流和输出流的边界,孤立变换中心。 8.2 变换分析 步骤五、执行“一级分解”(first level factoring) 一级分解的目标是导出具有三个层次的程序结构,顶层为主控模块;底层模块执行输入、计算和输出功能;中层模块控制、协调底层的工作。 8.2 变换分析 程序结构可用Yourdon结构图表示。结构图中,方框代表模块,框内名称表示模块的功能;方框之间的有向边(无二义时也可用无向边)表示模块间的调用关系。调用模块上无标志表示顺序调用:从左至右;菱形表示选择调用;弧形箭头表示循环调用。但本书后面除了顺序调用外,并没有遵循这些规定。 8.2 变换分析 对应于一级分解的上两层模块,即主控模块和下面几个中层控制模块: ① 输入流控制模块,接收所有输入数据; ② 变换流控制模块,对内部形式数据进行加工、处理; ③ 输出流控制模块,产生输出数据。 8.2 变换分析 一级分解 8.2 变换分析 一个简单三叉结构,实际处理大型系统的复杂数据流时,可能需要多个模块对应一个模块的功能。“一级分解”总的原则是,在完成控制功能并保持低耦合度、高内聚度的前提下尽可能地减少模块的数量。 “传感器监测子系统”一级分解,其中控制模块的名字概括了所有下属模块的功能。 传感器监测子系统一级分解结果 8.2 变换分析 步骤六、执行“二级分解”。 二级分解的任务是把数据流图中每个处理框映射为结构图中的一个模块。其过程是从变换中心的边界开始沿输入、输出通道向外移动;从变换中心的输入(出)边界向外移动,把遇到的每个处理框映射为结构图中相应控制模块下的一个模块。 二级分解 8.2 变换分析 DFD的处理框与程序结构模块一一对应,但按照软件设计原则

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档