PJI29006-2018-2

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

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

Diário de Aulas

AULA 1 - Dia 30/07/2018

  • Discussão do Tema de Trabalho e apresentação das restrições
  • Avaliação
  • Resultados Esperados
  • Formação de Grupos


Páginas dos Grupos


Material Plataforma


Atividade
  • Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python.
  • Modelar as classes para uso dos motores e do sensor de cor/luminosidade. Faça a engenharia reversa da biblioteca.
  • Estudar exemplos de implementação e rodar no EV3 (procurar o professor para usar a plataforma).


AULA 2 - Dia 06/08/2018

  • Montagem dos Robôs
  • Apresentação das pesquisas feitas durante a semana (Classes Motor e Sensor e Exemplos baseados no EV3 Python).
Atividades
  1. Organizar requisitos: Revisar/completar a redação dos requisitos.
  2. Identificar e Descrever os papéis dos atores do Sistema Robô.
  3. Detalhar TODOS os casos de uso identificados para o Sistema Robô utilizando o modelo apresentado no livro do Bezerra na página 81.


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.


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.

AULA 3 - Dia 13/08/2018: Verificação do Andamento

  • Apresentação das equipes:
  1. Robô Montado
  2. Atividades Aula 1
  3. Atividades Aula 2


Grupo 1 (Douglas e Allex presentes. Felipe Faltou):

  • (OK) Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python.
  • (NOK) Modelar as classes para uso dos motores e do sensor de cor/luminosidade. Faça a engenharia reversa da biblioteca.
  • (NOK) Estudar exemplos de implementação e rodar no EV3 (procurar o professor para usar a plataforma).
  • (OK) Organizar requisitos: Revisar/completar a redação dos requisitos.
  • (NOK) Identificar e Descrever os papéis dos atores do Sistema Robô.
  • (NOK) Detalhar TODOS os casos de uso identificados para o Sistema Robô utilizando o modelo apresentado no livro do Bezerra na página 81.
  • Conclusão:
    • Os requisitos poderiam ter sido detalhados/revisados. A descrição dos casos de uso demonstrou que faltou compreensão no problema/solução propostos.
    • Precisa de mais dedicação e reflexão sobre o problema.
    • Reapresentar na próxima semana todos os itens marcados com "NOK".
  • Nota: 9,00 (Para todos os integrantes do grupo).


Grupo 2 (Todos presentes):

  • (OK) Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python.
  • (NOK) Modelar as classes para uso dos motores e do sensor de cor/luminosidade. Faça a engenharia reversa da biblioteca.
  • (NOK) Estudar exemplos de implementação e rodar no EV3 (procurar o professor para usar a plataforma).
  • (OK) Organizar requisitos: Revisar/completar a redação dos requisitos.
  • (NOK) Identificar e Descrever os papéis dos atores do Sistema Robô.
  • (NOK) Detalhar TODOS os casos de uso identificados para o Sistema Robô utilizando o modelo apresentado no livro do Bezerra na página 81.
  • Conclusão:
    • Os requisitos poderiam ter sido detalhados/revisados. A descrição dos casos de uso demonstrou que faltou compreensão no problema/solução propostos.
    • O detalhamento dos atores devem ser apenas do SR.
    • O diagrama de UC traz conceitos corretos, mas precisa de uma revisão baseada na última discussão.
    • É necessário reapresentar na próxima semana todos os itens marcados com "NOK".
  • Nota: 9,00 (Para todos os integrantes do grupo).


Grupo 3 (Todos presentes):

  • (OK) Estudar a plataforma (EV3), como colocar o Linux no EV3 e a biblioteca EV3 Python.
  • (OK) Modelar as classes para uso dos motores e do sensor de cor/luminosidade. Faça a engenharia reversa da biblioteca.
  • (NOK) Estudar exemplos de implementação e rodar no EV3 (procurar o professor para usar a plataforma).
  • (OK) Organizar requisitos: Revisar/completar a redação dos requisitos.
  • (OK) Identificar e Descrever os papéis dos atores do Sistema Robô.
  • (OK) Detalhar TODOS os casos de uso identificados para o Sistema Robô utilizando o modelo apresentado no livro do Bezerra na página 81.
  • Conclusão:
    • Muito bom diagrama geral e os diagramas de classe da engenharia reversa. Precisa só corrigir o seguinte: Apenas um SS (Grupo) e o requisito de "transmitir as informações" fica no SA .
    • Requisitos detalhados de forma exemplar, ajudou muito a discussão em sala para esclarecer as dúvidas. Parabéns!!!
    • Corrigir atores e o detalhamento. O diagrama UC do SR precisa ser corrigido conforme discutido em sala (ex.: Retirar "Cadastra robô", Incluir sensores, Recebe/executa faz parte do modo de operação e o "Encontrar caça" fica ligado ao sistema automático, etc.)
      • Parabéns pelo trabalho, mostrou dedicação com o projeto e trouxe discussões interessantes para todos os grupos.
  • Nota: 10,00 (Para todos os integrantes do grupo se a pendência (NOK) for resolvida até a próxima aula).

