PJI29006-2018-2
Dados da Disciplina
- Tutores: Roberto de Matos
- Encontros: Segundas 9:40h no Laboratório de Programação.
- Informações da disciplina
- Plano de Ensino
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
- Software:
- EV3dev & EV3 Python Playlist
- Linux (EV3dev):
- Python (EV3 Python):
- 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
- Organizar requisitos: Revisar/completar a redação dos requisitos.
- Identificar e Descrever os papéis dos atores do Sistema Robô.
- 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:
- Robô Montado
- Atividades Aula 1
- 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
- Projeto SA
- 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
- Projeto SS (Fluxo utilizado no SR):
- 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:
Grupo 2:
- Nota:
Grupo 3:
- Nota:
- 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 12 - 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
AULA 13 - 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:
- Nota:
Grupo 2:
- Nota:
Grupo 3:
- Nota:
- 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
- Projeto SA
AULA 14 - 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 15 - Dia 12/11/2018: Avaliação do Andamento
- Pontos de avaliação:
- Diagramas SS
- Testes do cadastro, etc.
Grupo 1:
- Nota:
Grupo 2:
- Nota:
Grupo 3:
- Nota:
- Para as próximas duas aulas:
- Implementação do demais casos de uso e integração com SS e SR
- Deadline 26/11: (2 semanas)
AULA 15 - Dia 19/11/2018: Andamento da Implementação do SA
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/11/2018: Andamento da Entrega Final
- Atualização da documentação
AULA 18 - Dia 10/11/2018: Andamento da Entrega Final (cont.)
- Finalização das pendências
AULA 19 - Dia 17/11/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: