软件工程中内聚的分类
Posted JerryWangSAP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程中内聚的分类相关的知识,希望对你有一定的参考价值。
在软件工程中,内聚是用来衡量模块内部功能联系紧密程度的概念。有不同的内聚类型,其中包括偶然内聚、逻辑内聚、过程内聚和通信内聚。下面是对每种内聚类型的简单说明和举例:
- 偶然内聚(Coincidental Cohesion):偶然内聚指的是模块内的元素之间没有明确的功能联系,它们仅仅是因为某种偶然的原因而被组合在一起。这种内聚类型是最低级别的内聚,通常会导致代码难以维护和理解。
举例:一个模块中包含了各种无关的函数,这些函数之间没有共享的数据或交互行为,它们只是被放在同一个模块中。
- 逻辑内聚(Logical Cohesion):逻辑内聚指的是模块内的元素按照某种逻辑关系相关联,共同实现一个或多个功能。这种内聚类型是较高级别的内聚,模块内的元素在逻辑上相互关联,共同解决某个问题。
举例:一个处理订单的模块,包含了创建订单、查询订单、修改订单等函数,它们在逻辑上都与订单处理相关。
- 过程内聚(Procedural Cohesion):过程内聚指的是模块内的元素按照某种执行顺序相关联,共同完成一项任务或处理一种情况。这种内聚类型要求模块内的元素按照特定的过程顺序执行。
举例:一个排序模块,包含了选择排序、冒泡排序、插入排序等函数,它们按照不同的排序算法的过程顺序执行。
- 通信内聚(Communicational Cohesion):通信内聚指的是模块内的元素通过共享数据进行交流和协作,彼此依赖于共享的数据或信息。这种内聚类型要求模块内的元素在完成任务时通过通信实现协作。
举例:一个用户管理模块,包含了添加用户、删除用户、更新用户信息等函数,它们通过共享的用户数据进行交流和协作。
需要注意的是,内聚类型并不是绝对的,一个模块可能同时具有多种内聚类型的特点,但通常会有一种主导。理想情况下,我们希望模块具有高内聚和低耦合,即模块内元素之间的功能联系紧密,同时与其他模块之间的依赖关系较弱。这有助
于提高代码的可维护性、重用性和扩展性。
软件开发中模块的内聚
软件开发中模块的内聚也分多种。
功能内聚:完成一个单一的功能,各个部分协同合作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚:所包含的任务必须在同一时间间隔内执行(如初始化模块)
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散关系的任务。
以上是关于软件工程中内聚的分类的主要内容,如果未能解决你的问题,请参考以下文章