Você está na página 1de 15

Avaliação dos microfundamentos - Etapa 3 (30 pontos)

Iniciado: 4 dez em 16:43

Instruções do teste
Avaliação dos Microfundamentos - Etapa 3 estará disponível somente no dia 04 de
dezembro de 2022.

Esta avaliação será composta por 15 questões objetivas que abordarão todos os conhecimentos
dos microfundamentos trabalhados no semestre letivo, valendo 30 pontos.

Instruções:

• Ao clicar em Avaliação dos Microfundamentos - Etapa 3, no menu “tarefas” (dentro do seu


Projeto) você iniciará a prova e deverá realizar a avaliação valendo-se de 1 (uma) única
tentativa.
• A Avaliação dos Microfundamentos - Etapa 3 estará disponível das 00:00 às 23:59 hs.
• Ao final da avaliação não se esqueça de enviá-la, clicando no botão “ENVIAR TESTE”. Só
utilize esse botão quando tiver finalizado a avaliação.
• Utilize preferencialmente o navegador Google Chrome.

Pergunta 1 2 pts

Em serviços Web, aplicações cliente enviam requisições a servidores utilizando


o protocolo HTTP (HyperText Transfer Protocol). Estes serviços substituem
plataformas como RPC (chamada de procedimentos remotos) e RMI
(invocação de métodos remotos) em diversos cenários.

Qual das opções abaixo apresenta uma aplicação distribuída em que o uso de
serviços Web é mais adequado do que RPC e RMI?

Comunicação entre processos em uma aplicação em rede local.

Implementação de um sistema de arquivos distribuído em rede local.

Troca de dados em um cluster (agrupamento) de computadores em um centro de


dados.

Aplicativo de compras em um sistema de comércio eletrônico.

Aplicativo de gerenciamento de funções administrativas em uma rede corporativa.


Pergunta 2 2 pts

Serviços distribuídos podem ser classificados de acordo com seu estilo


arquitetural. Um estilo arquitetural define a estrutura geral da organização da
interface com o usuário e o código fonte backend, e como este código fonte
interage com o armazenamento de dados. São considerados estilos
arquiteturais, as arquiteturas baseadas em serviços, dirigidas por eventos e, de
microsserviços.

Considerando estes estilos arquiteturais distribuídos, analise as características


a seguir.

I. O banco de dados é único e compartilhado entre todos os serviços


implantados.
II. Um fluxo de eventos dirige a execução dos componentes necessários para
o processamento de um serviço.
III. Desacoplamento entre serviços através da definição de domínios de
aplicação que são independentes de outros, em termos de código fonte e
esquemas de banco de dados.

É(são) característica(s) do estilo arquitetural de microsserviços o que se afirma


em

I, apenas.

III, apenas.

I e II, apenas.

II e III, apenas.

I, II e III.

Pergunta 3 2 pts
Uma característica importante dos sistemas distribuídos é a capacidade dos
sistemas distribuídos permanecerem eficientes mesmo diante de um aumento
significativo no número de recursos e de usuários, o que é conhecido como
escalabilidade.

Considerando a escalabilidade de sistemas distribuídos, analise os desafios


que devem ser levados em conta na construção de sistemas distribuídos a
seguir.

I. Recursos que são acessados em um mesmo e único servidor tendem a


se tornar um ponto de estrangulamento (gargalo) do desempenho de
um serviço.
II. O aumento do número de nós de um sistema não deve tornar o tempo
de execução de algoritmos distribuídos inviável.
III. Dados compartilhados no sistema distribuído devem ser protegidos
contra a exposição a pessoas não autorizadas.

É(são) desafios(s) que caracterizam o problema de escalabilidade o que se


afirma em

I, apenas.

III, apenas.

I e II, apenas.

II e III, apenas.

I, II e III.

Pergunta 4 2 pts

Um processo de Engenharia de Software é formado por um conjunto de


etapas, de artefatos, relacionados a cada uma, de recursos, de estruturas
organizacionais e de restrições, tendo como objetivo produzir e manter os
produtos de software com uma qualidade definida. Além disso, um processo de
software pode ser dividido em diferentes níveis de objetivos, nos quais ocorrem
diferentes tipos de testes de software.

Considerando esse contexto, assinale a alternativa correta a respeito do tipo


de teste de integração.

O teste de integração exige menor esforço do que o teste de unidade e maior esforço
que o teste de sistema.

O teste de integração deve ser implementado em maior proporção que o teste de


unidade e em menor proporção do que o teste de sistema.

O teste de integração tem maior granularidade que o teste de unidade e menor do


que o teste de sistema.

O teste de integração é mais caro do que o teste de sistema e, também, mais caro do
que o teste de unidade.

O teste de integração executa mais rapidamente do que o teste de sistema e,


também, mais rapidamente que o teste de unidade.

