O curso foi concebido de modo a prover habilidades e competências para formação avançada dos profissionais que atuam na concepção, construção e implantação de softwares que usam aspectos de arquitetura de software em ambientes distribuídos. Ele justifica-se pela crescente adoção de tecnologias e padrões baseados na Internet, pela demanda por aplicações em dispositivos móveis, bem como pela necessidade de armazenamento, processamento e integração de grandes volumes de informação que têm incentivado a proliferação de aplicações desenvolvidas em arquiteturas distribuídas. Destacam-se nesse contexto a cultura DevOps/DevSecOps e ampliação de serviços em cloud computing. Este curso irá ajudá-lo a entender a necessidade de soluções inovadoras de software com arquiteturas consistentes e a desenvolver soluções arquiteturais observando os requisitos e padrões arquiteturais necessários à construção de software nas diversas perspectivas tecnológicas.
COMO FUNCIONA A MODALIDADE
OBJETIVOS
O Curso de Especialização em Arquitetura de Software Distribuído visa:
Compreender os princípios, padrões e metodologias para o design de soluções de software.
Capacitar estudantes capazes de projetar, implementar e gerenciar arquiteturas de software robustas, escaláveis e seguras para softwares.
Capacitar os estudantes a aplicar práticas modernas de engenharia de software, incluindo DevOps, DevSecOps e metodologias ágeis, no contexto de arquitetura de software.
Proporcionar um entendimento das diferentes camadas arquiteturais (front-end, back-end, mobile) e suas interações, permitindo a criação de soluções integradas e eficientes.
Aprender a utilizar as principais ferramentas e frameworks para o desenvolvimento de software, como Node.js, .NET, Java, Docker, Kubernetes e outras.
Preparar os profissionais para lidar com tecnologias emergentes e paradigmas arquiteturais, incluindo computação em nuvem, Internet das Coisas (IoT) e Inteligência Artificial.
Fomentar habilidades de tomada de decisão arquitetural, considerando trade-offs, requisitos não-funcionais e impactos de longo prazo nas escolhas de design.
Promover a compreensão e aplicação de práticas de monitoramento, observabilidade e segurança em arquiteturas de software.
Desenvolver uma visão holística da arquitetura de software, integrando aspectos técnicos, de negócios e de gestão.
Estimular o pensamento crítico e a capacidade de inovação na resolução de problemas complexos de arquitetura de software.
Competências a serem desenvolvidas
Ao final do curso, o aluno será capaz de:
Entender a importância da arquitetura de software distribuído no contexto corporativo bem como no contexto do processo de desenvolvimento de software;
Ter ampla visão sobre os conceitos relacionados à arquitetura de software e dos processos de engenharia de software que orientam a definição da arquitetura;
Conhecer competências em técnicas, ferramentas e tecnologias para o desenvolvimento de requisitos arquiteturais necessários à construção de software e para modelar e documentar arquiteturas de software;
Propor soluções em arquitetura de software distribuído aptas a maximizar o valor do software fazendo, também, com que ele gere valor para o negócio do cliente.
Conhecer elementos básicos sobre tecnologias como: computação móvel, computação em nuvem, DevOps, IA, API, microserviço, NODE.js, NET e JEE e explicitar componentes básicos para uma arquitetura de software distribuído que usa tais tecnologias;
Redefinir arquiteturas de softwares legados ou integrá-los à aplicativos modernos considerando novas tecnologias;
Identificar e discutir conceitos emergentes relacionados à arquitetura de software distribuído e verificar seus impactos em novos projetos.
ÁREA DE ATUAÇÃO DO EGRESSO
O especialista em Arquitetura de Software Distribuído poderá atuar como Arquiteto de Software e nas mais diversas áreas que demandam o desenvolvimento de software e em diversos papéis como: Arquiteto de soluções, Desenvolvedor Full stack, Gerente de Projetos de Software, DevOps, entre outros. Além disso, ele poderá atuar nos mais diversos tipos de projetos inovadores em TI.
PÚBLICO-ALVO
Profissionais com formação superior em:
Em Engenharia de Software, Sistemas de Informação, Ciência da Computação, Engenharia de Computação e tecnólogos da área de Tecnologia da Informação e outros cursos correlatos;
Nas mais diversas áreas e que tenham alguma experiência em desenvolvimento de software;
Arquitetos de software que já atuam em projetos de TI e queiram ampliar e aperfeiçoar seus conhecimentos técnicos em arquitetura de software.
PROGRAMA DO CURSO
Arquitetura de Front End
Arquitetura de Back End
APIs e Web Services
Arquitetura de Aplicações Móveis
Internet das Coisas: arquitetura, tecnologias e aplicações
Arquitetura de Solução de Inteligência Artificial
Arquitetura de Aplicações com Node.js.
Arquitetura de Software na Plataforma. NET
Arquitetura de Software com Framework Java
Arquitetura de Gerenciamento de Dados
Arquitetura de Soluções em Nuvem
Projeto de Arquitetura de Software
Humanidades
Cultura e Práticas DevOps
Cultura e Práticas DevSecOps
Monitoramento e Observabilidade
DETALHES DO PROGRAMA
Módulo 1: Práticas e Cultura de Engenharia de Software Moderna
Cultura e Práticas DevOps
Ao final da disciplina, os alunos deverão ser capazes de:
Compreender a cultura DevOps e seus benefícios
Implementar CI/CD e infraestrutura como código utilizando ferramentas como Docker e Kubernetes
Projetar pipelines de build e deployment seguros e eficazes
Promover uma cultura de DevOps colaborativa e centrada na automação de testes e processos
Integrar práticas de DevOps em projetos de desenvolvimento soluções
Cultura e Práticas DevSecOps
Ao final da disciplina, os alunos deverão ser capazes de:
Conhecer os conceitos fundamentais de DevOps e DevSecOps
Entender do Secure Development Lifecycle (SDLC)
Implementar práticas de segurança end-to-end no desenvolvimento de software
Gerenciar e construir de pipelines DevSecOps.
Aplicar as melhores práticas em DevSecOps
Usar técnicas de verificação de segurança (IAST, SAST, DAST, RASP)
Compreender Security Observability
Monitoramento e Observabilidade
Ao final da disciplina, os alunos deverão ser capazes de:
Compreender a diferença entre monitoramento e observabilidade e seus benefícios específicos
Implementar estratégias de monitoramento e observabilidade em soluções de software
Utilizar ferramentas de monitoramento e APM
Criar e interpretar dashboards e alertas de performance
Aplicar conceitos de SLO e Error Budgeting
Utilizar logs, métricas e tracing para diagnóstico de problemas
Integrar práticas de métricas e medição de maturidade em abordagens DevOps.
Módulo 2: Arquiteturas Web e Mobile
Arquitetura de Front End
Ao final da disciplina, os alunos deverão ser capazes de:
Dominar o ambiente de desenvolvimento moderno, incluindo IDEs, gerenciadores de pacotes, loaders e bundlers
Aplicar a abordagem Mobile First e responsividade
Utilizar frameworks e pré-processadores CSS
Aplicar abordagens arquiteturais para CSS (BEM, SMACSS, OOCSS, RSCSS, CSS-in-JS)
Implementar abordagens arquiteturais de front end (SPA, PWA, SSR, WebAssembly, Micro frontends)
Abordar aspectos de segurança no front end
Aplicar técnicas de otimização para motores de busca (SEO).
Arquitetura de Back End
Ao final da disciplina, os alunos deverão ser capazes de:
Compreender os estilos arquiteturais de back end
Aplicar mecanismos arquiteturais de back end
Dominar padrões, protocolos e especificações de back end
Implementar diferentes abordagens arquiteturais de back end
Selecionar tecnologias e frameworks adequados para a construção de back end.
APIs e Web Services
Ao final da disciplina, os alunos deverão ser capazes de:
Compreender os fundamentos e arquiteturas de APIs (SOAP, REST, GraphQL, etc.).
Projetar, documentar e testar APIs, assegurando segurança e boas práticas.
Implementar diferentes abordagens arquiteturais de APIs
Utilizar protocolos como REST e SOAP para criar e consumir APIs
Documentar APIs de forma clara e completa
Aplicar práticas de segurança no desenvolvimento de APIs
Gerenciar o ciclo de vida completo de API.
Arquitetura de Aplicações Móveis
Ao final da disciplina, os alunos deverão ser capazes de:
Analisar requisitos arquiteturais para aplicações móveis
Fazer design de interfaces para dispositivos móveis e seus padrões arquiteturais
Conhecer dos diferentes tipos de aplicações móveis
Aplicar padrões arquiteturais para aplicações móveis
Compreender e implementar de Web Workers e Progressive Web Apps (PWA)
Utilizar frameworks e middlewares para aplicações móveis.
Módulo 3: Plataformas e Frameworks
Arquitetura de Aplicações com Node.Js
Ao final da disciplina, os alunos deverão ser capazes de:
Conhecer a arquitetura e características do Node.js.
Identificar padrões de design adequados para Node.js.
Projetar soluções escaláveis utilizando microserviços e aplicações distribuídas.
Projetar soluções com arquitetura do tipo: CQRS, Microserviços e hexagonal
Aplicar técnicas para garantir a resiliência das aplicações.
Implementar estratégias de caching para otimização de desempenho.
Analisar e otimizar o desempenho das aplicações Node.js, utilizando técnicas como profiling e benchmarking.
Compreender e implementar gerenciamento de sessão em aplicações distribuídas, utilizando cookies, JWT e sessões no servidor,
Aplicar práticas de segurança,
Compreender e aplicar práticas de DevOps, incluindo CI/CD e automação de testes para aplicações Node.js.
Analisar diferentes níveis de testes (unitários, integração e end-to-end) em aplicações Node.js.
Entender a gestão do ciclo de vida da aplicação.
Entender como produzir documentação de aplicações Node.js.
Arquitetura de Software na Plataforma .NET
Ao final da disciplina, os alunos deverão ser capazes de:
Conhecer a plataforma .NET e seus frameworks
Aplicar padrões de design como Transaction Script, Table Module, Active Record e Domain Model
Criar e definir serviços backend com WCF e arquiteturas RESTful com ASP.NET Web API
Utilizar .NET Core em projetos.
Arquitetura de Software com Framework Java
Ao final da disciplina, os alunos deverão ser capazes de:
Usar o framework Spring e seu ecossistema
Desenvolver aplicações web com Spring MVC e Spring Security
Criar APIs REST e testes com Spring Boot
Projetar arquitetura de aplicações utilizando o ecossistema Spring
Desenvolver microsserviços e soluções serverless com Java.
Módulo 4: Arquiteturas avançadas e Dados
Arquitetura de Soluções em Nuvem
Ao final da disciplina, os alunos deverão ser capazes de:
Avaliar diferentes provedores de nuvem (IaaS, SaaS, PaaS) para escolher a melhor solução baseada em necessidades específicas de elasticidade e disponibilidade
Projetar arquiteturas de nuvem seguras e escaláveis que suportem DevOps, proporcionando uma integração contínua e entrega ágil
Implementar soluções eficientes de multi-cloud e cloud híbrida, assegurando a interoperabilidade entre nuvens públicas e privadas
Realizar análises de viabilidade técnica e financeira para justificar o uso de certas tecnologias e abordagens de nuvem.
Internet das Coisas: Arquitetura, Tecnologias e Aplicações
Ao final da disciplina, os alunos deverão ser capazes de:
Conhecer de protocolos e tecnologias IoT
Projetar arquiteturas IoT escaláveis e seguras
Compreender os desafios e oportunidades da IoT
Desenvolver aplicações e serviços IoT
Usar plataformas de desenvolvimento e avaliação de soluções IoT.
Arquitetura de Solução de Inteligência Artificial
Ao final da disciplina, os alunos deverão ser capazes de:
Compreender técnicas e algoritmos de aprendizado de máquina
Definir o ciclo de vida de soluções de IA
Formular e definir projetos de IA considerando escopo, metodologia e etapas
Projetar a arquitetura de Machine Learning, incluindo camadas, componentes, infraestrutura e ferramentas MLOps
Selecionar modelos e ferramentas adequados
Implementar a implantação contínua, o empacotamento e implantação de modelos
Estabelecer a governança e a segurança em soluções de IA.
Arquitetura de Gerenciamento de Dados
Ao final da disciplina, os alunos deverão ser capazes de:
Compreender os conceitos e princípios de arquitetura de dados
Compreender e aplicaar o conceito de Data Mesh
Compreender e usar Uso de SGBDs Relacionais e NoSQL, Data Warehouse e Data Lake
Desenvolver processos ETL e ELT
Implementar de soluções de processamento distribuído e barramentos de mensageria de dados.
Elaborar e gerir arquiteturas de dados.
Módulo 5: Projeto Prático e Desenvolvimento Pessoal
Projeto de Arquitetura de Software
Ao final da disciplina, os alunos deverão ser capazes de:
Saber sobre a importância e os conceitos fundamentais da arquitetura de software
Identificar e analisar os requisitos arquiteturais e stakeholders
Aplicar as estruturas e estilos arquiteturais
Usar técnicas e notações para desenho e documentação arquitetural
Analisar Trade-off e registro de decisões arquiteturais
Avaliar métricas de arquitetura de software.
Humanidades
Ao final da disciplina, os alunos deverão ser capazes de:
Refletir sobre o papel da ética e da espiritualidade no contexto científico e tecnológico
Avaliar os impactos sociais e humanistas do uso de dados e tecnologia
Desenvolver uma ética profissional sólida em ambientes de trabalho colaborativos e tecnológicos.
CORPO DOCENTE
Anderson da Silva Theobaldo - Mestre
Augusto Nogueira Zadra- Doutor
Leandro Moreira Garcia- Especialista
Kleber Jacques Ferreira de Souza- Doutor
Marco Aurélio de Souza Mendes- Mestre
Marco Paulo Moreira Teixeira - Especialista
Paulo Henrique Nazaré - Especialista
Rafael Kelles Vieira Lage - Mestre
Samuel Almeida Cardoso - Mestre
Renan Santos Mendes - Doutor
Ricardo Brito Alves - Mestre
Samuel Martins da Silva - Especialista
Túlio Philipe Ferreira e Vieira - Mestre
O corpo docente poderá sofrer alteração em caso de alguma eventualidade.
INSCRIÇÃO E MATRÍCULA
INSCRIÇÕES ABERTAS
2. MATRÍCULA
FAÇA SUA MATRÍCULA PARA GARANTIR A SUA VAGA!
IMPORTANTE
ATENÇÃO • REQUISITO PREVISTO EM LEI
- Tadeu dos Reis Faria - Mestre
Área do Conhecimento
Tecnologias DigitaisPeríodo de Realização
Início: 07/04/2025Previsão de término: 17/06/2026
Carga Horária
444 horas/aula*.*Hora/aula de 50 minutos (carga horária total equivalente à 370 horas)
Horário
Aulas ao vivo, às segundas e quartas-feiras, das 19h às 22h30. Eventualmente, poderá ocorrer em outro dia da semana.Investimento
24 x R$ 482,00
18 x R$ 630,00
6 x R$ 1.809,00
À vista R$ 10.658,00
Pessoa Jurídica como responsável pelo pagamento das mensalidades
Requisitos Tecnológicos
O aluno deve ter acesso próprio a equipamentos de acordo com as configurações técnicas especificas. Acesse aqui os detalhes.
Trabalho de conclusão de curso
O TCC não é obrigatório para a finalização do curso de pós-graduação. Caso tenha interesse, o aluno pode contratar o serviço de tutoria específica para realizar um TCC. Mais informações, atendimentoiec@pucminas.br
Certificação
Dispensa de Disciplinas
Diploma estrangeiro
Alunos com diploma de graduação emitido fora do território nacional, devem acessar o link oficial do MEC para revalidar ou reconhecer seu diploma no Brasil.
Estágio
Estude na Melhor
Não decidiu qual curso fazer?
Faça um teste de orientação profissional para ajudar você na sua escolha.
Blog Conexão PUC Minas
Informações sobre sua formação profissional e mercado de trabalho.
Por que escolher a Puc Minas
- Inovação
A PUC Minas foi eleita uma das universidades mais inovadoras do país, segundo o RUF.
- Reputação
A maior universidade católica do mundo é também uma das melhores do mundo pela Times Higher Education.
- Intercâmbio
Convênio com mais de 160 instituições pelo mundo para ampliar a experiência acadêmica e criar um ambiente multicultural.
- Pesquisa
Programas de pesquisa que amplicam o conhecimento e a inovação no Estado e estreitam as relações com empresas
- Empregabilidade
Estudar em uma das 10 universidades mais respeitadas pelos empregadores do Brasil faz toda a diferença na sua formação.
- Estrutura de Ponta
Laboratórios com estrutura de ponta para você vivenciar em profundidade e realidade da profissão.
Entre em contato com a nossa central