?
Acoplamiento Común.- Dos módulos acceden a un mismo recurso común,
típicamente memoria compartida, una variable global o un fichero. Una variante de
este tipo de acoplamiento es el acoplamiento externo:
o
Acoplamiento externo.- Los módulos están ligados a componentes
externos. Por ejemplo, dispositivos de E/S, protocolos de comunicaciones...
etc.
?
Acoplamiento de contenido.- Ocurre cuando un módulo necesita acceder a una
parte de otro módulo.
Cohesión
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.
En el diseño estructurado podemos encontrarnos con los siguientes 7 tipos de cohesión (de
la mejor o más deseable a la menos recomendable):
?
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 (a modo de biblioteca). 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 (p.e. la biblioteca
string.h de C contienen funciones para operar con cadenas de caracteres).