Mudanças entre as edições de "Grupo1-PJI2-2019-1"
Linha 237: | Linha 237: | ||
[[Arquivo:DiagramaSA159.png]] | [[Arquivo:DiagramaSA159.png]] | ||
− | {{collapse top | Casos de Uso | + | {{collapse top | Casos de Uso Sistema Arbitrário}} |
'''Caso de uso:''' Pausar/Reiniciar <br\> | '''Caso de uso:''' Pausar/Reiniciar <br\> | ||
Linha 246: | Linha 246: | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
*Árbitro clica na opção "Pausar/Continuar".<br\> | *Árbitro clica na opção "Pausar/Continuar".<br\> | ||
− | * | + | *Sistema Arbitrário informa ao Sistema Supervisório que o jogo foi pausado ou reiniciado.<br\> |
<br\> | <br\> | ||
'''Caso de uso:''' Cadastrar <br\> | '''Caso de uso:''' Cadastrar <br\> | ||
'''Ator primário:''' Árbitro<br\> | '''Ator primário:''' Árbitro<br\> | ||
'''Identificador:''' UCA02<br\> | '''Identificador:''' UCA02<br\> | ||
− | '''Sumário:''' Árbitro | + | '''Sumário:''' Árbitro solicita o registro do Robô.<br\> |
'''Pré condições:''' O Árbitro deverá saber as informações do Robô.<br\> | '''Pré condições:''' O Árbitro deverá saber as informações do Robô.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
*Árbitro seleciona "Cadastrar Robô"<br\> | *Árbitro seleciona "Cadastrar Robô"<br\> | ||
− | *Árbitro envia as informações do Robô para o | + | *Árbitro envia as informações do Robô para o Sistema Arbitrário.<br\> |
− | * | + | *Sistema Arbitrário solicita ao Banco de dados para que seja registrado o Robô.<br\> |
*Banco de dados informa que o Robô foi registrado.<br\> | *Banco de dados informa que o Robô foi registrado.<br\> | ||
<br\> | <br\> | ||
Linha 262: | Linha 262: | ||
'''Ator primário:''' Árbitro <br\> | '''Ator primário:''' Árbitro <br\> | ||
'''Identificador:''' UCA03<br\> | '''Identificador:''' UCA03<br\> | ||
− | '''Sumário:''' Árbitro deleta Robô cadastrado.<br\> | + | '''Sumário:''' Árbitro deleta um Robô cadastrado.<br\> |
− | '''Pré condições:''' O Robô deve estar cadastrado.<br\> | + | '''Pré condições:''' O Robô a ser deletado deve estar cadastrado.<br\> |
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | *Árbitro clica na opção "Deletar | + | *Árbitro clica na opção "Deletar Robô".<br\> |
− | * | + | *Sistema Arbitrário solicita ao Banco de dados os Robôs cadastrados.<br\> |
− | *Banco de dados envia uma lista de robôs ao | + | *Banco de dados envia uma lista de robôs ao Sistema Arbitrário.<br\> |
− | * | + | *Sistema Arbitrário Exibe a lista de Robôs.<br\> |
*Árbitro informa o ID do robô a ser deletado.<br\> | *Árbitro informa o ID do robô a ser deletado.<br\> | ||
− | * | + | *Sistema Arbitrário solicita ao Banco de dados que remova o Robô com ID informado.<br\> |
*Banco de dados confirma que o robô foi deletado.<br\> | *Banco de dados confirma que o robô foi deletado.<br\> | ||
− | * | + | *Sistema Arbitrário Exibe que o Robô foi deletado.<br\> |
<br\> | <br\> | ||
− | '''Caso de uso:''' Consultar | + | '''Caso de uso:''' Consultar robôs <br\> |
'''Ator primário:''' Árbitro <br\> | '''Ator primário:''' Árbitro <br\> | ||
'''Identificador:''' UCA04<br\> | '''Identificador:''' UCA04<br\> | ||
− | '''Sumário:''' Árbitro consulta todos os | + | '''Sumário:''' Árbitro consulta todos os Robôs cadastrados.<br\> |
− | '''Pré condições:''' | + | '''Pré condições:''' Pelo menos um Robô deve estar cadastrado.<br\> |
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
*Árbitro clica na opção "Consultar Robôs".<br\> | *Árbitro clica na opção "Consultar Robôs".<br\> | ||
− | * | + | *Sistema Arbitrário solicita ao Banco de dados todos os Robôs cadastrados.<br\> |
− | *Banco de dados envia uma lista de robôs ao | + | *Banco de dados envia uma lista de robôs ao Sistema Arbitrário.<br\> |
− | * | + | *Sistema Arbitrário Exibe a lista de Robôs.<br\> |
<br\> | <br\> | ||
'''Caso de uso:''' Consultar histórico <br\> | '''Caso de uso:''' Consultar histórico <br\> | ||
'''Ator primário:''' Árbitro <br\> | '''Ator primário:''' Árbitro <br\> | ||
'''Identificador:''' UCA05<br\> | '''Identificador:''' UCA05<br\> | ||
− | '''Sumário:''' Árbitro consulta o histórico de | + | '''Sumário:''' Árbitro consulta o histórico de partidas.<br\> |
− | '''Pré condições:''' | + | '''Pré condições:''' Ter ocorrido o término de pelo menos uma partida com um vencedor/empate.<br\> |
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
*Árbitro clica na opção "Consultar histórico".<br\> | *Árbitro clica na opção "Consultar histórico".<br\> | ||
− | * | + | *Sistema Arbitrário solicita ao Banco de dados todos os resultados de jogos armazenados.<br\> |
− | *Banco de dados envia uma lista das partidas com o vencedor para o | + | *Banco de dados envia uma lista das partidas com o vencedor para o Sistema Supervisório.<br\> |
− | * | + | *Sistema Arbitrário Exibe a lista de partidas.<br\> |
<br\> | <br\> | ||
'''Caso de uso:''' Iniciar partida<br\> | '''Caso de uso:''' Iniciar partida<br\> | ||
Linha 300: | Linha 300: | ||
'''Identificador:''' UCA06<br\> | '''Identificador:''' UCA06<br\> | ||
'''Sumário:''' Árbitro inicia partida.<br\> | '''Sumário:''' Árbitro inicia partida.<br\> | ||
− | '''Pré condições:''' <br\> | + | '''Pré condições:''' Ter no mínimo dois Robôs cadastrados.<br\> |
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
*Árbitro seleciona "Iniciar partida".<br\> | *Árbitro seleciona "Iniciar partida".<br\> | ||
− | * | + | *Sistema Arbitrário questiona quantos jogadores realizarão a partida.<br\> |
*Árbitro informa o número de jogadores.<br\> | *Árbitro informa o número de jogadores.<br\> | ||
− | * | + | *Sistema Arbitrário questiona sobre o modo operação.<br\> |
*Árbitro escolhe o modo de operação desejado.<br\> | *Árbitro escolhe o modo de operação desejado.<br\> | ||
− | * | + | *Sistema Arbitrário questiona quantas caças terá no jogo.<br\> |
*Árbitro informa o número de caças.<br\> | *Árbitro informa o número de caças.<br\> | ||
− | * | + | *Sistema Arbitrário sorteia as caças pelo mapa.<br\> |
− | * | + | *Sistema Arbitrário aguarda a conexão dos Sistema Supervisório.<br\> |
− | * | + | *Sistema Supervisório informa a localização do Robô ao Sistema Arbitrário.<br\> |
− | * | + | *Sistema Arbitrário informa o modo de jogo, quantas caças, quantos jogadores terão na partida e a cor do Robô para o Sistema Supervisório.<br\> |
*A partida é criada.<br\> | *A partida é criada.<br\> | ||
− | * | + | *Sistema Arbitrário informa a localização das caças para o Sistema Supervisório.<br\> |
+ | <br\> | ||
+ | '''Caso de uso:''' Terminar Partida<br\> | ||
+ | '''Ator primário:''' Árbitro <br\> | ||
+ | '''Identificador:''' UCA07<br\> | ||
+ | '''Sumário:''' O fim da partida é informado aos Sistema Supervisório.<br\> | ||
+ | '''Pré condições:''' Declarar Vencedor.<br\> | ||
+ | '''Fluxo Principal:'''<br\> | ||
+ | *Sistema Arbitrário informa ao Árbitro qual Robô é o vencedor.<br\> | ||
+ | *Arbitro seleciona "Terminar partida" | ||
+ | *Sistema Arbitrário informa a todos os Sistema Supervisório que a partida acabou.<br\> | ||
+ | Exceção: Árbitro Termina a partida selecionado a opção "Terminar partida" antes do robô vencedor ser anunciado.<br\> | ||
<br\> | <br\> | ||
'''Caso de uso:''' Conectar Robô <br\> | '''Caso de uso:''' Conectar Robô <br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' Sistema Supervisório <br\> |
− | '''Identificador:''' | + | '''Identificador:''' UCA08<br\> |
− | '''Sumário:''' | + | '''Sumário:''' Sistema Supervisório envia solicitação de conexão para Sistema Arbitrário.<br\> |
− | '''Pré condições:''' O Robô deve estar autenticado no | + | '''Pré condições:''' O Robô deve estar autenticado no Sistema Supervisório, o Robô já deve estar cadastrado, partida deve ter sido criada.<br\> |
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Supervisório se conecta no Sistema Arbitrário.<br\> |
− | * | + | *Sistema Supervisório envia informações do Robô para o Sistema Arbitrário.<br\> |
− | * | + | *Sistema Arbitrário verifica se o Robô já foi cadastrado no banco de Dados.<br\> |
− | * | + | *Sistema Arbitrário informa para Sistema Supervisório que o Robô está autenticado.<br\> |
− | Exceção: Caso o | + | Exceção: Caso o Robô não tenha sido cadastrado, um cadastro deverá ser efetuado.<br\> |
<br\> | <br\> | ||
'''Caso de uso:''' Validar caça<br\> | '''Caso de uso:''' Validar caça<br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' Sistema Supervisório <br\> |
− | '''Identificador:''' | + | '''Identificador:''' UCA09<br\> |
− | '''Sumário:''' | + | '''Sumário:''' Sistema Supervisório informa que caça foi encontrada.<br\> |
'''Pré condições:''' Partida deve ter iniciado e o Robô deve ter encontrado a caça.<br\> | '''Pré condições:''' Partida deve ter iniciado e o Robô deve ter encontrado a caça.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Supervisório informa ao Sistema Arbitrário que o Robô encontrou uma caça.<br\> |
− | * | + | *Sistema Arbitrário informa ao Árbitro que o Sistema Supervisório encontrou uma caça.<br\> |
*Árbitro valida a caça.<br\> | *Árbitro valida a caça.<br\> | ||
− | * | + | *Sistema Arbitrário incrementa o contador de Robô que localizou a caça.<br\> |
− | * | + | *Sistema Arbitrário decrementa o contador de caça.<br\> |
− | * | + | *Sistema Arbitrário informa a todos os Sistema Supervisório que um dos Robôs encontrou uma caça.<br\> |
Exceção: Árbitro não valida a caça.<br\> | Exceção: Árbitro não valida a caça.<br\> | ||
<br\> | <br\> | ||
'''Caso de uso:''' Receber atualização<br\> | '''Caso de uso:''' Receber atualização<br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' Sistema Supervisório <br\> |
− | '''Identificador:''' | + | '''Identificador:''' UCA10<br\> |
− | '''Sumário:''' | + | '''Sumário:''' Sistema Supervisório informa a localização do Robô.<br\> |
− | '''Pré condições:''' | + | '''Pré condições:''' A partida deve ter sido iniciada.<br\> |
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Supervisório envia a localização do Robô ao Sistema Arbitrário<br\> |
<br\> | <br\> | ||
'''Caso de uso:''' Enviar atualização<br\> | '''Caso de uso:''' Enviar atualização<br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' Sistema Supervisório <br\> |
− | '''Identificador:''' | + | '''Identificador:''' UCA11<br\> |
− | '''Sumário:''' .<br\> | + | '''Sumário:''' Sistema Arbitrário atualiza o Sistema Supervisório referente ao andamento do jogo.<br\> |
'''Pré condições:''' Iniciar Partida.<br\> | '''Pré condições:''' Iniciar Partida.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
+ | *Sistema Arbitrário envia as informações referentes ao jogo para o Sistema Supervisório (localização dos adversários e informações das caças atuais<br\> | ||
<br\> | <br\> | ||
'''Caso de uso:''' Atualizar mapa<br\> | '''Caso de uso:''' Atualizar mapa<br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' <br\> |
− | '''Identificador:''' | + | '''Identificador:''' UCA12<br\> |
− | '''Sumário:''' <br\> | + | '''Sumário:''' Sistema Arbitrário atualiza as informações do jogo após receber e enviar informações.<br\> |
'''Pré condições:''' Enviar atualização, Receber atualização, Validar caça.<br\> | '''Pré condições:''' Enviar atualização, Receber atualização, Validar caça.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
+ | *Sistema Arbitrário atualiza as informações referentes à: Localização de jogadores, placar do jogo, número de caças encontradas e disponíveis.<br\> | ||
<br\> | <br\> | ||
'''Caso de uso:''' Declarar Vencedor<br\> | '''Caso de uso:''' Declarar Vencedor<br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' Sistema Supervisório <br\> |
− | '''Identificador:''' | + | '''Identificador:''' UCA13<br\> |
− | '''Sumário:''' O sistema declara o vencedor da partida após a | + | '''Sumário:''' O sistema declara o vencedor da partida após a última caça ser localizada.<br\> |
'''Pré condições:''' Validar caça.<br\> | '''Pré condições:''' Validar caça.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Arbitrário informa a todos os Sistema Supervisório que um dos Robôs encontrou a última caça.<br\> |
− | * | + | *Sistema Arbitrário informa ao Árbitro qual Robô é o vencedor.<br\> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<br\> | <br\> | ||
'''Caso de uso:''' Salvar histórico<br\> | '''Caso de uso:''' Salvar histórico<br\> | ||
'''Ator primário:''' Banco de Dados <br\> | '''Ator primário:''' Banco de Dados <br\> | ||
'''Identificador:''' UCA14<br\> | '''Identificador:''' UCA14<br\> | ||
− | '''Sumário:''' Após o vencedor ser | + | '''Sumário:''' Após o vencedor ser declarado, os dados da partida são armazenados.<br\> |
'''Pré condições:''' Declarar Vencedor.<br\> | '''Pré condições:''' Declarar Vencedor.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Arbitrário informa os dados da partida ao Banco de Dados.<br\> |
*Banco de dados confirma que o jogo foi salvo.<br\> | *Banco de dados confirma que o jogo foi salvo.<br\> | ||
− | * | + | *Sistema Arbitrário informa ao Árbitro que os dados da partida foram armazenados<br\> |
<br\> | <br\> | ||
'''Caso de uso:''' Exibir resultados no projetor<br\> | '''Caso de uso:''' Exibir resultados no projetor<br\> | ||
Linha 399: | Linha 402: | ||
'''Pré condições:''' Atualizar Mapa.<br\> | '''Pré condições:''' Atualizar Mapa.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Arbitrário informa os dados da partida ao Projetor.<br\> |
*Projetor exibe os dados da partida para o público.<br\> | *Projetor exibe os dados da partida para o público.<br\> | ||
<br\> | <br\> | ||
Linha 406: | Linha 409: | ||
Possível caso de uso Declarar Vencedor.<br\> | Possível caso de uso Declarar Vencedor.<br\> | ||
'''Caso de uso:''' Declarar Vencedor<br\> | '''Caso de uso:''' Declarar Vencedor<br\> | ||
− | '''Ator primário:''' | + | '''Ator primário:''' Sistema Supervisório <br\> |
'''Identificador:''' UCA<br\> | '''Identificador:''' UCA<br\> | ||
− | '''Sumário:''' O sistema declara o vencedor da partida após a | + | '''Sumário:''' O sistema declara o vencedor da partida após a última caça ser localizada.<br\> |
'''Pré condições:''' Validar caça.<br\> | '''Pré condições:''' Validar caça.<br\> | ||
'''Fluxo Principal:'''<br\> | '''Fluxo Principal:'''<br\> | ||
− | * | + | *Sistema Arbitrário informa a todos os Sistema Supervisório que um dos Robôs encontrou a ultima caça.<br\> |
− | * | + | *Sistema Arbitrário informa ao Árbitro qual Robô é o vencedor.<br\> |
*O jogo acaba.<br\> | *O jogo acaba.<br\> | ||
− | * | + | *Sistema Arbitrário informa os dados da partida para o Banco de Dados<br\> |
*Banco de Dados confirma o armazenamento.<br\> | *Banco de Dados confirma o armazenamento.<br\> | ||
<br\> | <br\> | ||
− | + | {{collapse bottom}} | |
{{collapse bottom}} | {{collapse bottom}} | ||
Edição das 18h51min de 6 de abril de 2019
Responsáveis pelo projeto
- Alisson Boeing, e-mail: alisson.b11@aluno.ifsc.edu.br
- Rafael Teles E, e-mail: rafatespindola@gmail.com
SR |
---|
Diagrama dos casos de uso SRDescrição dos casos de uso SRCaso de uso: Iniciar robô <br\> Ator Primário: SS <br\> Identificador: INC-RB <br\> Sumário: SS informa ao SR seu ID, sua Cor, Modo de jogo e Posição inicial <br\> Pré condições: Conexão já estabelecida entre SS e SR<br\> Fluxo Principal: <br\> [1] SS informa ao SR seu ID <br\> [2] SS informa ao SR sua Cor <br\> [3] SS informa ao SR Modo de jogo <br\> [4] SS informa ao SR sua Posição inicial <br\>
Caso de uso: Receber coordenada das caças <br\> Ator Primário: SA <br\> Identificador: RCC <br\> Sumário: SA envia as coordenadas das caças ao SR <br\> Pré condições: SR estar em modo autônomo <br\> Fluxo Principal: <br\> [1] SS escolhe o modo autônomo <br\> [2] SA gera as coordenadas das caças <br\> [3] SA distribui essas coordenadas para o SR <br\> Caso de uso: Procurar caça <br\> Ator Primário: SR <br\> Identificador: PCR-CC <br\> Sumário: SR verifica se está em cima da caça ou ainda não. <br\> Pré condições: Estar no modo autônomo <br\> Fluxo Principal: <br\> [1] SR é selecionado para o modo autônomo <br\> [2] SR usa seu algoritmo de busca para chegar a caça <br\> [3] Ao chegar em uma caça ele informa ao SS que achou uma caça <br\> Caso de uso: Mover autônomo <br\> Ator Primário: SR <br\> Identificador: MV-AUTO <br\> Sumário: SR usa de seu algoritmo para achar o caminho mais rápido até a caça <br\> Pré condições: Estar em modo autônomo <br\> Fluxo Principal: <br\> [1] SR é selecionado em modo autônomo <br\> [2] SR se movimenta com base em seu algoritmo <br\> [3] Se SR achar a caça, ele informa ao SS <br\> Caso de uso: Obter caça <br\> Ator Primário: SR <br\> Identificador: OBT-C <br\> Sumário: Quando SR achar uma caça ele informa ao SS. SS informa ao SA para validar ou não a caça. Quando validada, contabiliza um ponto para quem a achou<br\> Pré condições: Achar a caça <br\> Fluxo Principal: <br\> [1] SR se movimenta para cima da caça <br\> [2] SR informa que achou a caça para SS <br\> Caso de uso: Atualizar mapa <br\> Ator Primário: SR <br\> Identificador: ATLZ-MP <br\> Sumário: A cada evento importante e/ou um tempo definido o SA atualiza o mapa e repassa para o SS e SR <br\> Pré condições: Conexões estabelecidas <br\> Fluxo Principal: <br\> [1] SR achou uma caça ou algum outro evento aconteceu <br\> [2] SA atualiza seu mapa <br\> [3] SA repassa o mapa para SS <br\> [4] SA repassa o mapa para SR <br\> |
SS |
---|
Diagrama dos casos de uso SSDescrição dos casos de uso SSCaso de uso: Pausar/Reiniciar <br\> Ator Primário: SA <br\> Identificador: PS/RNC <br\> Sumário: SA envia uma mensagem para SS pausar ou reiniciar a movimentação dos robôs <br\> Pré condições: O jogo deve estar em andamento para pausar ou deve estar em pausa para reiniciar <br\> Fluxo Principal: <br\> [1] O jogo está em pausa ou andamento <br\> [2] SA envia um comando de pausa/reiniciar para SS <br\> [3] SS envia o comando para SR <br\> [4] SR executa o comando <br\>
|
SA | ||
---|---|---|
Diagrama dos casos de uso SA
|
Descrição dos casos de uso SA
Caso de uso: <br\> Ator Primário: <br\> Identificador: <br\> Sumário: <br\> Pré condições: <br\> Fluxo Principal: <br\> [1] <br\> [2] <br\> [3] <br\> [4] <br\>
|}