Formação Arquiteto de Software
Dê o próximo passo na sua carreira aprofundando seus conhecimentos técnicos e habilidades pessoais para se tornar um Arquiteto de Software.
O Arquiteto de Software é um profissional ainda muito cobiçado pelas empresas devido à escassez dessa mão de obra tão qualificada e especializada. No ambiente corporativo o arquiteto tem como papel fundamental apoiar nas decisões técnicas resolvendo a complexidade crescente dos sistemas e suas integrações, orientado às urgências e restrições do negócio. Traduzir essa complexidade em resultados passa a ser então uma necessidade para empresas que batalham entre a modernização de seus sistemas e a busca para crescer, se manter ou ingressar no mercado.
Modalidade: online
Visão Geral
O objetivo desse curso é guiar profissionais de TI com conhecimento em desenvolvimento de sistemas como programadores, analistas de sistemas e engenheiro de software em como adquirir ou aprimorar as habilidades tão desejadas de um Arquiteto de Software.
Por que participar?
Ao final deste curso os participantes estarão aptos a:
- Compreensão das atividades e papel do arquiteto de software;
- Aprender a reconhecer os padrões de arquitetura e quando utilizá-los;
- Identificar os requisitos de arquitetura de um projeto de software;
- Realizar análise de ganhos e perdas (trade-off analysis);
- Preparar uma solução de arquitetura baseado nos requisitos de negócio;
- Escrever um documento de arquitetura;
- Desenvolver modelos de arquitetura usando o modelo C4;
- Desenhar a arquitetura lógica e física necessária para uma determinada aplicação;
- Entender os modelos de hospedagem de um software e poder recomendar a melhor solução para o negócio;
- Atuar na resolução de casos complexos de integrações de software;
- Apresentar e reportar os benefícios da arquitetura adotada para os times de negócio.
Conteúdo programático
- Capítulo 1 – Introdução
- Evolução dos sistemas
- O que é arquitetura?
- Por que arquitetura é importante?
- Arquitetura de aplicação
- Arquitetura de solução
- Arquitetura corporativa
- Conceitos de arquitetura de software
- Princípios de arquitetura de software
- Modelos e visões arquiteturais
- Capítulo 2 – O Projeto de Software
- Programação orientação a objetos
- Isolamento de responsabilidade e CRC
- Componentização
- Acoplamento e Coesão
- Granularidade
- Domain Driven Design
- Analysis Patterns
- Injeção de dependência
- Inversão de controle
- Camadas da Aplicação
- Programação orientada à aspectos
- Frameworks
- Building Blocks de Arquitetura
- Refatoração
- Capítulo 3 – Padrões de Projetos de Software (Design Patterns)
- O que são padrões de projeto?
- Estrutura do padrão de projeto
- Benefícios e aplicabilidade
- Padrões de projeto mais comuns
- Capítulo 4 – Padrões de Integração de Sistemas
- O problema do mundo corporativo
- Tipos de Integração
- Níveis de Integração
- File Transfer
- Shared Database
- RPC
- Mensageria
- Eletronic Data Interchange (EDI)
- Extraction, Transformation and Loading (ETL)
- Common Object Request Broker Architecture (CORBA)
- SOAP
- REST & RESTful
- XML e JSON
- Capítulo 5 – Padrões de Arquitetura de Software
- Padrões Fundamentais
- Monolítica
- Distribuída
- Capítulo 6 – Tecnologias
- Persistência de Dados
- Data Warehouse
- Business Intelligence (BI)
- Internet das Coisa (IoT)
- Machine Learning e Inteligência Artificial
- Big Data
- Block Chain
- Virtualização e Containers (Docker)
- Modelos de Hospedagem
- Capítulo 7 – Criando Arquiteturas
- Requisitos de arquitetura
- Padrão ISO/IEC 9126 de requisitos de software
- Katas de arquitetura
- Unified Modeling Language (UML)
- Modelagem Ágil
- O modelo C4
- O documento de arquitetura
- Comparando os prós e contras de uma arquitetura
- Capítulo 8 – Manutenção e Evolução da Arquitetura
- Decadência Estrutural
- Macro Detecção
- Micro Detecção
- Ferramentas de Análise de Arquitetura
- DevOps Pipeline
- Integração Contínua
- Entrega Contínua
- Configuration as Code
- Infrastructure as Code
- Entrega contínua de arquitetura
- Arquitetura Evolucionária
- Capítulo 9 – O Arquiteto de Software
- Atividades do arquiteto de software
- Papel do arquiteto de software
- Habilidades do arquiteto de software
- Pensando como um arquiteto de software
- Desenvolvendo uma carreira de arquitetura
Público alvo
Desenvolvedores, Analistas de Sistemas, Engenheiros de Softwares.
Pré-requisitos
Ter vivência em projetos de desenvolvimento de software, conhecimento gerais sobre banco de dados, redes e hardware.
Material didático
O curso aborta temas teóricos e práticos com exercícios de fixação e exercícios práticos com apoio de ferramenta.
O material didático inclui apostila, estudo de caso e exercícios.
Recursos Necessários
Computador com acesso à internet.
Duração
20 horas