Pular para o conteúdo

Projeto Final 02: Evolução Arquitetural com Design Patterns

Após a entrega do protótipo inicial, o sistema desenvolvido pelo grupo deverá evoluir diante de novos requisitos introduzidos pelo professor. Esta segunda etapa tem como objetivo levar o projeto a um ponto em que problemas arquiteturais antes aceitáveis passem a exigir soluções mais adequadas de design.

Diferentemente da primeira entrega, agora o foco está na aplicação de padrões de projeto para resolver problemas reais do sistema. O grupo deverá demonstrar que houve evolução concreta da estrutura do software e que os patterns escolhidos foram aplicados com justificativa técnica.

  • Evoluir o sistema a partir de novos requisitos introduzidos após o protótipo inicial.
  • Refatorar a arquitetura para reduzir problemas de acoplamento, rigidez ou duplicação.
  • Aplicar padrões de projeto de forma tecnicamente justificada.
  • Demonstrar claramente a diferença entre a solução anterior e a solução refatorada.
  • Produzir documentação arquitetural simples, porém suficiente para explicar as decisões adotadas.

Nesta entrega, o grupo deverá:

  • assumir que o sistema recebeu novos requisitos e precisa evoluir;
  • realizar refatoração arquitetural sobre a base existente;
  • aplicar pelo menos 1 pattern criacional;
  • aplicar pelo menos 1 pattern estrutural;
  • aplicar pelo menos 1 pattern comportamental;
  • manter o sistema funcional após a evolução;
  • atualizar o frontend e o backend conforme necessário para atender à nova versão do sistema.

Cada pattern utilizado deverá obrigatoriamente:

  • resolver um problema real observado no sistema;
  • substituir uma solução anterior inadequada, rígida ou difícil de manter;
  • ser justificado tecnicamente;
  • estar relacionado a necessidades concretas da evolução do software.

Não será aceito:

  • inserir patterns artificialmente apenas para “cumprir tabela”;
  • aplicar patterns sem conexão com problemas reais do sistema;
  • apresentar apenas definições teóricas sem evidências na implementação.

Além do código, o grupo deverá entregar documentação simplificada contendo:

  • descrição dos problemas identificados na arquitetura inicial;
  • explicação dos novos requisitos recebidos;
  • descrição dos patterns aplicados;
  • justificativas técnicas para cada pattern;
  • impactos arquiteturais percebidos;

Não é necessário produzir documentação extensa ou excessivamente formal. O importante é a clareza técnica.

PeríodoAtividade esperada
Semana 4Refatoração principal da solução e aplicação dos patterns criacional, estrutural e comportamental
Semana 5Ajustes finais, documentação arquitetural, atualização do README e validação da nova versão

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

  • link para o repositório atualizado;
  • código-fonte da versão refatorada;
  • README.md atualizado com os itens obrigatórios.