Modelo de Trabalho de Conclusão cico



Baixar 7,33 Mb.
Página13/48
Encontro01.07.2018
Tamanho7,33 Mb.
1   ...   9   10   11   12   13   14   15   16   ...   48

      1. Casamento de perfis


O processo de casamento de perfis de usuários proposto consiste na utilização dos perfis dos usuários, os quais são constituídos a partir dos dados de localização coletados com base na utilização do aplicativo desenvolvido por parte dos indivíduos. Este perfil é a base para a apuração do nível de similaridade entre os usuários e, consequentemente, a realização do casamento entre tais perfis. O procedimento proposto neste trabalho é realizado sobre uma díade, ou seja, este processo atua sempre sobre dois usuários. Tal processo segue cinco etapas, as quais são explicadas e exemplificadas a seguir. Para a exemplificação, são utilizados dois usuários fictícios: Usuário A e Usuário B.

  1. Definição da data base: tal data corresponde à maior data de cadastro dos usuários envolvidos na apuração. Com isso, somente as localizações dos usuários coletadas a partir dessa data são consideradas no cálculo de similaridade entre os mesmos.

  2. Busca das informações contidas no perfil modelado para ambos usuários envolvidos: definida a data base da apuração, são retornadas todas as células em que cada usuário possuir algum tempo computado em tais áreas de interesse. Como exemplo, a Tabela 6 .4 e a Tabela 6 .5 representam os tempos coletados em cada célula dos usuários A e B, respectivamente, a partir da data base.

Tabela 6.4 - Localizações Usuário Exemplo A

Célula

Tempo

1,1

50

1,2

90

1,3

120

Tabela 6.5 - Localizações Usuário Exemplo B

Célula

Tempo

1,1

70

1,3

60

1,5

80

  1. Comparação das células contidas nos perfis dos usuários: com posse de todas as áreas de interesse, representadas pelas células, de ambos usuários, o processo realiza uma comparação dos tempos em que cada usuário esteve presente em cada célula, conforme demonstrado na . Este processo apura o tempo total coletado, em minutos, de cada usuário a partir da data base de consulta.

Tabela 6.6 - Comparativo dos tempos coletados dos usuários para cada célula

Célula

Tempo usuário A

Tempo usuário B

1,1

50

70

1,2

90

0

1,3

120

60

1,5

0

80

Total

260

210

  1. Definição do percentual de similaridade de um usuário em relação ao outro: a partir da comparação realizada, conforme Tabela 6 .6, é realizado o processamento efetivo do nível de similaridade entre os usuários, podendo tal nível variar entre os valores 0 (zero) e 1 (um). Com isso, é realizada, de forma sequencial e simultânea, o decremento ponderado, entre a diferença de tempo calculada em relação ao total coletado, do percentual apurado, o qual inicia com valor 1 (um) para ambos usuários. Para tal, somente realiza o decremento caso a diferença entre os tempos de um usuário em relação ao outro seja maior que 0 (zero), caso contrário, o percentual será igual ao apurado anteriormente, conforme demonstrado na Tabela 6 .7. Dessa forma, a fórmula para a apuração do percentual do nível de similaridade em função de uma célula se dá através da fórmula:

Percentual = Percentual Anterior – (Diferença / Tempo Total)

Tabela 6.7 - Definição do nível de similaridade entre usuários



Célula

Usuário A

Usuário B

Tempo

Diferença

%

Tempo

Diferença

%

1,1

50

-20

1

70

20

0,9048

1,2

90

90

0,6538

0

-90

0,9048

1,3

120

60

0,4231

60

-60

0,9048

1,5

0

80

0,4231

80

80

0,5238

Total

260




0,4231

210




0,5238

  1. Definição do percentual mínimo de similaridade: Diante dos níveis de similaridade de um usuário em relação ao outro, a definição do nível final de similaridade entre ambos se dá pelo menor valor entre tais percentuais. Assim o perfil do Usuário A tem 42,31% de similaridade em relação ao perfil do Usuário B, e o perfil do Usuário B tem 52,38% de similaridade com o perfil do Usuário A. Diante disso, a similaridade entre os perfis de ambos usuários é de 42,31%.


  1. DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS HÍBRIDAS


