¿Qué es la cohesión en la ingeniería de software?
Los significados literarios de la palabra "cohesión" son consistencia y organización de diferentes unidades. En informática e ingeniería de software, la cohesión se refiere al nivel de fuerza y unidad con el que los diferentes componentes de un programa de software están interrelacionados entre sí. Ha seguido siendo una norma en ingeniería de software que los programas de software se desarrollen a través de diferentes funciones (o módulos) interrelacionados, y cada uno de estos módulos tiene tareas separadas asociadas con ellos. La cohesión de cualquier software determina la solidez de su código fuente y se puede comprender mejor mediante la exploración de sus principios asociativos, tipos y métodos de cálculo.
Fundamentos
El concepto de cohesión se introduce para capturar las características de 'calidad', 'concisión' y 'eficacia' de un programa en el dominio de la ingeniería de software. Este concepto facilita determinar qué tan estrechamente vinculado está cada módulo del programa de software, lo que indica qué tan rápido puede realizar las diferentes tareas que se le asignan. La mayor cohesión de un programa de software se obtiene a través de operaciones muy idénticas realizadas por sus diferentes módulos, y es inversamente proporcional a la disminución del número de módulos. Esto significa que un programa de software diseñado para realizar múltiples tareas a través de múltiples módulos tiene una mayor probabilidad de tener una menor cohesión, lo que afecta negativamente su rendimiento general y su eficacia en las máquinas informáticas.
Principios Asociativos
Los principios asociativos de la cohesión del software se refieren a los tipos de relación entre un módulo de software y las acciones (operaciones) correspondientes. Estos principios constituyen colectivamente la cohesión de cualquier programa de software y varían según sus diferentes requisitos operativos. Hay siete principios asociativos formalizados para siete tipos de cohesión de software, que incluyen cohesión coincidente, lógica, temporal, de procedimiento, comunicacional, secuencial y funcional. Cada uno de estos tipos de cohesión tiene un principio asociativo único asociado, que define sus propiedades de acción para cualquier módulo de software.
Propiedades
Hay ciertas propiedades predefinidas asociadas con la cohesión en la ingeniería de software. Por ejemplo, si cualquier software está constituido por tres módulos diferentes y todos ellos son similares entre sí en términos de acciones, la cohesión general del programa de software aumenta. De manera similar, la cohesión disminuye si estos módulos tienen acciones completamente diferentes y únicas asociadas con ellos. Además, la cohesión de los programas de software también depende de los tipos de datos que procesa y es inversamente proporcional al aumento del número de tipos de datos.
Análisis
La cohesión de un programa de software se puede analizar mediante métodos tanto cuantitativos como cualitativos. En el proceso de medición cualitativa, el código textual del programa de software se analiza tomando sus diferentes muestras y evaluándolas de acuerdo con los estándares de codificación del respectivo lenguaje de programación. Por el contrario, la evaluación cuantitativa de la cohesión identifica el número de módulos constituidos dentro de un programa de software y evalúa sus acciones de acuerdo con escalas predefinidas.