扫码加入训练营

牢记核心词

学习得礼盒

2022考研计算机《软件工程导论》:内聚和耦合

2021-08-19 07:34:00来源:网络

  2022考研计算机《软件工程导论》:内聚和耦合

  对于大多数2022考生来说考研还是基础复习阶段,而对于计算机专业课的复习,相对来说还更早一些。为了以后复习不那么吃力,现在可以先了解一下。本文新东方在线计算机考研小编整理分享“2022考研计算机《软件工程导论》:内聚和耦合”相关内容,一起来看看吧。

  耦合:是对一个软件结构内各个模块之间相互依赖程度的度量;耦合的强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

  内聚:则标志一个模块内各个元素彼此结合的紧密程度;内聚从功能角度衡量模块内的联系,好的内聚模块应当恰好做一件事。

  需求的原则是:强内聚,弱耦合。然而在实际需求过程中,往往会因为技术驱动,导致需求间耦合很紧,不利于后期有效地迭代开发。有效的解决办法是按流程、和业务梳理需求。

  1.首先,我们来明确什么是模块

  模块是一系列语句组成的,由标识符组成的边界元素来界定的。比如面向对象语言中的一个类、一个方法;也如面向过程中的函数。

  2.内聚

  所谓的内聚是指模块内的交互程度,内聚又分为一下几种

  偶然性内聚:组件的部件是不相关的,只是简单地绑定成单个组件。

  不足:程序的可读性和复用性差

  逻辑性内聚:把相似的功能(类如输入,错误处理)放在一块,通过传递一个参数来决定是哪一个功能来执行。

  不足:接口可读性差,代码复用性低

  时间性内聚:所有的语句在同一时刻被激活,就像电脑关机的时候,其他所有的程序都要被关闭。

  不足:模块内的关联不高,而与模块外的关联却很高,所以在维护的时候工作量会 比较大。

  过程性内聚:简单地把一系列过程关联在一起

  不足:代码的复用性比较差

  通信性内聚:操作相同的输入数据或者输出相同的输出数据,可能产生多种功能。

  不足:代码的复用性不高

  顺序内聚:从一个部分的输出作为另一部分的输入。可能包含几个功能或部分不同的功能。

  不足:代码的复用性不高

  信息聚合:执行多个功能,每个函数都有自己的入口点,每个函数都有独立的代码,所有的功能都在相同的数据结构上执行。不同于逻辑衔接,因为功能没有交织在一起。

  功能内聚:每一部分都需要执行一个单一的功能。例如,计算平方根或排序数组。通常在其他情况下可重复使用。维修容易。

  以上几种内聚程度由低到高

  耦合:耦合是指模块之间的交互程度

  内容耦合:如果一个模块直接操作操作另外一个模块中的内容,比如下面的代码:

  public class Product {

  public float unitPrice;

  ……

  }

  public class Order {

  private Product myProduct=new Product();

  myProduct.unitPrice = -100;

  }

  }

  公共耦合:就像一个类中的全局变量类中的模块都直接操作这个全局变量

  控制耦合:通过控制标志(作为参数或变量),一个模块控制另一个模块的处理步骤的顺序。

  印记耦合:如果一组模块通过参数表传递记录信息,就是印记耦合。事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。这要求这些模块都必须清楚该记录的结构,并按结构要求对此记录进行操作。在设计中应尽量避免这种耦合,它使在数据结构上的操作复杂化了

  数据耦合:如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。由于限制了只通过参数表传递数据,按数据耦合开发的程序界面简单、安全可靠。因此,数据耦合是松散的耦合,模块之间的独立性比较强。在软件程序结构中至少必须有这类耦合。

  以上所有的耦合度有高到低,越低的耦合越好。

  以上是小编为大家整理分享的“2022考研计算机《软件工程导论》:内聚和耦合”相关内容,希望对大家有帮助。祝大家考上理想的院校!更多计算机专业备考信息,敬请关注新东方在线计算机考研网!


考研公开课小程序

本文关键字: 2022考研 计算机资料

考研英语核心词汇营

背词+听课+练习+督学,学习得礼盒

更多资料
更多>>
更多内容

关注新东方在线考研服务号

获得21考研真题及答案解析

1. 打开手机微信【扫一扫】,识别上方二维码;
2.点击【关注公众号】,获取资料大礼包。

考研资料大礼包
近10年考研真题及答案免费下载
更多>>
更多公开课>>
更多>>
更多资料