第四章 结构化分析和设计3.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4.3.5 事务分析 事务分析的任务:将事务型数据流图映射成初始的结构图。 事务分析的设计方法:自项向下,逐步分解细化。 先设计主模块,再为每一种类型的事务设计事务处理模块,然后为每个处理设计其下属的事务处理细节。 确定事务中心和加工路径 设计软件结构的顶层和第一层 进行软件结构的中、下层模块的设计 4.3.5 事务分析 (1)确定事务中心和加工路径 事务中心会分出若干条独立的加工路径,这是确定事务和事务中心的准则。每条加工路径都具有自己的结构特征,可能为变换型,也可能为事务型。图4.17中T为事务中心,有3个加工路径。 图4.17 事务型数据流 4.3.5 事务分析 (2)设计软件结构的顶层和第一层 顶层是由事务中心映射的主控模块。主控模块有两个下级模块,分别是由接收路径映射得到的接收模块和由全部加工路径映射得到的调度模块。 接收模块负责接收系统处理所需的数据,仿照变换分析的步骤将其逐步分解。调度模块负责控制下层的所有加工模块,将加工路径映射为其分支模块。图4.23是图4.17对应的事务分析第一级分解结果。 图4.23 事务分析第一级分析示例 4.3.5 事务分析 (3)进行软件结构的中、下层模块的设计 ①接收模块的分解 从事务中心开始,沿着输入路径逆向向外移动,把输入路径上遇到的每个加工以及对物理输入的接收映射成结构图中受接收模块控制的一个低层模块。 ②加工模块的分解 调度模块所属加工模块的分解中沿着对应的加工路径向外移动,先确定每条动作路径的流类型(变换流或事务流),运用变换分析或事务分析,将每条动作路径映射成与其流特性相对应的以动作路径控制模块为根模块的结构图。图4.24是图4.17经过多次分解后的结果。 4.3.5 事务分析 说明:对于复杂的系统,常常把变换分析和事务分析应用到同一个流程图的不同部分,由此得到的子结构形成了“子结构体集合”。如果数据流不具有显著的事务特点,则采用变换分析为主,如果具有明显的事务中心,则采用事务分析为主。 图4.24 事务分析的多次分解结果 4.3 面向数据流的设计方法 4.3.1 软件结构的图形表示 4.3.2 数据流的类型 4.3.3 设计过程 4.3.4 变换分析 4.3.5 事务分析 4.3.6 软件结构的优化 4.3.6 软件结构的优化 (1)输入部分的求精 在图4.20的输入部分中,最低层的模块“取得f1”和“A”之间,前者给后者提供数据信息f1,后者将得到数据流转换成数据流f2,可见两者之间的耦合度比较大,可将这两个模块合并成一个模块A,即模块A完成的功能包括获取数据流f1和将该数据流转换成数据流f2,这样降低模块间的耦合度。 模块“取得f2”和 “B”合并成一个模块B。 模块“取得f3”和模块B合并成一个模块B。 图4.20中输入部分精化成模块B调用模块A的结果。 4.3.6 软件结构的优化 (2)输出部分的求精 在图4.20的输出部分中,模块F是将输入信息f7转换成输出信息f8,而“F”和“给出f8”模块只是输出数据,而不是真正意义的输出模块,可以将这三个模块进行合并成模块F,新的模块F能够完成读取数据f7、数据转换和输出数据f8的功能。 模块“给出f9”、“给出f10”和“G” 进行合并后形成新的模块G,模块“给出f11” 和“H”进行合并成新模块H,模块G调用模块H, 并向后者提供相应的数据信息。 4.3.6 软件结构的优化 (3)变换部分的求精 根据软件设计的基本原理和优化原则,对变换部分映射的模块进行合并或调整。 在图4.20的变换中心部分中: 模块“将f3变换成f7和f9”调用模块C、D、E,而前者只是起到传输数据的功能,可以省略,因此变成了主模块调用这3个模块,从而降低模块间的耦合度。 模块C将转换的数据信息分解后传给模块D和E,而模块E汇合模块C和E的数据信息并将其转换,因此,可以先将模块C与模块D合并成新模块CD,然后给模块E传递数据信息。 4.3.6 软件结构的优化 图4.25是对图4.20的软件结构优化后的结果。 图4.25 图4.20软件结构优化的结果 图4.26是对图4.22精化后的软件结构图 4.3.6 软件结构的优化 (4)其它优化方法 在图4.26中,模块“制作通知单”将数据信息转换后由主控模块传输给模块“打印考生通知单”,在实际上,两者共同完成制作通知单的功能,又可以完成打印考生通知单的功能,同样可以降低模块间的耦合度,将两者进行合并形成新的模块“制作并打印考生通知单”。 模块“分析试题难度”和“打印分类统计表”产生的“难度分析结果”和“分类统计结果”只在“打印难度分析表”和“打印分类统计表”模

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档