You are on page 1of 18

Acoplamiento y cohesin

Haga clic para modificar el estilo de subttulo del patrn

5/22/12

Definicin de acoplamiento

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

5/22/12

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.

5/22/12

Que podemos acoplar


Funciones

Clase s

Mtodos Librer as
5/22/12

Desacoplamiento

1 2 3 4 5st i i m et at c nt odo1( nt a,i b) i nt 6 7 8 9 { ret urn a * b; } st i i at c nt m et odo2( nt a,i b) i nt { ret urn a + b; }

5/22/12

static int m et odo1(int a, int b) { int c = m et odo2(a, b); ; return 2 * c; } static int m et odo2(int a, int b) { return a + b; }

Acoplamiento normal

El mtodo uno esta acoplado con el mtodo 2


5/22/12

Acoplamiento de datos

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

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.

5/22/12

Ejemplo acoplamiento de control

5/22/12

Mediante un acoplamiento normal

5/22/12

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 5/22/12 una librera, etc...

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

5/22/12

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.

5/22/12

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

5/22/12

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.
5/22/12

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.
5/22/12

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

5/22/12

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

5/22/12

You might also like