Estou trabalhando em um projeto onde um sistema interage com a API do Google Maps, preciso especificar esta interação em um caso de uso, porém não sei como deve ser feita esta especificação. Também não sei como fazer a interação entre o sistema e a API, alguém pode me ajudar a descobrir o caminho?
Qual a dificuldade?
A especificação de caso de uso irá descrever o fluxo principal (mundo perfeito).
Algo mais ou menos
1 - O usuario informa as coordenadas
2 - O sistema le as coordenadas
3 - O sistema envia as coordenadas para o google maps
4 - O google maps devolve a informação
5 - O sistema…
E os fluxos alternativos que podem ocorrer (mundo real) e que os eventos que podem falhar são falta de dados do usuário, erro ao ler as coordenadas, acesso à internet não disponível, etc.
Ah sim, esqueci de informar que no meu caso, é um sistema que roda em celular, deve ter GPS rodando, como posso especificar que é o GPS quem envia as coordenadas para o API? API e GPS são atores?
Camarada, atores são atores.
Eles irão interagir com o sistema ou iniciando o processo ou participando dele para inserir dados.
Seja cachorro, gato, GPS, requisição AJAX, celular, bluetooth ou o que seja.
O caso de uso especifica o passo a passo da interação entre os casos de uso (que, normalmente, irão representar telas do sistema, para deixar a explicação mais clara) e entidades externas (atores, que podem ser seres humanos ou outros sistemas e equipamentos).
Por exemplo, o fluxo principal de receber SMS
1 - O caso de uso se inicia quando o usuário liga o celular (pois o celular fica com o SMS Listener ativo, podem haver fluxos alternativos, pois o celular pode estar sem rede, bateria, sem chip, chip invalido, etc, etc, etc)
2 - O servidor de SMS da operadora direciona o SMS para o celular
3 - O celular identifica SMS recebido e dispara o alerta (Aqui fluxos alternativos e exceções, pois pode haver toque, vibração ou ambos ou nenhum)
4 - O usuario abre a SMS e lê (aqui mais fluxos alternativos, a SMS pode ter vindo incompleta, o cliente pode deletar, encaminhar, etc)
Sacou?
O sistema possui como pré-requisito que o aparelho móvel seja integrado a um sistema GPS.
No caso o GPS é um ator, então como ficaria a especifiação?
Obs.: O GPS deve estar o tempo todo interagindo. Onde o aparelho celular estiver, o GPS fica atualizando a posição e enviando para o aplicativo, onde esta posição é enviada para um banco de dados fazer uma pesquisa sobre a posição (se a posição estiver cadastrada no banco de dados, o sistema deve reconhecer a localização como mapeada e enviar um sinal pro celular dizendo que ali naquele local existe algo mapeado pelo sistema).