Pular para o conteúdo

Projeto Final 01: Protótipo Inicial

Nesta primeira entrega, cada grupo deverá propor e implementar um protótipo inicial funcional de um sistema de software de pequeno ou médio porte. O objetivo desta etapa não é produzir uma arquitetura sofisticada, nem aplicar padrões de projeto antecipadamente. Pelo contrário: espera-se que o sistema seja construído com foco em rapidez de desenvolvimento, validação de funcionalidades e integração básica entre as partes principais da aplicação.

O trabalho deverá ser realizado em grupos de 2 a 4 integrantes.

  • Definir um problema e um domínio de software claros.
  • Implementar um MVP com poucas funcionalidades centrais, mas funcionando de ponta a ponta.
  • Desenvolver um sistema que pode incluir frontend, backend e persistência de dados.
  • Entregar uma base inicial que possa evoluir posteriormente diante de novos requisitos.
  • Identificar, desde já, pontos do sistema que parecem difíceis de manter, expandir ou refatorar.

O sistema desenvolvido pelo grupo deverá atender aos seguintes requisitos mínimos:

  • Ser implementado por um grupo de 2 a 4 estudantes.
  • Possuir frontend com interface utilizável para demonstrar as funcionalidades principais.
  • Implementar apenas um conjunto reduzido de funcionalidades essenciais.
  • Ser um sistema viável de desenvolver em no máximo 3 semanas.
  • Permitir expansão futura, seja por novas regras, novas integrações ou aumento moderado de complexidade.

Nesta etapa, o foco é a funcionalidade. Portanto:

  • Não é objetivo aplicar design patterns de forma antecipada.
  • Não é esperado que a arquitetura esteja madura ou completamente desacoplada.
  • Problemas arquiteturais são esperados e fazem parte da proposta do projeto.

Também ficam estabelecidas as seguintes restrições:

  • O escopo deve ser limitado e compatível com um projeto acadêmico de pequeno ou médio porte.
  • O grupo não deve tentar implementar um produto completo de mercado, com múltiplos módulos extensos ou grande quantidade de integrações externas.

O uso de ferramentas de IA generativa é permitido para essa etapa de projeto.

Entretanto, o grupo deve observar as seguintes condições:

  • Todos os integrantes devem compreender o código entregue.
  • O grupo deve conseguir explicar decisões de implementação e funcionamento do sistema.
  • O uso de IA não substitui a responsabilidade acadêmica sobre o conteúdo entregue.
  • As ferramentas utilizadas devem ser informadas no README.

Para esta entrega, recomenda-se que o grupo selecione poucas funcionalidades principais e as implemente corretamente, em vez de tentar cobrir muitos casos de uso de forma incompleta.

Exemplos do que se espera de um MVP adequado:

  • cadastro e listagem de entidades principais;
  • criação, edição ou remoção de registros centrais do domínio;
  • fluxo básico de uso demonstrável de ponta a ponta;
  • persistência dos dados principais do sistema.

Exemplos do que deve ser evitado nesta etapa:

  • múltiplos perfis complexos de usuário com regras extensas;
  • integrações excessivas com APIs externas;
  • arquitetura distribuída;
  • autenticação e autorização muito sofisticadas, salvo se forem essenciais ao domínio escolhido;

Cada grupo deverá manter no repositório um arquivo README.md atualizado contendo, no mínimo:

  • descrição do sistema;
  • funcionalidades implementadas;
  • tecnologias utilizadas;
  • dificuldades encontradas;
  • pontos do sistema que parecem difíceis de manter ou expandir;
  • ferramentas de IA utilizadas;
  • instruções de execução.

O cronograma abaixo é fictício, mas representa uma distribuição coerente do trabalho para esta primeira etapa.

PeríodoAtividade esperada
Semana 1Definição do tema, delimitação do escopo, escolha das tecnologias e organização inicial do repositório
Semana 2Implementação das funcionalidades principais, integração entre frontend e backend e persistência
Semana 3Correções, estabilização do MVP, revisão do README e preparação da entrega

Na data definida pelo professor, o grupo deverá entregar:

  • link para o repositório do projeto;
  • código-fonte completo;
  • README.md com os itens obrigatórios desta etapa.

Caso solicitado pelo professor, o grupo deverá estar apto a apresentar brevemente o protótipo.