Pergunta 5 2 pts

O Modelo V é um modelo conceitual de Engenharia de Sistemas considerado


como melhoria ao problema de reatividade do modelo em cascata. Ele permite
que, durante a integração de um sistema em seus diversos níveis, os testes
sejam feitos contra os próprios requisitos do componente/interface que está
sendo testado(a), em contraste com modelos anteriores onde o componente
era testado contra a especificação do componente/interface. Tornando clara a
diferença entre requisito e especificação.

Considerando esse contexto, quais etapas do Modelo V foram percorridas


quando se inicia o planejamento para os testes de integração?

Projeto de alto nível e codificação.

Especificação de requisitos e codificação.

Projeto de alto nível e projeto de software detalhado.

Especificação de requisitos e projeto de software detalhado.


Especificação de requisitos e projeto de software de alto nível.

Pergunta 6 2 pts

Há diversos SGBDs NoSQL disponíveis no mercado, sendo que há diferenças


importantes quanto aos esquemas utilizados.

Considerando esta diversidade mercadológica, assinale a opção correta em


relação aos SGBDs NoSQL mais difundidos.

Microsoft SQL Server, MySQL, Oracle e IBM DB2 são SGBDs líderes no mercado
NoSQL.

MongoDB é um SGBD NoSQL baseado em colunas em que vários nós podem ser
organizados logicamente em um anel, sendo possível a configuração de vários
datacenters diferentes.

MongoDB é um sistema de banco de dados NoSQL orientado a documentos,


permitindo transações com diversos documentos diferentes como um único bloco
lógico de execução.

MongoDB é um SGBD NoSQL que oferece recursos de replicação e fragmentação


em que os nós podem ser configurados em uma arquitetura mestre-escravo, onde
nós primários (mestres) processam requisições de leitura e escrita, enquanto nós
secundários (escravos) processam exclusivamente requisições de leitura.

MongoDB é um SGBD NoSQL chave-valor que implementa o conceito de transação,


executando um grupo de operações de leitura e escrita como um único bloco lógico
de execução.

Pergunta 7 2 pts

Os bancos de dados NoSQL possuem características que os diferenciam dos


bancos de dados relacionais.

Considerando este contexto, analise as afirmações a seguir.

I. A orientação por agregados dos bancos de dados NoSQL permite tratar


os dados como estruturas mais complexas, permitindo aninhamento de
tuplas e listas de valores, algo que não é permitido em um BD relacional.

II. A ausência de um esquema prévio dos bancos de dados NoSQL


permite maior flexibilidade, facilitando alterações futuras no formato em
que se deseja armazenar os dados.

III. Os bancos de dados NoSQL sempre adotam previamente o esquema


de grafos, ao passo que os bancos de dados relacionais adotam o
esquema baseado na álgebra relacional.

É correto o que se afirma em

I, apenas.

III, apenas.

I e II, apenas.

II e III, apenas.

I, II e III.

Pergunta 8 2 pts
VALENTE, M.T. Engenharia de Software Moderna: Princípios e
Práticas para Desenvolvimento de Software com
Produtividade. 1. ed. Belo Horizonte, 2020 (adaptado).

A figura anterior apresenta o esboço de um Diagrama UML de Sequência para


um sistema de controle de projetos multimídias. Nele, a classe "cliente"
interage com uma classe hipotética "A", que implementa um padrão de projeto
responsável por "unificar" um conjunto de métodos com assinaturas distintas,
traduzindo-as a partir do método liga(). Assim, independentemente do tipo de
projetor que o cliente deseja ligar, a classe "A" garante que a classe "cliente"
possa invocar um método com assinatura única, chamado liga().

Diante do exposto, pode-se afirmar que a classe "A" implementa o padrão

composite, pois unifica as interfaces através de uma estrutura de árvore de projetos.

builder, pois separa a construção do objeto "projetor Samsung" da sua representação.

adapter, pois adapta uma interface da classe "projetor Samsung" para uma que o
"cliente" espera.

factory, pois centraliza a criação de um "projetor Samsung" (que tem várias


implementações).
iterator, pois acessa sequencialmente os elementos do objeto "projetor Samsung".

Pergunta 9 2 pts

Fonte: https://xkcd.com/2347/ (https://xkcd.com/2347) (adaptado).

Com base na figura anterior, assinale a alternativa que apresenta o conceito de


Projeto de Software que descreve essa relação de dependência entre um
software e o mundo externo.

Acoplamento.

Coesão.

Padrão de Projeto.
Interface Externa.

Componente de Software.

Pergunta 10 2 pts

Ao se implementar máquinas virtuais, serviços de banco de dados e servidores


