传统的设计方法幻灯片.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 传统的设计方法 结构化设计模型 结构化设计方法 过程设计 1 结构化设计模型 2 结构化设计方法 3 过程设计 4 Jackson方法 结构化设计模型 概述 面向数据流的设计 以SD(Structured Design)方法为代表 以数据流出发点 目标是得出软件的体系结构 面向数据的设计 以Jackson方法为代表 以数据结构作为分析和设计的基础 侧重点是程序的过程性描述 结构化设计模型 概述 1 结构化设计模型 2 结构化设计方法 3 过程设计 4 Jackson方法 结构化设计的方法 结构设计—概要设计 体系结构设计 SC图(Structure Chart) 接口设计 SC图 数据库设计 物理数据模型 过程设计—详细设计 模块的处理过程 N-S图,PAD,PDL等 Jackson方法 描述工具—SC图 SC图的组成符号 (P88) 矩形框来表示模块 带箭头的连线表示模块间的调用关系 调用时要标明传入和传出模块的数据流 SC图中的模块符号 传入 传出 变换 源 漏 控制 SC图中的模块调用 简单调用 选择调用 循环调用 面向数据流的设计方法(SD) DFD图的类型 变换型结构 事务型结构 从DFD图到SC图的映射 复审DFD图,必要时可再次进行修改或细化 鉴别DFD图的结构特征:事务?变换? 按照规则,把DFD图映射为初始的SC图:事务映射 或 变换映射 改进初始的SC图 变换结构的DFD 事务型结构DFD 同时存在两类结构的DFD 变换映射 步骤: 划分DFD图的边界 建立初始SC图的框架 顶层都只含一个用于控制的主模块 第一层包括传入、传出和中心变换三个模块 分解SC图的各个分支 分解实质上是(根据DFD图的)“映射” 变换映射 例子—划分DFD 第一级分解 传入分支的分解(一) 传入分支的分解(二) 传出分支的分解 变换中心的分解 初始SC图 事务映射 步骤: 在DFD图上确定边界 事务中心 接受部分(包括接受路径) 发送部分(包括全部动作路径) 画出SC图框架 DFD图的三个部分分别映射为事务控制模块,接受模块和动作发送模块 分解和细化接受分支和发送分支 事务映射 例子—划分DFD 例子:第一层分解 例子:第一层分解后细化 混合结构 优化结构设计的指导规则 对模块分割、合并和变动调用关系的指导规则 提高内聚,降低耦合 简化模块接口。接口复杂可能表明模块的独立性差 少用全局性数据和控制型信息。因为可能导致不可预测的结果 控制模块大小。过大不易理解;太小则接口开销过大 有时不必拘泥于DFD图 优化结构设计的指导规则 保持高扇入/低扇出的原则 高扇入?提高模块利用率 低扇出?减少控制复杂度 良好的软件通常具有瓮形结构 例子:扇出 瓮形结构 例子:扇出 优化结构设计的指导规则 模块的作用域/控制域 作用域:受模块中的判定影响的模块 控制域:模块本身及下级模块 作用域/控制域规则 作用域不要超出控制域的范围 位置离受它控制的模块越近越好 作用域/控制域优化---例 SD的总体过程: 来看一个例子 第一步:DFD的分解,大体上分出I、P、O三块 一般问题的一级分解方法: 第二步:映射 得到分解结果 第三步:优化—— 依据优化原则,如高内聚、低耦合等。 1 结构化设计模型 2 结构化设计方法 3 过程设计 4 Jackson方法 过程设计 又称详细设计:模块内部的逻辑设计 目的 确定模块采用的算法和块内数据结构 使用适当的表达工具,便于编码 任务:编写软件的“过程设计说明书” 为每个模块确定采用的算法 确定每一模块使用的数据结构 确定模块接口的细节,如内外接口和用户界面 设计测试用例 过程设计的原则 清晰第一的设计风格 Dijkstra 1960: 取消GOTO语句 一般地,清晰第一,效率第二 结构化的控制结构,保持程序的清晰线索 模块单入、单出 只适用3种基本控制结构:顺序、选择、循环 限制GOTO语句的使用 逐步细化的实现方法 由粗到细,每次细化一部分 较高的正确性和可靠性 过程设计工具 程序流程图 N-S图 判定表、判定树 伪代码和PDL语言 任何复杂的程序流程图都应由以上五种基本结构组合而成。 思考:不同过程描述方式之间如何转换? 1 结构化设计模型 2 结构化设计方法 3 过程设计 4 Jackson方法 用Jackson图画出输入数据和输出数据的数据结构; 找出输入数据结构和输出数据结构中有对应关系的数据单元,画出软件结构图 用Jackson伪代码写出结构图中每个处理

文档评论(0)

love87421 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档