SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Fundamentos da
Arquitetura de Software
Estruturando Sistemas sem Perder a Cabeça
Pedro Castilho
22/04/2021
/in/pcstl
@coproduto @coproduto
Quem sou eu?
- Desenvolvedor há 12 anos
- Atualmente “Desenvolvedor Gerente”
- Compiladores
- Aplicativos
- Embarcados
- Um pouco de tudo
- Cozinheiro nas horas vagas
O que faço atualmente
- CTO
- Arquiteto
- Líder técnico
- Pau pra toda obra
Sobre o que vamos falar hoje
- O que é arquitetura de software?
- Modularidade
- Dependências
- Sistemas e fronteiras
- Princípios e heurísticas
- Extensibilidade
Sobre o que NÃO vamos falar hoje
- Design Patterns
- Linguagens de programação
- Ferramentas
- UML
1: O que é Arquitetura de Software?
O que é Arquitetura de Software?
O que é Arquitetura de Software?
O que é Arquitetura de Software?
O que é Arquitetura de Software?
Sistema
O que é Arquitetura de Software?
Sistema
Cliente Servidor
O que é Arquitetura de Software?
Cliente Servidor DB
O que é Arquitetura de Software?
O que é Arquitetura de Software?
Entidades
Relações
Prática 1: Desenho Top-Down
Prática 1: Desenho Top-Down
Opções de sistema:
- 1. Uma plataforma de streaming de vídeo
- 2. Uma rede social
- 3. Um motor de busca
- 4. Ideias?
Prática 2: KISS
Prática 2: KISS
- De tudo que criamos na última prática, o que podemos eliminar?
KISS
- Mantenha a simplicidade
- Comece com o sistema mais simples que possa plausivelmente funcionar
- Não pense demais no começo
2: Modularidade e Dependências
Módulos
- Unidade de organização do código
- Classes? Módulos? Arquivos? Tanto faz
- Alguns usam outros
Dependências
A B
“A depende de B”
Dependências
Sistema
Cliente Servidor
Acoplamento
Prática 3: Modularização
Prática 3: Modularização
O Princípio da Responsabilidade Única
Cada módulo deve ter apenas uma responsabilidade.
Prática 4: Responsabilidades Únicas
Componentes e o Princípio do Fecho
Os módulos em um mesmo componente devem ter apenas um motivo para
mudar.
Prática 5: Componentização
O Mapa e o Território
O Mapa e o Território
O Mapa e o Território
3: Preocupações arquiteturais
Preocupações arquiteturais
- Custo
- Performance
- Escalabilidade
- Manutenibilidade
- Observabilidade
- Extensibilidade
Preocupações arquiteturais
- Custo
- Performance (qual performance?)
- Escalabilidade
- Manutenibilidade
- Observabilidade
- Extensibilidade
Prática 6: Performance na prática
Prática 7: Manutenibilidade e observabilidade
Conclusão
Muito obrigado!
/in/pcstl
@coproduto @coproduto

Mais conteúdo relacionado

Semelhante a Fundamentos Arquitetura Software

III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...
III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...
III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...Felipe Alencar
 
LIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃO
LIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃOLIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃO
LIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃOOs Fantasmas !
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDRogerio P C do Nascimento
 
Mercado de trabalho
Mercado de trabalhoMercado de trabalho
Mercado de trabalhomentrixmax
 
MVC já era! O negócio é DCI!
MVC já era! O negócio é DCI!MVC já era! O negócio é DCI!
MVC já era! O negócio é DCI!Flávio Lisboa
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazerProjetos e TI
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREErnesto Bedrikow
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e umlneilaxavier
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual cFabiano Lima
 
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFSApresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFSRogerio P C do Nascimento
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETMário Meyrelles
 
Microservices - ESX - Meetup #24
Microservices - ESX - Meetup #24Microservices - ESX - Meetup #24
Microservices - ESX - Meetup #24Lucas Massena
 

Semelhante a Fundamentos Arquitetura Software (20)

P2_Aula1-convertido.pptx
P2_Aula1-convertido.pptxP2_Aula1-convertido.pptx
P2_Aula1-convertido.pptx
 
III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...
III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...
III SBTI - Sessão 4 – Abordagem Dirigida a Modelos para o Gerenciamento de Re...
 
LIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃO
LIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃOLIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃO
LIVRO PROPRIETÁRIO - CENÁRIOS DE TECNOLOGIA DA INFORMAÇÃO
 
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhDDisciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
Disciplina Gerencia de Projetos - Prof. Rogerio P C do Nascimento, PhD
 
Mercado de trabalho
Mercado de trabalhoMercado de trabalho
Mercado de trabalho
 
Planejamento rede
Planejamento rede Planejamento rede
Planejamento rede
 
MVC já era! O negócio é DCI!
MVC já era! O negócio é DCI!MVC já era! O negócio é DCI!
MVC já era! O negócio é DCI!
 
Webinar projetos e ti - business intelligence - como fazer
Webinar   projetos e ti - business intelligence - como fazerWebinar   projetos e ti - business intelligence - como fazer
Webinar projetos e ti - business intelligence - como fazer
 
Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
Aula4-modelagem e uml
Aula4-modelagem e umlAula4-modelagem e uml
Aula4-modelagem e uml
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Sql01 final
Sql01 finalSql01 final
Sql01 final
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFSApresentação da Disciplina Gerência de Projetos - DCOMP - UFS
Apresentação da Disciplina Gerência de Projetos - DCOMP - UFS
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Microservices - ESX - Meetup #24
Microservices - ESX - Meetup #24Microservices - ESX - Meetup #24
Microservices - ESX - Meetup #24
 
Redes - ISO/OSI
Redes - ISO/OSIRedes - ISO/OSI
Redes - ISO/OSI
 

Fundamentos Arquitetura Software