de arquivos, é necessário atender critérios de regulatórios, desempenho,
disponibilidade, escalabilidade e custos. Uma região de um provedor de
serviços de nuvem atende a critérios regulatórios, como, por exemplo, a Lei
Geral de Proteção de Dados (LGPD), mas isto pode implicar em custos
maiores devido à contratação de serviços de nuvem no Brasil. Sabendo dessas
informações, analise o problema a seguir.

Uma empresa implementou uma parte dos serviços em nuvem na região


East US e o armazenamento de dados na região Brazil South, colocando
os servidores de aplicação no Azure na região East US e arquivos e
banco de dados em um servidor da AWS na região Brazil South, devido à
LGPD.

A tabela de custos pode ser observada abaixo.

Entretanto, ao final do primeiro mês, a empresa notou um aumento na fatura


dos custos de nuvem. Após analisar a forma como a empresa implementou os
serviços em nuvem, qual das opções abaixo representa uma solução que a
empresa deve fazer para diminuir os custos da infraestrutura em nuvem?

Deve hospedar os serviços dentro da região Brazil South, com um mesmo provedor,
pois existem custos de tráfego de dados entre regiões e entre diferentes provedores
de nuvem.

Deve diminuir o tamanho das instâncias dos servidores, para máquinas com 2
núcleos e 8 Gb de RAM, pois a redução das instâncias diminui os custos.

Deve hospedar todos os serviços nos mesmos provedores, mas na região East US,
pois os custos seriam menores.
Deve diminuir o tamanho das instâncias e hospedar nos mesmos provedores na
região East US, para uma redução maior de custos.

Deve hospedar os serviços em um mesmo provedor na região East US para diminuir


os custos de tráfego de dados entre regiões.

Pergunta 11 2 pts

A virtualização envolve não somente criar máquinas virtuais e hospedá-las em


um host ou servidores, mas também a virtualização de redes e de arquivos e
discos.

A Figura 1 a seguir representa uma organização de servidores em um host de


máquina virtual.

Baseado na figura acima, analise as afirmativas a seguir.

I. O servidor de aplicação se comunica com o servidor web e com o de


banco de dados através de uma rede privada virtual.

II. Um disco de máquina virtual do tipo armazenamento de blocos pode


ser utilizado para cada uma das máquinas virtuais para armazenar o
sistema operacional.

III. Na estrutura de rede apresentada, um usuário externo consegue


acessar o servidor de banco de dados diretamente.

IV. O servidor Web é acessível por usuários externos.


É correto o que se afirma em

I, II e IV, apenas.

I e II, apenas.

I, III e IV, apenas.

III, apenas.

I, II, III e IV.

Pergunta 12 2 pts

Um recurso importante no desenvolvimento de Web APIs é o ORM (Object


Relational Mapper) que auxilia no mapeamendo das estruturas de dados da
linguagem de programação para o modelo relacional do banco de dados.

O Entity Framework é o ORM oficial da Microsoft e auxilia no desenvolvimento


de Web APIs com o ASP.NET Framework.

Análise o seguinte trecho de código de uma Web API REST desenvolvida em


C# com o ASP.NET Framework, utilizando o Entity Framework para configurar
uma classe de modelo de dados.

1 [Table("Pessoa")]
2 public class Pessoa
3 {
4 [Key]
5 public int Id { get; set; }
6 // CODIGO
7 public string Nome { get; set; }
8 [DataType(DataType.EmailAddress)]
9 public string Email { get; set; }
10 }

Este código apresenta o desenvolvimento parcial de uma classe model para o


gerenciamento de dados de uma pessoa.

Com base nesse contexto, assinale a opção correta que apresenta a notação
que complementa o código acima, na linha 6, para definir que a propriedade
Nome seja uma propriedade obrigatória.
[Required]

[Mandatory]

[NotNull]

[Column(NotNull = true)]

[NotNull(true)]

Pergunta 13 2 pts

Análise o seguinte trecho de código de uma Web API REST desenvolvida em


C# com o ASP.NET Framework.

3 public class VeiculosController : ControllerBase


{
4 // ...
[HttpGet]
5 public async Task<ActionResult> GetAll()
{
6 var model = await _context.Veiculos.ToListAsync
();
7 return Ok(model);
}
8 // ...
}
9
1
0
1
1

Este código apresenta o desenvolvimento parcial de uma Web API para


gerenciamento de dados de Veículos.

Com base nesse contexto, assinale a opção correta que apresenta a URL a ser
utilizada pelo usuário da API para recuperar as informações dos veículos que
são retornadas pela execução do método "GetAll". Considere que a URL base
do sistema seja: www.minhawebapi.com.br:

www.minhawebapi.com.br/Veiculos
www.minhawebapi.com.br/GetAll/Veiculos

www.minhawebapi.com.br/Veiculos/GetAll

www.minhawebapi.com.br/VeiculosController/GetAll

www.minhawebapi.com.br/GetAll/VeiculosController

