• Nenhum resultado encontrado

A aplica¸c˜ao apresentada neste trabalho possui potencial de consumir um grande volume de re- cursos computacionais como processamento de dados, armazenamento de dados, e banda de rede. Esta se¸c˜ao tem como objetivo apresentar e avaliar propostas que podem melhorar o desempenho da aplica¸c˜ao e economizar recursos computacionais.

Para gerar uma economia no espa¸co ocupado pelas leituras, apresentamos como proposta a con- solida¸c˜ao de leituras. A consolida¸c˜ao de leituras consiste em uma t´ecnica utilizada para transformar um

19 n´umero N de leituras de intensidade de sinal celular em apenas uma leitura.

Um exemplo para explicar a consolida¸c˜ao seria quando um usu´ario do aplicativo permanece exatamente na mesma localiza¸c˜ao por um per´ıodo de cinco minutos. Durante estes cinco minutos, o aplicativo vai realizar N leituras de intensidade de sinal, mesmo que o usu´ario n˜ao tenha se deslocado. Como o intervalo de tempo ´e muito pequeno, e a localiza¸c˜ao do usu´ario n˜ao mudou, se torna redundante armazenar no banco de dados todas as N leituras realizadas nesta situa¸c˜ao. Por isto, a t´ecnica de consolida¸c˜ao pode ser utilizada para transformar as N leituras em apenas uma leitura.

