软件工程 第7章-结构化设计(0).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文档。上传文档
查看更多
* §3.启发式规划 ? 作用域:M中的一个判定所影响的模块。 例如: A: ………… if …… then goto B1 ………… ………… B: ………… ………… B1: ………… ………… 作用域在控制域内 A: ………… if …… then goto M1 ………… ………… M: ………… ………… M1: goto C1 ………… ………… 作用域超出了控制域 A的作用域超出了控制域。 改进方法之一,可以把A中的 if 移到M中; 方法之二,可以把C移到A下面。 M A C B * §3.启发式规划 5、降低接口的复杂程度:模块接口复杂或不一致是软件发生错误的一个主要原因,是紧耦合或低内聚的征兆,表明模块的独立性差。 6、单出单入,避免内容耦合。当从顶部进入模块并且从底部退出来时,软件比较容易理解和维护。 7、模块功能可预测 —— 相同输入必产生相同输出。反例:模块中使用全局变量或静态变量,则可能导致不可预测。 * §4.图形工具 1、Hierarchy和HIPO 例: 正文加工系统的层次图(调用) * 3.7节中介绍的描绘数据结构的层次方框图(组成) * 例:带编号的层次图 User’s Interface Find a Room 2.0 Delete a Room 3.0 Enter a New Room 1.0 Establish a House 4.0 …… By Type of Floor 2.3 By Square Footage 2.2 By Room ID 2.1 …… Add a Room 4.1 Find a Room 4.2 Delete a Room 4.3 View House 4.4 …… By Room ID 4.2.1 …… §4.图形工具 * §4.图形工具 注意: ? 这里的hierarchy表现软件的结构,而非数据结构; ? 每个矩形框代表一个模块,连线表示“调用”而非“组成”; ? HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”。在H图里除了最顶层的方框之外,每个方框都加了编号。和H图中每个方框相对应,有一张IPO图描绘这个方框代表的模块的处理过程。HIPO图中的每张IPO图内要明显地标出它所描绘的模块在H图中的编号,以便追踪了解这个模块在软件结构中的位置。 * §4.图形工具 2、结构图(Structured Diagram) 由Yourdon提出 符号: 数据传递; 控制信息; 或; 循环. 判定为真时调用A,为假时调用B 模块M循环调用模块A、B、C * §4.图形工具 例: B A M M1 M2 M3 C D 注:此图一般不入文档,仅用于检查设计的正确性和模块独立性。 须检查; ? 每个传递的数据是否必须? ? 完成模块功能所必须的数据是否都传递了? ? 传输的数据是否只与单一的功能有关?是否目的明确? * §5.面向数据流的设计方法 (又称为SD:Structural Design) 目标:给出设计软件结构的一个系统化的途径。 基本思想:面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。因为任何软件系统都可以用数据流图表示,所以面向数据流的设计方法理论上可以设计任何软件的结构。通常所说的结构化设计方法(简称SD方法),也就是基于数据流的设计方法。 DFD ? System Hierarchy * 1、Data Flow 的分类 ⑴ 变换流(Transform Flow): Internal representation Information Transform flow Outgoing flow Incoming flow External representation Time 事实上所有信息流都可归结为变换流 §5.面向数据流的设计方法 * §5.面向数据流的设计方法 ⑵ 事务流(Transaction Flow) … … T Transaction request … Action paths … … T = Call one of the several subroutines depending on the type of the incoming transaction request. 当信息流具有明显的“发射中心”时,可归结为事务流。 完成任务: (1) 接收事务; (2) 分析每个事务以确定它的类型; (3) 根据事务类型选取一条活动通路。 * §5.面向数据流的设计方法 2、分析设计 ⑴ 变换分析:一系列设计步骤的总称,把具有变换流特点的数据流图按预先确定的模式映射成软件结构。

文档评论(0)

开心果 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档