- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05章总体设计概论
4模块的作用域应该在控制域之内 模块的作用域定义为受该模块内一个判定影响的所有模块的集合。模块的控制域是这个模块本身以及所有直接或间接从属于它的模块的集合 例:在图5.2中模块A的 控制域 是A、B、C、D、E、F 等模块的集合 5 力争降低模块接口的复杂程度 应使得信息传递简单并且和模块的功能一致 6 设计单入口单出口的模块 不要使模块间出现内容耦合 容易理解,维护 7 模块功能应该可以预测 只要输入的数据相同就产生同样的输出 5.4 描绘软件结构的图形工具 5.4.1层次图和HIPO图 层次图功能: 用来描绘软件的层次结构 层次图符号说明: 矩形框代表模块 方框间的连线表示调用关系(而不像层次方框图那样表示组成关系) 适用范围:自顶向下设计 注意:直线表示调用关系 5.4.1层次图和HIPO图 HIPO(层次图加输入/处理/输出)图功能:用来描绘软件的层次结构 符号描述: 矩形框代表模块 方框间的连线表示调用关系(而不像层次方框图那样表示组成关系) 在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号 5.4.1层次图和HIPO图 应该有一张IPO图描绘这个方框代表的模块的处理过程。HIPO图中的每张IPO 图内都应该标出模块在H图中的编号,以便追踪了解这个模块在软件结构中的位置 5.4.2 结构图 Yourdon提出的结构图 功能:描绘软件结构的图形工具 符号描述: 方框代表模块,框内注明模块的名字或主要功能 箭头(或直线)表示模块的调用关系 带注释的箭头表示模块调用过程中来回传递的信息尾部是空心圆表示传递的是数据 尾部是实心圆表示传递的是控制信息 结构图的附加符号 注意: 层次图和结构图并不严格表示模块的调用次序 层次图和结构图并不指明什么时候调用下层模块 层次图作为描绘软件结构的文档,结构图并不合适 由层次图导出结构图的过程,可以作为检查设计正确性和评价模块独立性的方法 5.5面向数据流的设计方法 基本思路:面向数据流的设计要解决的任务,就是在需求分析上,将DFD图映射(Maping)---软件系统的结构。 换句话说,这类设计方法,允许把用DFD图表示的系统模型转换成对于软件结构的初始设计描述。 5.5.1 概念 信息流的类型决定了映射的方法 信息流有两种类型: 变换流, 事务流 1 变换流 信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流称为变换流 变换型系统结构图由 输入、中心变换和输出等三部分组成 时间 输入流 输出流 变换流 外部表示 内部表示 信息 2事务流 数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这 类数据流应该划为一类特殊的数据流,称为事务流 事务中心的任务 接收输入数据(输入数据又称为事务); 分析每个事务以确定它的类型; 根据事务类型选取一条活动通路。 事务型系统结构图 3 设计过程 设计过程不是 一成不变的。 运用之妙 存乎一心 5.5.2 变换分析 变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。下面通过一个例子说明变换分析的方法。 1 例子 汽车仪表板, 假设功能如下所示: 1 通过模数转换实现传感器和微处理机接口; 2 在发光二极管面板上显示数据; 3 指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等; 4 指示加速或减速; 5 超速警告:如果车速超过55英里/小时,则发出超速警告铃声。 2 设计步骤 第1步复查基本系统模型 第2步复查并精化数据流图 第3步确定数据流图具有变换特性还是事务特性 第4步确定输入流和输出流的边界,从而孤立出变换中心 第5步完成“第一级分解” 第6步完成“第二级分解” 第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化 2 复查并精化数据流图 对需求分析阶段得到的数据流图认真复查,精化。 确保是正确的逻辑模型。 每个处理都 代表一个规模适中相对独立的子功能。 测试 模块内的高内聚往往意味着模块间的松耦合。( ) 软件结构是以___________为基础而组成的一种控制层次结构。 软件概要设计的主要任务就是________。 测试 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( ) A、 隐藏复杂性 B、 信息隐藏 C、 即存类的重用 D、 类的开发 在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够(
文档评论(0)