Engenharia de Software
O dinamismo do desenvolvimento e da evolução da área de Tecnologia da Informação exige que seus profissionais estejam em constante processo de reciclagem / aprendizagem. Para se desenvolver software de qualidade e que atendam às reais necessidades de seus usuários, é de suma importância a utilização de metodologias que conduzam de forma eficiente e eficaz esse processo. O curso apresenta uma visão crítica e prática do emprego da Engenharia de Software no processo de desenvolvimento de software para os mais variados ambientes organizacionais, abordando técnicas, tendências e estado da arte da Engenharia de Software, como desenvolvimento de aplicações web front-end e back-end, SCRUM, DevOps, DevSecOps, Design Thinking, Design Sprints, TDD, Generative AI, dentre outras. O curso é tradicional na PUC Minas, ocorrendo semestralmente desde 1999.
COMO FUNCIONA A MODALIDADE
OBJETIVOS
O Curso de Especialização em Engenharia de Software visa:
- Desenvolver junto aos alunos habilidades de análise e utilização das tecnologias e metodologias da Engenharia de Software com o intuito de aplicá-las nos mais variados contextos organizacionais;
- Capacitar os alunos a gerenciar projetos de software de forma ágil e eficiente, utilizando metodologias como Scrum, Kanban, e práticas DevOps e DevSecOps para promover uma cultura de colaboração e automação contínua;
- Preparar os alunos para utilizar abordagens de design de software, incluindo Design Thinking e Domain-Driven Design, para criar soluções centradas no cliente;
- Ensinar os fundamentos da engenharia de requisitos e da qualidade de software, com foco na garantia da qualidade e na satisfação do cliente;
- Desenvolver habilidades para trabalhar com diferentes tecnologias e bancos de dados, incluindo relacionais e não relacionais.
- Fornecer habilidades práticas para a criação e gestão de APIs seguras e eficientes e a utilização de bancos de dados relacionais e não relacionais para atender às necessidades de dados diversificadas;
- Explorar a aplicação de IA no desenvolvimento de software para melhorar a produtividade e a qualidade do desenvolvimento de software.
Competências a serem desenvolvidas
Ao final do curso, o aluno será capaz de:
- Compreender questões conceituais, padrões e práticas relacionadas à Engenharia de Software;
- Aplicar metodologias ágeis, como Scrum e Kanban, para planejar, executar e monitorar projetos de software;
- Implementar práticas de DevOps e DevSecOps, incluindo integração contínua, entrega contínua e segurança em todo o ciclo de vida do desenvolvimento;
- Aplicar processos de engenharia de software, aplicando técnicas de Design Thinking, DDD, e desenvolvimento centrado no usuário;
- Projetar designs intuitivos e acessíveis, utilizando ferramentas de prototipação e realizando testes de usabilidade;
- realizar o levantamento, análise e gerenciamento de requisitos de software, assegurando que atendam as expectativas dos stakeholders;
- Projetar soluções escaláveis e resilientes em ambientes de nuvem;
- Implementar arquiteturas modernas para desenvolvimento front-end, incluindo SPAs, PWAs e responsividade
- Aplicar padrões, protocolos, e frameworks para construção de soluções back-end ;
- Projetar, desenvolver e gerenciar APIs, utilizando diferentes abordagens arquiteturais como REST e GraphQL;
- Projetar e otimizar bancos de dados relacionais e não relacionais;
- Realizar testes de software eficazmente, usando técnicas como TDD e integrando testes no fluxo de CI/CD;
- Implementar processos de garantia de qualidade;
- Aplicar técnicas de inteligência artificial para melhorar o desenvolvimento de software, como a geração de código e a automação de testes;
- Implementar práticas de segurança no ciclo de desenvolvimento.
Áreas de atuação do egresso:
O especialista em Engenharia de Software poderá atuar como Engenheiro de Software e, também, nas mais diversas áreas que demandam conhecimentos de desenvolvimento, evolução e operação de software. Além disso, ele poderá atuar nos mais diversos tipos de projetos inovadores em TI.
ÁREA DE ATUAÇÃO DO EGRESSO
O especialista em Engenharia de Software poderá atuar como Engenheiro de Software e, também, nas mais diversas áreas que demandam conhecimentos de desenvolvimento, evolução e operação de software. Além disso, ele poderá atuar nos mais diversos tipos de projetos inovadores em TI.
PÚBLICO-ALVO
- Em Ciência da Computação, Engenharia de Computação, Engenharia de Software, Sistemas de Informação, tecnólogos da área de Tecnologia da Informação ou áreas afins;
- Nas mais diversas áreas e que necessitam de competências emergentes para atuarem na área de Engenharia de Software;
- Que já atuam na área de Engenharia de Software, mas que precisam aprofundar seus conhecimentos na área.
PROGRAMA DO CURSO
Competências Disciplinares
Módulo 1: Fundamentos e Estratégias de Engenharia de Software
Estratégias para Desenvolvimento de Software
Ao final da disciplina, os alunos deverão ser capazes de:
- Aplicar os processos de engenharia de software em projetos reais
- Utilizar abordagens de Design Thinking no desenvolvimento de soluções
- Aplicar princípios de DDD (Design Dirigido pelo Domínio) e FDD (Desenvolvimento Dirigido por Funcionalidades)
- Implementar Design Sprints para acelerar a inovação
- Otimizar a experiência do desenvolvedor (DevEx)
Engenharia de Requisitos
Ao final da disciplina, os alunos deverão ser capazes de:
- Conduzir o levantamento, análise, especificação e validação de requisitos funcionais e não funcionais de software.
- Diferenciar e especificar requisitos funcionais e não funcionais
- Identificar e gerenciar stakeholders em projetos de software
- Aplicar métodos de priorização e análise de requisitos
- Criar casos de uso, cenários e histórias de usuário
- Gerenciar mudanças nos requisitos ao longo do ciclo de vida do projeto
- Integrar Design Thinking na Engenharia de Requisitos
Design de Experiência do Usuário
Ao final da disciplina, os alunos deverão ser capazes de:
- Criar personas e storyboards para representar usuários-alvo
- Realizar pesquisas de UX e aplicar ferramentas de prototipação, garantindo acessibilidade e usabilidade através de testes como Testes A/B e Mapas de Calor
- Criar designs responsivos e compatíveis com diferentes dispositivos
- Desenvolver arquiteturas de informação eficientes
- Criar protótipos e mockups usando ferramentas de design
- Realizar e interpretar testes de usabilidade
- Implementar layouts responsivos e style guides consistentes
Qualidade de Software
Ao final da disciplina, os alunos deverão ser capazes de:
- Aplicar fundamentos de qualidade de software, estabelecendo métricas e práticas para assegurar a qualidade do processo e produto
- Definir e medir métricas de qualidade de processo e produto
- Aplicar normas e modelos de maturidade para avaliar processos e garantir a certificação e melhoria contínua
- Realizar avaliações de qualidade e auditorias de software
- Compreender a importância da qualidade de software para os objetivos estratégicos do negócio
Módulo 2: Metodologias Ágeis e DevOps
Gerenciamento Ágil de Projetos
Ao final da disciplina, os alunos deverão ser capazes de:
- Compreender e aplicar fundamentos de gerenciamento de projetos, diferenciando abordagens tradicionais e ágeis
- Implementar e adaptar frameworks ágeis como Scrum e Kanban
- Fomentar uma cultura ágil em equipes de desenvolvimento
- Definir e ajustar planos, acompanhar o progresso e fazer ajustes conforme necessário
- Gerenciar mudanças em ambientes ágeis
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
Módulo 3: Arquitetura e Desenvolvimento
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
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
Módulo 4: Implementação e Testes de Software
Bancos de Dados Relacionais e Não Relacionais
Ao final da disciplina, os alunos deverão ser capazes de:
- Compreender e aplicar modelos relacionais e NoSQL, utilizando SQL e explorando os benefícios de cada abordagem.
- Comparar e selecionar entre modelos relacionais e NoSQL para diferentes cenários
- Implementar e gerenciar transações em diferentes tipos de bancos de dados
- Utilizar eficientemente os principais SGBDs do mercado
Práticas de Implementação e Evolução de Software
Ao final da disciplina, os alunos deverão ser capazes de:
- Planejar e executar sprints de desenvolvimento
- Modelar e projetar soluções de software
- Implementar sistemas usando padrões arquiteturais como MVC
- Integrar práticas de teste no processo de desenvolvimento
- Planejar e executar implantações de software
- Aplicar técnicas eficazes de manutenção de software
Testes de Software
Ao final da disciplina, os alunos deverão ser capazes de:
- Aplicar fundamentos de testes de software ao longo do ciclo de vida de desenvolvimento, utilizando abordagens como TDD
- Integrar testes no fluxo de CI/CD, utilizando ferramentas de automação para assegurar a qualidade contínuaSelecionar e utilizar ferramentas de automação de testes
- Configurar e gerenciar ambientes de teste
- Implementar testes não funcionais automatizados
- Analisar e reportar resultados de testes
Módulo 5: Inovação e Tecnologias Emergentes
IA Generativa em Desenvolvimento de Software
Ao final da disciplina, os alunos deverão ser capazes de:
- Aplicar técnicas de IA Generativa para automatizar tarefas de desenvolvimento de software.
- Avaliar o impacto da IA Generativa na produtividade e qualidade do software.
- Utilizar e integrar ferramentas de IA Generativa no processo de desenvolvimento de software.
- Comunicar os benefícios e desafios da IA Generativa para stakeholders.
- Utilizar IAs Generativas para melhorar a experiência do usuário (UX) em interações com software.
- Gerenciar e configurar soluções de AI-as-a-Service, AI-as-a-Commodity e AI Gateways.
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.
APIs e Web Services
Arquitetura de Back End
Arquitetura de Front End
Arquitetura de Soluções em Nuvem
Bancos de Dados Relacionais e não Relacionais
Cultura e Práticas DevOps
Cultura e Práticas DevSecOps
Design de Experiência do Usuário
Engenharia de Requisitos
Estratégias para Desenvolvimento de Software
Gerenciamento Ágil de Projetos
IA Generativa em Desenvolvimento de software
Práticas de Implementação e Evolução de Software
Qualidade de Software
Testes 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)
Filipe Tório Lopes Ruas Nhimi (Mestre)
Henrique Batista da Silva (Doutor)
Isabella de Araujo Fonseca Campos (Especialista)
Leonardo Bráulio de Oliveira e Silva (Mestre)
Marcelo Nassau Malta (Mestre)
Marco Aurélio de Souza Mendes (Mestre)
Rommel Vieira Carneiro (Mestre)
Samuel Martins da Silva (Especialista)
Stenio Pereira Viveiros (Mestre)
Tiago Henrique Belotte (Mestre)
Welington Costa Monteiro (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
- Eveline Alonso Veloso - Mestre
Área do Conhecimento
Engenharia | 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