A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

(DAS 5315) Projeto de Serviços Web 2010/1

Apresentações semelhantes


Apresentação em tema: "(DAS 5315) Projeto de Serviços Web 2010/1"— Transcrição da apresentação:

1 (DAS 5315) Projeto de Serviços Web 2010/1
Erich D. Lunardeli Silvestre

2 Roteiro Visão geral Serviços Interfaces Detalhes Avaliação

3 Serviço “Confiável” de Geração de Números Aleatórios
Visão geral Cliente do Jogador 1 SOAP Serviço “Confiável” de Geração de Números Aleatórios Serviço de Bingo Cliente do Jogador 2 SOAP SOAP SOAP Cliente do Jogador N

4 Serviço Gerador de Números Aleatórios
Serviço Bingo Responsabilidades: Criar instâncias de bingo; Listar bingos; Gerar e distribuir cartelas; Verificar ganhadores; Armazenar e fornecer o estado de cada bingo. Serviço Gerador de Números Aleatórios Responsabilidades: Gerar números pseudo-aleatórios em faixas determinadas; NÃO armazenar estado.

5 Interface do Serviço de Bingo
PartidaDeBingo criar(Bingo bingo, int númeroDeJogadores) ; Parâmetros: bingo = bingo a ser realizado pelo serviço númeroDeJogadores = número de jogadores a esperar antes de iniciar os sorteios do bingo Retorno: partida criada, ela já deve possuir um número atribuído PartidaDeBingo obterPartida (int númeroDaPartida) Este método deve ser utilizado para a obtenção do estado da partida Parâmetro: númeroDaPartida = número da partida a obter Retorno: partida de bingo PartidaDeBingo[] listarPartidas(); Retorna a lista de partidas que ainda não foram iniciadas

6 Interface do Serviço de Bingo
PartidaDeBingo entrar (String nome, int númeroDaPartida) Parâmetros: nome = nome pelo qual o jogador será reconhecido númeroDaPartida = numero da partida a entrar Retorno: Partida de bingo, ela deve conter todos os dados de estado preenchidos Obs: é bloqueante, só retorna quando o último jogador entrar ou um timeout acontecer. void sair (String nome, int númeroDaPartida) nome = nome do jogador númeroDaPartida = numero da partida a deixar

7 Interface do Gerador de Números Aleatórios
int[] gerarAleatorios(int menor, int maior, int[]excluídos, int quantidade) Parâmetros: menor = menor número a gerar maior = maior número a gerar excluídos = números que não devem ser “gerados” quantidade = números a gerar Retorno: Uma lista de números pseudo-aleatórios contidos no intervalo [menor, maior] e que não estejam na lista de excluídos. NÃO pode haver números repetidos.

8 Classes de Dados Classe Bingo Atributos:
String nomeDoCriador nome do criador do bingo, ex: Joãozinho. String nomeDoBingo Nome do bingo, ex: Bingo da Igreja X String[] prêmios (opcional Premio[]) Lista dos prêmios oferecidos no bingo Um par de métodos get/set para cada atributo Classe Premio (opcional) String nome = nome do prêmio String urlDaImagemDoPrêmio = url da imagem do prêmio

9 Classes de Dados Classe PartidaDeBingo Atributos:
Int número Número de identificação da partida, deve ser único String estado Estado atual do bingo, valores possíveis: [“Não iniciado”, “Iniciado”, “Finalizado” ] int Rodada Número da rodada atual Cartela[] cartelas As cartelas de todos jogadores que participam da partida String[] ganhadores Lista dos ganhadores de cada rodada em ordem crescente int[] númerosSorteados Lista de números já sorteados na rodada atual String observações Reservado para mensagens. Por exemplo: Falta uma dezena para jogador X ganhar o prêmio Y. Um par de métodos get/set para cada atributo

10 Classes de Dados Classe Cartela Atributo:
int[] dezenas Dezenas da cartela String nomeDoJogador Nome do dono da cartela Um par de métodos get/set para cada atributo Alguns métodos a cargo do desenvolvedor, ex: marcarDezena(int dezena).

11 Detalhes Uma interface gráfica deve ser implementada e permitir ao usuário: A criação de uma nova partida de bingo Listagem das partidas ainda não iniciadas Entrar em uma partida que esteja listada Quando em um bingo: Listagem dos atributos (nome, premios (se tiver URL mostrar imagem), etc..) Estado atual (atributos da classe partida) Cartela do jogador e as marcações (opcional: cartela dos demais jogadores) A atualização da interface gráfica com o Serviço de Bingo será feita pelo serviço obterPartida()

12 Detalhes O número de dezenas de cada cartela é livre, assim como a faixa de números sorteados : Sugestão: 20 e [1,50] Toda geração aleatória de números deve ser feita pelo Serviço de Geração de Números Aleatórios Uma rodada é encerrada quando um jogador completa sua cartela Ao fim de cada rodada: Um prêmio é atribuído ao vencedor As marcações das cartelas são zeradas Cada sorteio de dezena deve levar no máximo 5 segundos

13 Detalhes Implementação:
Alguma linguagem que suporte WS: C++, Java, Python Sugestão: Java + Axis + Apache Tomcat O importante é que tanto a interface gráfica, quanto clientes e serviços funcionem

14 Avaliação Apresentação
Enviar código do projeto pelo menos 1 dia antes via e- mail Marcar horário via


Carregar ppt "(DAS 5315) Projeto de Serviços Web 2010/1"

Apresentações semelhantes


Anúncios Google