希赛考试网
首页 > 软考 > 软件设计师

什么是内聚性

希赛网 2024-03-23 12:13:05

内聚性(cohesion)是指软件系统或模块内部相关元素之间的联系程度,即模块内各元素彼此间的结合强度。它是软件复杂性的重要度量,是判断软件质量的一个重要因素。高内聚性的软件系统有以下优点:易于理解、修改和维护,易于重用、测试和实现,容易进行模块化设计和分层设计。

在软件开发中,需要考虑代码的内聚性来保证代码的可读性和可维护性,具体分为以下几种类型:

1. 功能内聚

指模块内各个元素都是为了实现同一功能所做出的贡献。例如,在一个负责网站用户登录的模块中,各个元素如用户名、密码输入框、验证逻辑等都是为了实现用户登录功能而存在的,它们之间是高度相关的。

2. 顺序内聚

指模块内各个元素之间存在着执行顺序上的关系。例如,在一个负责数据处理的模块中,各个元素之间呈现出线性关系,前一个元素的输出作为后一个元素的输入,它们之间是存在紧密联系的。

3. 通讯内聚

指模块内各个元素都是为了完成某项任务而通过传递消息进行协作的。例如,在一个负责购物车功能的模块中,各个元素之间需要通过消息传递来进行商品的添加或删除,它们之间是通过特定的信号进行联系的。

4. 过程内聚

指模块内各个元素都需要被同时执行,以完成模块的某一任务。例如,在一个负责文件读写和处理的模块中,各个元素如打开文件、读取数据、处理数据和关闭文件等都需要被顺序执行,否则会导致任务无法完成。

除了以上几种内聚性类型,还有一种比较常见的低内聚性类型,即概念内聚。这种内聚性比较弱,模块内各个元素之间没有明显的联系,只是简单地罗列了某个特定概念所涉及的数据和逻辑。

需要注意的是,在考虑代码内聚性时,也需要关注代码耦合性。耦合性是指不同模块之间的依赖程度。模块之间的耦合性越低,模块之间的解耦合程度越高,代码的可维护性和可重用性就越好。

综上所述,内聚性和耦合性是影响代码质量和软件质量的重要因素,需要在软件设计和开发中进行全面考虑和调整,以优化软件质量,提高软件系统的可维护性和可重用性。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件