Questões de Concurso sobre Coesão, Acoplamento e Modularidade

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
52 questões encontradas
Questões por página
20
Mais recentes
 

Em programação estruturada, a medida que o sistema vai tomando proporções maiores, é mais viável que o mesmo comece a ser divido em partes menores, onde é possível simplificar uma parte do código, deixando a compreensão mais clara e simplificada. Essa técnica é conhecida como:


A

Herança.


B

Polimofismo.


C

Modularização.


D

Encapsulamento.

Na arquitetura orientada a serviços (SOA), os serviços devem possuir acoplamento forte, de modo a se obter maior segurança na comunicação entre os serviços, promovendo uma maior dependência entre os recursos externos.


C

Certo


E

Errado

Durante a fase de projeto de software (design), a estrutura do sistema é definida, impactando diretamente na qualidade do software produzido. Nesta fase, a compreensão dos conceitos de abstração, modularidade, acoplamento e coesão são essenciais para a criação de sistemas flexíveis, fáceis de manter e que atendam aos requisitos de forma eficiente. Relacione os conceitos de projeto de software, listados a seguir, às suas respectivas definições.


I. Abstração;

II. Modularidade;

III. Acoplamento;

IV. Coesão.


( ) Grau de interdependência entre os módulos de um sistema.

( ) Grau de interrelação e foco em um objetivo comum entre os elementos de um módulo.

( ) Divisão de um sistema em componentes independentes e interconectados.

( ) Representação simplificada de um sistema que esconde detalhes complexos de sua implementação.


Assinale a opção que indica a relação CORRETA, entre conceitos e definições:


A

III – IV – II – I


B

IV – I – III – II


C

II – III – I – IV


D

I – II – IV – III


E

III – II – IV – I

Considere o seguinte cenário: em um sistema de comércio eletrônico, a arquitetura em camadas foi adotada para separar as responsabilidades entre a camada de apresentação, a camada de lógica de negócios e a camada de acesso a dados. No entanto, ao longo do tempo, foi identificado um problema significativo de acoplamento entre a camada de apresentação e a camada de lógica de negócios. Alterações na interface do usuário exigiram modificações na lógica de negócios, afetando negativamente a manutenção e a escalabilidade do sistema. Sobre o problema de acoplamento descrito no cenário, analise as assertivas e assinale a alternativa correta.


I. O acoplamento forte facilita a manutenção do sistema.

II. O acoplamento entre a camada de apresentação e a camada de lógica de negócios não está sendo impactado.

III. A alteração na camada de apresentação não deveria impactar a camada de lógica de negócios.

IV. A solução para o problema de acoplamento é aumentar ainda mais a dependência entre as camadas.


A

Apenas III está correta.


B

Apenas I e III estão corretas.


C

Apenas II e IV estão corretas.


D

Apenas III e IV estão corretas.

A um profissional de processamento de dados cabe decidir que tipo de lógica deverá ser utilizado para a solução de um determinado problema. Existem vários tipos de lógica. Um tipo comum é a lógica modular, que é definida como:


A

algoritmo específico estruturado


B

solução dos problemas sem dividi-los em segmentos.


C

subdivisão do problema em diversos módulos.


D

resoluções em laços, em esquema de ciclos dentro de ciclos.


E

algoritmo não estruturado.

Ano: 2024
Prova: Objetiva Concursos - Prefeitura - Analista de Sistemas - 2024

Em relação à Engenharia de Software, avaliar se as afirmativas são certas (C) ou erradas (E) e assinalar a sequência correspondente.


( ) Acoplamento é uma medida de quão relacionadas entre si estão as partes de um software.

( ) Coesão refere-se ao grau de dependência entre os módulos ou componentes de um sistema.

( ) Quanto menor o acoplamento, menos difícil será a manutenção de um sistema.

( ) Alta coesão é uma meta importante no desenvolvimento de software, pois, geralmente, está associada a códigos mais fáceis de entender, manter e reutilizar.


A

C - C - E - C.


B

C - E - C - E.


C

E - E - C - C.


D

E - C - C - C.

A programação evoluiu significativamente ao longo dos anos, com diferentes paradigmas surgindo para atender a necessidades específicas no desenvolvimento de software. Um desses paradigmas é amplamente utilizado para modelar sistemas complexos de forma intuitiva, utilizando conceitos como herança, polimorfismo, encapsulamento e abstração. Qual é esse paradigma?


A

Programação estruturada.


B

Programação imperativa.


C

Programação funcional.


D

Programação orientada a objetos.

No ambiente Linux, módulos são partes do kernel que são carregadas somente quando são solicitadas por algum aplicativo ou dispositivo e descarregadas da memória quando não são mais usadas. Assinale a alternativa que se refere ao comando que permite carregar diversos módulos e dependências de uma só vez:


A

depmod.


B

kmod.


C

ismod.


D

modprobe.


E

modconf.

Códigos coesos são aqueles de relação forte, onde seus membros estão intimamente ligados e estão ali por um objetivo comum. A coesão do tipo comunicacional apresenta a seguinte característica:


A

O módulo realiza uma única função bem definida.


B

O módulo realiza mais que uma função que devem ocorrer no mesmo intervalo de tempo.


C

O módulo realiza mais que uma função, de tal forma que elas estão relacionadas a um procedimento geral e seguem uma ordem específica.


D

O módulo realiza funções que manipulam a mesma estrutura de dados.

Na programação orientada a objetos, existem vários conceitos fundamentais que ajudam a criar sistemas mais modularizados, reutilizáveis e manuteníveis. Um desses conceitos é o princípio de esconder os detalhes internos de um objeto e expor apenas o que é necessário, através de uma interface pública. Isso é alcançado com o uso de modificadores de acesso (como privado, protegido e público), permitindo que os dados de um objeto sejam protegidos contra acessos não autorizados e modificações acidentais. Sabendo disso, assinale a alternativa que apresenta, CORRETAMENTE, o nome deste conceito.


A

Polimorfismo.


B

Atributo.


C

Encapsulamento.


D

Método.


E

Classe.

Analisando o projeto de um componente de software, uma equipe de qualidade determinou que ele modificava diretamente os dados internos de outro componente.


Essa forma de acoplamento é conhecida como acoplamento


A

de comunicação


B

de conteúdo


C

de controle


D

externo


E

funcional

Analise as sentenças abaixo, baseadas na obra de Forbellone; Eberspacher (FORBELLONE, André Luiz Villar; EBERSPACHER, Henri Frederico. Lógica de programação: a construção de algoritmos e estruturas de dados. 3 ed. São Paulo: Prentice Hall, 2005, p.33), a respeito das vantagens da modularização de algoritmos:


I. Além de ser uma ferramenta valiosa na redução da complexidade, a modularização traz a vantagem de permitir que cada módulo possa ser elaborado de forma independente e em momentos distintos.

II. Um módulo pode ser reaproveitado diversas vezes, contudo isso só pode ser feito no mesmo algoritmo, já que ele resolve problemas muito específicos.

III. Cada módulo pode ser testado individualmente, facilitando a identificação e correção de problemas, além do que, de forma geral, a correção de problemas afeta apenas o módulo e reduz os riscos de efeitos colaterais no resto do algoritmo.


Estão CORRETAS a(s) afirmação(ões):


A

I e II apenas.


B

I e III apenas.


C

II e III apenas.


D

I apenas.


E

I, II e II.

Analise a interface a seguir, escrita na linguagem Java 8.


public interface Relatorio {

void gerarPDF();

void gerarCSV();

void enviarPorEmail();

}


Essa interface fere um dos princípios descritos no SOLID.


Assinale a alternativa correspondente ao princípio que está sendo violado.


A

Responsabilidade única


B

Prefira composição a herança


C

Inversão de dependências


D

Aberto / Fechado

Para definir se os módulos de um sistema foram bem divididos, é utilizado o conceito de acoplamento, que mede a interdependência entre esses módulos.


C

Certo


E

Errado

No contexto da programação de computadores, o acoplamento


A

é sinônimo de coesão.


B

é baixo quando existe uma conexão forte entre dois módulos.


C

é alto quando um componente de software consegue operar de forma praticamente independente do outro.


D

diz respeito ao propósito de um componente.


E

corresponde ao grau de interdependência entre dois componentes de um software.

No contexto da programação orientada a objetos, o seguinte trecho refere-se a qual conceito?


Refere-se à capacidade de dois ou mais objetos responderem à mesma mensagem, cada um a seu próprio modo.


A

Abstração de Dados.


B

Polimorfismo.


C

Encapsulamento.


D

Classes.

Os princípios de coesão e acoplamento é abordado em engenharia de software, princípios estes que são importantes quando queremos ter uma arquitetura sustentável e madura. Assinale a alternativa correta sobre coesão e acoplamento.


A

Coesão é a quantidade de referências utilizadas; Acoplamento é a quantidade de instância de uma classe


B

Coesão é a quantidade de atributos e métodos de uma classe; Acoplamento é a quantidade de chamadas de um método


C

Coesão é o grau de interdependência entre dois módulos; Acoplamento é o grau de complexidade de um módulo


D

Coesão é o grau com qual um módulo tem uma responsabilidade única; Acoplamento o grau de interdependência entre dois componentes de um software

Em um projeto modular de software existem módulos que dependem de outros para funcionar. O resultado advindo é denominado:


A

coesão.


B

união.


C

acoplamento.


D

linkedição.


E

compilação.

Acoplamento e coesão são dois critérios qualitativos utilizados para avaliar a independência funcional de um software, sendo correto que


A

um módulo coeso requer pouca interação com outros módulos do software.


B

módulos coesos devem ter um máximo de 200 linhas de código de software.


C

um módulo coeso deve implementar pelo menos três tarefas do software.


D

recomenda-se que o acoplamento entre módulos de software seja alto.


E

o acoplamento limita o número de variáveis contidas em um módulo de software.

   
Gerar simulado