Grupo2-PJI2-2019-1

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Membros do grupo

  • Adonis Andreas Marinos - adonis.marinos97@gmail.com
  • Daniel Cabral Correa - daniel.liboos@gmail.com
  • Rafael Teles Espindola - rafatespindola@gmail.com - até 25/02/2019

Repositório Git

https://github.com/Danehko/ProjetoIntegradorII.git

Cronograma

Diário de projeto

18/02/2019 - Iniciando o projeto

Para a aula de 25/02/2019, apresentação sobre:

  • Classe e Diagrama de classes (relacionamentos)
  • Herança, classes abstratas e interfaces
  • Polimorfismo
  • Usar os diagramas do Grupo 2018-2, mostrando erros e acertos.
25/02/2019 - Apresentação de seminário
04/03/2019 - Recesso Carnaval
11/03/2019 - Analisar diagrama de Caso de Uso
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.

RF10 O sistema deve permitir pausa e reset da partida.

RF11 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.

RF12 O sistema não deve permitir que os robôs se choquem.

RF13 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.

RF14 O sistema pode ter 2 ou n competidores *

RF15 O sistema deve projetar informações no tabuleiro (Caças ativas, Caças encontradas, e placar) *

RF16 Os robôs devem ser capazes de informar suas coordenadas a cada movimento.(Grupo2_2018-2)

RF17 Antes de iniciar a partida, o sistema deve verificar a posição atual dos robôs .(Grupo3_2018-2)

RF18 O Modo autônomo deve ser implementado dentro do Sistem do Robô.

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.

Casos de Uso SR

Caso de uso: Autenticar <br\> Ator primário: Sistema Supervisório <br\> Identificador: UCR01<br\> Sumário: O SS solicita o identificador do robô e atribui uma cor ao mesmo. <br\> Pré condições: O Sistema do Robô deve ser ligado. <br\> Fluxo Principal: <br\>

  • O Sistema Supervisório conecta ao Sistema do Robô via Bluetooth. <br\>
  • O SR informa seu endereço MAC. <br\>
  • O SS associa ao MAC uma cor. <br\>

Caso de uso: Sistema Anti colisão<br\> Ator primário: Sensor ultrassônico<br\> Identificador: UCR02 <br\> Sumário: Evitar colisões com outros robôs e obstáculos<br\> Pré condições: O Sistema do Robô deve estar em movimento e deverá existir algum Robô ou obstáculo em sua rota.<br\> Fluxo Principal:<br\>

  • Sensor ultrassônico detecta um obstáculo.<br\>
  • O SR para de se movimentar.<br\>
  • Pós-condições: Robô solicita ao SS uma nova rota.<br\>

Caso de uso: Movimento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR03<br\> Sumário: SR recebe as ordens de deslocamento do SS.<br\> Pré condições: O Robô deve estar autenticado no SS.<br\> Fluxo Principal: <br\>

  • SS envia comando de movimento para o SR. <br\>
  • Sensor de cor verifica a presença de linha. <br\>
  • SR se desloca conforme o comando do SS e aguarda próximo comando. <br\>

Caso de uso: Encontrar linha/intersecção <br\> Ator primário: Sensor de cor <br\> Identificador: UCR04<br\> Sumário: Indicará se o robô poderá seguir na direção desejada.<br\> Pré condições: Robô deve ter recebido comando de movimento do SS.<br\> Fluxo Principal:<br\>

  • Sensor de cor identifica a linha ou intersecção.<br\>
  • Sensor autoriza movimento do SR.<br\>

Exceção: Caso não encontre ou esteja para sair do tabuleiro (Vermelho), o movimento não será autorizado e ele aguardará outro comando.<br\>

Caso de uso: Monitoramento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR05<br\> Sumário: Recebe dados de localização do SR.<br\> Pré condições: SR precisa ter feito algum movimento.<br\> Fluxo Principal:<br\>

  • SR envia a sua localização para o SS após realizar um comando de movimento.<br\>
Diagrama de caso de uso SR
Diagrama de Caso de uso SR
18/03/2019 - Emenda feriado São José
25/03/2019 - Casos de Uso SS
Correção casos de Uso SR

Caso de uso: Autenticar <br\> Ator primário: Sistema Supervisório <br\> Identificador: UCR01<br\> Sumário: O SS solicita o identificador do robô e atribui uma cor ao mesmo. <br\> Pré condições: O Sistema do Robô deve ser ligado. <br\> Fluxo Principal: <br\>

  • O Sistema Supervisório conecta ao Sistema do Robô via Bluetooth. <br\>
  • O SR informa seu endereço MAC. <br\>
  • O SS associa ao MAC uma cor. <br\>

Caso de uso: Sistema Anti colisão<br\> Ator primário: Sensor ultrassônico<br\> Identificador: UCR02 <br\> Sumário: Evitar colisões com outros robôs e obstáculos<br\> Pré condições: O Sistema do Robô deve estar em movimento e deverá existir algum Robô ou obstáculo em sua rota.<br\> Fluxo Principal:<br\>

  • Sensor ultrassônico detecta um obstáculo.<br\>
  • O SR para de se movimentar.<br\>
  • Pós-condições: Robô solicita ao SS uma nova rota.<br\>