AULA 4 - Dia 20/08/2018: Verificação do Andamento (cont.)

  • Reapresentação dos pontos que faltaram;
  • Discussão Inicial do Diagrama de Classes


AULA 5 - Dia 27/08/2018: Diagramas de Classes e de Sequência

  • Verificação do andamento
  • Discussão dos diagramas de classe
  • Atividades para próxima aula:
    • Tabela mapeando todos os dados trocados entre o SS e o SR e vice-versa;
    • Diagrama de sequência mapeando a troca de informação entre SS e SR e como esses dados são utilizados no sistema, ou seja, como impactam no diagrama de classe apresentado;
    • Revisar diagrama de classe com os novos detalhes;
    • Revisar diagrama de UC e garantir relação com o Diagrama de Classe;
    • Implementar a classe "movimento" (funcionalidades básicas do robô no tabuleiro) e um programa de teste para demonstrar em sala de aula.

AULA 6 - Dia 03/09/2018: Avaliação do Andamento

Pontos avaliados:

  • Tabela mapeando todos os dados trocados entre o SS e o SR e vice-versa;
  • Diagrama de sequência mapeando a troca de informação entre SS e SR e como esses dados são utilizados no sistema, ou seja, como impactam no diagrama de classe apresentado;
  • Revisar diagrama de classe com os novos detalhes;
  • Revisar diagrama de UC e garantir relação com o Diagrama de Classe;
  • Implementar a classe "movimento" (funcionalidades básicas do robô no tabuleiro) e um programa de teste para demonstrar em sala de aula.

Grupo 1 (Felipe Faltou):

  • A lista não é clara com relação aos tipos de dados e parece estar faltando informações para cumprir os casos de uso/requisitos.
  • O diagrama de sequência apresentado é entre os sistemas SR e SS. Verificar Capítulo 7 do livro texto para entender como é um diagrama de sequência entre os objetos.
  • O diagrama de classe não está satisfatório. Onde está modelado a comunicação com o SS?
  • O diagrama de casos de uso ficou pior que a versão anterior.
  • A implementação da classe movimento não foi feita.
  • Nota: 2

Grupo 2 (Marcone Faltou):

  • Corrigir a tabela conforme conversado em sala de aula.
  • O diagrama de sequência precisa ter relação com os objetos e seus métodos representados no diagrama de classe. O SA não é ator do SR, só o SS. Corrigir o diagrama seguindo o Capítulo 7 do livro texto.
  • Diagrama de classe está coerente. Só prever na classe comunicação, todos os métodos necessários para comunicação com o SS.
  • Diagrama de casos de uso está OK.
  • Problemas na Implementação da classe movimento. Somente o seguidor de linha foi implementado.
  • Nota: 7
  • Marcone, justificar falta e apresentar o que vc fez.

Grupo 3 (Todos presentes):

  • Tabela apresentou de forma genérica a troca dos dados. Ficou interessante, mas precisa verificar se todas os casos estão de fato abrangidos pela generalização.
  • Diagrama de sequência está no caminho certo. Só precisa ajustar alguns detalhes: Usar nomenclatura dos objetos conforme o Capítulo 7 do Bezerra; SR não é ator; Os únicos atores que podem aparecer são os estabelecidos no diagrama de UC; etc.
  • O Diagrama de classe precisa melhorar: Adicionar motores e sensores; Melhorar a classe comunicação (Valida caça?); Organizar melhor graficamente.
  • Diagrama de UC está bom. Precisa ir atualizando conforme as modificações forem ocorrendo.
  • Implementação satisfatória. Usar sensor de cor para detectar intersecção.
  • Nota: 9


