Importancia de la cohesión y acoplamiento en software de diseño

Escrito por fraser sherman Google | Traducido por daniela laura arjones
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Importancia de la cohesión y acoplamiento en software de diseño
Importancia de la cohesión y acoplamiento en software de diseño. (Jupiterimages/Photos.com/Getty Images)

Tanto cohesión como acoplamiento miden la relación entre los elementos de los programas informáticos. La cohesión mide cómo los componentes de un módulo de software o una clase de objetos de software se relacionan entre sí. El acoplamiento mide la relación entre clases y módulos separados. Una buena programación aumenta la cohesión y disminuye la cantidad de acoplamiento.

Otras personas están leyendo

Cohesión

Una clase o módulo tiene alta cohesión si todas las responsabilidades, datos y métodos que incluye están estrechamente relacionados. Si un módulo de proyectos de programación incluye sólo los métodos o funciones relacionadas con la programación, es muy cohesivo; si también incluye organigramas y una base de clientes, es menos cohesivo. Para medir la cohesión, calcula el número de campos compartidos que los métodos -subrutinas- en una clase tienen que acceder y compáralo con el número de campos no relacionados que utilizan. Cuanto mayor es el número de campos comunes, mayor es la cohesión.

Relevancia

Si un módulo tiene que manejar múltiples operaciones -seguridad, infraestructura, reglas de red- se vuelve más difícil de trabajar que si todo en el módulo se centra en un solo propósito. Con un modelo de baja cohesión, puede que tengas que hacer varios cambios inconexos, ya que cada parte tiene una solución o parche diferente. Por el contrario, si las funciones relacionadas están divididas en varios archivos en lugar de un solo archivo de cohesión, puede que tengas que hacer cambios idénticos repetidos a cada archivo en lugar de una única solución en un solo archivo.

Acoplamiento

Cuando el diseño de tu software utiliza estrecho acoplamiento entre las clases o subsistemas, eso significa que están interconectados: Sistema A no puede llevar a cabo su trabajo sin conocer los detalles acerca de lo que está haciendo Sistema B, y un cambio a B significa que A también tiene que cambiar. Con acoplamiento débil, puedes cambiar el Sistema A con más facilidad. También es más difícil de estudiar el código para A si no puedes entender sin analizar el código para B y su relación.

Eficiencia

El bajo acoplamiento hace que la codificación sea más eficiente porque se puede reutilizar más código: Si Sistema A y Sistema B no son interdependientes, puedes copiar el código de uno de ellos en otro programa sin dificultad. El software que incluye codificación duplicada para funciones duplicadas es otro signo de ineficiencia. A menudo es mejor si vuelves a escribir el programa para eliminar funciones duplicadas, entonces asigna la función a su propio módulo de cohesión. Cuanto más bajo sea el nivel de acoplamiento, más fáciles se vuelven los cambios profundos.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles