Marcio Vinicius dos Santos
Marcelo de Rezende Martins
Objetivo:
Um serviço colaborativo online, que permite usuários criarem e responderem perguntas de uma forma rápida e simples, incentivando-os através de um sistema de pontuação das melhores respostas.
O serviço permitirá também que usuários através de um sistema de busca, possam procurar respostas para perguntas já criadas.
Análise: ok. Nota:10.
GUI: ok. Nota:10.
Arquitetura: implementar HashCode e Equals.
muito código no JSP -> díficil manutenção.
falta separar em camadas, camada de apresentação acessa o banco de dados. Nota:4.
Legibilidade: faltam comentários, especialmente nas interfaces. Nota: 7.
Funcionalidade: ok. Nota:10.
Média Final: 8.
(Documento também disponível no Google Docs: http://docs.google.com/Doc?id=dftw2w5p_39gmpgv6gx , se vocês quiserem permissão de edição, digam seus e-mails por favor.)
Revisão do Grupo 3: "Perguntas e Respostas"
Critério Análise – As funcionalidades previstas no diagrama de casos de uso foram feitas, porém com pequenas alterações. No Home o usuário não responde às perguntas como está no caso de uso, ação que pode ser feita na tela de Visualização de Pergunta. E na Tela de Visualização da Pergunta ele não filtra perguntas por categoria, nem adiciona uma pergunta ao seu grupo de favoritos, ações que podem ser feitas no Home.
O diagrama de classes serviu de base para o sistema, porém não foi previsto o uso das entidades do pacote mac5855.app.dao e as entidades do diagrama sofreram algumas alterações.
Apesar das divergências entre o sistema e os diagramas, é natural que elas ocorram. Nota: 7,0
Critério Interface com o Usuário – Interface simples e intuitiva. Talvez um logo e um nome para o site melhorariam ainda mais e também os links de Home e Logout poderiam seguir o estilo do site. Não conseguimos encontrar as perguntas favoritas, nem sabemos se está implementada a visualização (apenas das favoritas). O símbolo de pergunta adicionada aos favoritos poderia ser um gif. Os pontos do usuário também não sabemos se foram implementados. Nota: 9,5
Critério Arquitetura – O sistema foi bem-dividido. A existência de um Controller nos pareceu ser uma boa prática para este projeto, mas acreditamos que dá pra tirar mais proveito dele. Em particular, o Controller poderia devolver um tipo String contendo o endereco da página a ser redirecionada após o .execute() de um BusinessLogic. Isso enxugaria um pouco o código.
Talvez uma subdivisão do pacote dao em dao.jdbc onde seriam colocadas as classes JdbcXDAO pudesse ser feita.
AdminFilter e AuthenticationFilter poderiam ir para mac5855.app.filters.
Alguns métodos não são utilizados.
Nota: 9,0
Critério Legibilidade – Há comentários em inglês e em português. Seria bom escolher apenas um idioma. A escolha dos nomes (tanto de classes quanto de variáveis e atributos) foi boa, o que facilitou a compreensão do código, apesar das classes não possuírem documentação. Há quebras das convenções de código e muitos scriptlets nas jsp’s. Usar a variável estática JDBC quando for chamar DAOFactory.getDAOFactory().Nota: 6,5
Critério Corretude – O sistema funciona de acordo com o esperado. Apenas algumas funcionalidades achamos que não foram implementadas. Nota: 10,0
Critério Funcionalidade – O sistema é simples e funcional. Não precisaria ser mais complexo para fazer aquilo a que se propõe. É claro que pode ser melhorado, mas com o tempo e tecnologias disponíveis está bom. Nota: 10,0
Nota final: 8,7
Em anexo uma versão atualizada da aplicação.
Olá,
- O diagrama de casos de uso e a prototipacao de telas ficaram legais.
- O diagrama de classes tem problemas com relação a notação UML. Alem disto, classes de projeto, como servlets nao entram na modelagem conceitual.
- O uso de Factory nos DAOs está adequada (apesar de particularmente, achar este padrão desnecessário neste caso)
- O uso de filtros foi uma solução legal para controle de permissão.
- O css, imagens e outros estavam presos desnecessariamente (hard coded) ao contexto /PerguntaResposta/ o que dificulta o eventual uso em outro contexto
- A usabilidade do site pode melhorar.
- A versao final continua com problemas de legibilidade ao usar, por exemplo DAOFactory.getDAOFactory(1)
abraco,
Marco