Para executar a consolida¸c˜ao de leituras ´e necess´ario utilizar regras para selecionar quais leituras s˜ao candidatas `a consolida¸c˜ao. As regras definidas definidas para selecionar as leituras candidatas `a consolida¸c˜ao foram de distˆancia geogr´afica entre leituras, e intervalo de tempo entre as leituras. Para que duas (ou mais) leituras sejam candidatas `a consolida¸c˜ao a distˆancia geogr´afica entre elas deve ser menor que 200 metros, e o intervalo de tempo entre uma leitura e outra deve ser menor do que uma hora.

A consolida¸c˜ao em si consiste em criar um novo registro de leitura de intensidade de sinal celular, em que a intensidade armazenada seja calculada utilizando a m´edia m´ovel das intensidades de sinal que foram selecionadas para a consolida¸c˜ao. Com a cria¸c˜ao do registro consolidado, as leituras que foram utilizadas na consolida¸c˜ao podem ser apagadas. Neste projeto, a m´edia m´ovel foi calculada utilizando o valor de Alpha como 0.5, por´em novos estudos podem ser realizados para avaliar o impacto da utiliza¸c˜ao de outros valores de Alpha para o c´alculo da m´edia m´ovel neste aplicativo. A f´ormula utilizada para o c´alculo da m´edia m´ovel est´a representada na equa¸c˜ao 4.1.

V F = (V 1 ∗ (1 − ALP HA)) + (V 1 ∗ ALP HA) (4.1) Com o objetivo de gerar uma economia no espa¸co ocupado nos dispositivos m´oveis, assim como gerar uma economia no volume de dados transferido do cliente para o servidor, sugerimos a utiliza¸c˜ao da t´ecnica de consolida¸c˜ao nos pr´oprios dispositivos m´oveis.

Com o objetivo de gerar uma economia no espa¸co ocupado pelas leituras salvas no servidor, apresentamos como proposta a utiliza¸c˜ao da t´ecnica de consolida¸c˜ao, j´a apresentada neste trabalho com o objetivo de economizar o espa¸co de armazenamento nos dispositivos m´oveis. A ideia consiste em aplicar a mesma t´ecnica de consolida¸c˜ao, s´o que desta vez nas leituras armazenadas no servidor da aplica¸c˜ao.

Por´em, como gostar´ıamos possibilitar a consulta do hist´orico da intensidade do sinal celular, podemos avaliar tamb´em a possibilidade de classificar as leituras no servidor por intervalo de tempo. Com a ado¸c˜ao desta t´ecnica, as leituras seriam consolidadas no servidor apenas se estiverem dentro do mesmo intervalo temporal. Desta forma, se torna poss´ıvel economizar espa¸co de armazenamento sem abrir m˜ao do hist´orico, pois se duas leituras realizadas na mesma localiza¸c˜ao geogr´afica por´em em janelas de tempo distintas forem consolidadas, n˜ao ser´a poss´ıvel consultar o hist´orico de intensidade de sinal.

Fazendo combina¸c˜oes com as 3 t´ecnicas de economia de espa¸co em disco propostas, geramos a tabela 4.1, com um total de 8 poss´ıveis propostas (de P1 at´e P8) de quais t´ecnicas utilizar na aplica¸c˜ao.

20

Tabela 4.1: Todas as propostas de consolida¸c˜ao de dados na aplica¸c˜ao

Consolida¸c˜ao cliente Consolida¸c˜ao no servidor Consolida¸c˜ao no servidor por intervalo de tempo

P 1 N˜ao N˜ao N˜ao P 2 N˜ao N˜ao Sim P 3 N˜ao Sim N˜ao P 4 N˜ao Sim Sim P 5 Sim N˜ao N˜ao P 6 Sim N˜ao Sim P 7 Sim Sim N˜ao

P 8 Sim Sim Sim

A proposta P1 consiste em n˜ao realizar nenhum tipo de consolida¸c˜ao. ´E a abordagem que ocupa mais espa¸co tanto nos celulares dos usu´arios quanto no servidor da aplica¸c˜ao.

A proposta P2 n˜ao ´e uma proposta vi´avel, pois n˜ao faz sentido consolidar as leituras no servidor separadas por intervalo de tempo se n˜ao desejamos consolidar leituras no servidor.

A proposta P3 consiste em consolidar as leituras apenas no servidor, sem realizar a separa¸c˜ao por intervalo de tempo. Esta proposta economiza espa¸co de armazenamento no servidor, por´em tem como principal desvantagem n˜ao possibilitar a consulta de hist´orico da intensidade de sinal.

A proposta P4 consiste em consolidar as leituras apenas no servidor, realizando a separa¸c˜ao por intervalo de tempo. Esta proposta economiza espa¸co de armazenamento no servidor e permite a consulta de hist´orico de intensidade de sinal.

A proposta P5 consiste em consolidar as leituras apenas no cliente. Esta proposta economiza espa¸co de armazenamento no cliente e permite a consulta de hist´orico de intensidade de sinal.

A proposta P6 n˜ao ´e uma proposta vi´avel, pelo mesmo motivo da inviabilidade de P2.

A proposta P7 consiste em consolidar as leituras tanto no cliente quanto no servidor, por´em sem realizar a separa¸c˜ao por intervalo de tempo no servidor. Esta proposta economiza espa¸co de armazena- mento no cliente e no servidor, por´em tem como principal desvantagem n˜ao possibilitar a consulta de hist´orico da intensidade de sinal.

A proposta P8 consiste em consolidar as leituras tanto no cliente quanto no servidor, realizando a separa¸c˜ao por intervalo de tempo no servidor. Esta proposta economiza espa¸co de armazenamento no cliente e no servidor, por´em e permite a consulta de hist´orico da intensidade de sinal.

Removendo as propostas P2 e P6, que n˜ao s˜ao vi´aveis, temos a tabela 4.2, com as propostas vi´aveis de consolida¸c˜ao de dados na aplica¸c˜ao.

21

Tabela 4.2: Propostas vi´aveis de consolida¸c˜ao de dados na aplica¸c˜ao

Consolida¸c˜ao cliente Consolida¸c˜ao no servidor Consolida¸c˜ao no servidor por intervalo de tempo

P 1 N˜ao N˜ao N˜ao

P 3 N˜ao Sim N˜ao

P 4 N˜ao Sim Sim

P 5 Sim N˜ao N˜ao

P 7 Sim Sim N˜ao

Cap´ıtulo 5

Prototipa¸c˜ao

5.1

Tecnologias Utilizadas

Como o desenvolvimento do aplicativo mobile foi feito de forma nativa para iOS, as ferramentas utilizadas foram as fornecidas pela Apple. Como Ambiente de Desenvolvimento Integrado (ou IDE), foi utilizado o XCode na vers˜ao 7.3.1. A linguagem utilizada para desenvolvimento foi o Swift na vers˜ao 2.2. A aplica¸c˜ao foi constru´ıda originalmente para a vers˜ao 9.3 do iOS, que era a vers˜ao mais atual na fase de desenvolvimento do projeto.

J´a o servidor foi desenvolvido em Ruby on Rails, utilizando a vers˜ao 5.0.0.1 do framework Rails, e a vers˜ao 2.3.0 da linguagem Ruby. No desenvolvimento deste projeto, o banco de dados utilizado foi o PostgreSQL, na vers˜ao 9.5.5.

Documentos relacionados