Pergunta 14 2 pts

TEXTO I

“Não temos sequer ideia das dezenas de milhares de maneiras com que
rompemos o delicado equilíbrio ecológico que se configurou ao longo de
milhões de anos. Considere, por exemplo, o uso de fosfato como fertilizante.
Em pequenas quantidades é um nutriente essencial para o crescimento de
plantas. Mas em quantidades excessivas torna-se tóxico. A agricultura
industrial moderna baseia-se em fertilizar artificialmente os campos com muito
fosfato, mas a grande quantidade de fosfato que escorre das fazendas vai
envenenar rios, lagos e oceanos, com impacto devastador na vida marinha.
Um agricultor que cultiva milho em Iowa pode estar inadvertidamente matando
peixes no golfo do México.” (HARARI, Yuval Noah. 21 lições para o século 21. São
Paulo: Cia. Das Letras, 2018, p. 110). Disponível em: https://dagobah.com.br/wp-content
/uploads/2019/02/21-licoes-para-o-seculo-21-Yuval-Noah-Harari.pdf
(https://dagobah.com.br/wp-content/uploads/2019/02/21-licoes-para-o-seculo-21-Yuval-Noah-

Harari.pdf) . Acesso em 25 out. 2022.

TEXTO II

“Quando os seres humanos destroem a biodiversidade na criação de Deus;


quando os seres humanos comprometem a integridade da terra e contribuem
para a mudança climática, desnudando a terra das suas florestas naturais ou
destruindo as suas zonas úmidas; quando os seres humanos contaminam as
águas, o solo, o ar... tudo isso é pecado”. (Carta Encíclica Laudato Si do Santo Padre
Francisco sobre o cuidado da Casa Comum, n. 8. disponível em: https://www.vatican.va
/content/dam/francesco/pdf/encyclicals/documents/papa-francesco_20150524_enciclica-
laudato-si_po.pdf (https://www.vatican.va/content/dam/francesco/pdf/encyclicals/documents

/papa-francesco_20150524_enciclica-laudato-si_po.pdf) . Acesso em 25 out. 2022).


TEXTO III

Como a própria palavra deixa explícito (agro + negócio), entre os maiores


objetivos está a obtenção de lucro e renda da terra, com a produção de muitas
novas mercadorias voltadas ao mercado urbano, nacional e internacional, de
alimentos processados e ultraprocessados, de commodities e de
agrocombustíveis. (ELIAS, Denise. Mitos e nós do agronegócio no Brasil. Disponível in:
SciELO - Brasil - Mitos e nós do agronegócio no Brasil Mitos e nós do agronegócio no Brasil.
Acesso 26 out. 2022.

TEXTO IV

As Figuras 1 e 2 a seguir apresentam duas perspectivas de exploração do


solo.

Com base na análise dos textos apresentados, avalie as afirmações a seguir.

I. As Figuras 1 e 2, no texto IV, representam o texto 3 e contrapõe-se aos


textos 1 e 2.

II. A Figura 2, no texto IV, representa o texto 3 e contrapõe-se aos textos 1 e 2.

III. A Figura 1, no texto IV, representa os textos 1 e 2 e contrapõe-se ao texto 3.

É correto o que se afirma em

I, apenas.

II, apenas.
I e III, apenas.

II e III, apenas.

I, II e III.

Pergunta 15 2 pts

“O antropocentrismo moderno acabou, paradoxalmente, por colocar a razão


técnica acima da realidade, porque este ser humano ‘já não sente a natureza
como norma válida nem como um refúgio vivente. Sem se pôr qualquer
hipótese, vê-a, objetivamente, como espaço e matéria onde realizar uma obra
em que se imerge completamente, sem se importar com o que possa suceder
a ela’. Assim debilita-se o valor intrínseco do mundo. Mas, se o ser humano
não redescobre o seu verdadeiro lugar, compreende-se mal a si mesmo e
acaba por contradizer a sua própria realidade” (Laudato Si, 2015, n. 115).

Com base nesse contexto, assinale a opção correta que apresenta a relação
entre humanismo e técnica.

A supremacia da racionalidade técnica destitui a natureza de seu valor intrínseco e na


sequência contrapõe o sentido real do humano.

A supremacia da racionalidade técnica retira da natureza seu status valorativo,


liberando o ser humano dos condicionamentos que o definia.

A supremacia da racionalidade técnica desloca a centralidade da natureza do campo


de compreensão do humano para o campo de objetivação do humano.

A supremacia da racionalidade técnica torna a compreensão da natureza humana


objetiva e adequada ao moderno antropoceno.

A supremacia da racionalidade técnica considera objetivamente a espacialidade e


materialidade da natureza como valor que define o humano plenamente.

Salvo em 17:09 Enviar teste

Você também pode gostar