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

 
 
Disciplina 1
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
 
55 questões encontradas
Questões por página
20
Mais recentes
 

Com relação aos conceitos sobre desenvolvimento de algoritmos, pode-se afirmar que o processo de modularidade


A

aplica-se apenas em linguagens de programação orientadas a objetos.


B

possibilita dividir um problema grande em problemas menores.


C

aplica-se apenas em linguagens de programação sequenciais.


D

também é conhecido como método Top-down.

Um módulo de validação acumulava checagem de formato, conversão de valores e gravação em banco dentro de uma única rotina. A refatoração aplicou diretrizes modernas que fragmentam a implementação em unidades menores e autossuficientes. Indique a alternativa correspondente ao princípio adotado para reorganizar o código.


A

Agrupamento de lógicas distintas em módulos globais.


B

Divisão de responsabilidades em funções isoladas.


C

Repetição de trechos idênticos em múltiplos arquivos.


D

Nomeação de variáveis com siglas abreviadas.


E

Centralização de todas as regras em procedimento único.

No desenvolvimento de um novo painel web para visualização de boletins meteorológicos, a equipe técnica optou por uma arquitetura em camadas padrão de mercado. A meta é garantir a separação de conceitos e facilitar manutenções futuras no código do sistema de navegação aérea.

A arquitetura em camadas organiza o sistema de forma que cada camada forneça serviços para a camada imediatamente superior e utilize os serviços da camada imediatamente inferior.


Assinale a afirmativa correta sobre as regras de acoplamento e dependência nesse padrão arquitetural clássico.


A

A camada de apresentação deve se comunicar diretamente com o driver de banco de dados, ignorando a lógica de negócio.


B

As alterações realizadas na camada de persistência de dados devem obrigatoriamente forçar a reescrita de toda a interface gráfica.


C

A camada de lógica de negócio deve idealmente ser independente dos detalhes de implementação da interface de usuário instalada.


D

Cada camada criada no sistema possui permissão irrestrita para acessar qualquer outra camada, sem respeitar a hierarquia.


E

O isolamento entre as camadas impede que o sistema funcione em servidores distintos, exigindo uma implantação monolítica.

Com a homologação do complemento de Computação à BNCC, as escolas brasileiras precisam integrar esse novo componente curricular em seu documento norteador. Esse processo envolve a definição de objetivos, a formação de professores e a alocação de recursos, garantindo que o ensino de computação esteja alinhado à proposta educacional da instituição. Marque a alternativa CORRETA que corresponde ao documento que formaliza a proposta educacional de uma escola, e que agora deve incluir as diretrizes para o ensino de Computação.


A

Diário de Classe.


B

Projeto Político-Pedagógico (PPP).


C

Regimento Escolar.


D

Plano de Aula.

Um desenvolvedor de sistemas bancários, ao criar um aplicativo, definiu várias classes (Email, conta_bancária, cliente e casa) com seus métodos, porém só uma delas apresenta uma alta coesão, ou seja, contém elementos que estão intimamente relacionados entre si e unidos por sua finalidade. Dentre as classes encontradas, a que tem alta coesão é a:


A

Imagem associada para resolução da questão


B

Imagem associada para resolução da questão


C

Imagem associada para resolução da questão


D

Imagem associada para resolução da questão

No contexto da Engenharia de Software, o conceito de coesão é fundamental para avaliar a qualidade do projeto de modulos e classes. Diante disso, assinale a alternativa que apresenta a definição CORRETA de coesão.


A

Refere-se ao grau de dependência entre módulos distintos de um sistema, sendo desejável uma alta dependência para facilitar a comunicação entre eles. O ideal é alta coesão.


B

Trata-se do nível de acoplamento entre classes, indicando o quanto uma classe conhece a implementação de outra. O ideal é baixa coesão.


C

Corresponde ao grau em que as responsabilidades, métodos e atributos de um módulo (ou classe) se relacionam para atingir um único objetivo funcional. O ideal é alta coesão.


D

Diz respeito à quantidade de herança utilizada entre classes, sendo recomendável maximizar esse uso para aumentar a reutilização. O ideal é baixa coesão.


E

Representa o número de interfaces implementadas por uma classe, sendo desejável que seja o maior possível para garantir flexibilidade. O ideal é alta coesão.

Durante a revisão de código do módulo de cálculo de rotas e planos de voo de aeronaves, um engenheiro de software percebeu que a classe GerenciadorVoo possuía mais de 5.000 linhas de código, realizando desde a leitura de arquivos de configuração até a impressão de relatórios e conexão direta com o banco de dados de radares.

O cenário descrito apresenta sérios problemas relacionados aos conceitos fundamentais de orientação a objetos e engenharia de software estrutural.


Assinale a opção que identifica o diagnóstico técnico dessa classe e a recomendação de boas práticas de projeto aplicável.


A

A classe possui alta coesão e baixo acoplamento, o que representa o estado ideal de reaproveitamento de componentes reutilizáveis.


B

A classe possui baixa coesão, violando o Princípio da Responsabilidade Única, e deve ser refatorada em classes menores e focadas.


C

O acoplamento da classe é nulo porque ela centraliza todas as funções do sistema aeronáutico, eliminando dependências externas.


D

A modularidade é máxima nesse cenário, pois centralizar o código em um único arquivo facilita o deploy e a correção de bugs.


E

A classe deve receber ainda mais responsabilidades, como autenticação de usuários, para garantir que o código fique unificado.

