第5章 总体设计解析.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 总体设计解析

软件设计中应该:力求做到高内聚,尽量少用中内聚,不用低内聚。 5.3 启发式规则 1. 改进软件结构提高模块独立性 2.模块规模应该适中 3. 深度、宽度、扇出和扇入都应适当 深度:软件结构中控制的层数; 宽度:软件结构内同一个层次上的模块总数的最大值; 扇出:一个模块直接控制(调用)其它模块的数目; 扇入:一个模块被其它模块调用的数目。 正文加工系统 输入 输出 编辑 加标题 存储 检索 编目录 格式化 添加 删除 插入 修改 合并 列表 对扇出、扇入过大的改进: (a)对扇入过大的改进 (b)对扇出过大的改进 4. 模块的作用域应该在控制域之内 M A G B C E D F 图5.2 模块的作用域和控制域 作用域:受该模块内一个判定影响的所有模块的集合。 控制域:模块本身以及所有从属于它的模块的集合。 如:QUAD-ROOT(TBL,X) 求一元二次方程的根的模块,其中TBL,X都为数组,分别代表方程的系数和方程的根。 应该使接口更简单,如: QUAD-ROOT(A,B,C,ROOT1,ROOT2) A、B、C是方程的系数,ROOT1,ROOT2是方程的根。 5. 力争降低模块接口的复杂度 6.设计单入口、单出口的模块 7.模块功能应该可以预测 5.4 图形工具 5.4.1 层次图和HIPO图 正文加工系统 输入 输出 编辑 加标题 存储 检索 编目录 格式化 添加 删除 插入 修改 合并 列表 图5.3 正文加工系统的层次图 正文加工系统 输入 1.0 输出 2.0 编辑 3.0 加标题 4.0 存储 5.0 检索 6.0 编目录 7.0 格式化 8.0 添加 3.1 删除 3.2 插入 3.3 修改 3.4 合并 3.5 列表 3.6 图5.4 带编号的层次图(H图) HIPO图是:“层次图+输入/处理/输出图” 5.4.2 结构图 产生最佳解 得到好输入 计算最佳解 输出结果 读输入 编辑输入 结果格式化 显示结果 图4.5 结构图的例子—产生最佳解的一般结构 M A B 图5.6 判定为真时调用A,为假时调用B M A B C 图5.7 模块M循环调用模块A、B、C 5.5 面向数据流的设计方法 面向数据流设计(Data Flow-Oriented Design,DFOD)是与数据流分析(DFA)对应的结构化软件设计技术。 面向数据流的设计将得到以数据流图为基础的软件模块结构图。 数据流可以分为两种类型: 1)变换型数据流 2)事务型数据流 5.5.1 变换流与事务流 一、变换流 具有较明确的输入、变换(或称主加工)和输出界面的数据流图称为变换型数据流图。 如图所示,该变换中心可以理解为数据的加工和处理程序。 读入原始数据 校验原始数据 计算最优结果 编辑打印最优结果 输入 变换中心 输出 事务型数据流图中存在一个事务中心(也就是数据处理、加工中心),它将输入分离成若干个发散的数据流,形成许多活动路径,并根据输入值选择其中一条路径。 要求类别处理 分房处理 调房处理 退房处理 住房要求 事务中心 活动路径 二、事务流 通常,一个实际系统的数据流图是变换型和事务型两种类型的混合体。 如图所示,中间的子块属事务型数据流,如果把中间子块视为一个处理整体的话,整个程序属变换型程序。 A (事务型,A为事务中心) 变换中心 输入 输出 混合型数据流图 面向数据流设计软件结构的基本步骤有七步: 1)复审并精化数据流图; 2)确定数据处理流图的类型; 3)确定变换中心或事务中心; 5.5.2 面向数据流设计的步骤 4)将数据流图映射成软件模块结构图,设计出该数据流图对应的第一层模块结构; 5)基于数据流图逐步分解,设计下层模块; 6)运用模块设计和优化准则优化软件结构; 7)描述模块的接口。 复查、精化数据流图 类型 找出事务中心 找出变换中心 映射成事务结构 映射成变换结构 优化软件模块结构 导出模块结构 复查 不满意 变换 事务 变换设计 事务设计 面向数据流的设计步骤 变换设计就是从变换型数据流图映射出软件模块结构的过程,也称以变换为中心的设计。 5.5.3 变换设计 变换设计的基本方法有两步: 1)分解第一层模块结构 就是把整个变换分解成输入控制模块Ci、输出控制模块Co和变换中心控制模块Ct,由主控模块控制。 主控模块 输出控制模块Co 变换中心控制模块Ct 输入控制模块Ci 2)分别设计输入、输出和处理的下层模块结构 方法是: 从变换中心边界向两侧移动,分别把输入通路和输出通路的每个处理映射成输入控制模块Ci

文档评论(0)

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

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

1亿VIP精品文档

相关文档