Acoplamento e Coesão
Acoplamento e Coesão em Engenharia de Software
1. Coesão
Definição: Mede o grau de relacionamento entre as funcionalidades de um módulo (classe, função, componente). Quanto maior a coesão, mais focado e bem definido é o módulo.
Tipos (do pior para o melhor):
- Coesão Acidental: Elementos sem relação lógica.
- Coesão Lógica: Agrupados por categoria (ex.: funções de "log").
- Coesão Temporal: Executados no mesmo período (ex.: "inicializar()").
- Coesão Procedimental: Sequência de passos relacionados.
- Coesão Comunicacional: Operam sobre os mesmos dados.
- Coesão Funcional: Todas as partes contribuem para uma única tarefa (ideal).
2. Acoplamento
Definição: Mede a dependência entre módulos. Quanto menor o acoplamento, mais independente e modular é o sistema.
Tipos (do pior para o melhor):
- Acoplamento Conteúdo: Um módulo acessa dados internos de outro (ruim).
- Acoplamento Comum: Compartilhamento de variáveis globais.
- Acoplamento Controle: Um módulo controla a lógica de outro.
- Acoplamento Estampo: Passagem de estruturas de dados complexas.
- Acoplamento Dados: Comunicação via parâmetros simples (ideal).
3. Relação para Concursos
Princípios:
- Alta coesão e baixo acoplamento são metas de design.
- Reduzem complexidade, facilitam manutenção e reúso.
Dicas: Questões frequentemente abordam identificação de tipos ou comparação entre conceitos.