fbpx
Wikipedia

Cohesión (informática)

En la programación de la computadora, la cohesión se refiere al grado en que los elementos de un módulo permanecen juntos.[1]​ Por lo tanto, la cohesión mide la fuerza de la relación entre las piezas de funcionalidad dentro de un módulo dado. Por ejemplo, en sistemas altamente cohesivos, los elementos funcionales que integran el módulo en cuestión están muy relacionados.

Concepto

La cohesión es un tipo de medición ordinal y se describe generalmente como "cohesión alta" o "cohesión baja". Se prefieren los módulos con una alta cohesión debido a varios rasgos deseables del software con los que se relaciona como la robustez, la fiabilidad, la reutilización y el grado de comprensión. Por otro lado, la baja cohesión se asocia con rasgos indeseables, tales como ser difícil de mantener, probar, volver a utilizar o incluso entender.

La cohesión es a menudo comparada con acoplamiento, un concepto diferente. Una alta cohesión a menudo se relaciona con acoplamiento flexible, y viceversa.[cita requerida] Las métricas de software de acoplamiento y cohesión fueron inventadas por Larry Constantine a finales de la década de 1960, como parte del Diseño Estructurado, basado en las características de las "buenas" prácticas de programación que reducen los costos de mantenimiento y modificación. Diseño estructurado, cohesión y acoplamiento fueron publicados en el artículo Stevens, Myers & Constantine (1974) y el libro Yourdon & Constantine (1979); los dos últimos posteriormente se convirtieron en términos estándar en la ingeniería de software.

Tipos de Cohesión

La cohesión en un sistema de información puede ser de los siguientes tipos:

  • Cohesión casual
  • Cohesión lógica
  • Cohesión temporal
  • Cohesión procedural
  • Cohesión de comunicaciones
  • Cohesión secuencial
  • Cohesión funcional

En la programación orientada a objetos, si los métodos que sirven a una clase tienden a ser similares en muchos aspectos, entonces se dice que la clase tiene una alta cohesión. En un sistema altamente cohesivo, la legibilidad y reusabilidad del código es mayor, mientras que la complejidad se mantiene manejable.

La cohesión es mayor si:

  • Las funcionalidades embebidas en una clase, accedidas a través de sus métodos, tienen mucho en común.
  • Los métodos realizan un pequeño número de actividades relacionadas, para evitar los trozos grandes de grano o no relacionados con los conjuntos de datos.

Ventajas

Ventajas de la cohesión alta o "fuerte" son:

  • Reducción de módulo de complejidad (que son más simples, tener un menor número de operaciones).
  • Aumento del sistema de mantenimiento, debido a los cambios lógicos en el dominio de afectar a un menor número de módulos, y debido a los cambios en un módulo requieren menos cambios en otros módulos.
  • Aumento de la reutilización de módulos, debido a que los desarrolladores de aplicaciones se encuentra el componente que necesitan más fácilmente entre el conjunto coherente de operaciones proporcionadas por el módulo.

Aunque, en principio, un módulo puede tener una cohesión perfecta por estar constituido solo por un elemento atómico -teniendo una sola función, por ejemplo – en la práctica las tareas complejas no se pueden expresar por un solo, simple elemento. Por lo tanto un elemento de un único módulo tiene un elemento que es demasiado complicado, con el fin de realizar la tarea, o es demasiado estrecho, y por lo tanto esta muy unido a otros módulos. Así que la cohesión es equilibrada con la complejidad de la unidad y el acoplamiento.

  •   Datos: Q1353987
  1. Yourdon y Constantine, 1979.

cohesión, informática, programación, computadora, cohesión, refiere, grado, elementos, módulo, permanecen, juntos, tanto, cohesión, mide, fuerza, relación, entre, piezas, funcionalidad, dentro, módulo, dado, ejemplo, sistemas, altamente, cohesivos, elementos, . En la programacion de la computadora la cohesion se refiere al grado en que los elementos de un modulo permanecen juntos 1 Por lo tanto la cohesion mide la fuerza de la relacion entre las piezas de funcionalidad dentro de un modulo dado Por ejemplo en sistemas altamente cohesivos los elementos funcionales que integran el modulo en cuestion estan muy relacionados Concepto EditarLa cohesion es un tipo de medicion ordinal y se describe generalmente como cohesion alta o cohesion baja Se prefieren los modulos con una alta cohesion debido a varios rasgos deseables del software con los que se relaciona como la robustez la fiabilidad la reutilizacion y el grado de comprension Por otro lado la baja cohesion se asocia con rasgos indeseables tales como ser dificil de mantener probar volver a utilizar o incluso entender La cohesion es a menudo comparada con acoplamiento un concepto diferente Una alta cohesion a menudo se relaciona con acoplamiento flexible y viceversa cita requerida Las metricas de software de acoplamiento y cohesion fueron inventadas por Larry Constantine a finales de la decada de 1960 como parte del Diseno Estructurado basado en las caracteristicas de las buenas practicas de programacion que reducen los costos de mantenimiento y modificacion Diseno estructurado cohesion y acoplamiento fueron publicados en el articulo Stevens Myers amp Constantine 1974 y el libro Yourdon amp Constantine 1979 los dos ultimos posteriormente se convirtieron en terminos estandar en la ingenieria de software Tipos de Cohesion EditarLa cohesion en un sistema de informacion puede ser de los siguientes tipos Cohesion casual Cohesion logica Cohesion temporal Cohesion procedural Cohesion de comunicaciones Cohesion secuencial Cohesion funcionalEn la programacion orientada a objetos si los metodos que sirven a una clase tienden a ser similares en muchos aspectos entonces se dice que la clase tiene una alta cohesion En un sistema altamente cohesivo la legibilidad y reusabilidad del codigo es mayor mientras que la complejidad se mantiene manejable La cohesion es mayor si Las funcionalidades embebidas en una clase accedidas a traves de sus metodos tienen mucho en comun Los metodos realizan un pequeno numero de actividades relacionadas para evitar los trozos grandes de grano o no relacionados con los conjuntos de datos Ventajas EditarVentajas de la cohesion alta o fuerte son Reduccion de modulo de complejidad que son mas simples tener un menor numero de operaciones Aumento del sistema de mantenimiento debido a los cambios logicos en el dominio de afectar a un menor numero de modulos y debido a los cambios en un modulo requieren menos cambios en otros modulos Aumento de la reutilizacion de modulos debido a que los desarrolladores de aplicaciones se encuentra el componente que necesitan mas facilmente entre el conjunto coherente de operaciones proporcionadas por el modulo Aunque en principio un modulo puede tener una cohesion perfecta por estar constituido solo por un elemento atomico teniendo una sola funcion por ejemplo en la practica las tareas complejas no se pueden expresar por un solo simple elemento Por lo tanto un elemento de un unico modulo tiene un elemento que es demasiado complicado con el fin de realizar la tarea o es demasiado estrecho y por lo tanto esta muy unido a otros modulos Asi que la cohesion es equilibrada con la complejidad de la unidad y el acoplamiento Datos Q1353987 Yourdon y Constantine 1979 Obtenido de https es wikipedia org w index php title Cohesion informatica amp oldid 128153473, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos