B)
Acoplamiento
El término acoplamiento hace referencia al grado y forma de dependencia entre los
módulos.
A menor cantidad de información compartida entre diferentes módulos, menor
acoplamiento
y por tanto mejor será el diseño.
Existen varios tipos de acoplamiento que son descritos a continuación:
CAPITULO 1
PROGRAMACIÓN
1.
CAPÍTULO 1
Acoplamiento normal: se da en aquellos casos en los que un módulo A invoca a otro
mó-
dulo B. Por ejemplo:
El módulo A invoca al módulo B, el cual, tras realizar su función, retorna
el control al módulo A.
Figura 1.10
Acoplamiento normal.
De intercambiarse información, esta únicamente estará presente en los parámetros
de llamada. En ese caso, y atendiendo al tipo de la información, se definen tres
subtipos:
a)
Acoplamiento normal por datos: si los parámetros intercambiados son datos
elementales
(tipos básicos). Por ejemplo:
Solicitar dígitos al usuario
1
Calcular suma
Figura 1.11
Acoplamiento
normal por datos.
b)
El módulo "Solicitar dígitos al usuario" pide datos sim-
ples al usuario (números en este caso) y los almacena. Pos-
teriormente invoca al módulo "Calcular suma" pasándole
como parámetros los datos solicitados.
El módulo "Calcular suma" hace la operación indicada
y devuelve el resultado.
Acoplamiento normal por marca o estampado: si los parámetros intercambiados son un
dato compuesto (registro) de datos de tipos básicos. Por ejemplo:
Pedir datos al usuario
1
nsertar datos en B D
Figura 1.12
Acoplamiento normal
por marca o estampado.
e)
El módulo "Pedir datos al usuario" solicita datos simples
al usuario y los almacena en forma de dato compuesto (re-
gistro). Posteriormente invoca al módulo "Insertar datos en
BD" pasándole como parámetro el dato compuesto.
El módulo "Insertar datos en BD" inserta los datos del
registro en la base de datos y retorna el identificador asigna-
do a la inserción realizada.
Acoplamiento normal de control: cuando un módulo le pasa al otro un parámetro con
la intención de controlar su lógica de funcionamiento interna. Por ejemplo:
Mostrar menú acciones
Ejecutar acción
Figura 1.13
Acoplamiento normal
de control.
El módulo "Mostrar menú acciones" presenta las
acciones que se pueden realizar y recoge la que el usua-
rio seleccione. Posteriormente invoca al módulo "Eje-
cutar acción" pasándole como parámetro el identifica-
dor de la acción que el usuario seleccionó previamente.
El módulo "Ejecutar acción" lleva a cabo la acción
correspondiente y, dependiendo de esta, puede que re-
torne algún dato.
INTRODUCCIÓN A LA PROGRAMA CIÓN
2.
3.
4.
Acoplamiento externo: se da cuando dos o más módulos utilizan las mismas fuentes
exter-
nas de datos (interfaces de dispositivos o de programas externos).
Acoplamiento global: presente cuando los módulos utilizan los mismos datos globales
(variables globales, memoria compartida, ficheros o bases de datos).
Acoplamiento patológico o por contenido: un módulo lee o modifica los datos
internos de
otro módulo o bien salta al interior de su código.
En la figura 1.14 se pueden apreciar los diferentes tipos de acoplamiento y cómo
estos
afectan al mantenimiento:
Acoplamiento débil
(favorece el mantenimiento)
t
Acoplamiento fuerte
(dificulta el mantenimiento)
¡
• Acoplamiento normal
o
o
o
Acoplamiento normal por datos
Acoplamiento normal por marca o estampado
Acoplamiento normal de control
• Acoplamiento externo
• Acoplamiento global
• Acoplamiento patológico o por contenido
Figura 1.14
Tipos de acoplamiento.
·
j~_R_E_c_u_ER_D_A_~\ · · ·
✓ La programación modular intenta solventar el crecimiento desmesurado que se
plantea con la programación estructurada mediante la descomposición en mó-
dulos o subprogramas de menor tamaño.
Cuanto mayor sea la relación existente entre los elementos contenidos en
un módulo, mayor será la cohesión y, por tanto, más exitosa la modularización
llevada a cabo.
Existen varios tipos de cohesión. Steven, Myers, Constantine y Yourdon
(1974) establecieron la "escala de cohesión", que identifica qué tipos son los
más deseables así como aquellos que deben evitarse.
Mediante el árbol de cohesión es fácil conocer el tipo de cohesión.
Cuanto menor sea la relación existente entre los elementos de un módulo
con los elementos de otro módulo, menor será el acoplamiento y, por tanto, más
exitosa la modularización realizada.
Existen varios tipos de acoplamiento y los módulos pueden estar relaciona-
dos por varios tipos de ellos, en cuyo caso el acoplamiento que caracterizará la
relación entre estos será la del peor tipo.
Actividad propuesta 1.3
Propón dos ejemplos de cada uno de los tipos de acoplamiento vistos anteriormente.