Em um módulo de faturamento eletrônico de um órgão federal, busca-se alta manutenibilidade e testabilidade segundo as boas práticas de projetos em OO. Considerando esse contexto, assinale a alternativa correta sobre a coesão e o acoplamento.


A

O baixo acoplamento e a alta coesão garantem responsabilidades bem delimitadas por classe e dependências mínimas entre módulos, reduzindo o impacto de mudanças e facilitando o isolamento de testes e reúso.


B

Alta coesão tende a aumentar o acoplamento, pois classes mais focadas teriam de colaborar com mais serviços externos, elevando dependências e propagação de mudanças.


C

A coesão baixa é preferível quando a classe agrega múltiplas regras de negócio, centralizando decisões para evitar “muitos componentes pequenos” e suposto overhead arquitetural.


D

O acoplamento é irrelevante em OO moderna, já que mecanismos de injeção de dependência neutralizam qualquer efeito de integração entre módulos.


E

A alta coesão implica conhecer muitas outras classes, pois a especialização exigiria orquestrar diversos serviços externos para entregar valor.

Analise as afirmativas abaixo sobre os princípios de coesão e acoplamento em sistemas orientados a objetos.


I. Uma classe coesa concentra-se em uma única responsabilidade, o que favorece a clareza e a manutenção do código.

II. O acoplamento entre classes deve ser incentivado, pois permite que as classes compartilhem implementações internas com maior eficiência.

III. Baixo acoplamento facilita o reaproveitamento de componentes e torna o sistema mais adaptável a mudanças.

IV. Uma classe com baixa coesão tende a assumir múltiplas responsabilidades, o que dificulta sua reutilização em outros contextos.


Estão corretas as afirmativas:


A

I, III e IV apenas


B

II e III apenas


C

I e II apenas


D

I, II, III e IV

Um técnico bancário da área de TI resolveu dividir um programa em módulos para desenvolver um sistema web solicitado pela direção do banco.


Nesse contexto, uma ação que deve ser considerada por esse técnico é


A

criar módulos com funcionalidades o mais abrangentes possível.


B

definir interfaces claras para a comunicação entre os módulos.


C

evitar a criação de muitos módulos, mesmo que o programa seja grande.


D

fornecer nomes aos módulos de forma genérica, para que possam ser reutilizados em qualquer contexto.


E

documentar apenas o módulo principal, pois os outros módulos devem ser autoexplicativos.

O uso de princípios de baixo acoplamento e alta coesão em componentes de software facilita sua reutilização, manutenção e testabilidade.


C

Certo


E

Errado

Melhorar a coesão dentro das classes em um código, a fim de torná-las mais focadas e responsáveis por uma única tarefa, e reduzir o acoplamento entre as partes do sistema, pode ser interpretado como uma conduta alinhada às boas práticas de refatoramento de código.


C

Certo


E

Errado

O processo de design modular em software busca isolar funcionalidades específicas em módulos com interfaces bem definidas, promovendo alta coesão dentro dos módulos e baixo acoplamento entre eles, o que facilita a manutenção e a escalabilidade do sistema.


C

Certo


E

Errado

Qual alternativa apresenta corretamente um software com características de alta coesão e baixo acoplamento?


A

Os componentes do sistema são altamente dependentes uns dos outros e suas responsabilidades são misturadas.


B

Os componentes têm responsabilidades bem definidas e focadas, e são largamente independentes uns dos outros.


C

Os componentes são independentes, mas cada um possui uma variedade de responsabilidades não relacionadas.


D

Os componentes são fortemente interligados, mas cada um possui uma única responsabilidade bem definida.


E

Os componentes podem ser facilmente trocados, mas suas funções internas são genéricas e pouco claras.

Considerando que, no desenvolvimento de software, o conceito de componentização é utilizado para melhorar a organização e a reutilização do código, assinale a opção correta.


A

A componentização substitui a necessidade de modelagem arquitetural no desenvolvimento de sistemas complexos.


B

Um componente deve possuir alta coesão e baixo acoplamento, o que favorece sua reutilização e manutenção.


C

Um componente deve ser implementado como uma função recursiva, para garantir flexibilidade à componentização.


D

O principal objetivo da componentização é eliminar completamente a necessidade de testes unitários.


E

Componentes devem compartilhar diretamente o estado de variáveis globais para a simplificação da comunicação entre eles.

Alta coesão entre os métodos de uma classe indica que os comportamentos são bem definidos e estão logicamente agrupados.


C

Certo


E

Errado

A coesão de uma classe é considerada alta quando


A

a classe depende de muitas outras classes para funcionar.


B

a classe possui poucos métodos públicos.


C

a classe pode ser facilmente substituída por outra sem impacto no sistema.


D

os métodos da classe manipulam atributos de diversas outras classes.


E

os métodos e atributos da classe estão fortemente relacionados e servem a um propósito único e bem definido.

Na orientação a objetos, há os conceitos de coesão e acoplamento de classes. Sobre o tema, analise as assertivas abaixo e assinale a alternativa correta.


I. Quanto maior a dependência entre duas classes, maior será a coesão delas.

II. Aumentar o acoplamento entre classes é uma das boas práticas da orientação a objetos.

III. Forte acoplamento significa que uma classe deve ter uma única responsabilidade.


A

Todas as assertivas estão corretas.


B

Todas as assertivas estão incorretas.


C

Apenas a assertiva I está correta.


D

Apenas as assertivas I e II estão corretas.


E

Apenas as assertivas II e III estão corretas.

   
Gerar simulado