A semana passada, descobri que alguns alunos falharam ao explicar o que seria acoplamento e coesão. Pensando sobre o assunto, cheguei a conclusão que, em minha nota sobre o tema modularidade, havia a necessidade de uma melhor explicação sobre esses conceitos
Vou tentar.
Acoplamento é uma medida “inter” componentes. Isto é, é uma medida entre componentes de um conjunto. No caso de um sistema é uma medida do relacionamento entre sub-sistemas. No caso de um programa composto de funções, é uma medida do relacionamento entre funções. Os dois espectros dessa medida: são alto acoplamento e baixo acoplamento. Componentes que têm baixo ou fraco acoplamento são considerados mais independentes um do outro. O inverso vale para alto ou forte acoplamento.
Coesão é uma medida “intra” componentes. Isto é, procura medir um componente individualmente. No caso de um sistema, mede-se a coesão de cada sub-sistema. No caso de um programa organizado por funções, mede-se a coesão de cada função. A coesão pode ser alta ou baixa. Obter coesão alta é imprescindível em todo sistema bem organizado. Entende-se coesão alta, quando os integrantes de um componente estão relacionados a um tema comum, isto é tem o mesmo objetivo, fazem uma única coisa. A coesão alta é também conhecida como coesão funcional. Um bom indicativo de componentes com baixa coesão é o título ou nome do componente: todo componente que utiliza-se do conector e ou do conector ou é um forte candidato para ser classificado como tendo baixa coesão. Veja que o título dessa nota (propositalmente) apresenta uma baixa coesão.
——–
Leia sobre Sistemas de Informação.
Veja a página do autor.