Olá Thiago, segue nossa réplica!
1. Análise:
- O diagrama de caso de uso ficou um pouco poluído. Algumas ações razoavelmente
análogas, como o cadastro dos diversos "metadados", poderiam ser agrupadas. Além
disso, das diversas ações previstas somente uma foi implementada
Realmente poderíamos ter simplificado o diagrama, mas achamos mais pertinente listar todas as funcionalidades que previmos do que melhorar o layout. Somente o cadastro de letras foi parcialmente implementado para a primeira versão, devido ao curto prazo. Elaboramos mais abaixo.
- O sistema não deveria ser considerado um ator, já que estes são somente agentes
externos.
Nossa análise ficou um pouco viesada, fora do padrão, porém não conseguimos deixar de enxergar este terceiro personagem, já que nem o admin nem os usuários seriam responsáveis pela atribuição de pontos.
2. Interface com o usuário:
- Faltou, nas telas de cadastro e de listagem de músicas, um link para a página principal
(e não para a de login).
Na nova implementação o link será para a home, se o usuário tiver se logado.
3. Arquitera:
- O método dispatch() aparece em quase todas as classes que implementam a
interface BusinessLogic. Esse método poderia ter sido extraído para uma superclasse
ou mesmo colocado como um método estático de uma única classe (como
GenController, por exemplo).
- Algumas classes que representam ações executam apenas um dispatch para uma
página JSP. Nesse caso, a página poderia ter sido chamada diretamente, sem a
necessidade da implementação da classe.
Nestes 2 aspectos discordamos fortemente, já que ao delegar trabalho para uma classe, ao invés de delegar diretamente para um jsp, podemos tornar o código mais legível. Ou seja, o model faz o que precisa em seu papel, e depois simplesmente dá dispatch para o jsp. Não seria boa prática deixar o jsp fazendo nada além de gerar output para o browser.
- Todas as classes que fazem a criação e verificação do BD implementam as ações no
construtor. Seria melhor implementar métodos para essas ações, possivelmente
colocando-os todos numa mesma classe que cuidasse da consistência do BD.
Concordamos. Inicialmente pensávamos em usar testes unitários também, mas o prazo fez com q utilizássemos testes à moda antiga.
4. Legibilidade:
O código não apresenta comentários, mas está bem estruturado. As packages foram
criadas de forma bem organizada, conforme a apostila indicada no fórum. Apenas alguns
arquivos JSP estão um pouco difíceis de ler, talvez pular linhas dividindo "blocos" de
código ajudaria.
Utilizamos o saudável Ctrl+Shift+F mas para alguns tags (labels etc) ele acabou agrupando demais. Entretanto, achamos melhor deixar do modo que o Eclipse automaticamente formatou.
5. Corretude:
- O login não foi implementado de maneira correta. Aceita qualquer nome de usuário,
com qualquer senha (nesse caso, seria melhor não existir uma página de login).
Deixamos o Login como um stub, q será implementado nesta nova versão se conseguirmos em tempo.
- Na página de cadastro de música, o único artista que aparece é o "Dream Theater"
(isso foi especificado estaticamente), porém na hora de listar os álbuns, em vez de
mostrar apenas os álbuns desse artista, mostra todos os álbuns existentes no banco de
dados.
Isto será corrigido na nova implementação. Porém, não deixamos o sistema inconsistente, já que os únicos álbuns cadastrados no sistema são apenas desta banda (Ps: O décimo álbum está a caminho ^^ - 23 de junho...)
6. Funcionalidade:
- Apesar de obviamente não ser esperada uma implementação completa do site,
acreditamos que nesse caso a implementação foi simples demais, possuindo um número
muito limitado de funcionalidades. Mesmo que fosse decidido que apenas o cadastro e a
listagem de músicas seria implementada, essas deveriam ter sido feitas de maneira mais
completa, atendendo aos detalhes mencionados anteriormente (deveríamos, por
exemplo, poder ao menos ver a letra das músicas cadastradas).
Deixamos a exibição das letras para qdo tivéssemos uma interface mais rica. Vamos utilizar o exemplo da última palestra e esperamos que seja satisfatório!
Notas final: 6,0
Pleiteamos 8...