[GIS工程讲义.ppt

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

耦合 耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,进入或维护任何一个模块,而不需要对系统的其他模块有很多了解。此外,由于模块间联系简单,发生在一处的错误传播到整个系统的可能性就很小。因此,模块间的耦合程度强烈影响系统的可理解性、可测试性、可靠性和可维护性。 如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。如果传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现),则这种耦合称为控制耦合。 当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合。公共环境可以是全程变量、共享的通信区、内存的公共覆盖区、任何存储介质上的文件、物理设备等等。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 最高程度的耦合是内容耦合。如果出现下列情况之一。两个模块间就发生内容耦合: 一个模块访问另一个模块的内部数据; 一个模块不通过正常入口而转到另一个模块的内部; 两个模块有一部分程序代码重叠(只可能出现在汇编程序中); 一个模块有多个入口(这意味着一个模块有几种功能)。 应该坚决避免使用内容耦合。 尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 内聚 内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚模块只做一件事情。 低内聚有如下几类:如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的,叫做偶然内聚。如果一个模块完成的任务在逻辑上属于相同或相似的一类(例如,一个模块产生各种类型的全部输出),则称为逻辑内聚。如果一个模块包含的任务必须在同一段时间内执行(例如,模块完成各种初始化工作),就叫时间内聚。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 中内聚主要有两类:如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据,则称为通信内聚。 高内聚也有两类:如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据),则称为顺序内聚。如果模块内所有处理元素属于一个整体,完成一个单一的功能,则称为功能内聚。功能内聚是最高程度的内聚。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 耦合和内聚的概念是Constantine, Yourdon, Myers和Stevens等人提出来的,按照他们的观点,如果给上述七种内聚的优劣评分,将得到如下结果: 功能内聚 10分 时间内聚 3分 顺序内聚 9分 逻辑内聚 1分 通信内聚 7分 偶然内聚 0分 过程内聚 5分 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 采用好的设计规则,改进软件结构,提高模块独立性,设计出软件初步结构以后,应该审查和分析这个结构,通过模块的分解和合并,力求降低模块耦合度,提高模块内聚度。例如,多个模块公用的一个子功能可以独立成一个模块,供这些模块调用。有时则可通过分解或合并模块以减少控制信息的传递及对全局数据的引用,降低接口的复杂程度。经验表明,模块规模应当适中,过大则可能导致独立性降低,引起开发、测试和维护的不便。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004

文档评论(0)

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

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

1亿VIP精品文档

相关文档