

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
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:
Herança.
Polimofismo.
Modularização.
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.
Certo
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:
III – IV – II – I
IV – I – III – II
II – III – I – IV
I – II – IV – III
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.
Apenas III está correta.
Apenas I e III estão corretas.
Apenas II e IV estão corretas.
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:
algoritmo específico estruturado
solução dos problemas sem dividi-los em segmentos.
subdivisão do problema em diversos módulos.
resoluções em laços, em esquema de ciclos dentro de ciclos.
algoritmo não estruturado.
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.
C - C - E - C.
C - E - C - E.
E - E - C - C.
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?
Programação estruturada.
Programação imperativa.
Programação funcional.
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:
depmod.
kmod.
ismod.
modprobe.
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:
O módulo realiza uma única função bem definida.
O módulo realiza mais que uma função que devem ocorrer no mesmo intervalo de tempo.
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.
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.
Polimorfismo.
Atributo.
Encapsulamento.
Método.
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
de comunicação
de conteúdo
de controle
externo
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):
I e II apenas.
I e III apenas.
II e III apenas.
I apenas.
I, II e II.
Na coesão funcional, as tarefas a serem executadas são agrupadas de acordo com a sequência de operações.
Certo
Errado
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.
Responsabilidade única
Prefira composição a herança
Inversão de dependências
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.
Certo
Errado
No contexto da programação de computadores, o acoplamento
é sinônimo de coesão.
é baixo quando existe uma conexão forte entre dois módulos.
é alto quando um componente de software consegue operar de forma praticamente independente do outro.
diz respeito ao propósito de um componente.
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.
Abstração de Dados.
Polimorfismo.
Encapsulamento.
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.
Coesão é a quantidade de referências utilizadas; Acoplamento é a quantidade de instância de uma classe
Coesão é a quantidade de atributos e métodos de uma classe; Acoplamento é a quantidade de chamadas de um método
Coesão é o grau de interdependência entre dois módulos; Acoplamento é o grau de complexidade de um módulo
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:
coesão.
união.
acoplamento.
linkedição.
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
um módulo coeso requer pouca interação com outros módulos do software.
módulos coesos devem ter um máximo de 200 linhas de código de software.
um módulo coeso deve implementar pelo menos três tarefas do software.
recomenda-se que o acoplamento entre módulos de software seja alto.
o acoplamento limita o número de variáveis contidas em um módulo de software.