软件系统是由许多不同类型的组建块组成的,这些组件必须协同工作才能实现系统的功能。组件之间的通讯被称为耦合。但是,不同类型的耦合对软件系统的效率和可维护性产生不同的影响。同样,内聚也是软件系统中一个非常重要的概念,内聚的好坏可以影响软件的质量和可维护性。因此,软件开发人员应该非常关注内聚类型和耦合类型的影响以及如何在软件组件之间建立合适的关系。
内聚类型
内聚度是指一个组件内部各元素(类、模块或方法)之间联系紧密程度的度量。内聚性的好坏可以影响软件的质量和可维护性。最常见的内聚类型如下:
1. 功能内聚:指当一个组件只执行一个特定的功能时的内聚类型。这种类型的内聚越高,组件所完成的工作就越专业,易于维护和重用。
2. 时间内聚:指当组件所包含的组合动作执行必须同时发生的内聚类型。这种类型的内聚度较低,因为可能在任何时间取消其中一个组件或增加新组件。
3. 过程内聚:指几个操作被结合在一起以共同实施一个进程的内聚类型。但此类型的内聚度较低,因为通常不可能遵循严格的顺序执行操作。
4. 通讯内聚:指在一个组件中几个操作共享输入或输出参数的内聚类型。这种类型的内聚度较低。
5. 顺序内聚:指在一个组件中几个操作按规定顺序共同完成一个功能的内聚类型。组件的顺序内聚度较好,因为它们的顺序和方法的实现分离。
6. 连接内聚:指一个组件中的操作之间在实现某个逻辑关系或功能时紧密连接的内聚类型。这种类型的内聚度较好,因为它们中间的连接有助于实现代码重用和维护。
耦合类型
耦合是指软件组件之间的相互依赖关系。软件组件之间的耦合分为以下几种:
1. 数据耦合:指组件之间通过共享数据进行通信的耦合类型。这种类型的耦合应该尽可能避免,因为数据接口是组件之间的强依赖关系,增加了两个组件之间的相互影响。
2. 控制耦合:指一个组件控制另一个组件的内部运行时的耦合类型。控制耦合通常是不良的,因为它增加了组件之间的相互依赖性。当一个组件上的条件或处理顺序改变时,控制该组件的组件可能被迫需要做出相应的调整。
3. 外部耦合:指组件之间通过传递数据、文件等进行通信的耦合类型。这种类型的耦合只和数据有关,避免了对组件内部的依赖,但是当共享的数据类型发生改变时,接收数据的组件需要修改以适应新数据的格式。
4. 标志耦合:指组件之间共享记号的耦合类型,这种类型的耦合可以传递给组件有关设备的信息或资源。但是,标志本身可能变得在不同的系统之间不可用或有误导性,因此可能会产生一些不必要的麻烦。
5. 内部耦合:指组件之间通过共享数据进行通信的耦合类型。这种类型的耦合度较低,因为两个组件之间的联系可能只是通过数据而不是方法实现的,因此数据的任何更改都不会影响另一个组件。
扫码咨询 领取资料