设计工及程.ppt

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

* * * * * * * * * * * 软件体系结构关注系统的一个或多个结构,包含软件构件、这些构件的对外可见的性质以及它们之间的关系 Bass提出体系结构重要的三个关键理由: ①方便利益相关人员的交流 ②有利于系统设计的前期决策 ③可传递的系统级抽象 * * 一组 * * * * * * * * * * * * * * * * * 随着面向对象和软件复用等新的软件开发方法和技术的发展,更现实、更有效的开发途径可能是自顶向下和自底向上两种方法有机的结合。 * * * * * * * 在进行软件设计的过程中,我们要密切关注软件的质量因素。 * * * * * * * * * * * * 由于一个软件系统在整个软件生存期内要经过多次修改,在划分模块时要采取措施,使得大多数过程和数据对软件的其他部分是隐蔽的。这样,在将来修改软件时,可将偶然引入错误所造成的影响限制在一个局部范围之内,不致波及到软件的其他部分。 * * * * 例如,有P、Q、R三个模块都需要执行相同的一组操作,为了避免重复书写,可以把这些操作汇集成一个模块T,供有关的模块调用。模块T内部成分的组合纯属巧合,故称为巧合内聚。 * * 调用时需要进行控制参数的传递, 造成模块间的控制耦合,调用此模块时,不用的部分也占据了主存,降低了系统效率。 由于要进行控制参数的传递,必然要影响模块的内聚性。 * 时间内聚比逻辑内聚程度高一些,因为时间内聚模块中的各部分都要在同一时间内完成。 * 4.  通信型模块比瞬时型模块的内聚性强,因为模块中包含了许多独立的功能,但却引用相同数据。通信模块一般可以通过数据流图来定义。 * 5.由于这类模块无论数据还是执行顺序,模块中的一部分依赖于另外一部分。因此具有较好的内聚性。 顺序型模块,编辑功能的输入是读入功能的输出,打印功能的输入是累加功能的输出。 * * * 如果在模块之间共享的数据很多,且通过参数的传递很不方便时,才使用公共耦合,因为公共耦合会引起以下问题: 例如:银行账户:500元, 两个取款操作同时进行,取款200,取款200 * * * 在大多数情况下,模块间的控制耦合并不是必需的,可以将被调模块内的判定上移到调用模块中去,同时将被调模块按其功能分解为若干单一功能的模块 控制耦合增加了理解与编程及修改的复杂性,调用模块必须知道被调模块内部的逻辑关系,即被调模块处理细节不能“信息隐藏”, 降低了模块的独立性。 * * * * 可采用“信息隐蔽”的方法,把该数据结构以及在其上的操作全部集中在一个模块,就可消除这种耦合。 但有时因为还有其他功能的缘故,标记耦合是不可避免的。 漳州师范学院计算机科学与工程系 软件工程课程 * N-S图 Nassi和Shneiderman 提出了一种符合结构化程序设计原则的图形描述工具,叫做盒图,也可以根据两位创始人名字的首字母简称N-S图 。 五种基本控制结构 漳州师范学院计算机科学与工程系 软件工程课程 * 控制结构相互组合和嵌套的实例 漳州师范学院计算机科学与工程系 软件工程课程 * PAD PAD是Problem Analysis Diagram的缩写 ,由程序流程图演化而来 五种基本控制结构 漳州师范学院计算机科学与工程系 软件工程课程 * PAD PAD所描述程序的层次关系表现在纵线上,每条纵线表示一个层次,把PAD图从左到右展开。 PAD的执行顺序: 从最左主干线上端的结点开始,自上而下执行; 每遇到判断或循环,就从左到右进入下一层,从表示下一层的纵线上端开始执行,直到该纵线下端,再返回上一层的纵线的转入处。 漳州师范学院计算机科学与工程系 软件工程课程 * PAD实例 漳州师范学院计算机科学与工程系 软件工程课程 * 试用PAD表示下面程序流程图 开始 C1 P1 C2 P2 P3 C3 结束 F T F T F T 漳州师范学院计算机科学与工程系 软件工程课程 * 判定表 当算法中包含多重嵌套的条件选择时,用程序流程图、N-S图或PAD都不易清楚地描述。 然而,判定表却能清晰地表达复杂的条件组合与应做动作之间的对应关系。 漳州师范学院计算机科学与工程系 软件工程课程 * 不包含多分支结构的流程图实例 漳州师范学院计算机科学与工程系 软件工程课程 * 反映程序逻辑的判定表 漳州师范学院计算机科学与工程系 软件工程课程 * 判定表的优点是能够简洁,无二义性地描述所有的处理规则。 但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构 漳州师范学院计算机科学与工程系 软件工程课程 * 设计性语言PDL PDL(Program Desi

文档评论(0)

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

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

1亿VIP精品文档

相关文档