AULA 7 - Dia 17/09/2018: Avaliação do Andamento

  • Segundo o calendário acadêmico não haverá aula dia 10/09. São 15 dias de desenvolvimento!
  • Resolver pendências da última avaliação.
  • Implementar o SR com a classe "stub" de comunicação.
  • Implementar testes para execução do seguinte:
    • Modo Autônomo
    • Modo Manual
  • Preparar para a apresentação.
  • Atualizar todos os diagramas no caso de modificação na implementação. Código e diagramas precisam estar coerentes.
  • Subir código para o GITHUB.


Grupo 1:

  • Nota: 10,00

Grupo 2:

  • Faltou a implementação do autônomo no SR, mas foi implementado o algoritmo em Java.
  • Nota: 9,00

Grupo 3:

  • Nota: 10,00

AULA 8 - Dia 24/09/2018: Apresentação do Cronograma

  • Discussão com os grupos sobre os cronogramas.
  • Definição dos Deadlines (prazos).


  • Deadline 08/10: (2 semanas)
    • Finalização pendências SR
    • Definição da tecnologia de comunicação
    • Projeto SS:
      • Definição dos atores
      • Casos de Uso
      • Diagrama de Casos de Uso
      • Diagrama de Classe
      • Diagrama de Sequência
      • Tabela de mensagens


  • Deadline 15/10: (1 semana)
    • Implementação do SS com classe de comunicação STUB


  • Deadline 22/10: (1 semana)
    • Implementação das classes de comunicação e integração do SR e SS


  • Deadline 29/10: (1 semana)
    • Teste final SR e SS com interface de controle (SA "stub")


  • Deadline 05/11: (1 semana)
    • Projeto SA
      • Definição dos atores
      • Casos de Uso
      • Diagrama de Casos de Uso
      • Diagrama de Classe
      • Diagrama de Sequência
      • Tabela de mensagens


  • Deadline 12/11: (1 semana)
    • Implementação do cadastro e casos de uso com dados persistentes


  • Deadline 26/11: (2 semanas)
    • Implementação do demais casos de uso e integração com SS e SR


  • Deadline 17/12: (3 semanas)
    • Atualização da documentação
    • Finalização das pendências
    • Disputa final!! (10 partidas)



AULA 9 - Dia 01/10/2018: Projeto SS e Pendências SR

  • SR Finalizado
  • Discutir o Projeto do SS (diagramas)
    • Projeto SS (Fluxo utilizado no SR):
      • Definição dos atores
      • Casos de Uso
      • Diagrama de Casos de Uso
      • Diagrama de Classe
      • Diagrama de Sequência
      • Tabela de mensagens
  • Para próxima aula:
    • Diagramas do projeto revisado com os comentários feitos em sala de aula.
    • Incluir a Definição da tecnologia de comunicação e impactos nos diagramas.


AULA 10 - Dia 08/10/2018: Avaliação do Andamento

  • Pontos Avaliados:
    • Diagramas do SS revisado.
    • Definição da tecnologia de comunicação e impactos nos diagramas.

Grupo 1:

  • Nota: 7
  • Faltou diagrama de implantação
  • A tecnologia de comunicação não foi bem definida.

Grupo 2:

  • Nota: 8
  • A tecnologia de comunicação não foi bem definida.

Grupo 3:

  • Faltou diagrama de implantação
  • A tecnologia de comunicação não foi bem definida.
  • Nota: 7


  • Para as próxima 3 semanas:
    • Implementação do SS com classe de comunicação STUB
    • Implementação das classes de comunicação e integração do SR e SS
    • Teste final SR e SS com interface de controle (SA "stub")

AULA 10 - Dia 15/10/2018: Andamento da Implementação SS

  • Deadline:
    • Implementação do SS com classe de comunicação STUB
  • Nenhum grupo evolui na implementação.

AULA 11 - Dia 22/10/2018: Andamento da Implementação SS (cont.)

  • Deadline:
    • Implementação das classes de comunicação e integração do SR e SS
  • Acompanhamento:
    • Grupo 1: Melhorou o diagrama de classes, mas não evoluiu na implementação.
    • Grupo 2: Implementou a interface gráfica, mas não evoluiu na comunicação entre o SR e o SS.
    • Grupo 3: Fez alguns testes, mas não evoluiu na implementação.
  • Status:
    • Os grupos estão atrasados 2 semanas das 3 semanas deixadas para o desenvolvimento.
    • Nenhum teste exploratório de comunicação foi feito até o momento. Alguns não tem claro nem a tecnologia que será usada na comunicação entre o SR e o SS.

