Mudanças entre as edições de "Grupo1-PJI2-2018-2"
Linha 24: | Linha 24: | ||
{{Collapse top |Requisitos funcionais e não Funcionais}} | {{Collapse top |Requisitos funcionais e não Funcionais}} | ||
+ | ==Requisitos funcionais== | ||
+ | '''RF01 O sistema deve permitir criação e gerência de cadastro de um robô.''' | ||
− | |||
Cadastrar no S.A dados do robô via interface de controle: Nome, Usuário, Cor para identificação, endereço MAC? IP? | Cadastrar no S.A dados do robô via interface de controle: Nome, Usuário, Cor para identificação, endereço MAC? IP? | ||
'''RF02 O sistema de deve manter um histórico das partidas realizadas.''' | '''RF02 O sistema de deve manter um histórico das partidas realizadas.''' | ||
+ | |||
Quando a partida encerrar, o S.A. irá armazenar nome dos participantes e pontuação. Irá armazenar as 10 últimas partidas. | Quando a partida encerrar, o S.A. irá armazenar nome dos participantes e pontuação. Irá armazenar as 10 últimas partidas. | ||
'''RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados.''' | '''RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados.''' | ||
+ | |||
Quando a partida for "cadastrada" o S.A. irá autenticar os dados antes de iniciar a partida. irá registrar a posição inicial e zerar o score. | Quando a partida for "cadastrada" o S.A. irá autenticar os dados antes de iniciar a partida. irá registrar a posição inicial e zerar o score. | ||
'''RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.''' | '''RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.''' | ||
+ | |||
Quem irá definir, o S.R ou o S.A.? Será necessário criar uma interface comandos de deslocamento. | Quem irá definir, o S.R ou o S.A.? Será necessário criar uma interface comandos de deslocamento. | ||
'''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ô.''' | ||
+ | |||
O S.R enviará a localização ao S.A que irá validar a “captura da caça”/chegada ao ponto. Quando validada a captura, irá incrementar a pontuação. | O S.R enviará a localização ao S.A que irá validar a “captura da caça”/chegada ao ponto. Quando validada a captura, irá incrementar a pontuação. | ||
'''RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs.''' | '''RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs.''' | ||
+ | |||
Quando os robôs estiverem posicionados (ficaram em vértices opostos), o S.A. irá sortear a posição das caças e enviar aos robôs. Após isso se dará o início da partida. | Quando os robôs estiverem posicionados (ficaram em vértices opostos), o S.A. irá sortear a posição das caças e enviar aos robôs. Após isso se dará o início da partida. | ||
'''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.''' | ||
+ | |||
O S.A irá enviar a pontuação das caças validadas para o S.R. O S.R. irá também descrever em sua tela os movimentos do robô e as coordenadas. | O S.A irá enviar a pontuação das caças validadas para o S.R. O S.R. irá também descrever em sua tela os movimentos do robô e as coordenadas. | ||
'''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.''' | ||
+ | |||
Será necessário criar para o S.R. uma interface comandos de deslocamento e o monitoramento pode aproveitar a estrutura descrita no RF07 | Será necessário criar para o S.R. uma interface comandos de deslocamento e o monitoramento pode aproveitar a estrutura descrita no RF07 | ||
'''RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado.''' | '''RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado.''' | ||
+ | |||
Terá que implementar um algoritmo de procura para o S.R.. Ir para caça mais próxima? Ir para onde tem mais caças? | Terá que implementar um algoritmo de procura para o S.R.. Ir para caça mais próxima? Ir para onde tem mais caças? | ||
'''RF010 O sistema deve permitir pausa e reset da partida.''' | '''RF010 O sistema deve permitir pausa e reset da partida.''' | ||
− | + | ||
+ | Quem pausa? Se jogadores poderem requisitar pausa terá que ser enviado um comando para S.A.para o S.A enviar aos S.R. uma requisição de pausa.Com isso todos movimentos que estão organizados na fila serão pausados aguardando o retorno. | ||
Quando o S.A enviar um comando de reset ele mandará o robô para posição inicial e irá zerar o score. E dará o comando para iniciar novamente. | Quando o S.A enviar um comando de reset ele mandará o robô para posição inicial e irá zerar o score. E dará o comando para iniciar novamente. | ||
'''RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.''' | '''RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.''' | ||
+ | |||
Contemplado no RF07 e RF08, através do monitoramento. | Contemplado no RF07 e RF08, através do monitoramento. | ||
'''RF012 O sistema não deve permitir que os robôs se choquem.''' | '''RF012 O sistema não deve permitir que os robôs se choquem.''' | ||
+ | |||
O S.R. usará o sensor ultrasônico do robô para detectar a presença de outro robô e obstáculos. Ao detectar impedimento ou possibilidade de choque, o S.R. para o deslocamento em curso e manda retornar para a posição imediatamente anterior. | O S.R. usará o sensor ultrasônico do robô para detectar a presença de outro robô e obstáculos. Ao detectar impedimento ou possibilidade de choque, o S.R. para o deslocamento em curso e manda retornar para a posição imediatamente anterior. | ||
'''RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.''' | '''RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.''' | ||
+ | |||
Quando todas as caças forem validadas/capturadas, o S.A irá comparar a pontuação e definir o vencedor. Após isso irá registrar a partida na memória (nomes e pontuações dos jogadores) | Quando todas as caças forem validadas/capturadas, o S.A irá comparar a pontuação e definir o vencedor. Após isso irá registrar a partida na memória (nomes e pontuações dos jogadores) | ||
− | + | ==Requisitos não funcionais== | |
− | Requisitos não funcionais | + | |
'''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.''' | ||
+ | |||
Terminal? interface web? | Terminal? interface web? | ||
'''RNF02 O tabuleiro será composto por linhas pretas e todos com cor.''' | '''RNF02 O tabuleiro será composto por linhas pretas e todos com cor.''' | ||
+ | |||
Não entendi, o caminho será na cor preta e outras cores será o que? | Não entendi, o caminho será na cor preta e outras cores será o que? | ||
'''RNF03 O tabuleiro terá as dimensões definidas (2m x 2m).''' | '''RNF03 O tabuleiro terá as dimensões definidas (2m x 2m).''' | ||
+ | |||
OK | OK | ||
'''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.''' | ||
+ | |||
OK | OK | ||
'''RNF05 O tabuleiro será limitado por uma borda vermelha.''' | '''RNF05 O tabuleiro será limitado por uma borda vermelha.''' | ||
+ | |||
OK, linha vermelha não pode ser tratada como obstáculo, mas robô não pode transpo-la. | OK, linha vermelha não pode ser tratada como obstáculo, mas robô não pode transpo-la. | ||
'''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.''' | ||
+ | |||
Será implementado na interface de monitoramento. | Será implementado na interface de monitoramento. | ||
'''RNF07 O robô deve ter uma cor para identificação.''' | '''RNF07 O robô deve ter uma cor para identificação.''' | ||
+ | |||
Essa cor será sorteada? ou o robô designa no cadastro, junto com outros dados? | Essa cor será sorteada? ou o robô designa no cadastro, junto com outros dados? | ||
Edição das 19h06min de 19 de agosto de 2018
Responsáveis pelo projeto
- Douglas Amorim dos Santos
- Allex Magno
- Filipe Kuhnen
Diário de bordo |
---|
Detalhes iniciais
Conexão ao EV3
Efetuamos a conexão ao ev3 por meio do bluetooth, seguindo as instruções descritas em https://www.ev3dev.org/docs/tutorials/using-bluetooth-tethering/. Após conectarmos via bluetooth acessamos o ec3 via ssh utilizando o putty.
Requisitos funcionais e não Funcionais |
---|
Requisitos funcionaisRF01 O sistema deve permitir criação e gerência de cadastro de um robô. Cadastrar no S.A dados do robô via interface de controle: Nome, Usuário, Cor para identificação, endereço MAC? IP? RF02 O sistema de deve manter um histórico das partidas realizadas. Quando a partida encerrar, o S.A. irá armazenar nome dos participantes e pontuação. Irá armazenar as 10 últimas partidas. RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados. Quando a partida for "cadastrada" o S.A. irá autenticar os dados antes de iniciar a partida. irá registrar a posição inicial e zerar o score. RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo. Quem irá definir, o S.R ou o S.A.? Será necessário criar uma interface comandos de deslocamento. RF05 O sistema deve validar e contabilizar as caças já encontradas pelo robô. O S.R enviará a localização ao S.A que irá validar a “captura da caça”/chegada ao ponto. Quando validada a captura, irá incrementar a pontuação. RF06 O sistema deve dar início a partida, sortear os locais das caças e informá-los aos robôs. Quando os robôs estiverem posicionados (ficaram em vértices opostos), o S.A. irá sortear a posição das caças e enviar aos robôs. Após isso se dará o início da partida. RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo. O S.A irá enviar a pontuação das caças validadas para o S.R. O S.R. irá também descrever em sua tela os movimentos do robô e as coordenadas. RF08 O sistema deve prover uma interface de controle e monitoramento para o robôs em modo manual. Será necessário criar para o S.R. uma interface comandos de deslocamento e o monitoramento pode aproveitar a estrutura descrita no RF07 RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado. Terá que implementar um algoritmo de procura para o S.R.. Ir para caça mais próxima? Ir para onde tem mais caças? RF010 O sistema deve permitir pausa e reset da partida. Quem pausa? Se jogadores poderem requisitar pausa terá que ser enviado um comando para S.A.para o S.A enviar aos S.R. uma requisição de pausa.Com isso todos movimentos que estão organizados na fila serão pausados aguardando o retorno. Quando o S.A enviar um comando de reset ele mandará o robô para posição inicial e irá zerar o score. E dará o comando para iniciar novamente. RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real. Contemplado no RF07 e RF08, através do monitoramento. RF012 O sistema não deve permitir que os robôs se choquem. O S.R. usará o sensor ultrasônico do robô para detectar a presença de outro robô e obstáculos. Ao detectar impedimento ou possibilidade de choque, o S.R. para o deslocamento em curso e manda retornar para a posição imediatamente anterior. RF013 O sistema deve declarar um vencedor assim que todas as caças forem encontradas. Quando todas as caças forem validadas/capturadas, o S.A irá comparar a pontuação e definir o vencedor. Após isso irá registrar a partida na memória (nomes e pontuações dos jogadores) Requisitos não funcionaisRNF01 A interface do sistema de comunicação com o usuário deve ser intuitiva. Terminal? interface web? RNF02 O tabuleiro será composto por linhas pretas e todos com cor. Não entendi, o caminho será na cor preta e outras cores será o que? 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, linha vermelha não pode ser tratada como obstáculo, mas robô não pode transpo-la. RNF06 O placar mostrado aos usuários deve ser de fácil identificação. Será implementado na interface de monitoramento. RNF07 O robô deve ter uma cor para identificação. Essa cor será sorteada? ou o robô designa no cadastro, junto com outros dados?
|
Requisitos funcionais
RF01 O sistema deve permitir criação e gerência de cadastro de um robô.
Cadastrar no S.A dados do robô via interface de controle: Nome, Usuário, Cor para identificação, endereço MAC? IP?
RF02 O sistema de deve manter um histórico das partidas realizadas.
Quando a partida encerrar, o S.A. irá armazenar nome dos participantes e pontuação. Irá armazenar as 10 últimas partidas.
RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados. Quando a partida for "cadastrada" o S.A. irá autenticar os dados antes de iniciar a partida.
RF04 Os robôs devem ser capazes de operar nos modos manual e autônomo.
Quem irá definir? usuário ou arbitro?
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
|}
Sistema Robo
Atores do Sitema robo |
---|
|
Casos de uso |
---|
Caso de uso: Monitoramento em modo manual
Caso de uso: Operar robô em modo manual
|