Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Material de Estudo 76: Engenharia de Software - Arquitetura de Software
1. O que é arquitetura de software?
a) O código-fonte de um software. b) A interface com o usuário. c) A estrutura de alto nível de
um sistema de software, incluindo seus componentes (módulos, classes, subsistemas), suas
inter-relações, as propriedades visíveis externamente desses componentes e os princípios que
guiam seu projeto e evolução. d) O diagrama de classes UML. e) O banco de dados.
Resposta: c)
Justificativa: A arquitetura de software define a "planta" do sistema, influenciando sua
qualidade, manutenibilidade, escalabilidade e desempenho.
2. Qual padrão arquitetural organiza o sistema em camadas (layers), cada uma com
responsabilidades específicas e dependendo apenas da camada imediatamente
inferior?
a) MVC (Model-View-Controller) b) Arquitetura em camadas (layered architecture) c)
Arquitetura cliente-servidor d) Arquitetura de microsserviços e) Arquitetura orientada a
eventos
Resposta: b)
Justificativa: A arquitetura em camadas (ex: apresentação, lógica de negócios, acesso a dados)
promove a organização, o baixo acoplamento e a manutenibilidade.
3. Qual padrão arquitetural é comumente usado em aplicações web, separando a lógica
de apresentação (View), a lógica de negócios (Model) e o controle de fluxo
(Controller)?
a) Arquitetura em camadas. b) Arquitetura de microsserviços. c) MVC (Model-View-Controller).
d) Arquitetura orientada a serviços (SOA). e) Arquitetura hexagonal.
Resposta: c)
Justificativa: O MVC promove a separação de responsabilidades, facilitando o
desenvolvimento, a manutenção e os testes.
4. Qual estilo arquitetural divide uma aplicação em um conjunto de serviços pequenos,
independentes, fracamente acoplados, cada um executando uma função específica e
comunicando-se através de APIs (geralmente RESTful)?
a) Arquitetura monolítica b) Arquitetura cliente-servidor c) Arquitetura de microsserviços d)
Arquitetura em camadas e) Arquitetura publish-subscribe
Resposta: c)
Justificativa: A arquitetura de microsserviços permite maior escalabilidade, flexibilidade,
resiliência e desenvolvimento independente de diferentes partes do sistema.
5. O que é acoplamento em arquitetura de software?
a) O grau de interdependência entre os componentes (módulos, classes, serviços) de um
sistema. b) O grau de coesão dentro de um componente. c) O número de linhas de código. d) A
complexidade do código. e) A qualidade do código.
Resposta: a)
Justificativa: Um baixo acoplamento é desejável, pois torna o sistema mais flexível,
manutenível e menos propenso a erros em cascata (quando uma alteração em um
componente afeta outros).
6. O que é coesão em arquitetura de software? a) O grau de interdependência entre
diferentes módulos. b) O grau em que os elementos dentro de um mesmo módulo
(classe, componente) estão relacionados e têm um propósito único e bem definido. c)
O número de classes em um sistema. d) A complexidade ciclomática. e) A qualidade da
documentação
Resposta: b)
Justificativa: Uma alta coesão é desejável, pois torna os módulos mais fáceis de entender,
manter e reutilizar.
7. O que é SOA (Service-Oriented Architecture)?
a) Um tipo de banco de dados. b) Uma linguagem de programação. c) Um estilo arquitetural
em que a aplicação é estruturada como uma coleção de serviços fracamente acoplados,
interoperáveis e reutilizáveis, que se comunicam através de interfaces bem definidas
(geralmente usando protocolos de rede, como SOAP ou REST). d) Um padrão de projeto. e)
Uma metodologia ágil.
Resposta: c)
Justificativa: SOA visa promover a flexibilidade, a reutilização e a interoperabilidade entre
sistemas, permitindo que diferentes aplicações se comuniquem e compartilhem
funcionalidades.

Mais conteúdos dessa disciplina