Projeto Final 02: Evolução Arquitetural com Design Patterns
Projeto Final da Disciplina
Seção intitulada “Projeto Final da Disciplina”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.
Objetivos
Seção intitulada “Objetivos”- 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.
Requisitos
Seção intitulada “Requisitos”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.
Documentação Arquitetural
Seção intitulada “Documentação Arquitetural”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.
Cronograma
Seção intitulada “Cronograma”| Período | Atividade esperada |
|---|---|
| Semana 4 | Refatoração principal da solução e aplicação dos patterns criacional, estrutural e comportamental |
| Semana 5 | Ajustes finais, documentação arquitetural, atualização do README e validação da nova versão |
Entregas
Seção intitulada “Entregas”Na data definida pelo professor, o grupo deverá entregar:
- link para o repositório atualizado;
- código-fonte da versão refatorada;
-
README.mdatualizado com os itens obrigatórios.