

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.
Com relação à arquitetura de software em camadas, avalie se as afirmativas a seguir são verdadeiras (V) ou falsas (F).
( ) A arquitetura de software em camadas é uma arquitetura que divide o software em camadas, cada uma com uma responsabilidade específica.
( ) A arquitetura de software em camadas é uma arquitetura que facilita a manutenção e evolução do software, pois cada camada pode ser desenvolvida e mantida independentemente das outras camadas.
( ) A arquitetura de software em camadas é uma arquitetura que é sempre a melhor escolha para qualquer tipo de software.
As afirmativas são, respectivamente,
V – F – F.
V – V – F.
F – V – F.
F – V – V.
F – F – V.
A camada de persistência é fundamental para garantir a integridade e eficiência no armazenamento e recuperação de dados em sistemas de banco de dados. Considerando as práticas e arquiteturas relacionadas às camadas de persistência, assinale a alternativa correta.
A camada de persistência deve ser acoplada diretamente à interface do usuário para garantir respostas rápidas às interações do usuário.
Utilizar um mapeamento objeto-relacional (Object Relational Mapping – ORM) elimina a necessidade de SQL e melhora o desempenho de todas as consultas.
A separação clara entre a camada de persistência e a lógica de negócios ajuda a manter a coesão e facilita a manutenção do sistema.
A camada de persistência é responsável apenas pela escrita de dados no banco de dados, enquanto a recuperação de dados deve ser feita por uma camada separada.
A utilização de procedimentos armazenados na camada de persistência sempre simplifica a lógica de negócios e melhora a escalabilidade do sistema.
Um dos estilos de arquitetura de software mais usados nos últimos anos, dadas as suas vantagens em relação aos demais existentes, é a arquitetura orientada a serviços (Service-Oriented Architecture - SOA).
A arquitetura orientada a serviços (SOA)
organiza a estrutura de um sistema como um conjunto de serviços independentes que se comunicam por meio de protocolos padrão, como HTTP e SOAP.
utiliza uma abordagem na qual os serviços são acoplados de forma estreita para garantir maior controle e interdependência entre as partes do sistema.
é uma arquitetura em que todos os serviços são integrados em um sistema monolítico, garantindo alta coesão entre os módulos.
exige que todos os serviços sejam implementados na mesma linguagem de programação para garantir consistência no sistema.
utiliza a comunicação síncrona entre serviços para manter a consistência e a segurança dos dados transmitidos no sistema.
O projeto de software é uma parte crucial na engenharia de software, que envolve concepção e organização de soluções para problemas complexos por meio da aplicação de conceitos como modularidade, abstração e arquitetura. Analise as afirmativas a seguir em relação ao projeto de software.
I. Modularidade é a capacidade de representar a estrutura geral do software e as interações entre seus componentes.
II. A refatoração é um processo que altera o comportamento externo do código para melhorar sua eficiência. III. A independência funcional é atingida desenvolvendo módulos com interfaces simples e evitando interações excessivas entre eles.
IV. A abstração no projeto de software permite representar uma solução em diferentes níveis de detalhe, desde uma visão abrangente do problema até uma descrição técnica detalhada para implementação.
Está correto o que se afirma apenas em
I e II.
III e IV.
I, II e IV.
II, III e IV.
Em uma arquitetura orientada a serviços (SOA), o componente responsável pela comunicação de outros serviços ou sistemas com um serviço é chamado de:
Conexão de serviço.
Registro de serviço.
Interface de serviço.
Link de serviço.
Contrato de serviço.
Na arquitetura cliente-servidor, há uma confiança mínima nos servidores dedicados, pois a aplicação utiliza a comunicação direta entre duplas de hospedeiros conectados alternadamente, denominados pares.
Certo
Errado
Um desenvolvedor está trabalhando em um projeto de desenvolvimento de um sistema web e está utilizando tecnologias modernas para garantir uma experiência de usuário eficiente.
Com relação às melhores práticas de desenvolvimento de sistemas web, assinale a alternativa que apresenta uma prática incorreta.
Utilizar um framework front-end como React ou Angular para criar uma interface de usuário interativa.
Utilizar uma abordagem de desenvolvimento ágil para iterativamente construir e testar o sistema.
Utilizar uma arquitetura de microsserviços para modularizar e escalar o sistema de forma eficiente.
Utilizar a metodologia de desenvolvimento cascata para garantir a qualidade do software desenvolvido.
Utilizando o framework Spring MVC, caso se deseje criar um controller, a anotação a ser utilizada no código é:
#Controller
&Controller
@Controller
%Controller
Ao desenvolver um sistema de software, a escolha da arquitetura é crucial para garantir que ele seja capaz de lidar com grandes volumes de dados e manter uma alta disponibilidade. O arquiteto de soluções de um projeto está encarregado de criar um sistema que não só precisa ser escalável, mas também seguro e estável ao longo do tempo.
Dado esse cenário, a abordagem ideal é a de
colocar tudo em um único servidor central, para manter todos os dados controlados em um só lugar.
optar por uma arquitetura de microsserviços, onde cada parte do sistema pode crescer de forma independente e usar replicação para garantir que, mesmo se algo falhar, o sistema continue funcionando.
configurar um banco de dados local em cada estação de trabalho, sem a necessidade de conectar as máquinas entre si.
centralizar tudo em um único data center, sem planejar nenhum tipo de backup ou replicação dos dados.
focar apenas no desempenho imediato, sem considerar se o sistema vai precisar escalar no futuro.
Relaciones as desvantagens dos microsserviços com seus respectivos conceitos.
1. Complexidade do projeto
2. Complexidade da rede
3. Persistência de dados
4. Testes de integração
( ) Desenvolver aplicativos com arquitetura de microsserviços pode atrasar o processo de obtenção de feedback, pois nem todos os serviços podem ser testados completamente antes de serem implantados em um servidor de teste ou de produção
( ) Microsserviços precisam acompanhar onde os serviços são implantados e o número total de instâncias implantadas, para que, quando uma nova instância de um serviço específico for criada, o tráfego possa ser redirecionado de forma adequada. Isolar o estado de um serviço específico para que ele não seja compartilhado ou duplicado é extremamente difícil.
( ) Com um monólito, tudo acontece em um único processo, então não se precisa fazer muitas chamadas para outros serviços. Ao dividir partes do seu aplicativo em microsserviços, se precisará fazer uma chamada de rede, o que pode causar problemas, especialmente se vários serviços precisarem se comunicar entre si, resultando em efeitos semelhantes aos do pingue-pongue em termos de solicitações de rede.
( ) Refatorar um módulo separado dentro do monólito geral é uma opção mais fácil do que dividir uma parte do seu aplicativo em um microsserviço, pois não há como voltar atrás depois de dividir um serviço.
Assinale a opção que indica a relação correta, na ordem apresentada.
1 – 2 – 4 – 3.
3 – 2 – 4 – 1.
4 – 1 – 2 – 3.
4 – 3 – 2 – 1.
4 – 3 – 1 – 2.
Na arquitetura MVC (model-view-controler), o componente controlador incorpora todos os estados de um webapp.
Certo
Errado
O modelo de visão 4 + 1 de arquitetura de software proposto por Kructhen sugere que deve haver quatro visões fundamentais de arquitetura. Assinale a alternativa que nomeia corretamente as quatro visões.
Visão Lógica, Visão de Processo, Visão de Implementação, Visão Física
Visão Estrutural, Visão de Comportamento, Visão de Integração, Visão Física
Visão de Caso de Uso, Visão de Processo, Visão de Desenvolvimento, Visão Física
Visão Lógica, Visão de Processo, Visão de Desenvolvimento, Visão Física
Visão Lógica, Visão Funcional, Visão de Processo, Visão de Integração
O protocolo padrão utilizado para a transferência de hipertexto em uma arquitetura cliente-servidor é o
WebSocket.
FTP.
HTTP.
SMTP.
TCP/IP.
Um engenheiro da computação da Defensoria Pública do Estado de Mato Grosso do Sul, durante o planejamento de um novo sistema local, avaliou a arquitetura do software proposto por sua equipe de desenvolvimento. É correto afirmar que entre os atributos de qualidade que foram avaliados nesse projeto da arquitetura do software estão:
robustez, memória e slot SSD.
agilidade, telnet e encapsulamento.
portabilidade, reusabilidade e interoperabilidade.
responsividade, paralelismo e chipset.
pontos por função, teste de cenários e clusters.
O modelo MVC é considerado um padrão de projeto ou uma arquitetura de software que tem como principal objetivo promover a reutilização de código e a separação de conceitos em três camadas que estão interconectadas, de modo que a apresentação dos dados e a interação dos usuários ficam separadas dos métodos que interagem com o banco de dados. Sobre o modelo tratado, podemos inferir que ele permite:
I. Que classes de modelo sejam utilizadas por diferentes visões.
II. A especialização das tarefas de desenvolvimento da aplicação, com desenvolvedores focados na camada de front-end e outros na camada de back-end.
III. A implementação distribuída da aplicação melhorando o fluxo de processamento; porém, não promove uma boa testabilidade da aplicação.
Está correto o que se afirma apenas em
I.
II.
III.
I e II.
No passado, as aplicações eram construídas de uma forma monolítica, para serem executadas através de grandes computadores conhecidos como mainframes e, geralmente, eram acessadas através de “terminais burros”, que não possuíam nenhuma capacidade de processamento. O avanço da tecnologia de rede e hardware possibilitou aos desenvolvedores de sistemas construir aplicações distribuídas como a arquitetura em três camadas. Sobre a arquitetura em questão, assinale a afirmativa INCORRETA.
A camada de banco de dados é responsável por armazenar os dados que são manipulados pelo sistema.
A camada de lógica de negócio (aplicação) é responsável pela implementação das regras de negócio do sistema.
A camada de interface (apresentação) trata a exibição de informações, a coleta e o processamento de entradas ou eventos de interfaces.
Nessa arquitetura distribuída, a camada de interface e de negócios executam na máquina do cliente, enquanto a de banco de dados é executada em um servidor.
O padrão observer segue a arquitetura MVC uma vez que, quando os dados de seu modelo mudam de estado, as suas visões correspondentes são notificadas e atualizadas.
Certo
Errado
O software Koha, por meio do OPAC, permite ao usuário consultar a disponibilidade dos itens no acervo de uma biblioteca, reservá‑los e, a depender da permissão, realizar empréstimo de forma on‑line.
Certo
Errado
Ao desenvolver uma aplicação móvel, é crucial escolher a arquitetura certa para garantir desempenho e manutenibilidade. Qual das seguintes abordagens é recomendada para a arquitetura de aplicações móveis?
MVC (Model-View-Controller).
BEM (Block Element Modifier).
OOCSS (Object-Oriented CSS).
AVCSS (Atomic virtual CSS).
SOA (service oriented architecture) é uma arquitetura empregada para reutilizar serviços em sistemas diferentes ou combinar vários serviços independentes para realizar tarefas complexas.
Certo
Errado