• Nenhum resultado encontrado

Teste de Componentes

No documento Navegação turn-by-turn em Android (páginas 87-91)

Reunidos os vários elementos considerados pertinentes para a construção do sistema, tornou-se necessário averiguar as verdadeiras possibilidades de cada uma das duas abordagens, seja a implementação do sistema de raiz, ou a implementação com recurso a um SDK. Simultaneamente também foi necessário averiguar a qualidade e o potencial de cada um dos elementos selecionados para a implementação do sistema de raiz.

Estes testes de componentes possibilitaram compreender qual das abordagens teria a maior capacidade para implementar os requisitos do projeto na totalidade, com a qualidade desejada, e de forma acessível, possibilitando tomar uma decisão verdadeiramente informada sobre a direção do projeto e a viabilidade da abordagem escolhida.

Até à data deste estudo, nenhum dos funcionários da empresa tinha conhecimentos ou experiência sobre as ferramentas aqui apresentadas, pelo que este estudo constituiu uma contribuição interessante para projetos futuros da Sentilant.

A pedido dos responsáveis pelo projeto, e com o intuito de acelerar o processo de decisão, a implementação destas aplicações de teste foi feita exclusivamente para Android, e apenas sobre os elementos considerados mais pertinentes. Os testes de componentes para iOS foram ignorados já neste fase por os orientadores entenderem que, provavelmente, não seria feita uma implementação do módulo de navegação para este sistema operativo.

Os vários elementos testados foram:

 Biblioteca de mapas Google Map, nativo do SDK para Android;  Biblioteca de mapas V™;

 Biblioteca de mapas Osmdroid;  Biblioteca de mapas MapsForge;  Google Maps API;

 Bing Maps API;  Projeto Navit;

 Biblioteca de cálculo de rotas Graphhopper;  Mapas Mapsforge;

66

 Grafos Geofabrik;

 SDK de navegação Here Maps;  SDK de navegação Mapbox;  SDK de navegação Tally Go.

7.1. Desenvolvimento de Projetos de Teste de

Componentes

Para averiguar qual das alternativas de implementação seria a mais promissora, foi construído um projeto de teste para cada uma das alternativas. Esses projetos traduziram-se no desenvolvimento de oito aplicações Android, que incluíram todos os SDKs considerados viáveis, assim como os vários conjuntos de bibliotecas que poderiam resultar no desenvolvimento de um sistema de navegação robusto implementado de raiz. Os vários protótipos funcionais desenvolvidos foram:

7.1.1. TestGoogleMaps

Aplicação desenvolvida para testar as possibilidades oferecidas pela biblioteca de mapas nativa do sistema Android, em conjunto com a utilização da API de cálculo de rotas disponibilizada pela Google, a Google Maps API (Google Maps Platform, s.d.).

7.1.2. TestBingMaps

Protótipo criado com o propósito de testar as possibilidades oferecidas pelo cruzamento da biblioteca de mapas Osmdroid (Open Street Maps for Android) (Osmdroid, 2018) com a API de cálculo de rotas Bing Routes API (Bing Routes API, 2018).

7.1.3. TestHereMaps

Projeto desenvolvido com o objetivo de analisar as possibilidades do SDK de navegação disponibilizado por HERE Maps (Here Maps SDK, 2018).

7.1.4. TestMapBox

Projeto criado para analisar as funcionalidades oferecidas pelo SDK de navegação MapBox (MapBox SDK, 2018).

Embora promissor, e apesar de disponibilizar navegação offline, este SDK apresentava a desvantagem de necessitar de acesso à Internet para estabelecer uma nova rota.

67

7.1.5. TestNavit

Projeto criado com recurso a uma aplicação de exemplo já existente intitulada Navit (2018). O projeto base apresenta diversos problemas de configuração, funcionalidade e navegação que o tornam inviável para o desenvolvimento do módulo de navegação para o Drivian Tasks. Embora fosse possível reconstruir estes elementos, o próprio projeto em si não demonstrou ser muito promissor. O facto de englobar uma licença GPL também foi considerado como fator limitador. Apesar de todos estes obstáculos, foi concebido um protótipo de navegação para testar a viabilidade desta abordagem.

7.1.6. TestGraphhopper

Protótipo desenvolvido com o intuito de analisar as capacidades da biblioteca de mapas V™ (2018) e a biblioteca de cálculo de rotas Graphhopper (2018). Neste projeto foram também testados os grafos do repositório OpenStreetMaps (OpenStreetMap Data Extracts, s.d.).

7.1.7. TestMapsforge

Projeto criado com o objetivo de testar as capacidades da biblioteca de mapas Mapsforge (2018) assim como as imagens de mapa provenientes do repositório Mapsforge (Mapsforge Download Server, s.d.).

7.1.8. TestTallyGo

Aplicação desenvolvida com o intuito de experimentar as várias funcionalidades disponibilizadas pelo SDK TallyGo (TallyGo SDK, s.d.).

7.2. Apresentação dos Projetos de Teste à Equipa

Reunidas as várias aplicações de teste, foi feita uma apresentação a todos os elementos da empresa na qual foram discutidos os pontos fortes e fracos das aplicações protótipo mais promissoras. O conteúdo da apresentação encontra-se disponível no anexo D. Simultaneamente, foram também apresentadas as várias APIs de cálculo de rotas consideradas mais relevantes, os custos associados, e as suas várias características. Esta comparação foi feita com recurso à tabela apresentada previamente neste relatório (Tabela 7).

68

Do mesmo modo, também foi apresentada a tabela comparativa de SDKs (Tabela 6), na qual constam as várias características dos vários SDKs de navegação.

Munidos de todas as evidências necessárias, foi assumida pelos responsáveis da empresa a tarefa de tomar uma decisão final sobre qual abordagem seria a mais indicada para o desenvolvimento do módulo de navegação.

7.3. Resumo

Durante o teste de componentes para o módulo de navegação do Drivian Tasks, foram desenvolvidas várias aplicações para Android. O desenvolvimento destas aplicações teve o propósito de tomar uma decisão sobre qual das alternativas seria a mais indicada para o desenvolvimento da aplicação final.

O teste de componentes culminou numa apresentação feita a todos os elementos da empresa. Nessa apresentação foram ponderadas as características de cada uma das alternativas consideradas viáveis. Durante a mesma, os responsáveis da empresa recolheram as informações que consideraram mais pertinentes para, em conjunto com o documento de requisitos definidos para o sistema, tomarem uma decisão final sobre a abordagem a seguir.

69

No documento Navegação turn-by-turn em Android (páginas 87-91)

Documentos relacionados