Está en la página 1de 4

Materia: Sistemas de informacin II UNIDAD 1 Tarea: # 1 Tipos de Acoplamiento y Cohesin.

Tipos de Acoplamientos y Cohesin.

Nombre: LPEZ ESPARZA CHRISTIAN ALEJANDRO

Acoplamiento
1) Unidades completamente desacopladas
Dos unidades estn completamente desacopladas cuando hacen su trabajo de manera totalmente independiente. Esto nos permitira agarrar una de ellas y utilizarla tal cual en un programa sin necesidad de llevarnos la otra. Ejemplo

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; }

2) Acoplamiento normal
El acoplamiento ms comn que existe es aquel en el que una unidad de software necesita del trabajo que hace la otra. Probablemente se llama normal, porque si descomponemos la solucin de un problema en varias partes, sta es la forma ms natural y frecuente (normal), de recomponer la solucin. Ejemplo:

1 2 3 4 5 6 7 8 9 10

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

3) Acoplamiento de datos.
Una unidad de software est acoplada a otra por los datos cuando ambas necesitan del mismo conjunto local de datos para funcionar. Ejemplo, estos dos mtodos de la misma clase:

1 2 3 4 5 6 7 8 9 10 11 12 13 14

class Ejemplo { int compartido=0; void metodo1(int a, int b) { compartido = a * b; } void metodo2(int a, int b) { compartido = a + b; } }

. 4) 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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2

static int metodo1(int a, int b) { bool c=a > 5; return metodo2(a, b, c); } static int metodo2(int a, int b, c) { int resultado; if (c) resultado= a * b; else resultado= a + b; return resultado }

5) Acoplamientos no deseados
Los comentados hasta ahora son acoplamientos que se producen habitualmente. Simplemente, debemos tener en cuenta a la hora de disear o programar que mejor cuanto menos acoplamiento.

6) Acoplamiento global.
Decimos que dos unidades estn globalmente acopladas cuando se pasan datos entre s a travs de una estructura. En este caso, se habla de utilizar una estructura global para pasarse datos, sin que esta estructura tenga otra finalidad. Ejemplo:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

int a,b; int resultado; static void metodo1() { a = 5; b = 9; multiplicar(); Console.Out.WriteLine(resultado); } static int multiplicar() { resultado = a * b; }

)7) Acoplamiento por contenido.


Se dice que una unidad est acoplada a otra por contenido cuando para programar la primera es necesario conocer cualquier detalle del interior de la segunda. Es decir, cuando programamos una unidad que est acoplada a otra, de la segunda slo necesitamos conocer sus puntos de entrada y los resultados que nos va a devolver.

8) DESACOPLAR.
Por ltimo, comentar que cuando revisamos una unidad de sofware acoplada a otra y logramos reducir su nivel de acoplamiento, decimos que las estamos desacoplando, es decir, reduciendo su dependencia.

Cohesin
1) Cohesin funcional.
Se produce cuando agrupamos unidades de software teniendo en cuenta que todas ellas contribuyen a realizar un mismo fin. Es decir, cuando todas las unidades agrupadas, trabajando juntas consiguen un objetivo. En general, es el criterio de agrupacin ms deseable.

2) 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.

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

4) Cohesin lgica.
Cuando todas las unidades agrupadas realizan trabajo en una misma categora lgica, pero no necesariamente tienen relacin unas con otras. Ejemplo, libreras de funciones matemticas..se agrupan porque realizan clculos matemticos, pero no es necesario la relacin unos con otros.

5) Cohesin temporal.
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.

6) Cohesin casual.
Pues cualquier criterio que no caiga dentro de los anteriores se considera ya puramente casual. Mejor evitarla, si se puede... ms vale tener un criterio, aunque no estemos seguros de que es bueno, que no tener ningn criterio.