Вы находитесь на странице: 1из 18

Acoplamiento y cohesin

Definicin de acoplamiento
La medida de la fuerza de la asociacin establecida por una conexin entre un mdulo y otro Myers y Constantine

El acoplamiento fuerte complica un sistema porqu los mdulos son ms difciles de comprender, cambiar o corregir por s mismos si estn muy interrelacionados con otros mdulos.

Que podemos acoplar


Funciones

Clase s

Mtodos

Librera s

Desacoplamiento

1 2 3 4 5 6 7 8 9

static int metodo1(int a, int b) { return a*b; } static int metodo2(int a, int b) { return a + b; }

static int metodo1(int a, int b)

int c = metodo2(a, b); ;

return 2 * c;

static int metodo2(int a, int b)

Acoplamiento normal

El mtodo uno esta acoplado con el mtodo 2

Acoplamiento de datos

Metodo1 y metodo2 estn acoplados por los datos, ya que ambos comparten el mismo dato local para trabajar

Acoplamiento de control
Decimos que un mtodo est acoplado a otro por control cuando de alguna manera un mtodo controla la ejecucin del otro. En general, suele ocurrir cuando un mtodo pasa algn parmetro a otro, y en funcin de l se comporta de una u otra manera.

Ejemplo acoplamiento de control

Mediante un acoplamiento normal

Cohesin
Mide el grado de conectividad entre los elementos de un solo mdulo

La cohesin tiene que ver con la forma en la que agrupamos unidades de software en una unidad mayor. Por ejemplo, la forma en la que agrupamos funciones en una librera, o la forma en la que agrupamos mtodos en una clase, o la forma en la que agrupamos clases en una librera, etc...

Tipos de cohesin
Cohesin funcional.
Los elementos de un mdulo trabajan todos juntos para proporcionar algn comportamiento bien delimitado.

Cohesin secuencial
Cuando agrupamos unidades que cumplen que los resultados que produce una son los que utiliza otra para continuar trabajando. Es decir, los datos de salida de una sirven de entrada para otras. Es una forma de agrupar muy relacionada con el problema que se est tratando de resolver.

Cohesin de datos
Cuando todas las unidades agrupadas trabajan sobre el mismo conjunto de datos

Cohesin lgica
Cuando todas las unidades agrupadas realizan trabajo en una misma categora lgica, pero no necesariamente tienen relacin unas con otras. Por ejemplo, libreras de funciones matemticas... se agrupan simplemente porque realizan clculos matemticos, pero no necesariamente tienen relacin unos con otros.

Cohesin temporal
Este criterio empieza a ser algo peor. Significa que agrupamos una serie de unidades simplemente porque tienen que ejecutarse ms o menos en el mismo periodo de tiempo, pero sin que tengan una relacin mayor entre ellas... es decir, sin que contribuyan al mismo fin (funcional), sin que se pasen datos en secuencia (secuencial) y sin que ni tan siquiera trabajen sobre los mismos datos (de datos) ni caen dentro de una misma categora (lgica). Simplemente, tienen que ejecutarse cerca unas de otras.

Cohesin casual
Ocurre cuando existe poca o ninguna relacin entre los elementos de un mdulo.

Actividad.
Realiza un mapa conceptual de la informacin que se encuentra en la siguiente pagina

http://msdn.microsoft.com/eses/magazine/cc947917.aspx
Los patrones en la practica

Вам также может понравиться