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