软考
APP下载

内聚性有哪些

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

角度一:信息内聚性

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

角度二:功能内聚性

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

角度三:过程内聚性

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

角度四:通讯内聚性

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

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

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库