Este capítulo tem por objetivo contextualizar o desenvolvimento de aplicações móveis para múltiplas plataformas, evidenciando suas vantagens e desvantagens. Caracteriza brevemente o desenvolvimento de aplicações nativas para plataformas específicas e, por fim, destaca a tecnologia utilizada na concepção deste trabalho.
    1. Contextualização


O desenvolvimento de aplicações multiplataforma consiste na codificação de aplicações que sejam compatíveis com as diversas plataformas móveis disponíveis no mercado, combinando recursos que seriam obtidos somente através do desenvolvimento nativo juntamente com desenvolvimento utilizando tecnologias web, conforme apresentado na Figura 7 .12, que ilustra a capacidade de atuação em diversas plataformas entre os tipos de aplicações desenvolvidas. Esta abordagem utiliza o conceito “Write once, run anywhere”, ou seja, “Escrever uma vez, executar em qualquer lugar”, dessa forma, estas aplicações são codificadas uma única vez, utilizando tecnologias web como HTML5, CSS e Javascript, e disponibilizadas para diferentes plataformas móveis (ANGULO, ALONSO, FERRE, 2014). Tais aplicações contam com um framework como, por exemplo, o PhoneGap, que oferece um conjunto de APIs que possibilitam o acesso aos recursos do dispositivo através da aplicação escrita na linguagem HTML5. Frameworks desta natureza funcionam como uma ligação entre a aplicação e os recursos do dispositivo móvel (FROZZA, s.d. apud PIRAN; LAZZARETTI, 2014). A camada de interface do usuário, desenvolvida com HTML5, CSS e Javascript, é interpretada por um navegador web que abrange toda a área disponível na tela do dispositivo (TRICE, 2012 apud PIRAN; LAZZARETTI, 2014).

Figura 7.12 - Capacidade de atuação em diversas plataforma entre tipos de aplicações



Fonte: ANDRADE; ALBUQUERQUE (2015)

Este tipo de aplicação proporciona vantagens com relação às aplicações nativas, dentre as quais, as principais são: (i) reutilização de código: um único código-fonte é reutilizado nas diferentes plataformas de dispositivos móveis, não sendo necessária a escrita em plataformas específicas; (ii) facilidade de instalação: os processos de compilação e instalação de aplicações multiplataforma são mais rápidas; (iii) facilidade para desenvolvedores web: a maioria dos frameworks baseiam-se em linguagens dinâmicas e de script, familiares para desenvolvedores web; (iv) plugins: alguns dos frameworks oferecem acesso às APIs do dispositivo de forma semelhante como, por exemplo, utilização de recursos de GPS e câmera, que possibilitam uma única codificação a ser utilizada em diferentes plataformas; (v) serviços na nuvem: a maioria dos frameworks disponibilizam integração com diversos serviços na nuvem; (vi) menor necessidade de plataforma específica: não há a necessidade de empresas investirem em equipes com experiência em cada plataforma específica (ANGULO, ALONSO, FERRE, 2014).

Entretanto, aplicações desta natureza apresentam lacunas referentes à: (i) funcionalidades inexistentes no framework: ao ser disponibilizada uma nova funcionalidade nos dispositivos móveis, o framework também deve ser atualizado, mantendo o ambiente em pleno funcionamento; (ii) ferramentas próprias: algumas tecnologias requerem a utilização de ferramentas de desenvolvimento próprias, acarretando na necessidade de um prévio aprendizado de tais ferramentas; (iii) ineficiência de código: visto que o desenvolvimento não será realizado em uma linguagem nativa, a eficiência do código utilizado no aplicativo será definida pelos mecanismos de tradução da ferramenta, o que pode levar à existência de código desnecessário e/ou códigos ineficientes; (iv) tempo maior de renderização: a codificação implementada em aplicações multiplataforma podem demandar mais tempo para realizar a execução do código do que em aplicações nativas, isso ocorre devido ao fato de haver a necessidade de compilação para cada plataforma em que a aplicação esteja sendo executada (ANGULO, ALONSO, FERRE, 2014).




1   ...   9   10   11   12   13   14   15   16   ...   48


©livred.info 2017
enviar mensagem

    Página principal