内聚表示模块内部代码成分之间联系的紧密程度,是从功能角度来度量模块内的联系。一个好的内聚模块应当恰好做目标单一的一件事情。根据内聚度从高到低的排序,可列出下列7中内聚类型。
- 功能内聚:完成一个单一的功能,各个部分协同工作,缺一不可。
- 顺序内聚:处理元素相关,而且必须顺序执行。
- 通信内聚:所有处理元素集中在一个数据结构的区域上。
- 过程内聚:处理元素相关,而且必须按特定的次序执行。
- 时间内聚:所包含的任务必须在同一时间间隔内执行。
- 逻辑内聚:完成逻辑上相关的一组任务。
- 偶然内聚:完成一组没有关系或松散关系的任务。
一般来说,系统中各模块的内聚越高,则模块间的耦合就越低;内聚高使得模块的可理解性和维护性大大增强。因此,在模块的分解中应尽量减少模块的耦合,力求增加模块的内聚,遵循“高内聚,低耦合”的设计原则。