- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 总体设计 5.1 设计过程 5.1 设计过程 5.1 设计过程 5.1 设计过程 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.4 描绘软件结构的图形工具 5.4 描绘软件结构的图形工具 5.4 描绘软件结构的图形工具 5.4 描绘软件结构的图形工具 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 5.5 面向数据流的设计方法 the END 2、模块独立 功能内聚 如果模块中所有处理元素属于一个整体,完成一个单一的功能,则称为功能内聚。 例如:getCustomerName()、EraseFile()、sin()以及ageFromBirthdate()这样的子程序都是高度内聚的。 总原则: 低耦合高内聚 1 改进软件结构提高模块独立性 2 模块规模应该适中 3 深度、宽度、扇出和扇入都应适当 4 模块的作用域应该在控制域之内 5 力争降低模块接口的复杂程度 6 设计单入口单出口的模块 7 模块功能应该可以预测 1、层次图 用于描绘软件的层次结构。 模块 调用关系 1、层次图 2、HIPO图 HIPO:层次图加输入/处理/输出图。 IBM公司发明 3、结构图 描绘软件结构的图形工具。 Yourdon提出 箭头表示参数传递的方向 箭头尾部的空心圆:数据 箭头尾部的实心圆:控制信息 3、结构图 3、结构图 通常用层次图作为描绘软件结构的文档。 结构图作为文档不合适,因为图上包含的信息太多有时反而降低了清晰程度。 结构图的用处: 利用IPO图或数据字典中的信息得到模块调用时传递的信息,从而由层次图导出结构图的过程,可以作为检查设计正确性和评价模块独立性的好方法。 1、结构化方法学中设计软件结构的系统化方法 面向数据流的设计方法 2、具体策略 数据流图 软件结构 2、信息流的类型 变换流 事务流 3、面向数据流方法的设计过程 详细设计 复查 导出接口描述 和全局数据结构 精化数据流图 映射成事务结构 区分输入输出分支 流类型 区分事务中心 和数据接受通路 映射成变换结构 用启发式设计规则 精化软件结构 “事务” “变换” 事务分析 变换分析 4、变换分析 (1)确定输入输出分支 收集和求平均 读 旋转信号 确定加速/减速 产生加/减速 显示 转换成转/分 计算里程 产生里程显示 计算mile/h和超速值 发出铃声 产生mile/h显示 读和校核 计算Cal/h 计算燃料消耗 产生Cal/h显示 旋转信号 ▲信号/S 箭头指示 信号/S 信号/S 下箭头 水平线 上箭头 显示 铃声 Mile/h显示 mile/Cal显示 mile/Cal mile/h mile/h Cal/h r/min r/min 英里 燃烧值 燃烧流 传感器信号 超速值 4、变换分析 (2)一级分解 4、变换分析 4、变换分析 (3)第二级分解 4、变换分析 4、变换分析 变换控制 输出控制 4、变换分析 (4)利用启发规则精化 5、事务分析 (1)区分接收通路和事务中心 (2)第一级分解 (3)第二级分解 (4)利用启发规则精化 设计过程2. 设计原理 3. 启发规则4. 描绘软件结构的图形工具5. 面向数据流的设计方法 1、结构化分析与结构化设计的关系 2、概要设计与详细设计的划分 系统设计阶段 结构设计阶段(软件结构、数据结构) 概要设计 人机界面设计(接口设计的一部分) 过程设计
文档评论(0)