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

内聚性有哪些

希赛网 2024-03-22 13:54:04

内聚性是指在软件工程中模块或类的各个元素之间相互影响的程度。高内聚性的模块或类内部各个元素之间联系紧密,可以有效减少模块之间的耦合,增加程序的可维护性和可拓展性。在本文中,我们将从多个角度分析内聚性有哪些。

角度一:信息内聚性

信息内聚性是指模块或类内的数据成员之间的相关性。例如,一个只保存身高的Person类,比一个同时保存了身高、体重、名字、年龄的Person类内聚性更高。在前者中,数据成员的信息内聚性高,而在后者中,数据成员的信息内聚性低。

角度二:功能内聚性

功能内聚性是指模块或类内的方法之间的相关性。例如,一个只实现了排序功能的Sort类,比一个同时实现了排序、查找、筛选等多个功能的类内聚性更高。在前者中,方法之间的功能内聚性高,而在后者中,方法之间的功能内聚性低。

角度三:过程内聚性

过程内聚性是指模块或类内的方法之间的执行顺序相关性。例如,一个按顺序执行A、B、C三个方法的类,比一个执行A、C、B或B、A、C等方法的类内聚性更高。在前者中,方法之间的过程内聚性高,而在后者中,方法之间的过程内聚性低。

角度四:通讯内聚性

通讯内聚性是指模块或类内的方法之间的参数和返回值相关性。例如,一个类中的多个方法都需要使用同一个变量,或多个方法返回值要经过计算才能得到最终结果,此时这些方法之间的通讯内聚性就比较高。

总体来说,高内聚性的模块或类在软件工程中有着重要的作用。它可以减少程序中模块之间的耦合性,增加程序的可维护性和可拓展性。通过保证模块或类内部元素之间的相关性,可以有效地避免出现由于模块之间的耦合而带来的某些问题。

扫码咨询 领取资料


软考.png


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

软考资格查询系统

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