Mudanças entre as edições de "PJI29006-2018-2"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 234: Linha 234:
 
===Grupo 1:===
 
===Grupo 1:===
 
Nota: 10,00
 
Nota: 10,00
 
  
 
===Grupo 2:===
 
===Grupo 2:===

Edição das 16h18min de 24 de setembro de 2018

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: (1 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)