Mudanças entre as edições de "PJI29006-2018-2"
(44 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 5: | Linha 5: | ||
*[[PJI2-EngTel|Informações da disciplina]] | *[[PJI2-EngTel|Informações da disciplina]] | ||
*[[PJI2-EngTel (Plano de Ensino) | Plano de Ensino]] | *[[PJI2-EngTel (Plano de Ensino) | Plano de Ensino]] | ||
+ | |||
+ | *[[Media: Notas_pji2_2018-2.pdf| Notas Finais]] | ||
=Características da Disciplina= | =Características da Disciplina= | ||
Linha 63: | Linha 65: | ||
* Apresentação das pesquisas feitas durante a semana (Classes Motor e Sensor e Exemplos baseados no EV3 Python). | * 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. | ||
+ | |||
Linha 82: | Linha 88: | ||
RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô. | RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô. | ||
− | RF06 O sistema deve dar | + | 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. | RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo. | ||
Linha 88: | Linha 94: | ||
RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual. | 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 | + | 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. | RF010 O sistema deve permitir pausa e reset da partida. | ||
Linha 103: | Linha 109: | ||
RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva. | RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva. | ||
− | RNF02 O tabuleiro | + | RNF02 O tabuleiro será composto por linhas pretas e todos com cor. |
RNF03 O tabuleiro terá as dimensões definidas (2m x 2m). | RNF03 O tabuleiro terá as dimensões definidas (2m x 2m). | ||
Linha 109: | Linha 115: | ||
RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm. | RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm. | ||
− | RNF05 O tabuleiro será limitado por uma borda | + | RNF05 O tabuleiro será limitado por uma borda vermelha. |
RNF06 O placar mostrado aos usuários deve ser de fácil identificação. | RNF06 O placar mostrado aos usuários deve ser de fácil identificação. | ||
RNF07 O robô deve ter uma cor para 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 | ||
+ | |||
+ | |||
+ | * 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:=== | ||
+ | * <s>Não participou da criação dos diagramas do SA.</s> (Esclarecido pelo Líder do SA) | ||
+ | * <s>Responsáveis por implementar o gerenciador, mas não evoluíram na implementação.</s> (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: <s>2,00</s> 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: ''' |
Edição atual tal como às 21h11min de 19 de dezembro de 2018
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: 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,004,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: