🚀 Capítulo 19: Projeto Final Parte 1: Planejamento (Tema: Game of Thrones)

NOTE

Este capítulo inicia o projeto final do curso de Engenharia de Software. Você vai planejar a conquista do Trono de Ferro através de um projeto de software estruturado!


1. 🎯 Objetivo da Aula

Aplicar os conceitos aprendidos (Requisitos, Arquitetura, Metodologias) para criar o documento de Planejamento de um sistema de software completo.

2. 🏢 O Cenário Prático (Seu Desafio)

Na série Game of Thrones, as grandes famílias lutam pelo controle de Westeros. Para conquistar o Trono de Ferro, não basta ter o maior exército; é preciso ter estratégia, inteligência, mapas e um plano de ataque perfeito.

Você foi contratado pela família que está no poder para criar o Sistema de Gestão de Castelos de Westeros. O sistema servirá para:

  • Controlar quantos soldados há em cada castelo.
  • Calcular a quantidade de comida necessária para o inverno.
  • Enviar mensagens secretas (corvos digitais) entre os aliados.

Seu desafio neste capítulo não é programar, mas ser o Grande Meistre estrategista e fazer o Planejamento do projeto!


🧠 Fundamentos: A Teoria Traduzida

Como bons engenheiros de software, vamos estruturar o nosso plano de conquista em 3 passos:

📋 Passo 1: Os Requisitos

Precisamos definir o que o sistema vai fazer:

  • Requisitos Funcionais (Ações):
    • O sistema deve permitir cadastrar novos castelos e o nome do Lorde responsável.
    • O sistema deve alertar quando o estoque de comida de um castelo estiver abaixo de .
  • Requisitos Não-Funcionais (Qualidades):
    • As mensagens trocadas entre os aliados devem ser criptografadas para que os espiões não leiam.
    • O sistema deve continuar funcionando mesmo que castelos sejam destruídos (Alta disponibilidade).

📐 Passo 2: A Arquitetura

Como os castelos são espalhados e a comunicação é difícil, vamos usar uma arquitetura de Microsserviços! Cada castelo terá seu pequeno sistema local, e eles enviarão dados resumidos para a central em Porto Real. Assim, se Porto Real cair, os outros castelos continuam funcionando!


4. 📖 Exemplo Guiado: O Quadro do Projeto

Vamos usar o Kanban para planejar a nossa primeira Sprint (ciclo de 2 semanas) de ataque:

  • A Fazer: Criar tela de cadastro de soldados; Configurar banco de dados de alimentos.
  • Fazendo: Criptografia das mensagens dos corvos.
  • Feito: Mapeamento dos castelos no sistema.

5. 🛠️ Prática Obrigatória: Completando o Plano

Para garantir a vitória, precisamos detalhar mais o nosso plano. Preencha os campos abaixo baseando-se no cenário do projeto:

  1. Escreva mais um Requisito Funcional (O que o sistema faz) que seria útil para esse sistema de guerra.
  2. Escreva mais um Requisito Não-Funcional (Como o sistema deve ser) focado no desempenho ou na segurança do sistema.
  3. Qual papel do Scrum você daria para o Lorde da família (o cliente que está pagando pelo sistema e dizendo o que ele quer)? (Product Owner, Scrum Master ou Time de Desenvolvimento).

7. 📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

  1. Faça o Commit: No GitHub Desktop, digite a mensagem (ex: Finaliza Capítulo 19 EngSoftware) e clique em Commit to main.
  2. Envie para a Nuvem (Push): Clique em Push origin.

8. 📂 Estrutura de Pastas

extra_engenharia_de_software/
├── capitulos/
│   ├── capitulo_19_projeto_p1.md
│   └── codigos/
│       └── cap19/
│           └── plano_ataque.txt

💡 Checkpoint de Lógica

O planejamento é a parte mais importante da Engenharia de Software. Como dizia Abraham Lincoln: “Se eu tivesse 6 horas para derrubar uma árvore, passaria as primeiras 4 afiando o machado”.

10. 🔥 Desafio de Fixação

Pesquise o que significa o termo MVP (Minimum Viable Product) e como ele ajuda a validar um projeto rapidamente.

🔑 Gabarito de Código/Fórmulas

Gabarito da Prática Obrigatória (Sugestões):

  1. Funcional: “O sistema deve emitir um alerta sonoro quando um exército inimigo for avistado a menos de 10km de distância”.
  2. Não-Funcional: “As mensagens enviadas via corvo digital devem chegar ao destino em no máximo 5 segundos”.
  3. Product Owner. O Lorde é o dono do negócio, ele sabe o que precisa e dita as prioridades do que deve ser construído!

Capitulo Anterior | Proximo Capitulo