|
Entregável do Bloco: |
Um software complexo e com impacto social ou ambiental positivo, escrito em Java ou .NET C#, utilizando a metodologias ágeis DAD (Disciplined Agile) e Unified Process, acompanhado de relatório com artefatos de modelagem de objetos e de engenharia de software demonstrando a execução de pelo menos três iterações. |
|
Desenvolvimento de Software Ágil e Escalável com Microsserviços |
Projetar arquitetura de software orientada a serviços de acordo com o domínio |
Projetar microsserviços |
Desenvolver e documentar APIs de microsserviços |
Consumir e publicar APIs de microsserviços |
|
Melhores Práticas em DevOps |
Projetar software para integração e entrega contínua |
Implementar software para integração e entrega contínua |
Automatizar testes e realizar testes contínuos |
Monitorar software proativamente |
|
Padrões de Arquitetura de Microsserviços |
Explicar os principais padrões e princípios para arquiteturas de microsserviços |
Projetar microsserviços orientados a eventos |
Implementar microsserviços com protocolos de comunicação síncronos |
Implementar microsserviços com protocolo de comunicação assíncronos |
|
Segurança no Processo e Desenvolvimento de Software |
Especificar requisitos software orientados a riscos |
Especificar segurança, confiabilidade e proteção de software |
Codificar para Web com segurança |
Codificar regras de negócio com segurança |
|
Projeto de Bloco: Engenharia de Softwares Escaláveis |
Criar e avaliar modelos de negócios inovadores com o Business Model Canvas, utilizando criatividade, design thinking e avaliação financeira |
Aplicar o conceito de Desenvolvimento de Clientes em projetos de softwares escaláveis |
Projetar software utilizando DevOps, arquitetura orientada a microserviços, integração e entrega contínua e regras de negócio complexas |
Implementar um projeto de software escalável |
Documentar um projeto de software escalável |
Refletir criticamente sobre a sua prática profissional, seu planejamento e desenvolvimento de carreira e sua capacidade de trabalho em equipe, estabelecendo relações com o projeto desenvolvido e qualificando ou quantificando a sua expertise em engenharia de software |
Entender o contexto social da engenharia de software e refletir criticamente sobre o impacto do software desenvolvido às pessoas, à sociedade e à economia |