catalogo de programa de televisao

catalogo de programa de televisao

por Thadeu Russo -
Número de respostas: 18
O tema do trabalho eh o catalogo de programas de televisao.

A dupla sera formada por mim, e pelo Sergio Lopes.

Logo mais irei postar o que sera implementado, preciso discutir com minha dupla que so chega as 23:45.
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Thadeu Russo -
Descrição
- Sistema aberto para consulta de programação das redes de televisão que permite aos usuários trocarem comentários e votarem nos seus programas favoritos.

Objetivo geral
- Programação online de TVs

Objetivo específicos
- Cadastro das exibições e programas das emissoras
- Cadastro de usuários (opcional ao visitante)
- Visualização da programação com filtros de emissora, classificação, tipo de programa e melhor avaliado
- Os usuários podem postar comentários e/ou avaliar os programas
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Sérgio Lopes -
Entrega da primeira versão da implementação.
Versão .war pronta para deploy.
Em resposta à Sérgio Lopes

Re: catalogo de programa de televisao

por Sérgio Lopes -
Entrega da primeira versão da implementação.
Versão .zip com tudo (fontes etc)
Em resposta à Sérgio Lopes

Re: catalogo de programa de televisao

por Mauricio De Diana -
Análise (Nota 9.5)
Documentação simples e clara.

Entidades
- Categoria que aparece no diagrama não aparece no código (ela existe no código mas não é usada).
- Poderiam estar explícitas as relações entre administrador e as outras entidades (por ex: administrador cria/edita/apaga emissora).

Casos de uso
- Cadastro de avaliações, comentários e visitantes não documentado.
- A relação de dependência entre "Envia comentário" e "Efetua cadastro" poderia estar explícita no diagrama.
- A relação de dependência entre "Avalia um programa com nota" e "Efetua cadastro" poderia estar explícita no diagrama.
- "Login do administrador" não aparece no diagrama (seria interessante se os outros casos de uso dependessem desse).

UI (Nota 9.0)
No geral, interface e usabilidade estão boas. As cores foram bem escolhidas e o layout está bem claro.

- Não entendemos a opção "Nada" no menu.
- Não entendemos porque há opção de cadastro de comentários e cadastro de avaliações pelo admin. As opções de editar e remover são válidas (moderação), mas aparentemente não há motivo para haver a adição.
- A classificação de programas apresenta valores como MAIOR_18. Seria mais interessante se elas aparecessem como "Maior de 18" ou algo do gênero.
- Não entendemos a busca. Ela será uma funcionalidade a ser implementada no futuro?

Arquitetura (Nota 10.0)
Uso interessante de recursos da linguagem como reflection e annotations. Algumas implementações usaram um trabalho de design mais refinado, como o uso de lazy lists pelos DAOs e criação de formulários por reflection nas JSPs. Muito interessante também o uso do HSQLDB.

- SQLExceptions não deveriam chegar a camada de controle. O ideal seria encapsulá-las em uma DAOException, por exemplo, para que camadas superiores não tenham conhecimento específico sobre a implementação de camadas inferiores.

Legibilidade (Nota 9.0)
O código está muito claro e bem escrito.

- O código possui partes em português e partes em inglês. Uma padronização é necessária.
- A forma como o projeto foi organizado em pacotes (actions, controllers, dao, db, modelo e view) facilita o entendimento da aplicação.

Corretude (Nota 9.5)
Apenas um teste de funcionalidades falhou.

- Não há mensagem para erro de autenticação, o que causa erros quando o visitante não autenticado tenta outras ações, como avaliar e comentar. Vimos NullPointerExceptions sendo geradas por essas ações nos DAOs.

Funcionalidade (Nota 10.0)
A aplicação possui um conjunto de funcionalidades bem escolhido, que faz com que ela não seja muito complexa nem difícil de entender, mas que devem ser uma base para a aplicação dos próximos conceitos e tecnologias a serem vistos nessa disciplina.

Nota final sugerida (média das notas): 9.5
Em resposta à Mauricio De Diana

Re: catalogo de programa de televisao

por Thadeu Russo -
Olá Maurício,

obrigado pela avaliação. Poderia somente dizer onde que voce viu sqlexceptions chegando na camada de controle? realmente isso nao deveria acontecer e passou despercebido, ja que as daos lancam sempre DAOException.

[]'s
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Mauricio De Diana -
Olá Thadeu.

Os DAOs realmente lançam só DAOExceptions. Mas ConnectionFactory.getConnection() lança SQLException. E como os Controllers fazem referência a essa factory, eles acabam lidando com SQLExceptions também. Assim, InteracaoController.comenta(), HomeController.detalhes() e contrutores de ExibicaoController e AvaliacaoController, por exemplo, fazem referência a SQLExceptions, mesmo que só para passá-las pra frente.

[]s
Em resposta à Mauricio De Diana

Re: catalogo de programa de televisao

por Thadeu Russo -
Ola mauricio,

tem razao.. isso foi uma mudanca que fizemos depois. Inicialmente a conexao era buscada dentro do construtor, este que encapsulava uma sqlexception em daoexception.

obrigado pela observacao.

[]'s
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Victor Williams Stafusa da Silva -
Ah, vi agora. O arquivo AvaliacaoDao contém um import org.hsqldb.Types. Favor substituir por java.sql.Types.
Em resposta à Victor Williams Stafusa da Silva

Re: catalogo de programa de televisao

por Sérgio Lopes -
Obrigado aos revisores pelas boas dicas e correções!

Entrega da versão com correções faladas e ainda AJAX e JQuery (trabalho 2).

BUG FIXES:

- SQLException vazando
- import errado do HSQLDB

NOVIDADES

- implementação de AJAX na interface do visitante no momento da avaliação dos programas. usamos JSON como formato de comunicação

- uso do JQuery também nas tabelas para um simples efeito zebrado e de highlight de linha de forma portável

NÃO ALTERADOS

- sobre nomes em ingles e portugues: usamos a convenção de nomes em inglês para coisas de infraestrutura ("controller" etc) e nomes em português para o domain model, não vemos problema nisso

- UI: como o professor falou que a 1a versão não precisava ser feature complete, realmente alguns elementos da interface ainda são inúteis, estão lá apenas para embelezar a páginas mas ainda não tem funcionalidades. entendemos que isso era permitido pelo professor.

- Não conseguimos encontrar os problemas de NullPointerException

- Não fizémos ainda nessa fase as sugestões de filtragem ou controle de avaliações por usuário
Em resposta à Sérgio Lopes

Re: catalogo de programa de televisao

por Sérgio Lopes -
Em resposta à Sérgio Lopes

Re: catalogo de programa de televisao

por Thadeu Russo -
Segue as atualizacoes finais.

Correcoes feitas:
- Melhoria dos rotulos do uso de enums na pagina inicial
- removida a entidade categoria que nao era usada
Anexo Diagrama_de_Classes.gif
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Thadeu Russo -
war novo (favor renomear para CatalogoOnline.war antes de fazer o deploy)
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Thadeu Russo -
Em resposta à Thadeu Russo

Re: catalogo de programa de televisao

por Marco Aurélio Gerosa -

Olá,

Assim como mencionaram os avaliadores, o sistema está ficando muito legal.

Tive o mesmo problema que o Pedro mencionou. Acrescentando o

.replace('\\','.')

resolveu o problema. Seria bom se as próximas versões do sistema incorporasse esta correção.

A interface está muito boa, em termos visuais e em termos de interação. A organização do código e sua legibilidade também. Gostei muito da arquitetura utilizada. Vale a pena o resto da turma analisá-la.

abraço,

Marco