PJI29006-2019-1: mudanças entre as edições
(30 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 24: | Linha 24: | ||
*[[Grupo2-PJI2-2019-1]] | *[[Grupo2-PJI2-2019-1]] | ||
*[[Grupo3-PJI2-2019-1]] | *[[Grupo3-PJI2-2019-1]] | ||
=Material Plataforma= | |||
* Hardware: | |||
** [https://www.lego.com/en-us/mindstorms/products/mindstorms-ev3-31313 LEGO Mindstroms EV3] | |||
** [http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/ Education vs Home Edition] | |||
** [https://en.wikipedia.org/wiki/Lego_Mindstorms_EV3 Hardware Specification] | |||
*Software: | |||
** [https://www.youtube.com/watch?v=BDr3lDmhkOQ&list=PL7hndBcWv-umf5tdIp0lJfPuU0X9LE97a EV3dev & EV3 Python Playlist ] | |||
** Linux (EV3dev): | |||
*** [https://www.ev3dev.org EV3dev] | |||
*** [https://www.ev3dev.org/docs/getting-started/ Getting Started with ev3dev] | |||
** Python (EV3 Python): | |||
*** [https://sites.google.com/site/ev3python/ EV3 Python] | |||
*** [https://github.com/ev3dev/ev3dev-lang-python Getting Started] | |||
*** [http://python-ev3dev.readthedocs.io/en/stable/spec.html API reference] | |||
=Diário de Aulas= | =Diário de Aulas= | ||
==Aula 11/02/2019: Cancelada== | ==Aula 11/02/2019: Cancelada== | ||
Cancelada devido ao afastamento para visita técnica. | Cancelada devido ao afastamento para visita técnica. | ||
==Aula 18/02/2019: Apresentação da Disciplina== | ==Aula 18/02/2019: Apresentação da Disciplina== | ||
*Discussão do Tema de Trabalho e apresentação das restrições | *Discussão do Tema de Trabalho e apresentação das restrições | ||
*Avaliação | *Avaliação | ||
*Resultados Esperados | *Resultados Esperados | ||
*Formação de Grupos | *Formação de Grupos | ||
;Atividade (Próxima Aula): | |||
* Grupo 1: | |||
** Paradigma da orientação a objetos | |||
** Modelagem casos de Uso | |||
** Diagrama de Casos de Uso | |||
* Grupo 2: | |||
** Classe e Diagrama de classes (relacionamentos) | |||
** Herança, classes abstratas e interfaces | |||
** Polimorfismo | |||
* Grupo 3: | |||
** Diagramas comportamentais | |||
** Diagrama de sequência | |||
** Diagrama de Implementação | |||
* Todos os grupos: | |||
** Usar os diagramas do Grupo 2018-2, mostrando erros e acertos. | |||
==Aula 25/02/2019: Seminários == | |||
* Seminários (Avaliação): | |||
===Especificação=== | |||
A execução do jogo foi dividida em três sistemas diferentes: Sistema de Auditoria (SA), Sistema Supervisório (SS) e Sistema do Robô (SR). Para fins de controle de partidas, histórico, cadastro de robôs e controle de captura de caças foi criado do sistema de auditoria, que age como juiz. O sistema supervisório atua como mediador entre os sistemas de auditoria e robô, é responsável por transmitir as informações da partida recebida do SA para os sistemas supervisórios de cada equipe, bem como receber informações dos SR e retransmiti-las ao SA. O sistema do robô fica responsável pela lógica para encontrar os alvos. | |||
===Levantamento de Requisitos=== | |||
;Funcionais: | |||
RF01 O sistema deve permitir criação e gerência de cadastro de um robô. | |||
RF02 O sistema de deve manter um histórico das partidas realizadas. | |||
RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados. | |||
RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo. | |||
RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô. | |||
RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs. | |||
RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo. | |||
RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual. | |||
RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado. | |||
RF010 O sistema deve permitir pausa e reset da partida. | |||
RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real. | |||
RF012 O sistema não deve permitir que os robôs se choquem. | |||
RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas. | |||
RF014 O sistema pode ter 2 ou 3 competidores * | |||
RF015 O sistema deve projetar informações no tabuleiro (Caças ativas, Caças encontradas, e placar) * | |||
;Requisitos não funcionais | |||
RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva. | |||
RNF02 O tabuleiro será composto por linhas pretas e todos com cor. | |||
RNF03 O tabuleiro terá as dimensões definidas (2m x 2m). | |||
RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm. | |||
RNF05 O tabuleiro será limitado por uma borda vermelha. | |||
RNF06 O placar mostrado aos usuários deve ser de fácil identificação. | |||
RNF07 O robô deve ter uma cor para identificação. | |||
'* Requisitos novos | |||
;Próximas Atividades: | |||
* Analisar diagrama dos grupos e verificar se cumprem os requisitos | |||
;Páginas dos Grupos 2018-2: | |||
*[[Grupo1-PJI2-2018-2]] | |||
*[[Grupo2-PJI2-2018-2]] | |||
*[[Grupo3-PJI2-2018-2]] | |||
;Página 2018-2 | |||
* [[PJI29006-2018-2]] | |||
==Aula 04/03/2019: Carnaval == | |||
==Aula 06/03/2019: Aula Extra == | |||
* Apresentação seminário "Caso de Uso" | |||
* Dúvidas sobre os casos de uso do SR | |||
===Grupo 1 (Alisson)=== | |||
* Apresentou atrasado | |||
* Faltou apresentar o formato da descrição do casos de uso para ser usado em sala de aula | |||
*'''Nota: 6,00''' | |||
===Grupo 2 (Adonis, Daniel e Rafael)=== | |||
* Abordaram todos os assuntos pedidos trazendo exemplos práticos | |||
* Todos participaram das explicações | |||
* Souberam responder as perguntas | |||
* Apresentação bem elaborada | |||
*'''Nota: 10,00''' (Para todos os integrantes do grupo). | |||
===Grupo 3 (Suyan e Yara)=== | |||
* Abordaram todos os assuntos pedidos trazendo exemplos práticos | |||
* Todos participaram das explicações | |||
* Souberam responder as perguntas | |||
* Apresentação bem elaborada | |||
*'''Nota: 10,00''' (Para todos os integrantes do grupo). | |||
==Aula 11/03/2019: Apresentação UC do SR == | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* (NOK) Descrição dos casos casos (-5) | |||
* (OK) Diagrama dos casos de uso | |||
*'''Nota: 5,00''' (Para todos os integrantes do grupo). | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* (OK) Descrição dos casos casos | |||
* (OK) Diagrama dos casos de uso | |||
* Problema no entendimento do sistema e reflexo na simplificação dos casos de uso (-4) | |||
*'''Nota: 6,00''' (Para todos os integrantes do grupo). | |||
===Grupo 3 (Suyan e Yara)=== | |||
* (NOK) Descrição dos casos casos (-5) | |||
* (OK) Diagrama dos casos de uso | |||
* Apresentaram a discussão dos requisitos (+1) | |||
*'''Nota: 6,00''' (Para todos os integrantes do grupo). | |||
=== Próximas Atividades === | |||
* Deadline 25/03 | |||
* Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python. | |||
* Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas) | |||
* DESCRIÇÃO dos casos de uso do SS (Sistema Supervisor) | |||
* Diagrama de caso de uso do SS | |||
;Material Plataforma | ;Material Plataforma | ||
Linha 58: | Linha 220: | ||
; | ==Aula 25/03/2019: Avaliação do Andamento (Casos de Uso do SS) == | ||
===Grupo 1 (Alisson, Rafael)=== | |||
* (OK) Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas) | |||
* (OK) Descrição dos casos casos do SS. OBS.: Precisa completar as descrições para manter a nota abaixo. | |||
* (OK) Diagrama dos casos de uso do SS. OBS.: Precisa ajustar o que foi pedido para manter a nota abaixo. | |||
*'''Nota: 10,00''' (Para todo os integrantes). | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* (NOK) Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas) (-3) | |||
* (OK) Descrição dos casos casos. OBS.: Muitos problemas recorrentes na compreensão, já discutidos no SR (-2) | |||
* (OK) Diagrama dos casos de uso. OBS.: Muitos problemas recorrentes na compreensão, já discutidos no SR (-2) | |||
*'''Nota: 3''' (Para todo os integrantes). | |||
===Grupo 3 (Suyan e Yara)=== | |||
* (NOK) Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas). OBS: Não funcionava no tabuleiro. Movimentação simples. (-1,5) | |||
* (NOK) Descrição dos casos casos (-3,5) | |||
* (OK) Diagrama dos casos de uso. OBS.: Vários diagramas, mas nenhum preciso. Muitos problemas na compreensão (-2) | |||
*'''Nota: 3''' (Para todo os integrantes). | |||
=== Próximas Atividades === | |||
* Deadline 08/03 | |||
* DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro) | |||
* Diagrama de caso de uso do SA | |||
* Definição de todas as mensagens entre os sistemas | |||
* Apresentação de todos os UC do SS e do SR atualizados | |||
==Aula 01/04/2019: Acompanhamento == | |||
==Aula 08/04/2019: Avaliação do Andamento (Casos de Uso do SA e outras atividades) == | |||
https://docs.google.com/spreadsheets/d/1svLEAV_Xb1WjENO1vFbNJ5QXINO6cYz20Vf_oeHAk7I/edit?usp=sharing | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* (-) DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro) | |||
* (-) Diagrama de caso de uso do SA | |||
* (-) Definição de todas as mensagens entre os sistemas | |||
* (-) Apresentação de todos os UC do SS e do SR atualizados | |||
*'''Nota: -''' (Para -). | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* (-) DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro) | |||
* (-) Diagrama de caso de uso do SA | |||
* (-) Definição de todas as mensagens entre os sistemas | |||
* (-) Apresentação de todos os UC do SS e do SR atualizados | |||
*'''Nota: -''' (Para -) | |||
===Grupo 3 (Suyan e Yara)=== | |||
* (-) DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro) | |||
* (-) Diagrama de caso de uso do SA | |||
* (-) Definição de todas as mensagens entre os sistemas | |||
* (-) Apresentação de todos os UC do SS e do SR atualizados | |||
*'''Nota: -''' (Para -). | |||
==Aula 15/04/2019: Reunião de Gerência == | |||
* Mudança no paradigma de organização | |||
* Grupos devem apresentar cronograma com Milestones e atividades na próxima semana | |||
==Aula 22/04/2019: Apresentação do cronograma == | |||
As equipes apresentaram o cronograma para o desenvolvimento até o fim do semestre. | |||
==Aula 29/04/2019: Acompanhamento == | |||
* Roteiro de testes: | |||
** Teste do caso de uso do CADASTRAR/REMOVER Robôs | |||
*** Cadastrar um robô com sucesso | |||
*** Listar os robôs cadastrados | |||
*** Remover um robô da lista | |||
*** Reiniciar o sistema e verificar a persistência da lista de Robôs. | |||
*** Tentar cadastrar um robô com o mesmo nome. | |||
** Teste do caso de uso do INICIAR partida | |||
*** Visualizar SSs presentes (ativos) no SA | |||
*** Tentar configurar partida com apenas um SS presente (não deve permitir o início da partida) | |||
*** Configurar com sucesso uma partida manual/automático, monstrando na tela dos SSs que eles foram selecionados para a partida. | |||
*** Iniciar partida manual/automático com apenas um Robô (SS) presente devido a queda de um SS | |||
*** Iniciar uma partida manual com sucesso mostrando mensagem na tela dos SSs de "início de partida" | |||
*** Iniciar uma partida automática com sucesso mostrando mensagem na tela dos SSs de "início de partida" | |||
** Teste do caso de uso de PAUSAR/REINICIAR partida | |||
*** Pausar/reiniciar partida manual com indicativos nas telas dos SSs | |||
*** Pausar/reiniciar partida automática com indicativos nas telas dos SSs e comportamento do robô adequado | |||
** Teste do caso de uso de INICIAR (JOGAR MANUAL) | |||
*** Realizar uma partida manual com captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA). | |||
*** Realizar uma segunda partida manual ou automática após finalização da primeira. | |||
** Teste do caso de uso de INICIAR (JOGAR AUTOMÁTICO) | |||
*** Realizar uma partida automático com captura, sinalização automático da captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA). | |||
*** Realizar uma segunda partida manual ou automática após finalização da primeira. | |||
** Teste do caso de uso de CONSULTAR HISTÓRICO | |||
*** Verificar o histórico logo após cada partida. | |||
*** Verificar o histórico após reiniciar o SA. | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* SR Manual só funcionando via SSH, sem funcionar o controle remoto do Robô | |||
* Sem diagrama de Classes | |||
* Estado Cronograma: Atrasado | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* Diagrama de classe tinha só uma classe | |||
* Bastante problema de compreensão | |||
* Sugestão: Trabalhar no diagrama de classe do SR até ficar bem claro a arquitetura do sistema. Implementar o modo manual e depois o automático. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 3 (Suyan e Yara)=== | |||
* Não compareceram | |||
* Estado Cronograma: Sem info | |||
==Aula 06/05/2019: Acompanhamento == | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* 06/05: Entrega do SR Automático e do SS Pronto. | |||
* SS não implementado ainda | |||
* SR automático funcionando parcialmente, mas com as seguintes restrições: | |||
** Não trata uma lista de caças | |||
** Não trata uma lista de adversários em posições diversas no tabuleiro | |||
** Não envia a informação de posição a cada movimentação | |||
** Não pede validação da caça. | |||
* O desenvolvimento está bem confuso. Parece que algumas funcionalidades estão sendo implementadas, mas sem muita direção e organização no processo. Falta diagrama de classe para discutir e organizar o desenvolvimento. Provavelmente gerará muito retrabalho e, talvez, falhas na integração. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* 06/05: Entrega do SR manual. | |||
* Muito boa a evolução da última semana: | |||
** Classe manual funcionando sem erros | |||
** Estrutura do sistema discutida durante a semana | |||
** Compreensão do sistema melhorou muito | |||
* Sugestão: Não se preocupar com a implementação da comunicação. Criar classes "stubs" no lugar das classes de comunicação (SS_COM e SR_COM) para testar o funcionamento do robô no modo autônomo, criando alguns cenários de testes (adversários bloqueando o caminho, caças sendo consumidas, etc.) e com prints na tela. Procurar atendimento se precisar de ajuda. | |||
* Estado Cronograma: Em dia | |||
===Grupo 3 (Suyan e Yara)=== | |||
* 06/05: Sem entrega prevista, próxima semana entrega do SS pronto. | |||
* Apenas duas classes implementadas e possuem uma dependência confusa. Faltam vários detalhes para garantir a entrega no prazo da próxima semana. Não tem um diagrama de classe para discutir no alto nível os avanços. | |||
* A decisão de começar pelo SS é bastante exótica e preocupa pelos problemas de compreensão em alguns pontos do funcionamento do sistema. Mesmo com o SS pronto, fica complicado de ter um teste amplo para validar um componente do núcleo do sistema na próxima semana. | |||
* Sugestão: Criar os diagramas de classe dos sistemas e verificar se o SS implementa todas as funcionalidades exigidas pelos SA e SR. | |||
* Estado Cronograma: Aparentemente em dia, mas a dúvida é como garantir que o SS está funcionando corretamente na próxima semana. | |||
==Aula 13/05/2019: Acompanhamento == | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* 13/05: Entrega do SR Automático (atrasado), do SS Pronto (atrasado) e dos Ajustes (atrasado) | |||
* Os alunos não compareceram. | |||
* Terceira semana sem uma entrega substancial, apenas testes isolados. | |||
* ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* 13/05: Movimento autônomo/Comunicação com o SS | |||
* Sem evolução essa semana | |||
* Esses atrasos são preocupantes. O projeto é grande e precisa de dedicação constante. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 3 (Suyan e Yara)=== | |||
* 13/05: Entrega do SS pronto. | |||
* A organização do código ficou bastante confusa. Difícil de entender e de modelar. Pode trazer problemas na integração e em uma futura extensão. | |||
* Ainda persistem alguns problemas de compreensão. Por exemplo: 1) O correto é o SA definir se a partida será automática ou manual; 2) O SR não pode se comunicar com o o SA. | |||
* Interface gráfica não está pronta | |||
* Não tem uma prova de conceito para ver o sistema funcionar. Não há nada que prove que o código apresentado não seja "inútil", ficando difícil de avaliar o progresso. | |||
* Só possui os canais de comunicação implementada. Falta a interface gráfica do SS e a implementação da lógica completa do SS. | |||
* Estado Cronograma: Atrasado | |||
==Aula 20/05/2019: Acompanhamento == | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* 20/05: Entregar definições dos trabalhos do SA | |||
* Entregas atrasadas: Entrega do SR Automático, do SS Pronto e dos Ajustes | |||
* Os alunos mostraram uma evolução na lógica do SS e do SR | |||
* Os problemas vem se acumulando por falta de um projeto mais robusto. | |||
* Mantenho ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* 20/05: Diagrama de classe do SS / Comunicação com o usuário | |||
* Entregas atrasadas: Movimento autônomo/Comunicação com o SS | |||
* Foi apresentado o movimento autônomo "parcial". Não há implementações de lógicas importantes, por exemplo, "valida caça", tratamento na mudança da lista de caças e/ou tratamento da posição de outros adversário. | |||
* O modo manual parece estar robusto e foi demonstrado o robô seguindo várias caças sem problema. | |||
* Falta bastante para a lógica do SR estar pronta. | |||
* ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 3 (Suyan e Yara)=== | |||
* 20/05: Sem entrega prevista, mas o SS ainda não está pronto. Falta lógica completa, por exemplo, validar caça no modo manual. | |||
* Entregas atrasadas: Entrega do SS pronto. | |||
* Apesar do SS não estar pronto, a parte de comunicação de todos os sistemas foi implementada. Parece estar funcionando bem e com todas as mensagens previstas. O ponto negativo é que a equipe não seguiu o cronograma incialmente proposto. | |||
* Interface gráfica ou linha de comando do SS não está pronta (falta validar a caça). | |||
* Não há um projeto de classes. O diagrama de sequência não apresenta informações relevantes do funcionamento do sistema, só troca de mensagens. | |||
* Os problemas de compreensão persistem. Se o SR completo, incluindo o modo autônomo, não for implementado todo no robô, será considerado como falha grave. | |||
* Faltou verificar se os seguintes pontos foram corrigidos: 1) O correto é o SA definir se a partida será automática ou manual; 2) O SR não pode se comunicar com o o SA; 3) Valida caça bloqueante. | |||
* Continua faltando a interface gráfica do SS e a implementação da lógica completa do SS. | |||
* ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
==Aula 27/05/2019: Acompanhamento == | |||
* ''' Estou realmente preocupado com o estado do projeto. Vejo muito retrabalho, por falta de um projeto robusto, e pouco resultado.''' | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* 27/05: Sem entrega prevista | |||
* Entregas atrasadas: SS e o SR deveriam estar prontos | |||
* Os alunos mostraram uma evolução na lógica do SS e do SR, mas os problemas persistem. | |||
* ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* 27/05: SS/SR Comunicação com o Robô | |||
* Entregas atrasadas: Falta a lógica do SR e SS | |||
* A comunicação entre o SS e o SR parece estar funcionando, mas falta bastante implementação no SR. O algoritmo para tratar as exceções do movimento autônomo não foram implementadas. | |||
* ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
* | ===Grupo 3 (Suyan e Yara)=== | ||
* | * 27/05: Sem entrega prevista, mas o SS ainda não está pronto. Falta lógica completa, por exemplo, validar caça no modo manual. Nada do SR foi apresentado. | ||
* | * Entregas atrasadas: Entrega do SS pronto. | ||
* Não houve evolução do estado do projeto desde a última semana. | |||
* A lógica do SS ainda não está pronta | |||
* A intenção de modificar um requisito porque será "muito trabalhoso" mudar a estrutura do sistema, mostra que o sistema não foi projetado corretamente. Outro indício disso é precisar ter uma pedaço do SR junto com o SS. | |||
* Não sei se os problemas de compreensão foram corrigidos. | |||
* Não foi apresentado nenhum diagrama do SR para discussão. O SR não teve evolução e o deadline para entrega é na próxima semana ... preocupante. | |||
* ALERTA preocupante do estado do projeto. | |||
* Estado Cronograma: Atrasado | |||
==Aula 03/06/2019: Desenvolvimento == | |||
* | * Espaço da aula liberado para o desenvolvimento do projeto | ||
* | * Foi acertado uma demonstração forma na próxima semana | ||
==Aula 10/06/2019: Entrega parcial == | |||
* Verificação do funcionamento do SS e do SR a partir de uma lista de caças. Simulação de uma "partida" manual e uma automática. | |||
===Grupo 1 (Alisson, Rafael)=== | |||
* Requisitos cumpridos. Funcionamento robusto e boa rotina de testes. | |||
* | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* Não entregue | |||
===Grupo 3 (Suyan e Yara)=== | |||
* Várias tentativas. Robô sem bateria. Rotina de teste envolvia SA e complicou demonstração. | |||
* Não funcionou | |||
* | ==Aula 17/06/2019: Acompanhamento == | ||
* Verificação do funcionamento do Grupo 2 e 3 | |||
===Grupo 2 (Adonis, Daniel)=== | |||
* Não Funcionou | |||
* | ===Grupo 3 (Suyan e Yara)=== | ||
* Não Funcionou | |||
* Requisitos simplificados para aprovação: | |||
* | ** Rodar 3 partidas sem reiniciar o SA, SS e o SR: Automática, manual, automática. | ||
** O algoritmo da movimentação automática deve rodar no SR (dentro do Robô). | |||
** O acesso ao robô só pode ser feito para acessar o SR. | |||
** Deadline: 01/07 | |||
** Entrega da documentação atualizada: 08/07 |
Edição atual tal como às 15h08min de 17 de junho de 2019
1 Dados da Disciplina
- Tutores: Roberto de Matos
- Encontros: Segundas 13:30h no Laboratório de Redes
- Informações da disciplina
- Plano de Ensino
2 Características da Disciplina
- Grau de independência médio com relação ao tutor
- Casos de insucesso
- Porque não deu certo? Como eu fiz?
- Pesquisa de como executar tarefas
- Como eu efetuei a pesquisa?
- Projeto vai além dos limites da sala de aula
- Os checkpoints devem ser respeitados
- Apresentações nos checkpoints devem ser organizados previamente e cada aluno deve apresentar suas contribuições
- É responsabilidade do grupo demandar equipamentos, softwares, recursos de forma geral
3 Página dos Grupos
- Páginas dos Grupos 2019-1
4 Material Plataforma
- Software:
- EV3dev & EV3 Python Playlist
- Linux (EV3dev):
- Python (EV3 Python):
5 Diário de Aulas
5.1 Aula 11/02/2019: Cancelada
Cancelada devido ao afastamento para visita técnica.
5.2 Aula 18/02/2019: Apresentação da Disciplina
- Discussão do Tema de Trabalho e apresentação das restrições
- Avaliação
- Resultados Esperados
- Formação de Grupos
- Atividade (Próxima Aula)
- Grupo 1:
- Paradigma da orientação a objetos
- Modelagem casos de Uso
- Diagrama de Casos de Uso
- Grupo 2:
- Classe e Diagrama de classes (relacionamentos)
- Herança, classes abstratas e interfaces
- Polimorfismo
- Grupo 3:
- Diagramas comportamentais
- Diagrama de sequência
- Diagrama de Implementação
- Todos os grupos:
- Usar os diagramas do Grupo 2018-2, mostrando erros e acertos.
5.3 Aula 25/02/2019: Seminários
- Seminários (Avaliação):
5.3.1 Especificação
A execução do jogo foi dividida em três sistemas diferentes: Sistema de Auditoria (SA), Sistema Supervisório (SS) e Sistema do Robô (SR). Para fins de controle de partidas, histórico, cadastro de robôs e controle de captura de caças foi criado do sistema de auditoria, que age como juiz. O sistema supervisório atua como mediador entre os sistemas de auditoria e robô, é responsável por transmitir as informações da partida recebida do SA para os sistemas supervisórios de cada equipe, bem como receber informações dos SR e retransmiti-las ao SA. O sistema do robô fica responsável pela lógica para encontrar os alvos.
5.3.2 Levantamento de Requisitos
- Funcionais
RF01 O sistema deve permitir criação e gerência de cadastro de um robô.
RF02 O sistema de deve manter um histórico das partidas realizadas.
RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados.
RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.
RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô.
RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs.
RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo.
RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual.
RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado.
RF010 O sistema deve permitir pausa e reset da partida.
RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.
RF012 O sistema não deve permitir que os robôs se choquem.
RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.
RF014 O sistema pode ter 2 ou 3 competidores *
RF015 O sistema deve projetar informações no tabuleiro (Caças ativas, Caças encontradas, e placar) *
- Requisitos não funcionais
RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva.
RNF02 O tabuleiro será composto por linhas pretas e todos com cor.
RNF03 O tabuleiro terá as dimensões definidas (2m x 2m).
RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm.
RNF05 O tabuleiro será limitado por uma borda vermelha.
RNF06 O placar mostrado aos usuários deve ser de fácil identificação.
RNF07 O robô deve ter uma cor para identificação.
'* Requisitos novos
- Próximas Atividades
- Analisar diagrama dos grupos e verificar se cumprem os requisitos
- Páginas dos Grupos 2018-2
- Página 2018-2
5.5 Aula 06/03/2019: Aula Extra
- Apresentação seminário "Caso de Uso"
- Dúvidas sobre os casos de uso do SR
5.5.1 Grupo 1 (Alisson)
- Apresentou atrasado
- Faltou apresentar o formato da descrição do casos de uso para ser usado em sala de aula
- Nota: 6,00
5.5.2 Grupo 2 (Adonis, Daniel e Rafael)
- Abordaram todos os assuntos pedidos trazendo exemplos práticos
- Todos participaram das explicações
- Souberam responder as perguntas
- Apresentação bem elaborada
- Nota: 10,00 (Para todos os integrantes do grupo).
5.5.3 Grupo 3 (Suyan e Yara)
- Abordaram todos os assuntos pedidos trazendo exemplos práticos
- Todos participaram das explicações
- Souberam responder as perguntas
- Apresentação bem elaborada
- Nota: 10,00 (Para todos os integrantes do grupo).
5.6 Aula 11/03/2019: Apresentação UC do SR
5.6.1 Grupo 1 (Alisson, Rafael)
- (NOK) Descrição dos casos casos (-5)
- (OK) Diagrama dos casos de uso
- Nota: 5,00 (Para todos os integrantes do grupo).
5.6.2 Grupo 2 (Adonis, Daniel)
- (OK) Descrição dos casos casos
- (OK) Diagrama dos casos de uso
- Problema no entendimento do sistema e reflexo na simplificação dos casos de uso (-4)
- Nota: 6,00 (Para todos os integrantes do grupo).
5.6.3 Grupo 3 (Suyan e Yara)
- (NOK) Descrição dos casos casos (-5)
- (OK) Diagrama dos casos de uso
- Apresentaram a discussão dos requisitos (+1)
- Nota: 6,00 (Para todos os integrantes do grupo).
5.6.4 Próximas Atividades
- Deadline 25/03
- Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python.
- Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas)
- DESCRIÇÃO dos casos de uso do SS (Sistema Supervisor)
- Diagrama de caso de uso do SS
- Material Plataforma
- Software:
- EV3dev & EV3 Python Playlist
- Linux (EV3dev):
- Python (EV3 Python):
5.7 Aula 25/03/2019: Avaliação do Andamento (Casos de Uso do SS)
5.7.1 Grupo 1 (Alisson, Rafael)
- (OK) Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas)
- (OK) Descrição dos casos casos do SS. OBS.: Precisa completar as descrições para manter a nota abaixo.
- (OK) Diagrama dos casos de uso do SS. OBS.: Precisa ajustar o que foi pedido para manter a nota abaixo.
- Nota: 10,00 (Para todo os integrantes).
5.7.2 Grupo 2 (Adonis, Daniel)
- (NOK) Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas) (-3)
- (OK) Descrição dos casos casos. OBS.: Muitos problemas recorrentes na compreensão, já discutidos no SR (-2)
- (OK) Diagrama dos casos de uso. OBS.: Muitos problemas recorrentes na compreensão, já discutidos no SR (-2)
- Nota: 3 (Para todo os integrantes).
5.7.3 Grupo 3 (Suyan e Yara)
- (NOK) Apresentar Robô se movimentando adequadamente em todas as direções (Diagrama das Classes Envolvidas). OBS: Não funcionava no tabuleiro. Movimentação simples. (-1,5)
- (NOK) Descrição dos casos casos (-3,5)
- (OK) Diagrama dos casos de uso. OBS.: Vários diagramas, mas nenhum preciso. Muitos problemas na compreensão (-2)
- Nota: 3 (Para todo os integrantes).
5.7.4 Próximas Atividades
- Deadline 08/03
- DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro)
- Diagrama de caso de uso do SA
- Definição de todas as mensagens entre os sistemas
- Apresentação de todos os UC do SS e do SR atualizados
5.8 Aula 01/04/2019: Acompanhamento
5.9 Aula 08/04/2019: Avaliação do Andamento (Casos de Uso do SA e outras atividades)
https://docs.google.com/spreadsheets/d/1svLEAV_Xb1WjENO1vFbNJ5QXINO6cYz20Vf_oeHAk7I/edit?usp=sharing
5.9.1 Grupo 1 (Alisson, Rafael)
- (-) DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro)
- (-) Diagrama de caso de uso do SA
- (-) Definição de todas as mensagens entre os sistemas
- (-) Apresentação de todos os UC do SS e do SR atualizados
- Nota: - (Para -).
5.9.2 Grupo 2 (Adonis, Daniel)
- (-) DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro)
- (-) Diagrama de caso de uso do SA
- (-) Definição de todas as mensagens entre os sistemas
- (-) Apresentação de todos os UC do SS e do SR atualizados
- Nota: - (Para -)
5.9.3 Grupo 3 (Suyan e Yara)
- (-) DESCRIÇÃO dos casos de uso do SA (Sistema do Árbitro)
- (-) Diagrama de caso de uso do SA
- (-) Definição de todas as mensagens entre os sistemas
- (-) Apresentação de todos os UC do SS e do SR atualizados
- Nota: - (Para -).
5.10 Aula 15/04/2019: Reunião de Gerência
- Mudança no paradigma de organização
- Grupos devem apresentar cronograma com Milestones e atividades na próxima semana
5.11 Aula 22/04/2019: Apresentação do cronograma
As equipes apresentaram o cronograma para o desenvolvimento até o fim do semestre.
5.12 Aula 29/04/2019: Acompanhamento
- Roteiro de testes:
- Teste do caso de uso do CADASTRAR/REMOVER Robôs
- Cadastrar um robô com sucesso
- Listar os robôs cadastrados
- Remover um robô da lista
- Reiniciar o sistema e verificar a persistência da lista de Robôs.
- Tentar cadastrar um robô com o mesmo nome.
- Teste do caso de uso do INICIAR partida
- Visualizar SSs presentes (ativos) no SA
- Tentar configurar partida com apenas um SS presente (não deve permitir o início da partida)
- Configurar com sucesso uma partida manual/automático, monstrando na tela dos SSs que eles foram selecionados para a partida.
- Iniciar partida manual/automático com apenas um Robô (SS) presente devido a queda de um SS
- Iniciar uma partida manual com sucesso mostrando mensagem na tela dos SSs de "início de partida"
- Iniciar uma partida automática com sucesso mostrando mensagem na tela dos SSs de "início de partida"
- Teste do caso de uso de PAUSAR/REINICIAR partida
- Pausar/reiniciar partida manual com indicativos nas telas dos SSs
- Pausar/reiniciar partida automática com indicativos nas telas dos SSs e comportamento do robô adequado
- Teste do caso de uso de INICIAR (JOGAR MANUAL)
- Realizar uma partida manual com captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA).
- Realizar uma segunda partida manual ou automática após finalização da primeira.
- Teste do caso de uso de INICIAR (JOGAR AUTOMÁTICO)
- Realizar uma partida automático com captura, sinalização automático da captura e validação pelo árbitro de todas as caças, indicação do vencedor e finalização da partida (botão de voltar para a tela de início do SA).
- Realizar uma segunda partida manual ou automática após finalização da primeira.
- Teste do caso de uso de CONSULTAR HISTÓRICO
- Verificar o histórico logo após cada partida.
- Verificar o histórico após reiniciar o SA.
- Teste do caso de uso do CADASTRAR/REMOVER Robôs
5.12.1 Grupo 1 (Alisson, Rafael)
- SR Manual só funcionando via SSH, sem funcionar o controle remoto do Robô
- Sem diagrama de Classes
- Estado Cronograma: Atrasado
5.12.2 Grupo 2 (Adonis, Daniel)
- Diagrama de classe tinha só uma classe
- Bastante problema de compreensão
- Sugestão: Trabalhar no diagrama de classe do SR até ficar bem claro a arquitetura do sistema. Implementar o modo manual e depois o automático.
- Estado Cronograma: Atrasado
5.12.3 Grupo 3 (Suyan e Yara)
- Não compareceram
- Estado Cronograma: Sem info
5.13 Aula 06/05/2019: Acompanhamento
5.13.1 Grupo 1 (Alisson, Rafael)
- 06/05: Entrega do SR Automático e do SS Pronto.
- SS não implementado ainda
- SR automático funcionando parcialmente, mas com as seguintes restrições:
- Não trata uma lista de caças
- Não trata uma lista de adversários em posições diversas no tabuleiro
- Não envia a informação de posição a cada movimentação
- Não pede validação da caça.
- O desenvolvimento está bem confuso. Parece que algumas funcionalidades estão sendo implementadas, mas sem muita direção e organização no processo. Falta diagrama de classe para discutir e organizar o desenvolvimento. Provavelmente gerará muito retrabalho e, talvez, falhas na integração.
- Estado Cronograma: Atrasado
5.13.2 Grupo 2 (Adonis, Daniel)
- 06/05: Entrega do SR manual.
- Muito boa a evolução da última semana:
- Classe manual funcionando sem erros
- Estrutura do sistema discutida durante a semana
- Compreensão do sistema melhorou muito
- Sugestão: Não se preocupar com a implementação da comunicação. Criar classes "stubs" no lugar das classes de comunicação (SS_COM e SR_COM) para testar o funcionamento do robô no modo autônomo, criando alguns cenários de testes (adversários bloqueando o caminho, caças sendo consumidas, etc.) e com prints na tela. Procurar atendimento se precisar de ajuda.
- Estado Cronograma: Em dia
5.13.3 Grupo 3 (Suyan e Yara)
- 06/05: Sem entrega prevista, próxima semana entrega do SS pronto.
- Apenas duas classes implementadas e possuem uma dependência confusa. Faltam vários detalhes para garantir a entrega no prazo da próxima semana. Não tem um diagrama de classe para discutir no alto nível os avanços.
- A decisão de começar pelo SS é bastante exótica e preocupa pelos problemas de compreensão em alguns pontos do funcionamento do sistema. Mesmo com o SS pronto, fica complicado de ter um teste amplo para validar um componente do núcleo do sistema na próxima semana.
- Sugestão: Criar os diagramas de classe dos sistemas e verificar se o SS implementa todas as funcionalidades exigidas pelos SA e SR.
- Estado Cronograma: Aparentemente em dia, mas a dúvida é como garantir que o SS está funcionando corretamente na próxima semana.
5.14 Aula 13/05/2019: Acompanhamento
5.14.1 Grupo 1 (Alisson, Rafael)
- 13/05: Entrega do SR Automático (atrasado), do SS Pronto (atrasado) e dos Ajustes (atrasado)
- Os alunos não compareceram.
- Terceira semana sem uma entrega substancial, apenas testes isolados.
- ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.14.2 Grupo 2 (Adonis, Daniel)
- 13/05: Movimento autônomo/Comunicação com o SS
- Sem evolução essa semana
- Esses atrasos são preocupantes. O projeto é grande e precisa de dedicação constante.
- Estado Cronograma: Atrasado
5.14.3 Grupo 3 (Suyan e Yara)
- 13/05: Entrega do SS pronto.
- A organização do código ficou bastante confusa. Difícil de entender e de modelar. Pode trazer problemas na integração e em uma futura extensão.
- Ainda persistem alguns problemas de compreensão. Por exemplo: 1) O correto é o SA definir se a partida será automática ou manual; 2) O SR não pode se comunicar com o o SA.
- Interface gráfica não está pronta
- Não tem uma prova de conceito para ver o sistema funcionar. Não há nada que prove que o código apresentado não seja "inútil", ficando difícil de avaliar o progresso.
- Só possui os canais de comunicação implementada. Falta a interface gráfica do SS e a implementação da lógica completa do SS.
- Estado Cronograma: Atrasado
5.15 Aula 20/05/2019: Acompanhamento
5.15.1 Grupo 1 (Alisson, Rafael)
- 20/05: Entregar definições dos trabalhos do SA
- Entregas atrasadas: Entrega do SR Automático, do SS Pronto e dos Ajustes
- Os alunos mostraram uma evolução na lógica do SS e do SR
- Os problemas vem se acumulando por falta de um projeto mais robusto.
- Mantenho ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.15.2 Grupo 2 (Adonis, Daniel)
- 20/05: Diagrama de classe do SS / Comunicação com o usuário
- Entregas atrasadas: Movimento autônomo/Comunicação com o SS
- Foi apresentado o movimento autônomo "parcial". Não há implementações de lógicas importantes, por exemplo, "valida caça", tratamento na mudança da lista de caças e/ou tratamento da posição de outros adversário.
- O modo manual parece estar robusto e foi demonstrado o robô seguindo várias caças sem problema.
- Falta bastante para a lógica do SR estar pronta.
- ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.15.3 Grupo 3 (Suyan e Yara)
- 20/05: Sem entrega prevista, mas o SS ainda não está pronto. Falta lógica completa, por exemplo, validar caça no modo manual.
- Entregas atrasadas: Entrega do SS pronto.
- Apesar do SS não estar pronto, a parte de comunicação de todos os sistemas foi implementada. Parece estar funcionando bem e com todas as mensagens previstas. O ponto negativo é que a equipe não seguiu o cronograma incialmente proposto.
- Interface gráfica ou linha de comando do SS não está pronta (falta validar a caça).
- Não há um projeto de classes. O diagrama de sequência não apresenta informações relevantes do funcionamento do sistema, só troca de mensagens.
- Os problemas de compreensão persistem. Se o SR completo, incluindo o modo autônomo, não for implementado todo no robô, será considerado como falha grave.
- Faltou verificar se os seguintes pontos foram corrigidos: 1) O correto é o SA definir se a partida será automática ou manual; 2) O SR não pode se comunicar com o o SA; 3) Valida caça bloqueante.
- Continua faltando a interface gráfica do SS e a implementação da lógica completa do SS.
- ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.16 Aula 27/05/2019: Acompanhamento
- Estou realmente preocupado com o estado do projeto. Vejo muito retrabalho, por falta de um projeto robusto, e pouco resultado.
5.16.1 Grupo 1 (Alisson, Rafael)
- 27/05: Sem entrega prevista
- Entregas atrasadas: SS e o SR deveriam estar prontos
- Os alunos mostraram uma evolução na lógica do SS e do SR, mas os problemas persistem.
- ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.16.2 Grupo 2 (Adonis, Daniel)
- 27/05: SS/SR Comunicação com o Robô
- Entregas atrasadas: Falta a lógica do SR e SS
- A comunicação entre o SS e o SR parece estar funcionando, mas falta bastante implementação no SR. O algoritmo para tratar as exceções do movimento autônomo não foram implementadas.
- ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.16.3 Grupo 3 (Suyan e Yara)
- 27/05: Sem entrega prevista, mas o SS ainda não está pronto. Falta lógica completa, por exemplo, validar caça no modo manual. Nada do SR foi apresentado.
- Entregas atrasadas: Entrega do SS pronto.
- Não houve evolução do estado do projeto desde a última semana.
- A lógica do SS ainda não está pronta
- A intenção de modificar um requisito porque será "muito trabalhoso" mudar a estrutura do sistema, mostra que o sistema não foi projetado corretamente. Outro indício disso é precisar ter uma pedaço do SR junto com o SS.
- Não sei se os problemas de compreensão foram corrigidos.
- Não foi apresentado nenhum diagrama do SR para discussão. O SR não teve evolução e o deadline para entrega é na próxima semana ... preocupante.
- ALERTA preocupante do estado do projeto.
- Estado Cronograma: Atrasado
5.17 Aula 03/06/2019: Desenvolvimento
- Espaço da aula liberado para o desenvolvimento do projeto
- Foi acertado uma demonstração forma na próxima semana
5.18 Aula 10/06/2019: Entrega parcial
- Verificação do funcionamento do SS e do SR a partir de uma lista de caças. Simulação de uma "partida" manual e uma automática.
5.18.1 Grupo 1 (Alisson, Rafael)
- Requisitos cumpridos. Funcionamento robusto e boa rotina de testes.
5.18.2 Grupo 2 (Adonis, Daniel)
- Não entregue
5.18.3 Grupo 3 (Suyan e Yara)
- Várias tentativas. Robô sem bateria. Rotina de teste envolvia SA e complicou demonstração.
- Não funcionou
5.19 Aula 17/06/2019: Acompanhamento
- Verificação do funcionamento do Grupo 2 e 3
5.19.1 Grupo 2 (Adonis, Daniel)
- Não Funcionou
5.19.2 Grupo 3 (Suyan e Yara)
- Não Funcionou
- Requisitos simplificados para aprovação:
- Rodar 3 partidas sem reiniciar o SA, SS e o SR: Automática, manual, automática.
- O algoritmo da movimentação automática deve rodar no SR (dentro do Robô).
- O acesso ao robô só pode ser feito para acessar o SR.
- Deadline: 01/07
- Entrega da documentação atualizada: 08/07