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

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

Disciplina: Arquitetura de Software 
Curso: Análise e Desenvolvimento de Sistemas – FAM 
Lista de Exercícios – Nível Acadêmico 
 
1. Defina Arquitetura de Software e explique sua importância no 
desenvolvimento de sistemas. 
Resposta: 
 Arquitetura de Software é a estrutura fundamental de um sistema, composta por seus 
componentes, suas inter-relações e os princípios que orientam seu projeto e evolução. 
 Sua importância reside em permitir a manutenibilidade, escalabilidade, desempenho, 
segurança e reutilização do sistema, além de guiar as decisões técnicas e alinhar os 
objetivos de negócio com a engenharia de software. 
 
2. Explique o padrão arquitetural em camadas (Layered Architecture) e 
dê um exemplo prático. 
Resposta: 
 Esse padrão organiza o sistema em camadas horizontais, onde cada camada tem uma 
responsabilidade distinta. 
 Geralmente, temos: 
● Camada de Apresentação (UI) 
 
● Camada de Aplicação (Regras de Negócio) 
 
● Camada de Domínio (Modelo) 
 
● Camada de Persistência (Banco de Dados) 
 
Exemplo: 
 Em um sistema de e-commerce: 
● UI: React 
 
● Aplicação: ASP.NET Core 
 
● Domínio: entidades como Produto, Pedido 
 
● Persistência: SQL Server 
 
 
3. O que são os princípios SOLID e qual a sua relação com a Arquitetura 
de Software? 
Resposta: 
 Os princípios SOLID são diretrizes para um design de software orientado a objetos robusto 
e de fácil manutenção. Eles ajudam a manter o código modular, testável e desacoplado, 
aspectos essenciais da arquitetura de software. 
● S: Single Responsibility Principle 
 
● O: Open/Closed Principle 
 
● L: Liskov Substitution Principle 
 
● I: Interface Segregation Principle 
 
● D: Dependency Inversion Principle 
 
 
4. Compare Monólitos e Microserviços. Cite vantagens e desvantagens. 
Resposta: 
Aspecto Monólito Microserviços 
Vantagens Fácil de desenvolver e testar 
inicialmente 
Escalabilidade independente, 
resiliência 
Desvantage
ns 
Difícil de escalar e manter em larga 
escala 
Complexidade de infraestrutura, 
orquestração 
Manutenção Centralizada, porém pode virar um 
"bolo de código" 
Cada serviço pode ser mantido por 
times separados 
 
5. O que é um Design Pattern e qual a sua utilidade na arquitetura de 
sistemas? Cite dois exemplos. 
Resposta: 
 Um Design Pattern é uma solução reutilizável para um problema recorrente no design 
de software. 
 Sua utilidade está em promover boas práticas, facilitar manutenção e comunicação 
entre desenvolvedores. 
 Exemplos: 
● Singleton: Garante que uma classe tenha apenas uma instância global (ex: Logger). 
 
● Factory Method: Cria objetos sem expor a lógica de instanciação. 
 
 
6. Qual a diferença entre Arquitetura Orientada a Serviços (SOA) e 
Microserviços? 
Resposta: 
 SOA é um estilo arquitetural mais amplo, com foco em serviços reutilizáveis e 
padronizados, normalmente com uso de ESB (Enterprise Service Bus). 
 Microserviços são uma evolução prática da SOA, com foco em serviços pequenos, 
independentes, com deploys autônomos, geralmente usando APIs REST ou gRPC. 
 SOA tende a ser mais monolítica na infraestrutura; microserviços são mais 
descentralizados. 
 
7. O que é um Documento de Arquitetura (SAD – Software Architecture 
Document)? Quais são seus principais elementos? 
Resposta: 
 É um documento que descreve as decisões arquiteturais de um sistema, servindo como 
guia para o time de desenvolvimento e stakeholders. 
 Principais elementos: 
● Visão geral da arquitetura 
 
● Estilos e padrões utilizados 
 
● Modelos (camadas, componentes, fluxos) 
 
● Requisitos arquiteturais 
 
● Riscos e decisões 
 
● Justificativas 
 
 
8. Explique o conceito de “separação de preocupações” e sua aplicação 
em arquitetura. 
Resposta: 
 É o princípio de dividir o sistema em partes distintas, onde cada uma trata de uma 
responsabilidade única. 
 Na arquitetura, isso se manifesta em camadas (UI, domínio, persistência), módulos ou 
serviços independentes. 
 Facilita manutenção, testes e reuso de código. 
 
9. Quais são os benefícios da aplicação de arquiteturas baseadas em 
eventos (Event-Driven Architecture)? 
Resposta: 
● Desacoplamento: emissores e receptores não dependem diretamente um do outro 
 
● Escalabilidade: mensagens podem ser processadas de forma assíncrona 
 
● Resiliência: falhas em um serviço não afetam o restante imediatamente 
 
● Flexibilidade: fácil adicionar novos consumidores para eventos existentes 
 
 
10. Descreva o padrão MVC (Model-View-Controller) e sua importância. 
Resposta: 
 É um padrão que separa a aplicação em três componentes: 
● Model: lógica e dados 
 
● View: interface com o usuário 
 
● Controller: intermediário que processa as requisições e manipula o modelo 
 
Importância: facilita testes, manutenção e reutilização do código. Muito usado em 
frameworks web como ASP.NET MVC, Django, Laravel. 
 
	Disciplina: Arquitetura de Software 
	1. Defina Arquitetura de Software e explique sua importância no desenvolvimento de sistemas. 
	2. Explique o padrão arquitetural em camadas (Layered Architecture) e dê um exemplo prático. 
	3. O que são os princípios SOLID e qual a sua relação com a Arquitetura de Software? 
	4. Compare Monólitos e Microserviços. Cite vantagens e desvantagens. 
	5. O que é um Design Pattern e qual a sua utilidade na arquitetura de sistemas? Cite dois exemplos. 
	6. Qual a diferença entre Arquitetura Orientada a Serviços (SOA) e Microserviços? 
	7. O que é um Documento de Arquitetura (SAD – Software Architecture Document)? Quais são seus principais elementos? 
	8. Explique o conceito de “separação de preocupações” e sua aplicação em arquitetura. 
	9. Quais são os benefícios da aplicação de arquiteturas baseadas em eventos (Event-Driven Architecture)? 
	10. Descreva o padrão MVC (Model-View-Controller) e sua importância.

Mais conteúdos dessa disciplina