PJI29006-2019-1

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Índice

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