AULA 12 - Dia 29/10/2018: Avaliação do Andamento

  • Deadline:
    • Teste final SR e SS com interface de controle (SA "stub")
  • Pontos de avaliação:
    • Diagramas SS
    • Funcionamento das classes SR e SS integradas.
    • Interface gráfica do SS.

Grupo 1:

  • Apresentou problemas das várias tecnologias apresentadas, mas não evolui na implementação nas últimas três semanas.
  • Precisa recuperar o tempo perdido.
  • Nota: 2,00

Grupo 2:

  • Implementou a interface gráfica e a comunicação do funcionamento manual
  • Faltou as mensagens da comunicação relacionadas com o funcionamento do modo automático.
  • Não foi implementado o SA stub e o funcionamento no modo automático, então algumas mensagens da comunicação entre o SR e o SS não foram cobertas.
  • Diagrama parcial, mas atualizado.
  • Nota: 7,00

Grupo 3:

  • Já implementou o SA com comunicação.
  • Classe em Python que simula o robô.
  • Demonstrou funcionamento de um jogo manual e automático.
  • Diagramas atualizados.
  • Nota: 10,00


O Grupo 3 é responsável por liderar (não fazer tudo) os próximos passos da modelagem e implementação do SA. Cada grupo precisa deixar claro o que fez na modelagem. Então para próxima aula:

  • Projeto SA
    • Definição dos atores
    • Casos de Uso
    • Diagrama de Casos de Uso
    • Diagrama de Classe
    • Diagrama de Sequência
    • Tabela de mensagens
  • Dividir as implementação em partes e definir responsáveis em cada equipe.

AULA 13 - Dia 05/11/2018: Discussão dos diagramas do SA

  • Para próxima aula:
    • Implementação do cadastro e casos de uso com dados persistentes


AULA 14 - Dia 12/11/2018: Avaliação do Andamento

  • Pontos de avaliação:
    • Diagramas SA
    • Testes do cadastro, etc.

Grupo 1:

  • Não participou da criação dos diagramas do SA. (Esclarecido pelo Líder do SA)
  • Responsáveis por implementar o gerenciador, mas não evoluíram na implementação. (Esclarecido pelo Líder do SA)
  • As pendências do último ponto de avaliação não foram resolvidas completamente. A comunicação parece funcionar, mas a troca de mensagens ainda é rudimentar. Somente o “setMover” (classe SRCom) foi implementada de fato. Falta a implementação da lógica do SS.
  • Situação preocupante. São 5 semanas de trabalhos acumulados com pouca evolução.
  • Nota: 2,00 4,00

Grupo 2:

  • Diagrama de classes (simples)
  • Diagrama de sequência (simples)
  • Protótipos das telas da interface gráfica (bom!)
  • Nota: 9,00

Grupo 3:

  • João Faltou
  • Casos de uso (Diagrama OK, mas descrição incompleta)
  • Tabela com padrão de comunicação (RabbitMQ), muito bom!
  • Implementação da comunicação (padrão estabelecido pelo grupo)
  • Implementação do Banco (sqlite)
  • Nota: 9,00


Para a próxima aula:

  • SS completo e funcionando com todos os casos de uso especificados.

Deadline 26/11 ( em 2 semanas):

  • Implementação do demais casos de uso e integração com SS e SR

AULA 15 - Dia 19/11/2018: Andamento da Implementação do SA

  • Pontos de avaliação:
    • SS completo e funcionando com todos os casos de uso especificados.

Grupo 1:

  • Nota:

Grupo 2:

  • Nota:

Grupo 3:

  • Nota:

AULA 16 - Dia 26/11/2018: Avaliação do Andamento

  • Pontos de avaliação:
    • Implementação do demais casos de uso e integração com SS e SR.
    • Testes preliminares do sistema completo.

Grupo 1:

  • Nota:

Grupo 2:

  • Nota:

Grupo 3:

  • Nota:
  • Próximas 3 semanas (entrega final):
    • Atualização da documentação
    • Finalização das pendências
    • Disputa final!! (10 partidas)

AULA 17 - Dia 03/12/2018: Andamento da Entrega Final

  • Atualização da documentação

AULA 18 - Dia 10/12/2018: Andamento da Entrega Final (cont.)

  • Finalização das pendências

AULA 19 - Dia 17/12/2018: Avaliação da Entrega Final

  • Pontos de avaliação:
    • Documentação atualizada
    • Disputa final!! (10 partidas)

Grupo 1:

  • Nota:

Grupo 2:

  • Nota:

Grupo 3:

  • Nota: