|
| 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 |