第五章 传统的设计方法2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虽然在任何情况下都可以使用变换分析方法设计软件结构,但是在数据流具有明显的事务特点时,也就是有一个明显的“发射中心”(事务中心)时,还是以采用事务分析方法为宜。 事务:引发、触发或启动某一动作或一串动作的任何数据、控制、信号、事件或状态变化 5.2.4 事务映射 * uhiuku 事务分析步骤: 1、在DFD图上确定事务中心、接受部分(包括接受路径)和发送部分(包含全部动作路径) 事务中心通常位于DFD图中多条动作路径的起点;向事务中心提供信息的路径,是系统的接受路径;动作路径通常不止一条,切每条均具有自己的结构特性(变换或事务型)。 * uhiuku * uhiuku 2、画出SC图框架,把DFD图的三个部分分别映射为事务控制模块、接受模块和动作发送模块 事务控制 接收 发送 … 事务控制 事务 分析发送 … * uhiuku 3、分解和细化接受和发送分支,完成初始的SC图 接受分支一般具有变换特性,可对其进行变换分析; 动作分支典型的可映射为4层:P-处理层、T-事务层、A-操作层、D-细节层。A、D常可被P、T共享。 P T1 T2 A2 A1 Aj A3 Ti D2 D1 Dk * uhiuku 在大型系统的DFD中,变换型和事务型两类结构往往同时存在。对于一个大系统,常常把变换分析和事务分析应用到同一个数据流图的不同部分,由此得到的子结构形成“构件”,可以利用它们构造完整的软件结构。 * uhiuku 混合结构一例 C1 A C3 B C2 D L F G E K J a b b1 b2 b3 c1 c2 c3 d e f g h j k l m 总体为变换型结构 传入路径为事务型结构 * uhiuku 面向数据流方法的设计过程 * uhiuku 软件工程师们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得出了一些启发规则。这些启发规则在许多场合能给软件工程师有益的启示,往往能帮助他们找到改进软件设计提高软件质量的途径,因此有助于实现有效的模块化。 下面介绍几条常用的启发规则。 5.2.5 结构化设计的优化规则 * uhiuku 一、改进软件结构提高模块独立性 通过模块分解或合并,力求降低耦合提高内聚。 二、模块规模应该适中 一页纸内(≤60行)。 过大,可考虑继续分解模块功能;过小,可考虑合并到上层模块。 * uhiuku 三、深度、宽度、扇出和扇入都应适当 1、概念 深度:软件结构中控制的层数,往往粗略的标志一个系统的大小和复杂程度。越大,意味着模块功能可能过分简单,软件的程序控制复杂。 宽度:软件结构内同一个层次上的模块总数的最大值。宽度越大系统越复杂。(主要受扇出影响) 扇出:模块直接调用的下级模块数目,也称模块的控制宽度。 扇入:直接调用它的上级模块数。 * uhiuku 2、高扇出结构 扇出数应保持在:7。 太高:调用的控制困难; 太低:应考虑向上合并功能。 (1)高扇出结构:称为“煎饼”结构 计算实发工资 取得工资数据 计时制工资额 薪金制工资额 编外人员工资 税收扣款 编外人员税款 常规扣款 编外人员扣款 * uhiuku (2)改进方法:增加中间层,形成塔形结构 计算实发工资 取得工资数据 计时制工资额 薪金制工资额 编外人员工资 税收扣款 编外人员税款 常规扣款 编外人员扣款 计时工人实发工资 计薪工人实发工资 编外人员实发工资 * uhiuku 3、高扇入结构 (1)一个模块的扇入越高,则共享这一模块的上级模块数目越多,消除重复代码的效果就越明显。 (2)底层高扇入结构:可共享的底层功能多,形成“瓮形”或“清真寺”结构。 (3)高扇入结构的画法:调用线太多,交叉,乱。考虑用编号代替功能方框,直接画在调用模块下。 * uhiuku 四、模块的作用域应该在控制域之内 1、两个范围的含义 控制范围:包括模块本身及其下属模块,不论这些模块系由该模块直接调用,还是间接调用。 作用范围:是一个与条件判定相联系的概念,指模块内的某条件判定涉及的直接调用和间接调用模块。 一般情况,一个判定作用范围内的模块可能会有3种情况: 整个模块是否执行,依赖于判定的结果; 上述模块的下属模块; 模块内有部分功能的执行依赖于这一判定。 * uhiuku 2、作用范围/控制范围原则 (1)把一个判定的作用范围限制在判定所在模块的控制范围之内,是改进模块结构的基本原则。 (2)理想情况,是使判定的作用范围和判定所在模块的控制范围尽可能的吻合。 3、把系统中有较大影响的判定放在层次结构中较低的位置,可能是导致违反作用范围/控制范围原则的主要原因。因此,要么把这类重要的判定从低层次上移到足够高的上层模块中,要

文档评论(0)

liuxiaoyu98 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档