网站大量收购闲置独家精品文档,联系QQ:2885784924

结构化设计(上).ppt

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

模块接口复杂是软件发生错误的一个主要原因。应该认真设计模块接口,使得信息传递简单并保持参数的一致性。求一元二次方程的根的模块,比较:QUAD_ROOT(TBL,X)QUAD_ROOT(A,B,C,ROOTl,ROOT2)125.降低模块接口的复杂性6.设计单入口单出口的模块这条启发规则告诫软件工程师不要使模块间出现内容耦合,设计出的每一个模块都应该只有一个入口一个出口。当控制流从顶部进入模块并且从底部退出来时,软件是比较容易理解的,因此也是比较容易维护的。模块功能可以预测1一个模块可以当做一个黑盒子,只要输入的数据相同就产生同样的输出结果,这种模块的功能就是可以预测的带有内部状态的模块的功能有时是不可预测的,因为它的输出取决于所处的状态,由于内部状态对于上级模块而言是不可见的,所以这样的模块既不易理解又难于测试和维护26描绘软件结构的图形工具层次图用来描绘软件的层次结构。层次图中的矩形框表示模块,矩形框间的连线表示调用关系。正文加工系统的层次图层次图和HIPO图HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写每个方框都加了编号与H图中每个方框相对应,应该有一张IPO图描绘模块的处理过程。图3.4正文加工系统的H图模块:模块用矩形框表示,并用模块的名字标记它。模块的调用关系和接口:模块之间用单向箭头联结,箭头从调用模块指向被调用模块,表示调用模块调用了被调用模块。模块间的信息传递:尾部带符号的箭头结构图反映程序中模块之间的层次调用关系和联系:3.6.2结构图在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。判定为真时调用A,为假时调用B模块M循环调用模块A、B、C此外还有一些附加的符号,可以表示模块的选择调用或循环调用。左图表示当模块M中某个判定为真时调用模块A,为假时调用模块B。右图表示模块M循环调用模块A、B和C。在系统结构图中的模块04030102传入模块─从下属模块取得数据,经过某些处理,再将其传送给上级模块。传出模块─从上级模块获得数据,进行某些处理,再将其传送给下属模块。变换模块─它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。协调模块─对所有下属模块进行协调和管理的模块。检查设计的正确性和评价模块独立性:传送的每个数据元素是否为完成模块功能所必须的;完成模块功能必须的每个数据元素是否都传送来了;所有数据元素是否都只和单一的功能有关;结构图上模块间的联系是否容易解释SC图的检验0102层次图和SC图的特点SC图不仅能够表示软件结构,而且还能够表示出模块接口间信息的传递关系,是一种较好的开发与维护人员通信的工具层次图和SC图并不严格表示模块的调用次序,不指明什么时候调用下层模块面向数据流的设计方法的目标是给出设计软件结构的一个系统化的途径。1在软件工程的需求分析阶段,信息流是一个关键考虑,通常用数据流图描绘信息在系统中加工和流动的情况。面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构。因为任何软件系统都可以用数据流图表示,所以面向数据流的设计方法理论上可以设计任何软件的结构。通常所说的结构化设计方法(简称SD方法),也就是基于数据流的设计方法。27面向数据流的设计方法控制耦合举例读入分数输出结果计算平均分计算最高分平均/最高?调用逻辑性模块B时,须先传递控制信号(平均分/最高分),以选择所需的操作。控制模块必须知道被控模块的内部逻辑,增强了相互依赖.B标记耦合(特征耦合)如果一组模块通过参数表传递信息,并只使用数据结构的部分数据这个参数是:数据结构字符串记录不是简单变量特征耦合举例计算水费计算电费住户情况水费电费住户情况“住户情况”是一个数据结构计算水电费如果一个模块访问另一个模块时,彼此之间是通过简单数据参数,来交换输入、输出信息的不是:控制参数公共数据结构外部变量01数据耦合02开发票思考:

刚才的特征耦合例子如何变为数据耦合?单价数量计算水费金额计算水电费01计算水费02计算电费03本月用水量04本月用电量05水费06电费07将特征耦合修改为数据耦合举例如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合1这种耦合的模块独立性最强27.非直

文档评论(0)

SYWL2019 + 关注
官方认证
内容提供者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档