|
Acadêmico(a): Felipe Nogueira de Souza |
Título: ROUTE: UM PROTÓTIPO PARA VISUALIZAÇÃO DE INFORMAÇÕES DO TRÂNSITO EM TEMPO REAL |
|
Conclusão: |
Este trabalho tinha como objetivo a construção de um aplicativo Android para coleta de informações do trânsito de forma colaborativa para facilitar o percurso dos usuário e planejamentos de rotas a serem percorridas. Este trabalho também tinha o objetivo de construir uma base de dados histórica com informações reais coletadas pelos usuários. O desenvolvimento do aplicativo móvel foi inicialmente pensado utilizando React Native, porém foi constatado durante o desenvolvimento que pelos recursos oferecidos e facilidade no uso da plataforma de desenvolvimento Android Studio, o melhor seria utilizar Android puro. Dessa maneira o aplicativo foi construído utilizando a linguagem de programação Java para a regra de negócio e XML para construção dos layouts. Através da biblioteca Retrofit que oferece a abstração dos métodos REST foi construída a comunicação com o servidor. Para coletar as informações do trânsito é utilizada a API do Google Maps, que fornece as coordenadas e endereço completo das ruas, ainda utilizando o Google Maps é possível controlar a taxa de coleta de dados por metros percorridos e segundos. Para o servidor foi proposto a construção na linguem de programação C# no ambiente de desenvolvimento Visual Studio e a utilização do banco de dados SQL Server, itens que foram cumpridos. A arquitetura do servidor foi construída em cima dos princípios do SOA, onde existem serviços para cada funcionalidade e que contém a regra de negócio, além disso, utilizando esse padrão foi possível diminuir o acoplamento entre as classes do sistema pois a instancia das classes é realizada em cima de uma interface sem depender a classe concreta. A modelagem do banco feita utilizando o Entity Framework, um ORM excelente para tal e que trabalha perfeitamente com as tecnologias escolhidas para este trabalho. A disponibilização do banco de dados e das APIs do sistema foi feita na nuvem, utilizando o Microsoft Azure. Com o Azure a possibilidade de escalar tanto o banco quanto a aplicação fica muito fácil, além de estar disponível em qualquer local a qualquer momento. O aplicativo móvel oferece todas as funcionalidades apontadas nos objetivos. As rotas são mostradas de três maneiras diferentes, sendo uma a rota entre dois pontos com a possibilidade de filtro por dias da semana, período do mês e intervalo de horário. A segunda maneira é uma rota completa por um percurso executado pelo usuário através dos dados das ultimas rotas percorridas pelo usuário. A terceira opção faz a busca da melhor rota entre dois pontos, indicando o melhor dia e horário para o usuário. Todas essas pesquisas de rotas se baseiam em grafos e no algoritmo de Dijkstra, buscando o caminho de menor custo entre dois pontos. Por fim, com base nos resultados obtidos através de testes realizados, foi possível verificar ajustes que devem ser feitos na aplicação a fim de torna-la mais eficiente. De um modo geral, o aplicativo agradou os usuários, desde a interface até a usabilidade, além de ter cumprido seu objetivo de auxiliar no planejamento de rotas e mostrar a situação por data/horário |
|
|