Se define como la medida de fuerza o relación funcional existente entre las sentencias o grupos de sentencias de un mismo módulo . Un módulo cohesionado ejecutará una única tarea sencilla interactuando muy poco o nada con el resto de módulos del programa . Se persigue que los módulos tengan una alta cohesión , existen 7 tipos de cohesión :
� Cohesión funcional : Los elementos del módulo están relacionados en el desarrollo de una única función .
�
Cohesión secuencial : Un módulo realiza distintas tareas en secuencia , de forma que las entradas de cada tarea son las salidas de la tarea anterior . No es una mala cohesión si las tareas implicadas no son muy complejas y requieren pocas líneas de código .
� Cohesión comunicacional : El módulo realiza actividades paralelas usando los mismos datos de entrada y salida . Como en el caso anterior , tampoco se trata de un mal tipo de cohesión si las tareas son relativamente sencillas .
�
Cohesión procedimental : El módulo tiene una serie de funciones relacionadas por un procedimiento efectuado por el código . Es similar a la secuencial , pero puede incluir el paso de controles . Será deseable que las funciones estén relacionadas o realicen tareas dentro del mismo ámbito .
� Cohesión temporal : Los elementos del módulo están implicados en actividades relacionadas con el tiempo .
�
Cohesión lógica : Las actividades que realiza el módulo tienen la misma categoría . Esto es , es como si se tuvieran partes independientes dentro del mismo módulo .