Mudanças entre as edições de "Grupo3-PJI2-2018-2"
Linha 9: | Linha 9: | ||
- Organização das tarefas através da ferramenta [https://trello.com/ Trello]; | - Organização das tarefas através da ferramenta [https://trello.com/ Trello]; | ||
+ | ===== Aula 2: 6/8/18 ===== | ||
+ | |||
+ | - Efetuada a leitura da documentação do EV3-Python: apesar do ''bot'' já possuir o linux instalado, estudamos como seria a implementação do mesmo; | ||
+ | |||
+ | - Início da montagem do robô: encontramos algumas dificuldades pois o equipamento estava completamente desmontado, com isso, até entendermos que a montagem seria basicamente livre, sofremos um pouco na idealização do EV3; | ||
+ | |||
+ | - Alinhamento sobre comunicação com o robô: ficou definido que vamos utilizar um adaptador wi-fi no mesmo, sendo assim, um terceiro equipamento se fez necessário, uma vez que a o EV3 não conecta na rede do Instituto; | ||
+ | |||
+ | - Alguns exemplos de implementação foram observados na documentação do EV3, conforme pode ser obtido através destes links: [https://sites.google.com/site/ev3python/learn_ev3_python/using-motors Exemplos Motor] e [https://sites.google.com/site/ev3python/learn_ev3_python/using-motors Exemplos Sensor] | ||
+ | |||
+ | '''- Diagrama Geral do Projeto:''' | ||
+ | |||
+ | [[Arquivo:Diagrama_de_Blocos_PJI2.jpg|thumb|left|Diagrama Geral do Projeto]] | ||
+ | |||
+ | {{Collapse top | Classe Motor}} | ||
+ | [[Arquivo:EV3_Motor_UML.jpg|800px|thumb|center|Diagrama de Classe - Motor]] | ||
+ | {{collapse bottom | Classe Motor}} | ||
+ | |||
+ | {{Collapse top| Classe Sensor}} | ||
+ | [[Arquivo:EV3_Sensor_UML.jpg|800px|thumb|center|Diagrama de Classe - Sensor]] | ||
+ | {{Collapse bottom| Classe Sensor}} | ||
+ | |||
+ | {{Collapse top| Requisitos Funcionais}} | ||
+ | |||
+ | |||
+ | ::'''RF01 O sistema deve permitir criação e gerência de cadastro de um robô.''' | ||
+ | ::[SA] - O que deve ter neste cadastro? Como deve ser feito o cadastro, web? | ||
+ | ::Sugestão: usuário, senha, nome. Cadastro via Web. | ||
+ | :: | ||
+ | ::'''RF02 O sistema de deve manter um histórico das partidas realizadas.''' | ||
+ | ::[SA] - Qual tamanho do histórico? | ||
+ | ::Sugestão: O histórico deve manter o resultado das últimas com o nome dos robôs participantes. | ||
+ | ::Sugestão: 100 últimas partidas. | ||
+ | |||
+ | ::'''RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados.''' | ||
+ | ::[SA] - Em que momento é feita a autenticação? | ||
+ | ::Sugestão: a autenticação será ao iniciar uma partida. Antes de iniciar, solicitar partida. | ||
+ | |||
+ | ::'''RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.''' | ||
+ | ::[SR] - Existe algum requisito sobre o modo manual? Por onde o robo deve ser guiado? | ||
+ | ::Sugestão: interface onde se possa utilizar as setas direcionais do teclado. | ||
+ | |||
+ | ::'''RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô.''' | ||
+ | ::[SA] - Afinal, o que será a caça? Como validar? | ||
+ | |||
+ | ::'''RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs.''' | ||
+ | ::[SA] - Sortear os locais e informar, ou fazer tudo junto? Isso pode mudar a estratégia do robô. Onde será o início? | ||
+ | ::Sugestão: primeiro sortear a informar os locais das caças. Depois iniciar. | ||
+ | ::Sugestão: início no canto do tabuleiro. | ||
+ | |||
+ | ::'''RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo.''' | ||
+ | ::[SR] - Há algum requisito para a interface de monitoramento? | ||
+ | ::Sugestao: o sistema deve conter o número de caças encontradas e o trajeto realizado. Poderá ser feito via mensagens na tela. | ||
+ | |||
+ | ::'''RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual.''' | ||
+ | ::[SR] - Existe algum requisito sobre o modo manual? Por onde o robo deve ser guiado? | ||
+ | ::Sugestão: interface onde se possa utilizar as setas direcionais do teclado. | ||
+ | |||
+ | ::'''RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado.''' | ||
+ | ::[SR] - OK | ||
+ | |||
+ | ::'''RF010 O sistema deve permitir pausa e reset da partida.''' | ||
+ | ::[SA] - No reset, os robôs devem voltar ao início ou fazemos manualmente? | ||
+ | ::Sugestão: Fazer manualmente. | ||
+ | |||
+ | ::'''RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.''' | ||
+ | ::[SA] - Há algum requisito para esta visualização? | ||
+ | ::Sugestão: Interface web simples, com o placar do jogo. | ||
+ | |||
+ | ::'''RF012 O sistema não deve permitir que os robôs se choquem.''' | ||
+ | ::[SR] - OK | ||
+ | |||
+ | ::'''RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.''' | ||
+ | ::[SA] - OK, e os robôs devem parar as suas buscas. | ||
+ | |||
+ | ::'''RF014 Antes de iniciar a partida, o sistema deve verificar a posição atual dos robôs.''' | ||
+ | ::[SA] - Este requisito será necessário caso o ponto de partida seja sempre o mesmo (RF006). | ||
+ | |||
+ | ::'''RF015 Após capturar uma caça, o robô deve avisar o SS, que por sua vez, deve avisar o SA para validação da caça. Esta validação deve''' retornar ::ao SR, confirmando-a ou não. | ||
+ | {{Collapse bottom| Requisitos Funcionais}} | ||
+ | |||
+ | {{Collapse top| Requisitos Não Funcionais}} | ||
+ | ::'''RNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva.''' | ||
+ | ::[SA] - Como será essa interface, afinal? Web? | ||
+ | |||
+ | ::'''RNF02 O tabuleiro será composto por linhas pretas e todos com cor.''' | ||
+ | ::[SR] - Como assim? Não entendi. | ||
+ | ::Pelo que entendi, as linhas pretas (algo como uma fita isolante), serão utilizadas para limitar os quadrados coloridos, que terão diversas ::cores e somente uma ou outra será considerada caça. | ||
+ | |||
+ | ::'''RNF03 O tabuleiro terá as dimensões definidas (2m x 2m).''' | ||
+ | ::OK | ||
+ | |||
+ | ::'''RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm.''' | ||
+ | ::OK | ||
+ | |||
+ | ::'''RNF05 O tabuleiro será limitado por uma borda vermelha.''' | ||
+ | ::OK | ||
+ | |||
+ | ::'''RNF06 O placar mostrado aos usuários deve ser de fácil identificação.''' | ||
+ | ::OK, web? | ||
+ | |||
+ | ::'''RNF07 O robô deve ter uma cor para identificação.''' | ||
+ | ::Cada robô possui uma cor pré-definida ou o SA define no momento da partida? | ||
+ | ::O robô deve ter uma etiqueta de identificação. | ||
+ | {{Collapse bottom| Requisitos Não Funcionais}} | ||
+ | |||
+ | {{Collapse top| Papéis dos Atores}} | ||
+ | <center> | ||
+ | {| border=1 | ||
+ | |- | ||
+ | | '''Ator''' || '''Papel''' | ||
+ | |- | ||
+ | | Usuário || Iniciar partida em modo autônomo | ||
+ | |- | ||
+ | | Usuário || Iniciar partida em modo manual | ||
+ | |- | ||
+ | | Usuário || Controlar robô em busca de caças no modo manual | ||
+ | |- | ||
+ | | Usuário || Monitorar robô em modo autônomo | ||
+ | |- | ||
+ | | Usuário || Posicionar o robô para o início da partida | ||
+ | |- | ||
+ | | SS || Informar ao robô onde estão as caças | ||
+ | |- | ||
+ | | SS || Informar ao robô se a caça encontrada foi validada | ||
+ | |- | ||
+ | | SS || Informar ao robô sobre o início da partida | ||
+ | |- | ||
+ | | SS || Informar ao robô sobre o término da partida | ||
+ | |- | ||
+ | | SS || Informar ao robô se a autenticação foi validada | ||
+ | |- | ||
+ | | SS || Informar ao robô sobre pausas na partida | ||
+ | |- | ||
+ | |''Onde: SS - sistema supervisório; Usuário - jogador'' | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | {{Collapse bottom| Papéis dos Atores}} | ||
+ | {{Collapse top| Casos de Uso}} | ||
+ | - Construção diagramasr.png de diagrama UML conforme [http://resumindoall.blogspot.com/2012/05/uml-modelagem-de-casos-de-uso-parte-2.html bibliografia]: | ||
+ | |||
+ | [[Imagem:diagramasr.png|frame|center|Imagem 1: diagramas de casos de uso para o SR]] | ||
+ | |||
+ | {{Collapse bottom| Casos de Uso}} | ||
===== Aula 3: 13/8/18 ===== | ===== Aula 3: 13/8/18 ===== |
Edição das 08h56min de 18 de agosto de 2018
→ João Leonardo Martins; → Vinícius Luz;
Aula 1: 30/7/18
- Definição do grupo;
- Aula expositiva;
- Organização das tarefas através da ferramenta Trello;
Aula 2: 6/8/18
- Efetuada a leitura da documentação do EV3-Python: apesar do bot já possuir o linux instalado, estudamos como seria a implementação do mesmo;
- Início da montagem do robô: encontramos algumas dificuldades pois o equipamento estava completamente desmontado, com isso, até entendermos que a montagem seria basicamente livre, sofremos um pouco na idealização do EV3;
- Alinhamento sobre comunicação com o robô: ficou definido que vamos utilizar um adaptador wi-fi no mesmo, sendo assim, um terceiro equipamento se fez necessário, uma vez que a o EV3 não conecta na rede do Instituto;
- Alguns exemplos de implementação foram observados na documentação do EV3, conforme pode ser obtido através destes links: Exemplos Motor e Exemplos Sensor
- Diagrama Geral do Projeto:
Requisitos Funcionais |
---|
|
Requisitos Não Funcionais |
---|
|
Papéis dos Atores | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Casos de Uso |
---|
- Construção diagramasr.png de diagrama UML conforme bibliografia: |