Arquitetura de Software Distribuído
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:
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.
Áreas 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.
Á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 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
COMPETÊNCIAS DISCIPLINARES
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
Análisar 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
CONTEÚDO PROGRAMÁTICO
APIS E WEB SERVICES
APLICAÇÕES DESCENTRALIZADAS E BLOCKCHAIN
ARQUITETURA DE BACK END
ARQUITETURA DE FRONT END
ARQUITETURA DE GERENCIAMENTO DE DADOS
ARQUITETURA DE SOFTWARE COM FRAMEWORK JAVA
ARQUITETURA DE SOFTWARE NA PLATAFORMA. NET
ARQUITETURA DE SOLUÇÕES EM NUVEM
ARQUITETURA PARA APLICAÇÕES MÓVEIS
CULTURA E PRÁTICAS DEVOPS
CULTURA E PRÁTICAS DEVSECOPS
INTERNET DAS COISAS: ARQUITETURA, TECNOLOGIAS E APLICAÇÕES
MONITORAMENTO E OBSERVABILIDADE
PLATAFORMAS BACK END - NODE.JS
PROJETO DE ARQUITETURA DE SOFTWARE
HUMANIDADES*
*Atenta as tendências de mercado e visando desenvolver a compreensão do ser humano frente às ambiguidades existenciais e sócio religiosas da contemporaneidade, a PUC Minas Virtual disponibilizará como disciplina bônus, além das disciplinas previstas para cada um de seus cursos, a disciplina Humanidades.
Confira as disciplinas e com suas respectivas ementas AQUI.
CORPO DOCENTE
Andre Luis de Castro Magalhães - Especialista
Augusto Nogueira Zadra - Mestre
Carlos Leonardo dos Santos Mendes - Mestre
Fabio Gomes Jardim - Especialista
Ilo Amy Saldanha Rivero - Metre
Leandro Moreira Garcia - Especialista
Marco Aurélio de Souza Mendes - Mestre
Marcos Arrais e Silva - Doutor
Paulo Henrique Nazaré - Especialista
Rommel Vieira Carneiro - Mestre
Samuel Almeida Cardoso - Especialista
Samuel Martins da Silva - Especialista
O corpo docente poderá sofrer alteração em caso de alguma eventualidade.
METODOLOGIA
Para ver a metodologia completa, clique AQUI.
INSCRIÇÃO E MATRÍCULA
O processo é realizado em duas fases:
1. INSCRIÇÃO
- Ao clicar no botão Quero me Inscrever, o candidato deverá seguir as etapas do processo, que acontece dentro do portal de inscrições Vem Pra PUC.
- Na página inicial do curso escolhe a forma de pagamento, parcelada ou à vista;
- Após a conclusão desta fase, o candidato receberá um e-mail com a confirmação da inscrição.
2. MATRÍCULA
O candidato receberá e-mail com o link do Painel do candidato para cumprir três procedimentos:
- atualização dos dados cadastrais;
- upload da documentação necessária. Confira AQUI a lista dos documentos necessários;
- adesão ao termo de matrícula.
PAINEL DO CANDIDATO
Caso não receba o e-mail da matrícula, o candidato poderá acessar o ambiente Painel do candidato e seguir com os passos para a realização do processo por lá. Além disso, ele conseguirá acompanhar as informações da matrícula e consultar o status do curso.
IMPORTANTE
Somente após a realização da inscrição que o candidato estará apto a seguir para a etapa da matrícula.
A realização do upload dos documentos exigidos na fase de matrícula é obrigatória para a continuidade do processo.
Etapas de inscrição e matrícula finalizadas? Agora o candidato deverá aguardar as informações e orientações que serão enviadas por e-mail e também disponibilizadas no Painel do Candidato.
ATENÇÃO • REQUISITO PREVISTO EM LEI
Apenas os candidatos que tenham colado grau na graduação poderão se inscrever para um curso de pós-graduação da PUC Minas. Este é um requisito previsto na Lei nº 9.394 e também no Contrato de Prestação de Serviços (clique AQUI para ter acesso). A conferência desse requisito será feita pela PUC Minas e, caso seja identificada alguma irregularidade, a matrícula será cancelada a qualquer momento (conforme cláusula 4.5.1 do contrato). Neste caso, o candidato não terá direito ao recebimento de reembolso dos valores já pagos.
Migração de cursos:
Caso você tenha realizado a sua inscrição e o pagamento, mas queira mudar de opção de curso, clique aqui e faça a sua solicitação de migração. A nossa equipe irá receber a sua solicitação e dar andamento.
Caso não receba as mensagens da PUC Minas, confira sempre a sua caixa de spam.
Tem alguma dúvida? Acesse o nosso FAQ
ACESSO AO CURSO
RECEBIMENTO DE ORIENTAÇÕES DE ACESSO
REQUISITOS TECNOLÓGICOS
O aluno deve possuir ou ter acesso a um computador com a seguinte configuração mínima:
- Processador com frequência mínima de 2 GHz ou superior e 2 núcleos;
- 4 GB de memória RAM (recomenda-se 8 GB) *;
- Placa de vídeo configurada com resolução mínima de 1024 x 768 pixels;
- Placa de som com caixas acústicas (ou fones de ouvido) e microfone;
- Windows 10 (atualizado para a versão 1903 ou superior), Windows 11, MacOS (versão 10.13 - High Sierra ou superior) ou Linux;
- Google Chrome (versão mais recente) ou Mozilla Firefox (versão mais recente);
- Acesso à Internet, com velocidade mínima de conexão de 2 Mbps;
- Correio eletrônico pessoal (e-mail).
Observação: O aluno com necessidades especiais deverá informar à Universidade no ato da inscrição. Para alunos portadores de necessidades especiais no campo da visão, é necessário acesso a um programa (software) de leitura de tela.
* Alunos dos cursos BIM Manager e BIM PROJETOS PARAMÉTRICOS E DESIGN DIGITAL APLICADOS À CONSTRUÇÃO CIVIL: A universidade não se responsabiliza pela aquisição das licenças comerciais dos softwares a serem utilizados no curso. O aluno deverá obter versões acadêmicas e gratuitas no site dos fabricantes. É recomendável que o computador do usuário possua no mínimo 16 Ghz de memória RAM (recomenda-se 32) para uso de softwares de autoria BIM.
REQUISITOS ACADÊMICOS
Já ter colado grau.
Possuir diploma de curso de graduação (reconhecido pelo Ministério da Educação do Brasil).
Preencher os requisitos básicos de formação de acordo com a necessidade de cada curso.
- Tadeu dos Reis Faria - Mestre
- Luiz Alberto Ferreira Gomes -
Área do Conhecimento
Tecnologias DigitaisPeríodo de Realização
O curso possui carga horária total de 360 horas. A prestação dos serviços é prevista para 18 meses.
Carga Horária
Em breveInvestimento
24 x R$ 260,00
20 x R$ 312,00
15 x R$ 416,00
10 x R$ 624,00
5 x R$ 1248,00
1 parcela - pagamento à vista com desconto 7% - 5.804,00
Pagamento parcelado: a primeira parcela será quitada no ambiente da loja VEM PRA PUC. As demais deverão ser pagas diretamente à própria instituição PUC Minas por meio de boletos gerados pelo aluno no sistema acadêmico (também serão enviados por e-mail mensalmente).
Alunos que residem no exterior: a forma de pagamento deve ser à vista e realizada por transferência bancária ou em 1x no cartão de crédito. Para mais esclarecimentos, gentileza contatar diretamente a Divisão Financeira - ead.financeiro@pucminas.br
Pessoa Jurídica como responsável pelo pagamento das mensalidades
Nos casos em que o candidato será beneficiado por uma pessoa jurídica que arcará no todo ou em parte com as mensalidades dos cursos de pós graduação EAD, será necessário gerar o contrato de coparticipação financeira e preencher todos os dados editáveis do documento, imprimir, assinar e carimbar o respectivo documento e enviar a cópia digitalizada para ead.financeiro@pucminas.br. O processo também se aplica se por ventura o curso for pago à vista.
Trabalho de conclusão de curso
Para os alunos que ingressarem a partir de 2023, o Trabalho de Conclusão de Curso não é mais obrigatório na PUC Minas Virtual*, no entanto, o aluno poderá, opcionalmente, contratar um TCC. Após a contratação, será apresentada ao aluno a proposta de trabalho, bem como designado um orientador individual. As informações que dizem respeito à execução do TCC também serão disponibilizadas por meios de textos e vídeos. A duração prevista para o trabalho é de 60 dias e, ao final, o aluno deverá fazer uma apresentação via Internet.
*Exceto para o curso de Engenharia de Segurança do Trabalho.
Certificação
Você receberá o certificado de especialista emitido em formato digital pela PUC Minas. O documento terá um link e código para verificação de autenticidade e veracidade. O certificado do curso a distância é igual ao de um curso presencial.
Veja o modelo AQUI.
Benefícios
- Estude onde e quando quiser
- Tenha atendimento personalizado
- Utilize material didático exclusivo, com acesso a Bibliotecas virtuais.
- Tenha suporte acadêmico e tecnológico
Diploma Estrangeiro
Alunos com diploma de graduação emitido fora do territorio nacional, devem acessar o link oficial do MEC para revalidar ou reconhecer seu diploma no Brasil
Estágio
Informamos que assinamos e autorizamos a realização de estágio nos cursos de pós-graduação a distância. O estágio não obrigatório poderá ser realizado em qualquer período do Curso, desde que o curso tenha sua oferta confirmada e as aulas tenham iniciadas.
Ademais, as atividades desenvolvidas no estágio deverão visar o aprendizado de competências próprias da atividade profissional e à contextualização curricular, seguindo o previsto na Lei Federal n° 11.788 de 25 de setembro de 2008 (BRASIL, 2008) e Normas Acadêmicas da PUC Minas (2018). *
*Exceto para o curso de EDUCAÇÃO BILÍNGUE E PLURILÍNGUE
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