Mudanças entre as edições de "PJI29006-2019-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Criou página com 'Dados da Disciplina= *'''Tutores:''' Roberto de Matos *'''Encontros:''' Segundas 13:30h no Laboratório de Redes *Informações da disciplina *[[PJI2-EngTel ...')
 
 
(33 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
Dados da Disciplina=
+
=Dados da Disciplina=
  
 
*'''Tutores:''' [[Roberto de Matos]]
 
*'''Tutores:''' [[Roberto de Matos]]
Linha 17: Linha 17:
 
*Apresentações nos checkpoints devem ser '''organizados previamente''' e '''cada aluno''' deve apresentar suas contribuições
 
*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
 
*É responsabilidade do grupo demandar equipamentos, softwares, recursos de forma geral
 +
 +
=Página dos Grupos =
 +
 +
;Páginas dos Grupos 2019-1:
 +
*[[Grupo1-PJI2-2019-1]]
 +
*[[Grupo2-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 50: Linha 220:
  
  
;Atividade:
+
==Aula 25/03/2019: Avaliação do Andamento (Casos de Uso do SS) ==
* Analisar diagrama dos grupos e verificar se cumprem os requisitos
+
 
 +
===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
  
;Páginas dos Grupos 2018-2:
 
*[[Grupo1-PJI2-2018-2]]
 
*[[Grupo2-PJI2-2018-2]]
 
*[[Grupo3-PJI2-2018-2]]
 
  
;Página 2018-2
+
* Requisitos simplificados para aprovação:
* [[PJI29006-2018-2]]
+
** 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

Dados da Disciplina

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

Página dos Grupos

Páginas dos Grupos 2019-1

Material Plataforma


Diário de Aulas

Aula 11/02/2019: Cancelada

Cancelada devido ao afastamento para visita técnica.


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.

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
Página 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


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