SóProvas


ID
783379
Banca
CESGRANRIO
Órgão
BNDES
Ano
2011
Provas
Disciplina
Engenharia de Software
Assuntos

O acoplamento de conteúdo acontece quando, entre dois módulos, um referencia o interior do outro. Esses dois módulos podem estar acoplados por mais de uma forma.

Desse modo, o acoplamento desses módulos será definido pela(o)

Alternativas
Comentários
  • Acoplamento: Acoplamento é quanto um elemento (classe, método, função, módulo, componente... basicamente qualquer coisa) depende e conhece do outro. Um exemplo seria: o nível de interligação entre duas classes(no caso de java), ou seja, o quanto uma classe conhece da outra. Elementos muito acoplados geralmente são muito dependentes, mudou um e você com certeza vai ter que mudar o outro. O acoplamento é proporcionalmente ligado a dor decabeça que vc terá caso mude a implementação de uma classe.
    Coesão: é o quanto as tarefas que um elemento realiza estão relacionadas com um mesmo conceito. Baixa coesão teria uma classe que, por exemplo, imprime um documento e exibe um formulário para o usuário, neste caso provavelmente você deveria dividir esta classe em mais de uma. Representa o quão uma classe é específica para desempenhar um papel em um contexto.
    A idéia eh sempre ter o máximo de coesão e o mínimo de acoplamento. Lembrando sempre que não ter acoplamento é impossível, pois a classe precisam de alguma forma se comunicarem.
  • Grau de interdependência entre dois módulos (Melhor para o pior): 
    1 - Acoplamento de dados: troca de parâmetros (o melhor): quando módulos ou classes compartilham dados via parâmetros. Cada parâmetro é uma parte elementar, send esta o unico dado compartilhado entre módulos ou classes (Ex. passando um inteiro para uma função que calcula aus raiz quadrada
    2 - Acoplamento de imagem (estrutura de dados comum utilizada parcialmente em vários módulos)
    3 - Acoplamento de controle - exemplo: flags indicando o que um módulo deve fazer (intermediário),  quando um módulo ou classe controla a lógica de outro, passando informações de que operações executar. 
    4 - Acoplamento comum (módulos acessam área de dados comum):  quando dois módulos ou classes compartilham os meswmos dados globais (Ex. uma variável global). Mudanças nos recursos compiartilhados implicará mudanças em todos os módulos que os utilizam.
    5 - Acoplamento de conteúdo: se um módulo faz referência ao interior do outro (o pior): Quando um módulo ou classe altera ou depende de uma funcionalidade interna de outro módulo (Ex. acessando dados locais de um módulo). Uma alteração no modulo de serviço acarretará alterações no módulo dependente.
    Coesão, intensidade da associação entre 2 módulos (Melhor para o pior):
    1 - Funcional (caixa preta, a melhor) – uma e somente uma função identificável.
    2 - Seqüencial (várias atividades – que precisam ser - executadas em seqüência, e os dados fluem de uma atividade para outra)
    3 - Comunicacional (atividades usam a mesma entrada e a mesma saída)
    4 - Procedural (atividades diferentes, com controle – e não dados - fluindo de uma para outra)
    5 - Temporal (várias funções executadas no mesmo tempo. Ex: inicialização)
    6 - Lógica (várias funções semelhantes porém independentes) 
    7 - Coincidental (a pior) 
     
  • Na verdade, a questão não testa conhecimento sobre os tipos de acoplamento.
    A questão pergunta o que acontece se dois módulos estiverem acoplados por mais de uma forma.

    Por exemplo: se dois módulos estiverem acoplados pelas formas A e B, qual será o acoplamento apresentado entre eles?
    Resposta: o pior. Ou seja, se A for pior que B, não precisa dizer que eles possuem os acoplamentos A e B. Basta dizer que possui A (o pior prevalece).
  • O acoplamento de conteúdo ocorre quando um componente modifica de forma "subreptícia" os dados internos de um outro componente. Esse tipo de acoplamento viola o acoplamento.