Os comentários abaixo devem ser
corrigidos/redocumentados nas próximas entregas. O relatório final deve
contemplar as modificações indicadas.
G01 - Urna Eletrônica
- Não identificou o grupo no
relatório
- Relatório sem título. Que
tal "Urna Eletrônica"?
- Não listou os componentes do
grupo no relatório
- Resumidamente: Qual módulo
manda nos outros?
- Especificação do
Processador: OK
- Especificação do Módulo de
Entrada:
- O módulo parece muito
mais que um teclado. Era essa a intenção? Observe que, sendo tão
"inteligente" assim, ele precisará tomar ciência dos outros módulos que
estão ao redor dele. Talvez precise, inclusive, ser configurado com
essas informações. Vocês pensaram nisso?
- Se o módulo vai ser
apenas um teclado, então a funcionalidade dele deve ser apenas a do
item 1 da especificação. Cabendo ao processador solicitar a tecla
pressionada. Talvez vocês possam implementar um pequeno buffer para
evitar problemas apenas. As outras funcionalidades parecem referentes
ao programa que vai ser executado no processador.
- Do item 2 da
especificação: como o teclado saberá da existência do vídeo? A saída
não poderia ser outra coisa? Será que a plataforma precisa ser tão
rígida assim e exigir exatamente o seu teclado e o seu vídeo? Qual o
protocolo de comunicação?
- Do item 3 da
especificação: o teclado sabe o que é um CPF? o teclado sabe o que é um
código de candidato? Nesse caso, o teclado está muito mais para
terminal do que para teclado. Ele então não deveria executar um
software? Mas software não deveria ser executado apenas pelo
processador?
- Do item 4 da
especificação: similar aos itens 2 e 3, o teclado aparenta saber demais
sobre a plataforma.
- Qual a API desse módulo?
- Especificação do Módulo de
Vídeo:
- Novamente vocês parecem
ter colocado um terminal de vídeo e não um módulo de vídeo simples como
um display. É essa a intenção? Vocês até mostraram um pseudo-algoritmo
(na forma de itens numerados) para indicar o que ele faz. Esse
pseudo-algoritmo não deveria ser executado pelo processador?
- Funcionalidades como
escrever "FIM" na tela são extremamente dependentes da aplicação. Será
que, nesse caso, não seria mais interessante que o programa solicitasse
a escrita da seqüência de letras "FIM"?
- Pense no vídeo como uma
saída. Ele não deveria ser muito esperto.
- Qual a API desse módulo?
- Qual é a resolução da
tela?
- Especificação do Módulo
Enigma:
- Como os dados são
guardados? Onde? Quem guarda?
- Já definiram como os
dados serão criptografados? Que algoritmo?
- Esse módulo só é capaz
de criptografar resultados de votação? Seria bom que ele fosse capaz de
criptografar e descriptografar qualquer coisa! Pense num módulo
genérico, depois interligue com a funcionalidade da sua plataforma.
- Qual a API desse módulo?
- Especificação do Programa
Controlador:
- O programa controlador
está contraditório com a especificação dos outros módulos. No item 3,
ele espera receber o CPF do eleitor enviado pelo módulo de entrada, mas
o módulo de entrada envia o módulo diretamente para o vídeo!
- Aqui deveria entrar um
pseudo-código global, indicando a funcionalidade completa da urna.
- Croograma: OK
G02 - TV Digital em Windows CE
- Relatório sem título. Que
tal "TV Digital em Windows CE"?
- Por que fazer o
desenvolvimento básico num emulador e não num Windows CE nativo para
x86?
- Cronograma: Onde entra o
PocketPC?
G03 - Computador de Bordo
- Boas funcionalidades mas
onde estão os módulos de hardware? Como vocês vão mapear isso na Olimpo?
- Cronograma? APIs?
G04 - Console de Video-Game
- Falta especificar o nome do
grupo no cabeçalho do relatório
- Resumidamente: Qual dos
módulos que manda nos outros?
- Quais as APIs?
- Módulo - Console:
- O console é o conjunto
inteiro, não um dos módulos.
- Qual a API desse módulo?
- Como ele exibe os jogos
disponíveis em um diretório específico?
- Como ele carrega os
jogos?
- Como as instruções são
enviadas?
- Esse módulo tem memória
própria? Ele é uma memória?
- Qual o formato do
arquivo?
- Módulo de Entrada: OK
- Módulo de saída: OK
G08 - TV Digital
- Faltou a identificação do
grupo no título do relatório
- Como o módulo de entrada
sabe do módulo receptor?
- Como o módulo receptor sabe
do módulo de saída?
- O que será implementado em
software? Não há nada especificado para ser executado no processador!
- Qual é a resolução da tela?
- Quais são as APIs? Como faço
para utilizar cada um dos seus módulos?
- Faltam detalhes
- Resumidamente: Qual módulo
manda nos outros?