Mudanças entre as edições de "Grupo3-PJI2-2019-1"
Linha 11: | Linha 11: | ||
== Atualizações: == | == Atualizações: == | ||
+ | |||
+ | == Casos de Uso: == | ||
+ | |||
+ | |||
+ | {{collapse top | Caso de uso S.A}} | ||
+ | '''Nome: Verifica tabuleiro''' | ||
+ | |||
+ | Identificador: CSU.SA 01 | ||
+ | |||
+ | Sumário: Inicia a conexão entre S.A S.S | ||
+ | |||
+ | Ator primário: S.S | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | S.S envia ao S.A uma mensagem contendo o nome do robô, cor e senha. | ||
+ | |||
+ | S.A válida os dados ou não. | ||
+ | |||
+ | Fluxo de exceções: | ||
+ | |||
+ | Senha errada o Login errado: | ||
+ | |||
+ | Simplesmente envia uma mensagem ao S.S informando-o que não foi possível conectar devido a login e/ou senha errado(s) | ||
+ | |||
+ | '''Nome: Acessa histórico | ||
+ | ''' | ||
+ | |||
+ | Identificador: CSU.SA 02 | ||
+ | |||
+ | Sumário: Envia histórico de partidas ao cliente. | ||
+ | |||
+ | Ator primário: S.A. | ||
+ | |||
+ | Précondições: | ||
+ | |||
+ | CSU.SA 01 | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | S.S. solicita histórico de partidas ao S.A. | ||
+ | |||
+ | S.A procura em seu banco de dados o histórico daquele cliente | ||
+ | |||
+ | Caso tenha algo, envia o histórico, caso contrário informa que não há histórico. | ||
+ | |||
+ | |||
+ | '''Nome: Inicia partida. | ||
+ | ''' | ||
+ | |||
+ | Identificador: CSU.SA 03 | ||
+ | |||
+ | Sumário: Inicia a partida, sorteando as caças e informando aos robôs suas posições | ||
+ | |||
+ | Ator primário: S.A | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | Gera as posições das caças | ||
+ | |||
+ | Informa a todos | ||
+ | |||
+ | Espera ack de todos para iniciar de fato. | ||
+ | |||
+ | Fluxo de exeção | ||
+ | |||
+ | Não recebeu ack de todos os robôs | ||
+ | |||
+ | Envia novamente. | ||
+ | |||
+ | |||
+ | |||
+ | '''Nome: Valida caça. | ||
+ | |||
+ | ''' | ||
+ | Identificador: CSU.SA 04 | ||
+ | |||
+ | Sumário: Válida ou não a caça de um robô | ||
+ | |||
+ | Ator primário: SA. | ||
+ | |||
+ | A partida ter começado (CSU.SA 03) | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | Recebe mensagem de caça obtida de algum determinado S.S | ||
+ | |||
+ | S.A verifica se realmente aquela caça é válida ou não | ||
+ | |||
+ | Caso seja validada, incrementa o placar e atualiza as caças, informado aos outros S.S. | ||
+ | |||
+ | Nome: Recebe informações dos robôs. | ||
+ | |||
+ | Identificador: CSU.SA 05 | ||
+ | |||
+ | Sumário: Recebe dados de movimentação dos robôs. | ||
+ | |||
+ | Précondições: CSU.SA 03 | ||
+ | |||
+ | Ator primário: S.A. | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | S.S informa a posição de seu respectivo robô ao S.A | ||
+ | |||
+ | S.A processa a informação | ||
+ | |||
+ | S.A informa ao S.S a posição de outros robôs para evitar colisões. | ||
+ | |||
+ | |||
+ | '''Nome: Declara vencedor''' | ||
+ | |||
+ | Identificador: CSU.SA 06 | ||
+ | |||
+ | Sumário: Finaliza uma partida declarando o vencedor. | ||
+ | |||
+ | Ator primário: S.A. | ||
+ | |||
+ | Précondições: CSU.SA 03 | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | Calcula a pontuação | ||
+ | |||
+ | Informa a pontuação aos jogadores. | ||
+ | |||
+ | Salva histórico de partida. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''Nome: Pausa''' | ||
+ | |||
+ | Identificador: CSU.SA 07 | ||
+ | |||
+ | Sumário: Pausa a partida caso o árbitro decida. | ||
+ | |||
+ | Ator primário: S.A. | ||
+ | |||
+ | Précondições: CSU.SA 03 | ||
+ | |||
+ | Fluxo principal: | ||
+ | |||
+ | Envia mensagem de pause para os S.S. | ||
+ | |||
+ | Espera ACK | ||
+ | |||
+ | Uma vez todos os ACKs recebido, aguarda o recomeço da partida. | ||
+ | |||
+ | Recomeça a partida de onde fora pausada. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
== Diagramas: == | == Diagramas: == |
Edição das 17h31min de 31 de março de 2019
Alunos:
Suyan M. V. Moura. (suyan.m@aluno.ifsc.edu.br)
Yara Karoline Garcia. (yara.k@aluno.ifsc.edu.br)
Link repositório Git:
https://github.com/SuyKingsleigh/PJI-2
Atualizações:
Casos de Uso:
Caso de uso S.A |
---|
Nome: Verifica tabuleiro Identificador: CSU.SA 01 Sumário: Inicia a conexão entre S.A S.S Ator primário: S.S Fluxo principal: S.S envia ao S.A uma mensagem contendo o nome do robô, cor e senha. S.A válida os dados ou não. Fluxo de exceções: Senha errada o Login errado: Simplesmente envia uma mensagem ao S.S informando-o que não foi possível conectar devido a login e/ou senha errado(s) Nome: Acessa histórico Identificador: CSU.SA 02 Sumário: Envia histórico de partidas ao cliente. Ator primário: S.A. Précondições: CSU.SA 01 Fluxo principal: S.S. solicita histórico de partidas ao S.A. S.A procura em seu banco de dados o histórico daquele cliente Caso tenha algo, envia o histórico, caso contrário informa que não há histórico.
Identificador: CSU.SA 03 Sumário: Inicia a partida, sorteando as caças e informando aos robôs suas posições Ator primário: S.A Fluxo principal: Gera as posições das caças Informa a todos Espera ack de todos para iniciar de fato. Fluxo de exeção Não recebeu ack de todos os robôs Envia novamente.
Nome: Valida caça. Identificador: CSU.SA 04 Sumário: Válida ou não a caça de um robô Ator primário: SA. A partida ter começado (CSU.SA 03) Fluxo principal: Recebe mensagem de caça obtida de algum determinado S.S S.A verifica se realmente aquela caça é válida ou não Caso seja validada, incrementa o placar e atualiza as caças, informado aos outros S.S. Nome: Recebe informações dos robôs. Identificador: CSU.SA 05 Sumário: Recebe dados de movimentação dos robôs. Précondições: CSU.SA 03 Ator primário: S.A. Fluxo principal: S.S informa a posição de seu respectivo robô ao S.A S.A processa a informação S.A informa ao S.S a posição de outros robôs para evitar colisões.
Identificador: CSU.SA 06 Sumário: Finaliza uma partida declarando o vencedor. Ator primário: S.A. Précondições: CSU.SA 03 Fluxo principal: Calcula a pontuação Informa a pontuação aos jogadores. Salva histórico de partida.
Identificador: CSU.SA 07 Sumário: Pausa a partida caso o árbitro decida. Ator primário: S.A. Précondições: CSU.SA 03 Fluxo principal: Envia mensagem de pause para os S.S. Espera ACK Uma vez todos os ACKs recebido, aguarda o recomeço da partida. Recomeça a partida de onde fora pausada.
|
Diagramas:
Requisitos funcionais S.R. |
---|
Requisitos funcionais RF01 O sistema deve permitir criação e gerência de cadastro de um robô. ID, Senha, Cor do robô. RF02 O sistema de deve manter um histórico das partidas realizadas. Participantes, Vencedor, duração, pontuação. RF03 O sistema deve ser capaz de fazer a autenticação dos robôs cadastrados. Busca num banco de dados ID, se a ID estiver lá, verifica se a senha bate com a do banco. RF04 os robôs devem ser capazes de operar nos modos manual e autônomo. Troca seria realizada na mesma interface onde faz o cadastro. 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. Quantas caças deverão ter? RF07 O sistema deve prover uma interface de monitoramento para o robô em modo autônomo. Um mapa mostrando as caças e a posição de cada robô? RF08 O sistema deve prover uma interface de controle e monitoramento para os robôs em modo manual. Estender a interface do modo autônomo. RF09 O sistema deve permitir que, quando em modo autônomo, o robô execute os movimentos programados a partir do algoritmo implementado. Como assim? RF010 O sistema deve permitir pausa e reset da partida. Por onde será feito isso? RF011 O sistema deve permitir que os resultados do jogo sejam vistos pelos espectadores em tempo real. Será exibido na interface de controle/monitoramento 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. RF014 O sistema pode ter N competidores * RF015 O sistema deve projetar informações no tabuleiro (Caças ativas, Caças encontradas, e placar) 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. Todos o que? RNF03 O tabuleiro terá as dimensões definidas (2m x 2m). Pode ser ajustável? RNF04 O tabuleiro será composto por 100 quadrados de dimensões: 20cm x 20cm. Pode ser ajustável?² 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.
|
Requisitos funcionais S.S |
---|
Nome: Verifica Log in Identificador: CSU01; Sumário: SA autentica o log in do robô ; Ator primário: SA; Precondições: Fluxo principal: SA solicita a SS sua identificação; SS responde com a identificação; Fluxo de exceção: Identificação não cadastrada, cadastrar identificação.
Identificador: CSU02; Sumário: SA tem conhecimento da posição do robô no tabuleiro, assim como ele mesmo ; Ator primário: SA e SR; Precondições: Robô já ter sido cadastrado; O robô já ter se autenticado; Fluxo principal: SA recebe os dados de onde o robô está no tabuleiro; SR toma conhecimento de sua posição; Nome: Recebe dados Identificador: CSU03; Sumário: SR recebe dados da partida através do SA de início, pausa e fim da partida, validação de caças . Ator primário: SR e SA; Precondições: Robô já ter sido cadastrado; O robô já ter se autenticado; Fluxo principal: SA envia dados de início, pausa e fim da partida (quando um jogador ganha) e valida as caças que o robõ pegou; SR processa os dados e define sua posição inicial e mapeia as caças do jogo.
Identificador: CSU04; Sumário: SA inicia a partida e sorteia as caças. Atores primários: SA; Precondições:
O robô já ter se autenticado; Fluxo principal: SA recebe a informação do cliente externo de que deve iniciar a partida, então sorteia as caças.;
Identificador: CSU06; Sumário: SA faz a contagem de caças válidas e declara vencedor. Ator primário: SA;;
Robô já ter sido cadastrado; O robô já ter se autenticado; Fluxo principal: SA envia dados do robô que obteve o maior número de caças válidas, portanto do o vencedor.; SA finaliza a partida.. Nome: Pause/Start Identificador: CSU07; Sumário: SA pausa, para ou inicia a partida de acordo com a vontade do cliente externo ou caso algum robô tenha ganhado.; Ator primário: SA; Precondições: Robô já ter sido cadastrado; O robô já ter se autenticado; Fluxo principal: SA verifica se cliente externo deseja iniciar a partida ou pausar a partida; SA verifica se as caças válidas do robô; SA verifica ganhador; SA finaliza a partida.; |
Requisitos:
Relatório de testes:
Conteúdo das Aulas:
25/02/2019 - Apresentação de seminário |
---|
Links úteis:
Página da disciplina: https://wiki.sj.ifsc.edu.br/index.php/PJI2-EngTel_(p%C3%A1gina)
- Colocar documentação das APIs usadas*