Caso de uso: Movimento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR03<br\> Sumário: SR recebe as ordens de deslocamento do SS.<br\> Pré condições: O Robô deve estar autenticado no SS.<br\> Fluxo Principal: <br\>

  • SS envia comando de movimento para o SR. <br\>
  • Sensor de cor verifica a presença de linha. <br\>
  • SR se desloca conforme o comando do SS e aguarda próximo comando. <br\>

Caso de uso: Encontrar linha/intersecção <br\> Ator primário: Sensor de cor <br\> Identificador: UCR04<br\> Sumário: Indicará se o robô poderá seguir na direção desejada.<br\> Pré condições: Robô deve ter recebido comando de movimento do SS.<br\> Fluxo Principal:<br\>

  • Sensor de cor identifica a linha ou intersecção.<br\>
  • Sensor autoriza movimento do SR.<br\>

Exceção: Caso não encontre ou esteja para sair do tabuleiro (Vermelho), o movimento não será autorizado e ele aguardará outro comando.<br\>

Caso de uso: Monitoramento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR05<br\> Sumário: Recebe dados de localização do SR.<br\> Pré condições: SR precisa ter feito algum movimento.<br\> Fluxo Principal:<br\>

  • SR envia a sua localização para o SS após realizar um comando de movimento.<br\>
Diagrama de caso de uso SR
Diagrama de Caso de uso SR
Caso de uso SS
Diagrama de caso de uso SS
01/04/2019 -
08/04/2019 -
15/04/2019 -
22/04/2019 -
29/04/2019 -
06/05/2019 -
13/05/2019 -
20/05/2019 -
27/05/2019 -
03/06/2019 -
10/06/2019 -
17/06/2019 -
24/06/2019 -
01/07/2019 -
08/07/2019 -

Levantamento de requisitos

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.

RF10 O sistema deve permitir pausa e reset da partida.

RF11 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real.

RF12 O sistema não deve permitir que os robôs se choquem.

RF13 O sistema deve declarar um vencedor assim que todas as caças forem encontradas.

RF14 O sistema pode ter 2 ou n competidores *

RF15 O sistema deve projetar informações no tabuleiro (Caças ativas, Caças encontradas, e placar) *

RF16 Os robôs devem ser capazes de informar suas coordenadas a cada movimento.(Grupo2_2018-2)

RF17 Antes de iniciar a partida, o sistema deve verificar a posição atual dos robôs .(Grupo3_2018-2)

RF18 O Modo autônomo deve ser implementado dentro do Sistem do Robô.

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 do Robô

Casos de Uso SR

Caso de uso: Autenticar <br\> Ator primário: Sistema Supervisório <br\> Identificador: UCR01<br\> Sumário: O SS solicita o identificador do robô e atribui uma cor ao mesmo. <br\> Pré condições: O Sistema do Robô deve ser ligado. <br\> Fluxo Principal: <br\>

  • O Sistema Supervisório conecta ao Sistema do Robô via Bluetooth. <br\>
  • O SR informa seu endereço MAC. <br\>
  • O SS associa ao MAC uma cor. <br\>

Caso de uso: Sistema Anti colisão<br\> Ator primário: Sensor ultrassônico<br\> Identificador: UCR02 <br\> Sumário: Evitar colisões com outros robôs e obstáculos<br\> Pré condições: O Sistema do Robô deve estar em movimento e deverá existir algum Robô ou obstáculo em sua rota.<br\> Fluxo Principal:<br\>

  • Sensor ultrassônico detecta um obstáculo.<br\>
  • O SR para de se movimentar.<br\>
  • Pós-condições: Robô solicita ao SS uma nova rota.<br\>

Caso de uso: Movimento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR03<br\> Sumário: SR recebe as ordens de deslocamento do SS.<br\> Pré condições: O Robô deve estar autenticado no SS.<br\> Fluxo Principal: <br\>

  • SS envia comando de movimento para o SR. <br\>
  • Sensor de cor verifica a presença de linha. <br\>
  • SR se desloca conforme o comando do SS e aguarda próximo comando. <br\>

Caso de uso: Encontrar linha/intersecção <br\> Ator primário: Sensor de cor <br\> Identificador: UCR04<br\> Sumário: Indicará se o robô poderá seguir na direção desejada.<br\> Pré condições: Robô deve ter recebido comando de movimento do SS.<br\> Fluxo Principal:<br\>

  • Sensor de cor identifica a linha ou intersecção.<br\>
  • Sensor autoriza movimento do SR.<br\>

Exceção: Caso não encontre ou esteja para sair do tabuleiro (Vermelho), o movimento não será autorizado e ele aguardará outro comando.<br\>

Caso de uso: Monitoramento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR05<br\> Sumário: Recebe dados de localização do SR.<br\> Pré condições: SR precisa ter feito algum movimento.<br\> Fluxo Principal:<br\>

  • SR envia a sua localização para o SS após realizar um comando de movimento.<br\>
Diagrama de caso de uso SR
Diagrama de Caso de uso SR

