Os significados literários de "coesão" são consistência e organização de diferentes unidades. Em ciência da computação e engenharia de software, coesão refere-se ao nível de força e unidade com que diferentes componentes de um programa de software estão inter-relacionados. É norma na engenharia de software que os programas sejam desenvolvidos através de funções ou módulos inter-relacionados, cada um com tarefas separadas. A coesão de um software determina a robustez do seu código-fonte, podendo ser compreendida através dos seus princípios associativos, tipos e métodos de cálculo.
O conceito de coesão foi introduzido para captar as características de "qualidade", "concisão" e "eficácia" de um programa no domínio da engenharia de software. Facilita determinar o quão estreitamente ligado está cada módulo, indicando quão rapidamente pode executar as tarefas atribuídas. O aumento da coesão obtém-se através de operações muito idênticas realizadas pelos diferentes módulos, sendo inversamente proporcional ao número diminuído de módulos. Isso significa que um programa projetado para executar múltiplas tarefas através de múltiplos módulos tem maior probabilidade de ter menor coesão, o que afeta negativamente o seu desempenho e eficácia.
Os princípios associativos da coesão de software referem-se aos tipos de relação entre um módulo de software e as ações (operações) correspondentes. Estes princípios constituem coletivamente a coesão de qualquer programa e variam consoante os requisitos operacionais. Existem sete princípios associativos formalizados para sete tipos de coesão: coincidencial, lógica, temporal, processual, comunicacional, sequencial e funcional. Cada tipo tem um princípio associativo único que define as suas propriedades de ação para qualquer módulo.
Existem propriedades pré-definidas associadas à coesão em engenharia de software. Por exemplo, se um software é constituído por três módulos semelhantes em termos de ações, a coesão global aumenta. Se os módulos têm ações totalmente diferentes, a coesão diminui. Além disso, a coesão também depende dos tipos de dados processados, sendo inversamente proporcional ao aumento do número de tipos de dados.
A coesão de um programa pode ser analisada através de métodos quantitativos e qualitativos. Na medição qualitativa, o código textual é analisado através de amostras, avaliando-as segundo os padrões de codificação da linguagem. Em contraste, a avaliação quantitativa identifica o número de módulos e avalia as suas ações segundo escalas pré-definidas.
Tecnologia Eletrônica © [www.351231.com]