Sistema Supervisório

Casos de Uso SS

Caso de uso: Autenticar <br\> Ator primário: Sistema Supervisório <br\> Identificador: UCR01<br\> Sumário: O SS solicita o identificador do robô e atribui uma cor ao mesmo. <br\> Pré condições: O Sistema do Robô deve ser ligado. <br\> Fluxo Principal: <br\>

  • O Sistema Supervisório conecta ao Sistema do Robô via Bluetooth. <br\>
  • O SR informa seu endereço MAC. <br\>
  • O SS associa ao MAC uma cor. <br\>

Caso de uso: Sistema Anti colisão<br\> Ator primário: Sensor ultrassônico<br\> Identificador: UCR02 <br\> Sumário: Evitar colisões com outros robôs e obstáculos<br\> Pré condições: O Sistema do Robô deve estar em movimento e deverá existir algum Robô ou obstáculo em sua rota.<br\> Fluxo Principal:<br\>

  • Sensor ultrassônico detecta um obstáculo.<br\>
  • O SR para de se movimentar.<br\>
  • Pós-condições: Robô solicita ao SS uma nova rota.<br\>

Caso de uso: Movimento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR03<br\> Sumário: SR recebe as ordens de deslocamento do SS.<br\> Pré condições: O Robô deve estar autenticado no SS.<br\> Fluxo Principal: <br\>

  • SS envia comando de movimento para o SR. <br\>
  • Sensor de cor verifica a presença de linha. <br\>
  • SR se desloca conforme o comando do SS e aguarda próximo comando. <br\>

Caso de uso: Encontrar linha/intersecção <br\> Ator primário: Sensor de cor <br\> Identificador: UCR04<br\> Sumário: Indicará se o robô poderá seguir na direção desejada.<br\> Pré condições: Robô deve ter recebido comando de movimento do SS.<br\> Fluxo Principal:<br\>

  • Sensor de cor identifica a linha ou intersecção.<br\>
  • Sensor autoriza movimento do SR.<br\>

Exceção: Caso não encontre ou esteja para sair do tabuleiro (Vermelho), o movimento não será autorizado e ele aguardará outro comando.<br\>

Caso de uso: Monitoramento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR05<br\> Sumário: Recebe dados de localização do SR.<br\> Pré condições: SR precisa ter feito algum movimento.<br\> Fluxo Principal:<br\>

  • SR envia a sua localização para o SS após realizar um comando de movimento.<br\>
Diagrama de caso de uso SS
Diagrama de Caso de uso SR

Sistema de Auditoria

Casos de Uso SA

Caso de uso: Autenticar <br\> Ator primário: Sistema Supervisório <br\> Identificador: UCR01<br\> Sumário: O SS solicita o identificador do robô e atribui uma cor ao mesmo. <br\> Pré condições: O Sistema do Robô deve ser ligado. <br\> Fluxo Principal: <br\>

  • O Sistema Supervisório conecta ao Sistema do Robô via Bluetooth. <br\>
  • O SR informa seu endereço MAC. <br\>
  • O SS associa ao MAC uma cor. <br\>

Caso de uso: Sistema Anti colisão<br\> Ator primário: Sensor ultrassônico<br\> Identificador: UCR02 <br\> Sumário: Evitar colisões com outros robôs e obstáculos<br\> Pré condições: O Sistema do Robô deve estar em movimento e deverá existir algum Robô ou obstáculo em sua rota.<br\> Fluxo Principal:<br\>

  • Sensor ultrassônico detecta um obstáculo.<br\>
  • O SR para de se movimentar.<br\>
  • Pós-condições: Robô solicita ao SS uma nova rota.<br\>

Caso de uso: Movimento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR03<br\> Sumário: SR recebe as ordens de deslocamento do SS.<br\> Pré condições: O Robô deve estar autenticado no SS.<br\> Fluxo Principal: <br\>

  • SS envia comando de movimento para o SR. <br\>
  • Sensor de cor verifica a presença de linha. <br\>
  • SR se desloca conforme o comando do SS e aguarda próximo comando. <br\>

Caso de uso: Encontrar linha/intersecção <br\> Ator primário: Sensor de cor <br\> Identificador: UCR04<br\> Sumário: Indicará se o robô poderá seguir na direção desejada.<br\> Pré condições: Robô deve ter recebido comando de movimento do SS.<br\> Fluxo Principal:<br\>

  • Sensor de cor identifica a linha ou intersecção.<br\>
  • Sensor autoriza movimento do SR.<br\>

Exceção: Caso não encontre ou esteja para sair do tabuleiro (Vermelho), o movimento não será autorizado e ele aguardará outro comando.<br\>

Caso de uso: Monitoramento<br\> Ator primário: Sistema Supervisório<br\> Identificador: UCR05<br\> Sumário: Recebe dados de localização do SR.<br\> Pré condições: SR precisa ter feito algum movimento.<br\> Fluxo Principal:<br\>

  • SR envia a sua localização para o SS após realizar um comando de movimento.<br\>
Diagrama de caso de uso SA
Diagrama de Caso de uso SR