PROPOSTA DE SERVIÇO BASEADO EM LOCALIZAÇÃO PARA...

91
UNIVERSIDADE FEDERAL DO RIO GRANDE PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO MARCEL COSTA SALUM PROPOSTA DE SERVIÇO BASEADO EM LOCALIZAÇÃO PARA DISPOSITIVOS MÓVEIS APLICADO EM MONITORAMENTO AMBIENTAL Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Computação da Universidade Federal do Rio Grande, como requisito parcial para a obtenção do grau de Mestre em Engenharia de Computação. Prof. Vagner Santos da Rosa Orientador Rio Grande, Fevereiro de 2015

Transcript of PROPOSTA DE SERVIÇO BASEADO EM LOCALIZAÇÃO PARA...

UNIVERSIDADE FEDERAL DO RIO GRANDE

PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO

MARCEL COSTA SALUM

PROPOSTA DE SERVIÇO BASEADO EM LOCALIZAÇÃO

PARA DISPOSITIVOS MÓVEIS APLICADO EM

MONITORAMENTO AMBIENTAL

Dissertação de Mestrado apresentada ao

Programa de Pós-Graduação em Computação

da Universidade Federal do Rio Grande, como

requisito parcial para a obtenção do grau de

Mestre em Engenharia de Computação.

Prof. Vagner Santos da Rosa

Orientador

Rio Grande, Fevereiro de 2015

Dedico este trabalho aos meus pais.

AGRADECIMENTOS

Primeiramente, presto meus agradecimentos a ANP – Agência Nacional de Petróleo,

Gás Natural e Biocombustíveis, FINEP e PRH-27 por subsidiar e tornar possível o

desenvolvimento deste projeto.

Ao meu orientador Vagner Rosa, que sempre foi presente e prestativo. Se cheguei

até aqui, certamente foi devido ao seu incentivo e profissionalismo.

Agradeço também a todos os meus colegas e professores que direta ou indiretamente

fizeram parte da minha formação, em especial ao graduando Matheus Müller pela sua

grande contribuição no desenvolvimento da aplicação.

A vida é como um balão. Quando nos deparamos com ventos fortes, a solução não é

lutar contra eles, mas procurar novas altitudes, novos ventos que levem na direção certa.

— Bertrand Piccard

RESUMO

SALUM, Marcel Costa. Proposta de Serviço Baseado em Localização para

Dispositivos Móveis Aplicado em Monitoramento Ambiental. 2015. 88 f.

Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade

Federal do Rio Grande, Rio Grande.

Diariamente somos cercados por eventos relacionados ao meio ambiente, desde

incidentes de pequena proporção, como o lixo descartado em locais inadequados, até

aqueles de maior repercussão, como queimadas e vazamentos de óleo. Independente do

tipo de incidente, o fator tempo é crucial para a minimização dos danos causados ao

meio ambiente. Com a crescente popularização dos smartphones, juntamente com os

recursos disponíveis nesses dispositivos, foi possível idealizar uma ferramenta capaz de

auxiliar na contingência desses eventos.

A aplicação proposta é um serviço baseado em localização para dispositivos

móveis com foco no monitoramento e contingência de incidentes relacionados ao meio

ambiente, sendo uma alternativa para que até mesmo pessoas comuns possam relatar os

incidentes que ocorram ao seu redor. Os incidentes registrados pelos usuários do

aplicativo são georreferenciados e podem contar com arquivos multimídia, como fotos.

Uma aplicação servidor é responsável pelo envio e recebimento das informações

armazenadas no banco de dados. O servidor está localizado na FURG – Universidade

Federal do Rio Grande.

Palavras-Chave: Serviço baseado em localização, Smartphone, Tablet, Meio ambiente.

ABSTRACT

Daily we are surrounded by events related to the environment, from small

proportion of incidents, such as trash discarded in inappropriate places, even those of

greater impact, such as wildfire and oil leaks. With the growing popularity of

smartphones it was possible to devise a tool to assist in contingency these events.

The proposed application is a service based on location to mobile devices with a

focus on monitoring and contingency incidents related to the environment and is an

alternative to that even ordinary people can report incidents occurring around them. The

incidents recorded by application users are georeferenced and can rely on multimedia

files such as pictures. An application server is responsible for sending and receiving the

information stored in the database. The server is located in FURG - Federal University

of Rio Grande.

Keywords: Location Based Services, Smartphone, Tablet, Environment.

SUMÁRIO

AGRADECIMENTOS .................................................................................... 3

RESUMO ...................................................................................................... 5

LISTA DE FIGURA ..................................................................................... 11

LISTA DE TABELAS .................................................................................. 13

LISTA DE ABREVIATURAS E SIGLAS ..................................................... 14

1 INTRODUÇÃO ...................................................................................... 15

1.1 Objetivos do trabalho ............................................................................................................ 17

1.2 Metodologia ............................................................................................................................ 17

1.3 Organização do texto ............................................................................................................. 17

2 MEIO AMBIENTE .................................................................................. 18

2.1 Incidentes ambientais ............................................................................................................ 18 2.1.1 As ocorrências ............................................................................................................... 18

2.1.1.1 Vazamento de Petróleo................................................................................................... 18 2.1.1.2 Acidente com produtos químicos ................................................................................... 22 2.1.1.3 Incêndio Florestal ........................................................................................................... 22 2.1.1.4 Desmatamento Ilegal ...................................................................................................... 23 2.1.1.5 Tráfico de Animais ......................................................................................................... 25 2.1.1.6 Pesca Predatória ............................................................................................................. 26

2.2 Órgãos governamentais ........................................................................................................ 26 2.2.1 Reportar incidentes ........................................................................................................ 26

2.2.1.1 IBAMA .......................................................................................................................... 26 2.2.1.2 FEPAM .......................................................................................................................... 27 2.2.1.3 FATMA .......................................................................................................................... 27 2.2.1.4 IAP ................................................................................................................................. 27

2.3 Considerações Finais do Capítulo ........................................................................................ 27

3 TECNOLOGIAS MÓVEIS ..................................................................... 29

3.1 Dispositivos móveis ................................................................................................................ 29 3.1.1 Smartphones .................................................................................................................. 29 3.1.2 Tablets............................................................................................................................ 30

3.2 Sensores .................................................................................................................................. 32 3.2.1 Câmera ........................................................................................................................... 32 3.2.2 Sensores utilizados para localização .............................................................................. 32

3.2.2.1 GPS ................................................................................................................................ 32 3.2.2.2 Rede ............................................................................................................................... 33

3.3 Software e Recursos .............................................................................................................. 33 3.3.1 Web 2.0 .......................................................................................................................... 33 3.3.2 Geotagging ..................................................................................................................... 34 3.3.3 Serviços Baseados em Localização................................................................................ 35

3.3.3.1 Serviços de Informação .................................................................................................. 35 3.3.3.2 Serviços de Emergência ................................................................................................. 36 3.3.3.3 Serviços de Rastreamento .............................................................................................. 36

3.4 Trabalhos Relacionados ........................................................................................................ 37 3.4.1 Urbotip ........................................................................................................................... 37 3.4.2 Colab .............................................................................................................................. 38 3.4.3 De olho na cidade .......................................................................................................... 39

3.5 Tipos de aplicativos ............................................................................................................... 40 3.5.1 Aplicação nativa ............................................................................................................ 40 3.5.2 Aplicação web................................................................................................................ 40 3.5.3 Aplicação hibrida ........................................................................................................... 41

3.5.3.1 Phonegap ........................................................................................................................ 42 3.5.3.2 Appcelerator Titanium ................................................................................................... 43 3.5.3.3 Sencha Touch ................................................................................................................. 43

3.6 Tecnologias para desenvolvimento web ............................................................................... 43 3.6.1 HTML ............................................................................................................................ 43

3.6.1.1 HTML5 .......................................................................................................................... 43 3.6.2 CSS ................................................................................................................................ 44 3.6.3 JavaScript ....................................................................................................................... 44

3.6.3.1 jQuery ............................................................................................................................. 44 3.6.4 DOM .............................................................................................................................. 44

3.7 Serviços de mapas pela Internet ........................................................................................... 45 3.7.1 Google Maps .................................................................................................................. 45 3.7.2 Here Maps ...................................................................................................................... 46 3.7.3 OpenStreetMap .............................................................................................................. 46

3.8 Sistemas Operacionais .......................................................................................................... 47 3.8.1 Android .......................................................................................................................... 48

3.8.1.1 História ........................................................................................................................... 48 3.8.1.2 Versões ........................................................................................................................... 48 3.8.1.3 Requisitos para o desenvolvimento ................................................................................ 49

3.8.2 iOS ................................................................................................................................. 49 3.8.2.1 Versões ........................................................................................................................... 49 3.8.2.2 Requisitos para o desenvolvimento ................................................................................ 50

3.8.3 Windows Phone ............................................................................................................. 50 3.8.3.1 História ........................................................................................................................... 51 3.8.3.2 Versões ........................................................................................................................... 51

3.9 Considerações Finais do Capítulo ........................................................................................ 51

4 ARQUITETURA PROPOSTA ............................................................... 52

4.1 Decisões de projeto ................................................................................................................ 52 4.1.1 Sistema operacional ....................................................................................................... 52 4.1.2 Tipo de aplicação ........................................................................................................... 52 4.1.3 Serviço de mapas ........................................................................................................... 53 4.1.4 Arquitetura cliente-servidor ........................................................................................... 53

4.2 Modelagem do sistema .......................................................................................................... 53 4.2.1 Diagrama de casos de uso .............................................................................................. 53

4.2.1.1 Relatar Incidente ............................................................................................................ 54 4.2.1.2 Visualizar incidentes ...................................................................................................... 55 4.2.1.3 Apoiar Incidente ............................................................................................................. 56 4.2.1.4 Comentar Incidente ........................................................................................................ 57 4.2.1.5 Resolver Incidente .......................................................................................................... 58 4.2.1.6 Editar Dados ................................................................................................................... 59

4.2.2 Diagramas de Sequência ................................................................................................ 59 4.2.2.1 Relatar Incidente ............................................................................................................ 59 4.2.2.2 Visualizar Incidente........................................................................................................ 60 4.2.2.3 Apoiar Incidente ............................................................................................................. 61 4.2.2.4 Comentar Incidente ........................................................................................................ 61 4.2.2.5 Resolver Incidente .......................................................................................................... 62

4.2.3 Modelo entidade-relacionamento ................................................................................... 63 4.2.3.1 Usuário ........................................................................................................................... 63 4.2.3.2 Incidente ......................................................................................................................... 64 4.2.3.3 Mídia .............................................................................................................................. 64 4.2.3.4 Categoria ........................................................................................................................ 64 4.2.3.5 Apoiar ............................................................................................................................. 65 4.2.3.6 Resolver ......................................................................................................................... 65 4.2.3.7 Comentário ..................................................................................................................... 65

4.3 Considerações Finais do Capítulo ........................................................................................ 66

5 DESENVOLVIMENTO ........................................................................... 67

5.1 Comunicação .......................................................................................................................... 67 5.1.1 Protocolo ........................................................................................................................ 67

5.1.1.1 Base64 ............................................................................................................................ 67 5.1.1.2 XML ............................................................................................................................... 67 5.1.1.3 Funcionamento ............................................................................................................... 68 5.1.1.4 Cliente ............................................................................................................................ 68 5.1.1.5 Servidor .......................................................................................................................... 69

5.2 Funcionalidades ..................................................................................................................... 72 5.2.1 Solicitação de incidentes ao servidor ............................................................................. 72 5.2.2 Relatar incidente ............................................................................................................ 72

5.3 Considerações Finais do Capítulo ........................................................................................ 73

6 RESULTADOS ...................................................................................... 74

6.1 Interface ................................................................................................................................. 74 6.1.1 Visualizar incidentes ...................................................................................................... 74

6.1.1.1 Resolver Incidente .......................................................................................................... 75 6.1.1.2 Apoiar Incidente ............................................................................................................. 76 6.1.1.3 Comentar incidente ........................................................................................................ 76

6.1.2 Relatar incidente ............................................................................................................ 77

6.1.3 Meus dados .................................................................................................................... 78

6.2 Comunicação cliente servidor .............................................................................................. 78 6.2.1 Conexões necessárias por ação ...................................................................................... 78

6.2.1.1 Visualizar incidente ........................................................................................................ 78 6.2.1.2 Apoiar incidente ............................................................................................................. 79 6.2.1.3 Resolver incidente .......................................................................................................... 79 6.2.1.4 Comentar incidente ........................................................................................................ 79 6.2.1.5 Reportar incidente .......................................................................................................... 79 6.2.1.6 Meus dados..................................................................................................................... 80

6.3 Considerações Finais do Capítulo ........................................................................................ 80

7 CONCLUSÕES ..................................................................................... 81

7.1 Dificuldades Encontradas ..................................................................................................... 81 7.1.1 Volatilidade da área de dispositivos móveis .................................................................. 81 7.1.2 Rede 3G ......................................................................................................................... 82

7.2 Perspectiva de Continuidade ................................................................................................ 82 7.2.1 Substituição do Socket ................................................................................................... 82

7.2.1.1 WebSocket ..................................................................................................................... 82 7.2.2 Aplicação cliente em outros sistemas operacionais ....................................................... 82 7.2.3 Aperfeiçoamento da aplicação servidor ......................................................................... 82 7.2.4 Adição de filtros e funções administrativas ................................................................... 83

7.3 Publicações Realizadas .......................................................................................................... 83

7.4 Submissões Previstas ............................................................................................................. 83

LISTA DE FIGURA

Figura 1 Produção de petróleo no Brasil em 2012 Fonte: Anuário estatístico 2012 – ANP .................... 19 Figura 2 Produção de petróleo segundo regiões geográficas em 2011 (milhões de barris/dia). Fonte: BP

Statistical Review of World Energy, 2012. ................................................................................................. 20 Figura 3 Consumo mundial de óleo segundo regiões geográficas em 2011 (milhões de barris/dia). Fonte:

BP Statistical Review of World Energy, 2012. ........................................................................................... 20 Figura 4 Intemperização do óleo no mar. Fonte: CETESB, 2007. ............................................................ 21 Figura 5 Números de médios (7-700 ton) a grandes (> 700 ton) derramamentos por década. Fonte:

ITOPF (International Tanker Owners Pollution Federation), 2011. ......................................................... 22 Figura 6 Taxa de desmatamento (em km²) nos Estados da Amazônia entre 1978 e 2002 (INPE, 2003). .. 24 Figura 7 Área total desmatada até o ano de 2001. Cálculo baseado nos dados do PRODES Digital

(INPE, 2003). ............................................................................................................................................. 25 Figura 8 Smartphones lançados entre os anos de 2013 e 2014 (a) Sony Xperia Z1 (b) Samsung Galaxy S5

(c) Apple Iphone 6 ...................................................................................................................................... 29 Figura 9 Tablets lançados entre os anos de 2012 e 2013 (a) Samsung Galaxy 3 (b) Google Nexus 7 (c)

Google Nexus 10 ........................................................................................................................................ 31 Figura 10 Diferença no consumo de energia entre os sensores em um dispositivo Nókia N95: (a)

Consumo do GPS (b) Consumo do WI-FI (c) Consumo do GSM. Fonte: EnLoc: Energy-Efficient

Localization for Mobile Phones ................................................................................................................. 33 Figura 11 Geotagging no Google Maps ..................................................................................................... 34 Figura 12 Aplicativo Posto de Gasolina Fonte: Google Play. ................................................................... 36 Figura 13 Aplicativo S.O.S. Emergências Fonte: Google Play ................................................................. 36 Figura 14 Aplicativo Family Mobile Tracker Fonte: Google Play ............................................................ 37 Figura 15 Urbotip Fonte: Google Play ...................................................................................................... 38 Figura 16 Colab Fonte: Google Play ......................................................................................................... 38 Figura 17 De Olho na Cidade Fonte: Google Play ................................................................................... 39 Figura 18 Estrutura de uma aplicação hibrida .......................................................................................... 42 Figura 19 Estrutura de uma aplicação criada do Phonegap ..................................................................... 42 Figura 20 Hierarquia dos objetos de um arquivo HTML .......................................................................... 45 Figura 21: Google Maps ............................................................................................................................ 46 Figura 22 Here Maps ................................................................................................................................. 46 Figura 23 OpenStreetMap .......................................................................................................................... 47 Figura 24 Mercado de dispositivos móveis por trimestre, a partir de 2011 Fonte: IDC ........................... 47 Figura 25 Mercado de dispositivos móveis, durante o primeiro trimestre de cada ano, em detalhes Fonte:

IDC ............................................................................................................................................................. 48 Figura 26 Arquitetura cliente-servidor Fonte: Wikipédia.......................................................................... 53 Figura 27 Diagrama de casos de uso. ........................................................................................................ 54 Figura 28 Diagrama de Sequência Relatar Incidente ................................................................................ 60 Figura 29 Diagrama de Sequência Visualizar Incidente ........................................................................... 60 Figura 30 Diagrama de Sequência Apoiar Incidente ................................................................................. 61 Figura 31 Diagrama de Sequência Comentar Incidente ............................................................................ 62 Figura 32 Diagrama de Sequência Resolver Incidente .............................................................................. 62 Figura 33 Modelo ER do banco de dados .................................................................................................. 63 Figura 34 Tabela Usuário .......................................................................................................................... 64 Figura 35 Tabela Incidente ........................................................................................................................ 64 Figura 36 Tabela Mídia ............................................................................................................................. 64 Figura 37 Tabela Categoria ....................................................................................................................... 65

Figura 38 Tabela Apoiar ............................................................................................................................ 65 Figura 39 Tabela Resolver ......................................................................................................................... 65 Figura 40 Tabela Comentário .................................................................................................................... 66 Figura 41 Função para a conexão entre o cliente e o servidor ................................................................. 67 Figura 42 Comunicação cliente-servidor ................................................................................................... 68 Figura 43 Realizar Requisição, função javascript que cria o arquivo XML e o envia em base 64 para o

servidor....................................................................................................................................................... 69 Figura 44 Arquivo XML após receber os dados na função Realizar Requisição ....................................... 69 Figura 45 Estrutura que define o protocolo utilizado na troca de informação de incidentes .................... 70 Figura 46 Função de conversão de dados ................................................................................................. 70 Figura 47 Função responsável pela extração de informações do arquivo XML ....................................... 71 Figura 48 Laço para receber as informações extraídas de cada tag do arquivo XML .............................. 71 Figura 49 Retorno com atribuições realizadas na função ......................................................................... 72 Figura 50 Função JavaScript que realiza a requisição de incidentes ....................................................... 72 Figura 51 Função JavaScript para relatar incidentes ............................................................................... 73 Figura 52 Componentes da interface cliente, da esquerda para a direita: Inicial, Explorar Incidentes,

Inserir Incidente, Meus Dados. O botão em verde representa o componente ativo na tela do usuário. .... 74 Figura 53 Interfaces para visualização de incidentes (a) Interface inicial da aplicação (b) Interface

Explorar Mapa ........................................................................................................................................... 75 Figura 54 Interface de resolução de incidente ........................................................................................... 75 Figura 55 Interface Apoiar Incidente ......................................................................................................... 76 Figura 56 Interface de comentários ........................................................................................................... 76 Figura 57 Interface para inserir incidente ................................................................................................. 77 Figura 58 Interface para inserir incidente após a submissão do incidente. (a) Interface de envio de

incidente. (b) Interface de confirmação do envio de incidente. .................................................................. 77 Figura 59 Interface Meus dados, a tela apresenta campos de preenchimento facultativo ao usuário ...... 78

LISTA DE TABELAS

Tabela 1 Configuração dos Smartphones da Figura 8, ordenados da esquerda para a direita. Fonte:

Wikipédia .................................................................................................................................................... 30 Tabela 2 Tablets lançados entre os anos de 2012 e 2013 (Figura 9). Fonte: Wikipédia .......................... 31 Tabela 3 Versões do sistema Android e suas respectivas APIs. Fonte: Wikipédia. ................................... 48 Tabela 4 Versões do sistema operacional iOS. Fonte: Wikipédia. ............................................................. 50 Tabela 5 Versões do sistema operacional Windows Phone. Fonte: Wikipédia. ......................................... 51 Tabela 6 Conexões necessárias ao visualizar incidente ............................................................................. 78 Tabela 7 Conexões necessárias ao apoiar incidente .................................................................................. 79 Tabela 8 Conexões necessárias para resolver incidente ............................................................................ 79 Tabela 9 Conexões necessárias para comentar incidente .......................................................................... 79 Tabela 10 Conexões necessárias para reportar incidentes ........................................................................ 79 Tabela 11 Conexões necessárias para inserir/alterar dados pessoais ....................................................... 80

LISTA DE ABREVIATURAS E SIGLAS

GPS Sistema de Posicionamento Global

SO Sistema Operacional

SBL Serviço Baseado em Localização

SSP Serviço de Sensoriamento Participativo

WPS Sistema de Posicionamento por WI-FI

GSM Sistema Global para Comunicações Móveis

GSMPS Sistema de Posicionamento pelo Sistema Mundial de Comunicação

Móvel

SDK Pacote de Desenvolvimento de Software

ADT Ferramentas de Desenvolvimento para Android

IDE Ambiente Integrado para Desenvolvimento de Software

TCP Protocolo de Controle de Transmissão

WMS Serviço de Mapas para Internet

XML Linguagem de Marcação Extensível

API Interface de Programação de Aplicativos

HTML Linguagem de Marcação de Hipertexto

CSS Folhas de Estilo em Cascata

JS JavaScript

UML Linguagem Unificada de Modelagem

ER Entidade Relacionamento

DOM Modelo de Objeto de Documento

15

1 INTRODUÇÃO

Incidentes ambientais acontecem frequentemente, desde aqueles causados

naturalmente até aqueles relacionados à atividade humana (IBAMA, 2014). A

exploração de petróleo, por exemplo, é uma atividade em constante crescimento,

incentivada pelo aumento mundial do consumo desta substância e de seus derivados.

Tal crescimento incentiva a descoberta e exploração de novos campos petrolíferos,

sendo os mesmos responsáveis pelo aumento da produção e do transporte marítimo,

fator que eleva o risco de incidentes com óleo (MARINHO, 2012).

Em diversos tipos de incidentes ambientais, o tempo é um fator crucial para a

minimização dos impactos ambientais. Em incêndios florestais, o fogo deve ser

rapidamente combatido de modo a diminuir os impactos ambientais dos mesmos. Vale

ressaltar que, grandes incêndios florestais são considerados de grande ameaça para a

conservação da biodiversidade e manutenção de processos ecológicos (BRILHANTE,

2004).

Há também os problemas relacionados ao desmatamento ilegal, o Brasil é um país

com abundante riqueza natural. O País tem o maior bioma de floresta úmida do mundo,

a Amazônia, que contém de longe a maior parcela das florestas úmidas remanescentes.

Seu valor global pode ser visto em sua rica biodiversidade e no possível impacto

climático decorrente de seu desaparecimento. A floresta amazônica enfrenta uma grande

gama de desafios, incluindo dificuldades para controlar desmatamentos e queimadas

(MARGULIS, 2003). Um dos principais fatores que impulsionam o desmatamento

ilegal na Amazônia é a ineficiência da fiscalização da região, dada a sua vastidão

geográfica aliada à histórica falta de recursos e indivíduos capacitados nos órgãos

federais e estaduais (MOUTINHO, 2009).

Ainda relacionado à vastidão geográfica, a Amazônia não é a única região que sofre

com a falta de fiscalização. A costa brasileira conta com aproximadamente 8.500 km de

litoral, toda essa área representa uma região complexa, onde múltiplas atividades

econômicas são desenvolvidas (JUNIOR, 2006). Ao analisar as informações

relacionadas às emergências atendidas pela CETESB (Companhia de Tecnologia e

Saneamento Ambiental), órgão ambiental estadual de São Paulo, é possível notar que há

o registro de diversos incidentes ambientais relacionados ao descarte de substâncias

oleosas em águas marinhas, tais descartes podem ser provenientes das mais diversas

fontes, tanto terrestres, quanto de embarcações e na maioria das vezes, a identificação

do responsável é uma tarefa de difícil conclusão. No caso das ocorrências registradas

pela CETESB, os números não correspondem à realidade. Visto que, segundo o próprio

órgão, o número de casos deve ser maior do que o número de ocorrências em que a

CETESB foi acionada (CETESB, 2014).

16

Dado o cenário atual, é possível assumir que a falta de fiscalização é um fato, assim

como a importância da velocidade no combate a incidentes ambientais, de modo a

mitigar os danos relacionados a esses incidentes. Sendo assim, o aumento na

fiscalização poderia contribuir de forma extraordinária a preservação do meio ambiente.

Dado que, mesmo em proporções insuficientes, melhoras na fiscalização contribuíram

para a contenção do avanço da degradação florestal na Amazônia (MOUTINHO, 2009),

por exemplo.

Também, percebemos que embora a fiscalização realizada por órgãos

governamentais seja uma ação benéfica ao meio ambiente, ela acaba gerando grandes

custos a essas organizações. Porém, o meio ambiente é um bem de todos os cidadãos,

nas palavras de Ronaldo Maia Kauffmann (1991, p.246): ―Nos últimos anos, o mundo

inteiro tem voltado suas atenções para os problemas ecológicos, o meio ambiente, os

recursos naturais; enfim, tudo aquilo que se relaciona com a proteção da vida em todas

as suas formas existentes no planeta.".

Sendo assim, é possível a elaboração de um serviço de sensoriamento participativo

com o objetivo de auxiliar a fiscalização ambiental. Esse serviço poderá ser utilizado

por todo e qualquer cidadão que tenha um smartphone ou tablet, proporcionando um

grande volume de usuários espalhados por todo o país a baixo custo, uma vez que os

usuários contribuem voluntariamente com o seu esforço e tempo.

O smartphone tornou-se o dispositivo computacional pessoal mais amplamente

adotado e onipresente (KRUMM, 2009). De acordo com os dados da IDC, o Brasil

terminou 2013 como o quarto maior consumidor de smartphones, com um pouco mais

de 35 milhões de unidades vendidas, ficando atrás apenas de China, Estados Unidos e

Índia, respectivamente, fato que comprova a grande aceitação dessa tecnologia por parte

dos brasileiros.

O público dessa rede contará com diferentes níveis de entendimento a respeito do

meio ambiente, pois a mesma poderá ser utilizada tanto por peritos ou técnicos, quanto

por ambientalistas amadores, ou seja, pessoas interessadas em cuidar do meio ambiente.

A socialização entre os usuários do serviço será possível devido ao perfil social da

ferramenta, o que tornará a rede mais efetiva. Visto que, usuários com maior

conhecimento técnico poderão conversar com os usuários de menor conhecimento, o

diálogo entre os usuários poderá ser realizado através de conversas particulares e

também em grupos. Com a disponibilidade de recursos sociais, a rede fornece um

ambiente não formal de aprendizagem propício para a educação ambiental, no qual os

usuários poderão ensinar e aprender sobre o meio ambiente (JACOBI, 2003).

Os dispositivos móveis atuais contam com os mais diversos tipos de sensores, como

GPS, acelerômetro, microfone, câmera e giroscópio, tais sensores possibilitam a criação

dos mais diversos tipos de SBLs (Serviços Baseados em Localização) e a aplicação fará

uso de alguns deles. Atualmente estão disponíveis vários exemplos de SBLs já

implementados e utilizados através de smartphones e tablets, como o Waze, para relatar

e visualizar informações referentes às condições de tráfego em tempo real. O

Foursquare, serviço no qual os usuários compartilham sua localização. Além do

Instagram, onde os usuários podem enviar imagens em tempo real (SILVA, 2013).

17

1.1 Objetivos do trabalho

O objetivo geral deste trabalho é fornecer para a população um serviço baseado em

localização para a fiscalização e monitoramento de incidentes ambientais através de

dispositivos móveis. Contribuindo para a redução do tempo de resposta a incidentes

ambientais relacionados à exploração e o descarte de petróleo e seus derivados oleosos,

além de incêndios florestais, desmatamento ilegal e outros tipos de incidentes

ambientais, contribuindo assim para minimização dos impactos ambientais causados por

essas ocorrências.

1.2 Metodologia

Para atingir o seu objetivo, este trabalho prevê a construção de um serviço baseado

em localização capaz de interligar pessoas com informações produzidas a partir de

dispositivos portáteis conectados a internet (smartphones e tablets com acesso à web,

câmera e GPS) usando como meio primário uma ferramenta de mapas online. O acesso

às informações exibidas na aplicação móvel será disponibilizado por uma aplicação em

constante execução no servidor. As informações poderão ser visualizadas por qualquer

cidadão, instituição e órgão governamental.

Todos os incidentes reportados no aplicativo conterão informações de

geolocalização. Essas informações poderão ser geradas pelo GPS e sensores de rede do

aparelho e visualizadas através do serviço de mapas online da Google, o Google Maps.

A aplicação cliente foi desenvolvida com o framework Phonegap e, inicialmente, será

disponibilizada somente para dispositivos que utilizam o sistema operacional Android.

A aplicação servidor foi desenvolvida em C e está hospedada em um servidor na

Universidade Federal do Rio Grande – FURG.

O dispositivo móvel se conecta ao servidor utilizando socket. Ambos se comunicam

através de um protocolo de comunicação baseado em XML e Base64.

1.3 Organização do texto

Neste capítulo, foi abordado o foco do projeto, contribuir com a fiscalização e o

monitoramento de incidentes ambientais por observadores casuais que possuam o

aplicativo instalado em seu dispositivo pessoal, contribuindo assim com a diminuição

no tempo de resposta a estes incidentes.

No capítulo 2 encontram-se listados diversos tipos de incidentes ambientais, assim

como os meios atuais utilizados por órgãos governamentais para que os cidadãos

reportem esses incidentes.

Neste trabalho serão empregadas tecnologias atuais para a web e plataformas

móveis: web 2.0, redes sociais, plataformas móveis e nuvem computacional, essas e

outras tecnologias envolvidas serão apresentadas no capítulo 3.

O capítulo 4 contém a arquitetura da aplicação.

O capítulo 5 aborda o desenvolvimento do projeto, como ele está estruturado, as

classes e seus relacionamentos, assim como suas principais funcionalidades.

O capítulo 6 exibe os principais casos de uso do projeto, assim como os resultados

obtidos. Por fim, o capítulo 7 contém as conclusões.

18

2 MEIO AMBIENTE

De acordo com a resolução CONAMA 306:2002: ―Meio Ambiente é o conjunto de

condições, leis, influencia e interações de ordem física, química, biológica, social,

cultural e urbanística, que permite, abriga e rege a vida em todas as suas formas‖.

Encontra-se na ISO 14001:2004 a seguinte definição sobre meio ambiente:

―circunvizinhança em que uma organização opera, incluindo-se ar, água, solo, recursos

naturais, flora fauna, seres humanos e suas inter-relações.‖.

A partir disso, é possível afirmar que o meio ambiente envolve todas as coisas vivas

e não vivas que ocorrem na Terra, ou em alguma região dela, que afetam os

ecossistemas e os seres humanos.

2.1 Incidentes ambientais

Segundo o IBAMA, define-se um incidente como uma Emergência ambiental ou um

Acidente ambiental.

Emergência ambiental é uma ameaça súbita ao bem estar do meio ambiente

ou à saúde pública devido à liberação de alguma substância nociva ou

perigosa ou, ainda, devido a um desastre natural (IBAMA, 2014).

Acidente ambiental é um acontecimento inesperado e indesejado que pode

causar, direta ou indiretamente, danos ao meio ambiente e à saúde. Esses

acontecimentos perturbam o equilíbrio da natureza e, normalmente, estão

associados também a prejuízos econômicos. Os acidentes podem ser

causados pela própria natureza, como é o caso dos vulcões, raios, ciclones,

etc. Porém, na maioria das vezes, são causados pelo próprio homem. São os

acidentes "tecnológicos" (IBAMA, 2014).

2.1.1 As ocorrências

Incidentes relacionados ao meio ambiente podem ocorrer das mais diversas formas e

gerar danos em diversos setores da fauna e flora de uma região, derramamentos ou

vazamentos de produtos nocivos, incêndios, explosões e colisões são somente alguns

exemplos de eventos que podem vir a ocorrer e que podem ser relatados através do

projeto que está sendo proposto.

2.1.1.1 Vazamento de Petróleo

A descoberta e exploração de novos campos petrolíferos é uma atividade em

crescimento no Brasil, ela está ligada ao aumento do consumo de petróleo no mundo, e

é responsável também pelo aumento da produção e do transporte marítimo, principal

19

meio de extração de petróleo no Brasil (Figura 1), fator que eleva o risco de incidentes

com óleo (MARINHO, 2012).

O petróleo é um tipo de combustível fóssil de origem animal e vegetal formado há

milhões de anos em rochas sedimentares. É uma substância líquida oleosa de coloração

escura encontrada em muitos lugares no mundo e utilizada como matéria-prima para os

mais diversos produtos que utilizamos no nosso dia-a-dia, como a gasolina, o diesel, os

plásticos, a borracha e diversos compostos químicos (MARINHO, 2012).

A extração do petróleo nos oceanos é feita através de máquinas montadas em

plataformas fixas ou móveis, que bombeiam o petróleo para o navio ou oleodutos e é a

metodologia de extração mais utilizada no Brasil (JUNIOR, 2006).

Figura 1 Produção de petróleo no Brasil em 2012 Fonte: Anuário estatístico 2012 – ANP

É possível observar na Figura 2, que as maiores fontes de produção de petróleo estão

concentradas no Oriente Médio, com valores estimados em 27,7 milhões de barris por

dia. Sendo a Arábia Saudita, a maior produtora, com média de 11,2 milhões de barris

por dia.

Sabendo que a localização dos campos petrolíferos não é, necessariamente, próxima

das áreas de maior consumo (Figura 3), torna-se necessário o transporte dessa produção

através de embarcações, caminhões ou tubulações (oleodutos e gasodutos). Esses

equipamentos estão passíveis de causar os mais diversos tipos de derramamento de

petróleo, causando danos enormes ao meio ambiente (MARINHO, 2012).

20

Figura 2 Produção de petróleo segundo regiões geográficas em 2011 (milhões de barris/dia). Fonte: BP Statistical Review of World Energy, 2012.

Figura 3 Consumo mundial de óleo segundo regiões geográficas em 2011 (milhões de barris/dia). Fonte: BP Statistical Review of World Energy, 2012.

Esses derramamentos acontecem em razão de falhas estruturais dos equipamentos,

falhas humanas na execução e também pela pressão exercida no fundo do oceano que

pode causar fissuras ou falhas no assoalho, escapando gás ou óleo. Em um desastre

ambiental desse tipo são lançadas no mar quantidades enormes do produto, formando

manchas que são espalhadas pelas correntes marítimas e pelas correntes de ar. Ao ter

contato com a água a mancha de óleo passa por múltiplos processos naturais (Figura 2),

denominada de intemperismo, o qual é influenciado pelas características físicas e

químicas do produto vazado, assim como pela irradiação solar, pelas variações na

temperatura do ambiente e da água, pela chegada de frentes frias, pela força dos ventos

e por fim, pelo impacto das ondas e correntezas (CETESB, 2007; MARINHO 2012).

21

Figura 4 Intemperização do óleo no mar. Fonte: CETESB, 2007.

A poluição causada pelo petróleo é muito tóxica para os animais marinhos e para as

aves migratórias, além de prejudicar indiretamente a população que vive no litoral das

áreas atingidas, o derramamento de petróleo ou de seus derivados em regiões costeiras

pode originar efeitos crônicos ao longo de anos (MARTINHO, 2010). Porém, a grande

maioria dos vazamentos ocorre em alto mar, distantes da zona costeira, sem impactar a

fauna e trazer prejuízos à pesca e ao turismo (MARINHO 2012).

Dentre os piores vazamentos que ocorreram nas últimas décadas podemos citar:

2000 - Acidente na Baía de Guanabara, RJ. Derramamento de 1,3 milhões de

litros de óleo cru. Causou grandes danos aos manguezais, praias e à

população de pescadores.

2002 - Naufrágio do navio Prestige, das Bahamas. Afundou na costa oeste da

Galícia deixando vazar 40.000 ton de óleo pesado. A poluição afetou a costa

da Espanha, Portugal e França (COMISSION OF THE EUROPEAN

COMMUNITIES, 2003).

2010 - Golfo do México. Uma explosão na plataforma da British Petroleum

Deepwater Horizon rompeu tubulações deixando escapar uma quantidade

estimada entre 3 e 4 milhões de barris de petróleo.

Apesar do grande número de vazamentos houve, a partir dos anos 70, um

significativo decréscimo nos acidentes (Figura 5), isso foi possível devido à inserção de

políticas mais rigorosas e maiores cuidados por parte de algumas empresas (ITOPF,

2011).

22

Figura 5 Números de médios (7-700 ton) a grandes (> 700 ton) derramamentos por década. Fonte: ITOPF (International Tanker Owners Pollution Federation), 2011.

2.1.1.2 Acidente com produtos químicos

Os acidentes envolvendo substâncias perigosas nas atividades de transporte,

armazenamento e produção industrial de produtos químicos constituem um sério risco à

saúde e ao meio ambiente. Os acidentes envolvendo produtos químicos perigosos

devem ser atendidos por pessoal técnico qualificado e com uso de equipamentos

apropriados para este fim (FREITAS, 1995).

As primeiras horas de atuação são de extrema importância para evitar sua extensão e

severidade. Em decorrência disso, a agilidade na comunicação de sua ocorrência aos

órgãos competentes é essencial (MMA, 2014).

Consideram-se substâncias químicas perigosas àquelas que, isoladas ou em mistura,

possam acarretar efeitos prejudiciais aos organismos biológicos, devido suas

propriedades tóxicas, corrosivas, oxidantes e radioativas. Tais produtos podem ser

encontrados em estado sólido, líquido ou gasoso (FERREIRA, 2003).

Acidentes com produtos químicos tem grande ocorrência em atividades de produção

e também no transporte (FREITAS, 1995). Sendo que, esses podem ter consequências

catastróficas, sobretudo diante da proximidade de cidades. Além das perdas humanas de

valor social incalculável, os custos decorrentes da contaminação ambiental atingem

cifras muito elevadas (FERREIRA, 2003).

2.1.1.3 Incêndio Florestal

Incêndio florestal é considerado todo o fogo sem controle que incide sobre qualquer

forma de vegetação e pode ser causado pelo homem ou por causas naturais.

Há grandes perdas ocasionadas pelo fogo anualmente no mundo. Os incêndios

voluntários ou não, ocasionam grandes gastos tanto em recursos como em vidas

humanas, e semeiam a destruição de lugares naturais que demoram muito tempo em

regenerar-se.

A maioria dos países destinam enormes quantias de dinheiro para se proteger do

fogo em zonas especialmente sensíveis a ele, como as florestas. Para isso, há

23

investimentos em hidroaviões, helicópteros, barreiras para conter incêndios e brigadas

especializadas de bombeiros.

Um incêndio florestal pode ser causado de diversas maneiras. Na sua grande maioria

são de origem humana, tanto acidentais (queimadas, queima de lixos, lançamento de

foguetes, cigarros mal apagados, linhas elétricas), quanto intencionais. Os incêndios de

causas naturais pertencem a uma pequena percentagem do número total de ocorrências.

Um incêndio pode propagar-se pela superfície do terreno, pelas copas das árvores e

através da manta morta e em grandes proporções podem ser vistos a vários quilômetros,

devido aos seus fumos negros e densos.

Florestas tropicais são enormes armazéns de carbono, ao sofrer com os incêndios

florestais, tais florestas emitem quantidades significativas de carbono no ar, agravando o

aquecimento global (MOUTINHO, 2009).

Os impactos ambientais causados pelos incêndios florestais vão além da emissão de

carbono na atmosfera. Isso porque incêndios florestais aumentam a susceptibilidade da

floresta a futuros incêndios. Pois fogo provoca fogo. Ao sofrer com a queima, até 40%

das árvores adultas podem morrer. Esta mortalidade aumenta de maneira relativamente

alta se um segundo incêndio ocorrer. (MOUTINHO, 2009).

2.1.1.4 Desmatamento Ilegal

O Desmatamento é o processo de desaparecimento completo e permanente de

florestas, atualmente causado em sua maior parte pela atividade humana. Embora o

conceito se aplique em senso estrito à perda de florestas, regiões densamente cobertas

por árvores, muitas vezes ele é aplicado para perdas em outras regiões com cobertura

vegetal naturalmente esparsa, arbustiva ou rasteira, como as savanas, as pradarias e o

cerrado (WILLIAMS, 2000).

Diferente de degradação florestal, o desmatamento é uma perda quantitativa de

superfície florestada, já a degradação ambiental é uma perda qualitativa em

biodiversidade, estrutura ou função de uma floresta (JEAN-PAUL, 2003).

Também é importante diferenciar o ―desmatamento legal‖, realizado de forma

produtiva, seguindo a legislação vigente e com finalidades apropriadas para as

condições locais, daquele ―desmatamento ilegal‖, que além de não respeitar as leis

ambientais, é utilizado para finalidades apenas especulativas ou para finalidades

inapropriadas para as condições locais. O ordenamento da fronteira deve ter como

principal objetivo a eliminação do desmatamento ilegal e inapropriado do ponto de vista

socioambiental e econômico (ALENCAR, 2004).

A floresta amazônica brasileira permaneceu completamente intacta até o início da

era ―moderna‖ do desmatamento, com a inauguração da rodovia Transamazônica, em

1970. Os índices de desmatamento na Amazônia vêm aumentando desde 1991 com o

processo de desmatamento num ritmo variável, mas rápido (FEARNSIDE, 2005).

As três atividades responsáveis pelo desmatamento na Amazônia são: pecuária,

agricultura familiar e, recentemente, a agricultura mecanizada. A conversão da floresta

em pastagens tem sido a principal causa do desmatamento e uma das principais formas

de ―desmatamento ilegal‖, especialmente quando utilizado de forma especulativa. A

criação extensiva de gado, especialmente em grandes propriedades, tem experimentado

um contínuo incremento ao longo da última década e é responsável por

aproximadamente 75% das florestas desmatadas na região. Entre 1990 e 2001, o

24

rebanho bovino da Amazônia Legal praticamente duplicou, passando de 26 milhões

para 52 milhões de cabeças, a uma taxa de crescimento média de 6% ao ano

(FEARNSIDE, 2005).

Os impactos do desmatamento incluem a perda de biodiversidade, a redução da

ciclagem da água (e da precipitação) e também contribuições para o aquecimento

global. As estratégias para desacelerar o desmatamento incluem a repressão através de

procedimentos de licenciamento, monitoramento e multas (ALENCAR, 2004).

Figura 6 Taxa de desmatamento (em km²) nos Estados da Amazônia entre 1978 e 2002 (INPE, 2003).

Segundo os dados do INPE (2003), Mato Grosso e Pará foram os Estados campeões

do desmatamento na Amazônia Legal (Figura 6). Ambos foram responsáveis por 71%

das florestas derrubadas entre 1998 e 2003 (Figura 7, INPE, 2003). Mato Grosso, no

entanto, tem ocupado de forma isolada o primeiro posto.

25

Figura 7 Área total desmatada até o ano de 2001. Cálculo baseado nos dados do PRODES Digital (INPE, 2003).

Entre 1998 e 2003, foram derrubados, em média, 6.500km² de floresta mato-

grossense por ano, o equivalente a 40% do desmatamento total na região. Entre 2001 e

2002, a área desmatada subiu para, aproximadamente, 9.000 km², um crescimento de

37% em relação à média anterior (ALENCAR, 2004).

2.1.1.5 Tráfico de Animais

Estimava-se que perto de cinquenta milhões de animais vivam confinados em jaulas

e gaiolas no Brasil, muitos deles provenientes de capturas ilegais (TANGERINO,

2006). O tráfico de animais é um conjunto de ações que, cada uma, por si só, constitui

crime. Matar, perseguir, caçar, apanhar, utilizar espécimes da fauna silvestre, nativos ou

em rota migratória, sem a devida permissão, licença ou autorização da autoridade

competente.

O comércio ilegal de animais, ao lado das práticas da agropecuária, extrativismo e

urbanização, da introdução de espécies exóticas, da reintegração das espécies, da

poluição, da pesca e caça excessiva é uma das principais causas de extermínio de

espécimes e espécies da fauna silvestre (TANGERINO, 2006).

Normalmente a expressão ―tráfico de animais‖ está vinculada ao transporte de

animais ou a sua manutenção em cativeiro, ambas sendo atividades ilegais. Isso por que

essas espécies não tem origem legal ou o seu transporte não está autorizado.

A Rede Nacional de Combate ao Tráfico de Animais Silvestres identificou

parcialmente os lugares de captura no território brasileiro. A rede começa a se formar a

partir desses lugares (ou nas redondezas) onde residem desempregados, lavradores,

pescadores que se ligam aos caminhoneiros e motoristas de ônibus que transitam entre

estas áreas rurais e centros urbanos médios e grandes. Geralmente, os caçadores vendem

os animais capturados para aumentar a renda familiar (TANGERINO, 2006).

26

2.1.1.6 Pesca Predatória

Pesca predatória é aquela que retira do meio ambiente, mais do que ele consegue

repor, diminuindo a população de peixes e mesmo de plantas do ecossistema. A pesca

predatória tem consequências desastrosas, podendo limitar a produtividade pesqueira,

quer seja do ponto de vista biológico, quer econômico.

A pesca é caracterizada como ilegal quando praticada em regiões previamente

marcadas com restrição de um órgão competente. Também pode ser considerada ilegal

se for feita com o uso de explosivos ou substâncias que, em contato com a água,

produzam efeito semelhante a substâncias tóxicas, ou outro meio proibido pela

autoridade competente.

Em um contexto global, devido à pesca predatória, um grande número de espécies

tem sido incluído na lista vermelha das espécies ameaçadas da IUCN, União Mundial

para a Natureza. Os estudos realizados no Brasil serviram de base para a inclusão nessa

lista de espécies ameaçadas em águas brasileiras.

A maior problemática nacional consiste na sobrepesca (captura em quantidades

acima das quotas acordadas internacionalmente para garantir a manutenção dos

estoques de peixes ou a sustentabilidade da pesca comercial) (AMARAL, 2005).

2.2 Órgãos governamentais

Para esse projeto, foram pesquisadas as formas de reportar incidentes utilizadas

pelos principais órgãos governamentais relacionados ao meio ambiente. Para isso, foi

necessário acessar o site do Ministério do Meio Ambiente em busca dos órgãos

licenciadores.

Os órgãos estão categorizados em dois tipos, federais e estaduais. Na esfera federal

o IBAMA é o único órgão licenciador, já na esfera estadual existe ao menos um órgão

por estado.

2.2.1 Reportar incidentes

Todos os órgãos governamentais pesquisados contam com algum meio de

comunicação para que os cidadãos possam reportar incidentes relacionados ao meio

ambiente. Grande parte deles disponibilizam números telefônicos, outros oferecem

também um formulário online, no qual o indivíduo que deseja reportar um incidente

deverá preencher alguns campos com suas informações pessoais e outros com

informações relacionados ao incidente. Nessa seção serão expostos os métodos de

denúncia disponibilizados pelos órgãos licenciadores que atuam na região sul do país,

ou seja, nos estados do Rio Grande do Sul, Santa Catarina e Paraná.

2.2.1.1 IBAMA

Para efetuar uma denúncia no site do IBAMA, o denunciante deverá apresentar

dados claros e precisos sobre a denúncia a ser formulada. Visto que, segundo o IBAMA,

a insuficiência de dados, na maioria das vezes, impossibilita ou retarda o atendimento

da denúncia. Os dados pessoais do informante são mantidos em sigilo, por motivos de

segurança. O IBAMA solicita também que seja informado com clareza o tipo de evento

que está sendo submetido, assim como, dados de localização do incidente. Sendo assim,

caso o incidente tenha ocorrido em área urbana, deverão constar dados como: estado,

município, bairro, rua. Caso o incidente tenha se originado em área rural, informações

27

como: nome da estrada, quilômetro e direção (exemplo: saindo de Rio Grande em

direção a Pelotas) são de extrema importância.

É possível também entrar em contato com o IBAMA através da Linha Verde, central

de atendimento na qual as atendentes poderão esclarecer informações e registrar a

denúncia.

2.2.1.2 FEPAM

A FEPAM é um órgão do estado do Rio Grande do Sul que tem a atribuição de

atender emergências com danos ambientais em todo o estado. A FEPAM disponibiliza

uma linha telefônica exclusiva para a denúncia de emergências ambientais e solicita

que, ao efetuar uma denúncia, o cidadão especifique informações como: nome, detalhes

do acidente, condições locais (Área atingida, cursos d’água próximos, riscos à captação

d’água etc.), condições de tempo no local e outros detalhes relativos a cada tipo de

incidente.

2.2.1.3 FATMA

A FATMA é o órgão ambiental que atua no estado de Santa Catarina, com sua sede

localizada em Florianópolis. A FATMA tem como principal missão garantir a

preservação dos recursos naturais do estado. Para denunciar crimes e incidentes

ambientais o órgão conta com uma linha telefônica gratuita. Caso a indivíduo queira

reportar o evento através da internet, a FATMA utiliza a ouvidoria geral do estado de

Santa Catarina, a qual oferece a opção de anonimato ao denunciante e solicita que seja

fornecido o máximo de informações para que o fato seja investigado.

2.2.1.4 IAP

Responsável por proteger, preservar, conservar e recuperar o patrimônio ambiental,

o IAP é o órgão ambiental do estado do Paraná. Para possibilitar o envio de denuncias,

o órgão disponibiliza um formulário online, que solicita ao denunciante as informações

relevantes para possibilitar a verificação do incidente, caso o denunciante opte pelo

anonimato, a denúncia somente será averiguada se forem encaminhados dados que

possibilitem a sua verificação, como nome e sobrenome do denunciado, assim como

informações de localização do evento.

2.3 Considerações Finais do Capítulo

Neste capítulo foram abordados tipos de incidentes ambientais que influenciam todo

o ecossistema a sua volta. Também foram apresentados alguns órgãos ambientais que

atuam na região sul e os seus principais meios de contato com a população. Esses meios

podem ser utilizados para o reporte de incidentes ambientais.

A forma de reporte utilizada pelos órgãos ambientais se mostra pouco efetiva. Visto

que, sem a exatidão de um GPS, o usuário deverá informar os dados relativos à

localização do incidente através de referencias, dificultando a ação dos órgãos

responsáveis.

A aplicação proposta pode contribuir no reporte de incidentes ambientais, como os

listados neste capítulo. Manchas órfãs podem ser encontradas em cidades litorâneas, que

contenham lagos ou lagoas. Um vazamento de óleo pode ocorrer próximo à costa,

prejudicando a vida marinha do local. Ainda relacionado a vazamento de óleo, há

28

também a possibilidade de encontrar, nas proximidades da costa, animais debilitados

devido ao contato com petróleo, ou seus derivados. Acidentes com produtos químicos

podem ocorrer m diversos locais, estradas, estabelecimentos comerciais e indústrias. O

comércio ilegal de animais é considerado crime, segundo a legislação do Brasil. A partir

disso, é de extrema importância o reporte de qualquer tipo de tráfico de animais. Esse

tipo de incidente pode ocorrer no perímetro urbano e deve ser combatido. A pesca

predatória, assim como o tráfico de animais, é considerada crime, segundo a legislação

vigente no país. Esse tipo de ocorrência é oriundo de áreas costeiras, como praias e

lagunas. Princípios de um incêndio florestal podem ser avistados a longas distâncias, o

rápido reporte desse tipo de incidente pode contribuir bastante na tomada de decisão das

autoridades responsáveis. Por fim, o desmatamento ilegal, cujo maior número de

ocorrências acontece nas áreas cobertas pela floresta amazônica, também pode ser

reportado pelo aplicativo. A derrubada das árvores para beneficiar obras urbanas,

construir pastos e fazer enormes plantações, produção de carvão vegetal e as constantes

queimadas são fatores que ocorrem em todo território nacional.

29

3 TECNOLOGIAS MÓVEIS

3.1 Dispositivos móveis

A popularização dos dispositivos móveis como smartphones e tablets foi

consideravelmente influenciada pela possibilidade da criação de novas aplicações nas

mais diversas áreas, assim como pelo aumento da capacidade desses aparelhos, tanto em

melhoras computacionais, quanto em sensores e comunicação (KAUR, 2014).

3.1.1 Smartphones

Smartphone é um celular com funcionalidades avançadas que podem ser estendidas

por meio de programas executados por seu sistema operacional. Os sistemas

operacionais dos smartphones permitem que desenvolvedores criem milhares de

programas adicionais, com diversas utilidades, tais programas adicionais são chamadas

de aplicativos e podem ser encontrados em diversos sites especializados. Desta forma,

os usuários têm liberdade para instalar e utilizar aplicações que suprem suas

necessidades e interesses (VERKASALO, 2009).

Figura 8 Smartphones lançados entre os anos de 2013 e 2014 (a) Sony Xperia Z1 (b) Samsung Galaxy S5 (c) Apple Iphone 6

A Tabela 1 apresenta as características de alguns smartphones mais capazes

lançados entre 2013 e 2014, apontando as características mínimas do hardware e

software. Sendo as principais a capacidade de conexão com redes de dados para acesso

30

à internet sem fio, tela sensível ao toque, câmeras digitais compactas, GPS, entre outros

recursos (TOLEDO, 2012).

Tabela 1 Configuração dos Smartphones da Figura 8, ordenados da esquerda para a direita. Fonte: Wikipédia

Sony Xperia Z1 Samsung Galaxy S5 Apple Iphone 6

Data de lançamento

15 de Setembro de 2013 11 de Abril de 2014 19 de Setembro de 2014

Memória RAM 2 GB 2 GB 1 GB

Armazenamento Interno

16 GB (32 GB para o L39t, SOL23, SO-01F e variantes

do Z1)

16 GB, 32 GB 16 GB, 64 GB ou 128 GB

Armazenamento removível

Até 64 GB Até 128 GB -

CPU 2.2 GHz quad-core Krait (2.2 GHz Qualcomm

MSM8974 Quad Core)

1.9 GHz quad-core Cortex-A15 and 1.3 GHz

quad-core Cortex-A7

1.4 GHz dual-core ARMv8-A

SOC Qualcomm Snapdragon MSM8974 800

Samsung Exynos 5 Octa 5422

LTE: Qualcomm Snapdragon 801

LTE-A: Qualcomm Snapdragon 805

Apple A8

Tamanho da tela

5 polegadas (1920x1080 px)

5.1 polegadas (1920x1080 px)

4.7 polegadas (1334x750 px)

Câmera frontal 2 MP (filma em1080p) 2.1 MP (filma em1080p) 1.2-MP (filma em 7

Câmera de trás 20.7 MP com sensor de luz e flash

16 MP (5312×2988 px)

8 MP com estabilizador digital e flash

Sistema operacional

Android 4.2.2 Jelly Bean (inicial)

Android 4.4.4 KitKat (atual)

Android 4.4.2 KitKat iOS 8

3.1.2 Tablets

É um dispositivo pessoal em formato de prancheta (Figura 9) que pode ser usado

para acesso à internet, organização pessoal, visualização de fotos, vídeos, leitura de

livros, jornais e revistas e para entretenimento com jogos. Apresenta uma tela sensível

ao toque que é o dispositivo de entrada principal.

31

Figura 9 Tablets lançados entre os anos de 2012 e 2013 (a) Samsung Galaxy 3 (b) Google Nexus 7 (c) Google Nexus 10

Pode ser utilizada a ponta dos dedos ou uma caneta para acionar suas

funcionalidades. Um tablet é alimentado por bateria, de modo a ser um dispositivo

prático e de fácil transporte (WIKIPEDIA, 2014).

O hardware dos tablets (Tabela 2) atuais tem características muito semelhantes às

encontradas nos smartphones (Tabela 1).

Tabela 2 Tablets lançados entre os anos de 2012 e 2013 (Figura 9). Fonte: Wikipédia

Samsung Galaxy Tab 3 Google Nexus 7 Google Nexus 10

Data de lançamento 7 de Julho de 2013 26 de Julho de 2013

13 de Novembro de 2012

Memória RAM 1.5 GB 2 GB 2 GB

Armazenamento Interno

8 GB, 16 GB, 32 GB 16 GB, 32 GB 16 GB, 32 GB

CPU 1.2GHz quad-core Nvidia Tegra 3

1.5GHz quad-core Qualcomm

Snapdragon S4 Pro

1.4GHz dual-core Apple A6X

GPU Mali T400MP4 (quad-core)

ULP GeFOrce (12-core)

Mali-T604 (quad-core)

Sistema Operacional Android 4.2.2 Android 4.3 Android 4.2.2

32

3.2 Sensores

Os smartphones e tablets atuais contam com os mais diversos tipos de sensores. Tais

sensores adicionam incontáveis possibilidades a esses dispositivos. Novos sensores são

constantemente adicionados a dispositivos mais recentes. Porém, é possível identificar

alguns sensores convencionais, como câmera e GPS.

3.2.1 Câmera

A maioria dos dispositivos móveis é embarcada com câmeras mais simples do que

as câmeras digitais convencionais. Suas lentes de foco fixo e sensores menores limitam

o seu desempenho em condições de iluminação fraca. Na falta de um obturador físico, a

maioria tem um longo atraso do obturador. Flash, quando presente, é geralmente fraco.

O primeiro telefone com câmera foi vendido em 2000 no Japão, um modelo J-

Phone, cerca de uma década após a primeira câmera digital ter sido vendida, também no

Japão, em dezembro de 1989.

As principais vantagens dos dispositivos móveis com câmera são de custo e tamanho

compacto; smartphones e tablets com câmera podem executar aplicativos móveis para

adicionar recursos como geotagging.

3.2.2 Sensores utilizados para localização

Muito utilizados para serviços baseados em localização, os sensores que

possibilitam as aplicações de obterem a localização do usuário utilizam métodos

diferentes para a obtenção dessa informação, assim como consomem quantidades de

energia diferentes (OSHIN, 2012).

3.2.2.1 GPS

O sistema de posicionamento global é um sistema de navegação por satélite que

fornece a um aparelho receptor móvel a sua posição, assim como informação horária,

sob todas as condições atmosféricas, a qualquer momento e em qualquer lugar na Terra,

desde que o receptor se encontre no campo de visão de quatro satélites GPS

(BERNARDI, 2002).

Os satélites orbitam o planeta em uma órbita geoestacionária, a 20.2 km de altitude,

formando uma constelação de satélites, projetada de maneira que pelo menos 4 deles

sejam visíveis a partir de qualquer ponto do planeta. Inicialmente a rede contava com 24

satélites, mas novos satélites entram em orbita com o passar do tempo, em Setembro de

2008 já havia 32 satélites em orbita.

Os satélites transmitem um sinal de alta frequência, contendo pacotes de informação

com indicações precisas da hora em que cada um foi transmitido. Os receptores em terra

captam o sinal e usam um sistema de trilateração para calcular a posição, comparando a

diferença de tempo entre a transmissão e a recepção de cada pacote, calculando assim a

distância de cada satélite. Conforme você se desloca, a distância em relação aos satélites

muda, gerando uma pequena diferença no tempo do percurso, que é usada para atualizar

a localização.

Os primeiros receptores de GPS eram muito mais simples que os atuais; eles

forneciam apenas a latitude e a longitude, o resto era por conta do utilizador, que

precisava calcular a localização no mapa. A geração seguinte trouxe mapas

simplificados, exibidos em telas monocromáticas, mas com a evolução dos

33

controladores e a queda de preços nas telas coloridas, memória flash e outros

componentes, eles evoluíram rapidamente, até chegar aos modelos que temos hoje

(MORIMOTO, 2009).

Os problemas urbanos gerados nas grandes cidades motivou o uso de equipamentos

GPS por parte da população em geral. Essa necessidade, aliado a miniaturização dos

componentes, tornou possível a inserção de receptores GPS em smartphones e outros

aparelhos de uso pessoal, os receptores utilizam a tela, o processador, memória e demais

componentes do dispositivo (ZUCATO, 2009).

3.2.2.2 Rede

O sensor WI-FI encontrado nos dispositivos móveis permite que a localização do

aparelho seja feita através do método Wi-FI positioning system, em português, Sistema

de localização por WI-FI. Esse modo de obtenção de localização utiliza menos energia

do que o sensor GPS.

O sensor GSM também é capaz de informar a localização do dispositivo. Conhecido

como GSMPS, sigla para Sistema de Posicionamento pelo Sistema Global para

Comunicações Móveis, é a metodologia com o menor consumo de energia, como

exibido na Figura 10.

Figura 10 Diferença no consumo de energia entre os sensores em um dispositivo Nókia N95: (a) Consumo do GPS (b) Consumo do WI-FI (c) Consumo do GSM.

Fonte: EnLoc: Energy-Efficient Localization for Mobile Phones

Embora o GPS seja o sensor de maior precisão (OSHIN, 2012), ele também é

responsável pelo maior consumo de energia se comparado aos demais sensores. Os

sensores de rede têm um menor tempo de resposta a uma requisição de localização,

além de utilizarem menos energia (ANDROID, 2014).

3.3 Software e Recursos

Nessa seção estão listados softwares e recursos provenientes de tecnologias móveis

e também aqueles que podem ser utilizados em conjunto com essas tecnologias.

3.3.1 Web 2.0

O termo ―Web 2.0‖ surgiu em 2004. Ele foi utilizado pela primeira vez, por

O’Reilly e Dougherty, para designar uma nova geração de recursos Web. (O’REILLY,

2005).

A comunicação e o acesso à informação tiveram grandes avanços com o surgimento

da primeira geração da Web, no fim da década de 1980. Porém, diferente da Web na

qual navegamos atualmente, a primeira geração não disponibilizava a interação com a

34

qual estamos acostumados. O conteúdo disponibilizado na rede era oferecido por

empresas ou pessoas com conhecimento técnico na área.

Com a evolução da Web para a Web 2.0, surgiram oportunidades para que os

usuários sem conhecimento técnico pudessem gerar conteúdo na rede.

A Web 2.0 é a evolução para uma Web social e interativa, que dá a todos uma

oportunidade para criar conteúdo, compartilhar interesses e interagir com os demais

usuários da internet. Sendo assim, não somente uma tecnologia, mas sim uma nova

atitude de seus usuários (KROSKI, 2007).

Para Tapscott (2010, p. 29), ―a velha rede era algo em que você navegava em busca

de conteúdo A nova rede é um meio de comunicação que permite que as pessoas criem

seu próprio conteúdo, colaborem entre si e construam comunidades.‖.

Dessa forma, a Web 2.0 representa uma nova geração de ferramentas na internet que

possibilitam as mais diversas formas de comunicação e participação na rede.

Entre as novas ferramentas disponibilizadas pela Web 2.0, pode-se citar: software

livre; ferramentas wikis; Really Simple Syndication (RSS); QR Code; blogs e as

ferramentas de redes sociais (AGUIAR, 2012).

3.3.2 Geotagging

O geotagging é uma forma de criar uma tag para sua foto, que informa as

coordenadas (latitude e longitude) do local onde ela foi tirada. Esta funcionalidade

permite, por exemplo, que você faça um acompanhamento dos lugares pelos quais

passou e pode seguir as pessoas, também, sabendo por onde elas andam.

Figura 11 Geotagging no Google Maps

Alguns álbuns virtuais já possuem essa função, como o Picasa e o Flickr, assim

como o Google Maps (Figura 11).

35

3.3.3 Serviços Baseados em Localização

Os Serviços Baseados em Localização (SBL) passaram por diversas modificações

no decorrer dos últimos anos, por ser uma tecnologia que teve sua concepção

relacionada a implantação do GPS, pelo Departamento de Defesa dos Estados Unidos,

estimasse que a mesma exista, pelo menos, desde a década de 70. Esse conceito pode

ser definido como serviços que integram a localização de um dispositivo móvel com

outros tipos de informações para prover uma funcionalidade de maior valor agregado

baseada nestes dados (CORREIA, 2004).

Esses serviços tiveram uma grande evolução devido à legislação americana que, em

1996, tornou obrigatório a disponibilidade de informações para a localização de

chamadas de emergência efetuadas a partir de dispositivos de comunicação. A fim de

tornar possível a realização desta tarefa, as operadoras de comunicação realizaram

maiores investimentos em infraestrutura (KLIEMANN, 2006).

Os SBL visam disponibilizar um serviço de informação baseado em localizações,

utilizando uma ferramenta de mapas. As informações de localização podem ser geradas

através da latitude e longitude do usuário, obtidas através da comunicação do aparelho

com a rede, ou com o GPS. Há diversas aplicações na área de SBL, direcionadas as

mais diversas áreas (KUMAR, 2009).

Os serviços baseados em localização respondem a três perguntas: Onde? O que há

em volta? Como chegar lá? Eles determinam a localização do usuário, em seguida usam

o local e outras informações para fornecer aplicações e serviços personalizados. Como

exemplo, um serviço de emergência sem fio 911 que determina a localização de quem

efetuou a chamada automaticamente. Outros serviços podem combinar o local onde o

dispositivo se encontra com informações sobre alojamento e entretenimento

(MAHMOUD, 2004).

Há diversos tipos de abordagens para classificar as aplicações que fazem uso dos

SBL. Uma importante distinção, utilizada por estudiosos da área, é o método no qual as

informações chegam ao dispositivo. Há duas vertentes distintas de serviços: os serviços

denominados Push e Pull. Serviços Push implicam que o usuário recebe a informação

(baseada na sua localização), sem ter requisitado a mesma. Um exemplo desse tipo de

serviço seria o recebimento de uma sugestão de restaurante situado nas proximidades da

localização do usuário. Já nos serviços Pull, a informação só será enviada caso o

usuário a requisite explicitamente (CORREIA, 2004).

Pode se dividir os SBL em diversas categorias, a seguir serão resumidamente

especificadas algumas dessas categorias.

3.3.3.1 Serviços de Informação

Os serviços desta categoria fornecem instruções de como se chegar a um destino

desejado, indicam onde encontrar um determinado serviço ou pessoa nas redondezas, ou

localizam um usuário perdido em um mapa.

Um serviço de ―Páginas Amarelas‖. Por exemplo, pode informar ao usuário onde

fica o estabelecimento mais próximo à sua posição atual que oferece determinado tipo

de serviço desejado (CORREIA, 2004). O aplicativo Posto de Gasolina, disponível no

Google Play, é um prático exemplo desse tipo de serviço. Neste caso, um motorista

pode procurar pelos postos que estão oferecendo o combustível pelo valor mais

vantajoso, ou os postos mais próximos da sua localização.

36

Uma característica marcante desta categoria de serviços é a sua natureza Pull, pois é

sempre o usuário quem solicita o recebimento de alguma informação.

Figura 12 Aplicativo Posto de Gasolina Fonte: Google Play.

Normalmente a informação de localização é enviada ao servidor apenas no momento

da requisição e não há a necessidade de um monitoramento contínuo da posição dos

usuários (CORREIA, 2004).

3.3.3.2 Serviços de Emergência

Serviços Baseados em Localização trazem uma nova e decisiva dimensão às

soluções e sistemas de gerenciamento de crises. Em situações de emergências, o fator

tempo normalmente é determinante para se evitar consequências mais graves. O uso de

tecnologias de localização possibilita um menor tempo de resposta, desde o instante em

que ocorre o fato em questão até o momento em que chega o auxílio (CORREIA, 2004).

Figura 13 Aplicativo S.O.S. Emergências Fonte: Google Play

A aplicação S.O.S Emergências (Figura 13) é um exemplo deste tipo de serviço.

Utilizada exclusivamente na Espanha, a aplicação pode ajudar a salvar vidas que se

encontram em situação de emergência enviando a localização e efetuando uma ligação.

3.3.3.3 Serviços de Rastreamento

Nesta categoria, a troca de informação de localização é feita de forma constante e

contínua, não dependendo de eventos externos para dispará-la. Em função desta

característica, esta categoria engloba aplicações em que não é necessário, ou mesmo

desejado, preservar a privacidade do usuário (CORREIA, 2004).

37

Essa categoria engloba um grande leque de possibilidades, desde o rastreamento de

veículos, transporte público, e até mesmo o de membros da família. Neste caso, há o

aplicativo Family Mobile Tracker (Figura 14), por exemplo. Disponível no Google

Play, essa aplicação possibilita que seja visualizada a informação de todos os membros

da família que estão cadastrados na aplicação.

Figura 14 Aplicativo Family Mobile Tracker Fonte: Google Play

Nessa aplicação, em particular, é possível encontrar funcionalidades Push e Pull.

Quando o responsável decide visualizar a localização dos demais membros da família,

ele estará efetuando uma atividade Pull. Porém, a aplicação permite, por exemplo, que o

responsável seja notificado quando o seu filho chega à escola. Neste caso, está sendo

efetuada uma atividade Push.

3.4 Trabalhos Relacionados

Com a disponibilidade de GPS em smartphones e tablets, diversas aplicações

passaram a ser criadas ou adaptadas para utilizar os benefícios desta tecnologia. Desde

aplicativos para que um atleta possa visualizar o caminho percorrido até aplicativos para

encontrar gasolina pelo menor preço, como mostrado anteriormente. O GPS possibilita

a criação dos mais diversos aplicativos.

Porém, na busca por aplicações que utilizam o GPS para reportar problemas

relacionados exclusivamente ao meio ambiente, não foi possível encontrar nenhuma

aplicação. Mas, foi possível encontrar aplicações que de certa forma, realizam esse tipo

de serviço.

3.4.1 Urbotip

O Urbotip (www.urbotip.com) é um aplicativo que possibilita o compartilhamento

de problemas urbanos, para que assim, seja possível mostrar tais problemas para as

autoridades responsáveis. Todos os problemas estão georreferenciados, facilitando a

localização do problema por parte das autoridades.

38

Figura 15 Urbotip Fonte: Google Play

Segundo os criadores da aplicação, o conceito é muito simples: O usuário identifica

o problema, cria uma causa no aplicativo explicando do que se trata e a sua localização,

essas informações, aliadas a um ambiente social, faz com que mais pessoas fiquem

cientes desse problema e possam juntar-se a causa.

Os problemas estão divididos em categorias, como: Infraestrutura, Transporte

Público, Trânsito, Meio Ambiente e Segurança.

3.4.2 Colab

Eleito o melhor aplicativo urbano do mundo em 2013, pela New Cities Foundation,

o Colab (www.colab.re) é uma rede social voltada para a cidadania, pois faz a ponte

entre cidadãos e cidades, conectando pessoas a prefeituras e órgãos públicos.

Segundo seus criadores, o aplicativo se compromete a enviar todas as publicações

para as prefeituras, além de encaminhar as respostas recebidas de volta aos cidadãos. A

contribuição de cidadãos com a cidade beneficia a todos e colabora para a construção de

um ambiente melhor para toda a população, interagindo com amigos e outros cidadãos

numa plataforma social e transparente (COLAB, 2014).

Figura 16 Colab Fonte: Google Play

Com o Colab, é possível fazer três tipos de publicação:

39

- Fiscalize: indicar problemas e irregularidades de uma cidade, como buracos em

vias, iluminação pública queimada, calçadas irregulares e etc.

- Proponha: elaborar soluções e projetos para melhorar determinada cidade, é

possível discutir com amigos e outros participantes da rede.

- Avalie: Os usuários dão nota às diversas entidades e instituições públicas.

3.4.3 De olho na cidade

O De Olho na Cidade (www.deolhonacidade.org) é um aplicativo que permite

aproximar os cidadãos da administração pública, propiciando a governança

participativa. Através dele você poderá postar causas (problemas, sugestões de projetos,

algo que deve mudar na sua cidade), comentar, apoiar, compartilhar, etc.

Figura 17 De Olho na Cidade Fonte: Google Play

Quando a causa tiver um nível de importância elevada (muitos apoiadores, comentários,

compartilhamentos) a administração dará maior importância para resolvê-la. Esta é a

ideia central da aplicação.

3.4.4 Redes sociais e serviços de conversação

A criação de grupos com um fim específico em redes sociais de grande utilização,

por exemplo, é uma alternativa. Assim como a publicação de fotos geolocalizadas em

aplicações de conversação. Porém, é importante salientar que esse tipo de metodologia é

altamente dependente de recursos não administráveis e fortemente genéricos. A criação

de um grupo para a postagem de incidentes ambientais no Whatsapp ou no Facebook,

por exemplo, é uma maneira possível de contribuição. Porém, a falta de ferramentas

organizacionais e que permitam a filtragem de incidentes, os torna inutilizáveis para

grandes grupos de usuários.

Ao buscar alternativas para o reporte de incidentes ambientais, é possível encontrar

iniciativas como a do Instituto Biota de Conservação, que utiliza perfis em redes sociais

e grupos específicos em aplicativos de conversação para receber da população,

informações relacionadas a animais marinhos. As imagens e textos são enviados por

smartphone e podem salvar os animais encontrados vivos encalhados na praia.

Utilizando as informações geradas pela população, o Instituto remove ninhos de

tartaruga encontrados em locais de risco, com muita movimentação de banhistas, e os

transfere para áreas de proteção ambiental.

40

3.5 Tipos de aplicativos

No cenário de aplicações para dispositivos móveis, é possível apontar para duas

direções: aplicações nativas e aplicações web. Embora aplicativos de software web

atinjam um maior número de usuários, dada a independência de sistema operacional,

software nativos podem proporcionar maiores funcionalidades. Visto que, podem

oferecer diversas funcionalidades sem que o dispositivo esteja conectado à internet.

3.5.1 Aplicação nativa

A aplicação nativa, também conhecida como aplicação embarcada, é um produto

desenvolvido para executar em uma determinada plataforma. Os arquivos resultantes da

compilação do aplicativo devem ser instalados diretamente no sistema operacional, tais

como apresentação, processamento e armazenamento de dados.

Esse tipo de aplicação possibilita a manipulação de dados offline, ou seja,

armazenados em um banco de dados local, no próprio dispositivo, o que torna possível a

utilização da ferramenta mesmo em localidades onde não há acesso a internet. Uma

grande vantagem a ser observada nesse tipo de aplicação, é a melhor utilização do

hardware presente no dispositivo, como o telefone, câmera, GPS, bluetooth e

acelerômetro. Outro ponto positivo é a melhor experiência com o usuário, o

desenvolvimento de aplicações nativas podem explorar recursos mais avançados do

sistema operacional, tornando possível o acesso aos dados presentes no aparelho, como

por exemplo: a agenda telefônica, câmera e outros aplicativos, facilitando a integração

entre as aplicações existentes no aparelho.

Desenvolver software nativo requer linguagem de programação específica como

Java no sistema operacional Android (www.android.com) do Google, Objective-C na

plataforma iOS (www.apple.com/ios) da Apple, ou C# na plataforma Windows Phone

(www.microsoft.com/windowsphone) da Microsoft (TOLEDO, 2012).

3.5.2 Aplicação web

Acessado geralmente pela internet e desenvolvido com linguagens suportadas por

navegadores, tais como, HTML, CSS, JavaScript, este tipo de aplicação é denominado

aplicativo web.

No processo de produção desses aplicativos web, voltados para smartphones, deve-

se levar em consideração sua alta popularidade, que permite uma proliferação maior de

usuários em comparação com os aplicativos nativos. Isso por que não é necessária a

instalação adicional de aplicativo, o que facilita a atualização e manutenção dessa

aplicação.

Para que sejam executados de maneira satisfatória, os aplicativos web necessitam

que o aparelho sempre esteja conectado à internet, de preferência deve-se ter uma

velocidade de conexão satisfatória para permitir a rápida troca de dados com os

servidores de páginas para não prejudicar a experiência do usuário.

Apesar dos aplicativos web serem executados em navegadores, há alguns pontos que

exigem a atenção dos desenvolvedores, como por exemplo, os diferentes tamanhos de

telas encontradas nos dispositivos móveis disponíveis no mercado, exigindo testes e

adequações para o bom funcionamento. Outro fator que deve ser observado é a

compatibilidade da aplicação com os navegadores disponíveis no aparelho. Visto que,

dependendo da estrutura e das ferramentas da aplicação, os navegadores podem

41

apresentar aspectos indesejáveis devido ao difícil controle quanto as suas diferenças e

também quanto as suas respectivas versões (TOLEDO, 2012).

3.5.3 Aplicação híbrida

O desenvolvimento de uma aplicação híbrida, ou aplicação multi-plataforma, pode

ser realizado de maneiras diferentes. Uma delas é a técnica conhecida como cross-

compilation, onde são realizadas diversas compilações de um mesmo código para criar

aplicações focadas no ambiente de destino, nesse caso, um sistema operacional móvel.

Para isso, é utilizado um framework com uma API independente de plataforma e

baseado em linguagens largamente utilizadas, como JavaScript, Ruby ou Java. A API é

utilizada para criar a aplicação móvel, incluindo a sua interface, persistência de dados e

lógica de negócio. A partir disso, o código é processado por um compilador multi-

plataforma que o transforma em uma aplicação nativa do sistema operacional de

destino. A aplicação gerada poderá ser instalada e executada nativamente no

dispositivo. As vantagens dessa técnica são: aceitação, ao executar a aplicação

nativamente no dispositivo, a aplicação irá se comportar como uma aplicação comum ao

usuário; e terá acesso total às funções e capacidades nativas do dispositivo, como

câmera e sensores. A maior desvantagem é a complexidade. Visto que, compiladores

que realizam essa técnica são difíceis de serem escritos e precisam ser consistentes aos

sistemas operacionais disponíveis.

Há também uma variação desta técnica, na qual é utilizada uma Máquina Virtual

para abstrair os detalhes do sistema operacional destino do código em execução. Uma

máquina virtual é um software projetado para ser uma máquina (neste caso, um

dispositivo móvel) que executa as aplicações como uma máquina real. Neste cenário, o

framework não somente provêm uma API, mas também um ambiente de tempo de

execução no qual a aplicação será executada. A utilização desse método compartilha

algumas vantagens com a técnica cross-compilation. Embora as aplicações costumem

serem um pouco mais lentas em sua execução. A máquina virtual precisa traduzir as

instruções gerando uma latência de interpretação. A maior vantagem dessa abordagem

está relacionada ao fato de que, máquinas virtuais são mais flexíveis e práticas de

modificar ao ser necessário adicionar novas funcionalidades a API.

Outra opção, cada vez mais popular, envolve a criação de uma aplicação nativa

como se fosse uma aplicação web que abrirá no navegador do dispositivo. Essa técnica

envolve a utilização de tecnologias web como HTML5, CSS3 e JavaScript para criar

aplicações que irão se parecer e se comportar como aplicativos nativos.

Para certos tipos de aplicações, essa metodologia pode ser bem aproveitada, devido

ao seu baixo custo e potencial para cobrir a maioria dos sistemas operacionais com

poucas alterações no código. Isso inclui aplicações comuns de negócios, como leitores

de notícias, e-books, sites bancários, redes sociais e e-mail. Porém, não é uma

metodologia recomendável para aplicações de alto consumo energético, como jogos ou

aplicações de vídeo conferência.

A aplicação web é executada em um navegador móvel ou em um navegador inserido

em um aplicativo nativo, conhecido como Modelo Híbrido. Neste modelo, o aplicativo

web é empacotado e executado em uma aplicação nativa que irá fornecer uma ponte

entre os serviços e o sistema operacional. A aplicação web é armazenada localmente

durante a sua instalação no dispositivo. A comunicação entre o aplicativo web e o

42

aplicativo nativo normalmente ocorre utilizando uma API baseada em JavaScript, como

mostra a Figura 18.

Essa técnica trás o melhor de ambas as tecnologias, web e nativa, em uma única

solução integrada: a flexibilidade das aplicações web e a velocidade e riqueza de

recursos das aplicações nativas. Quando corretamente utilizada, essa metodologia

costuma obter bons resultados (HARDMANN, 2011).

Figura 18 Estrutura de uma aplicação hibrida

Nessa seção estão listados três frameworks que possibilitam a criação de aplicações

híbridas.

3.5.3.1 Phonegap

Phonegap é um framework multi-plataforma e de utilização gratuita, para o

desenvolvimento de aplicações móveis. Phonegap permite que desenvolvedores

utilizem técnicas de desenvolvimento web - HTML, CSS e JavaScript - para

desenvolver aplicações nativas em sistemas operacionais móveis, como Android, iOS e

Windows Phone (LUNNY, 2011).

Figura 19 Estrutura de uma aplicação criada do Phonegap

A arquitetura de uma aplicação criada no Phonegap está representada na Figura 19.

A interface com o usuário é realizada através de tecnologias web, como HTML, CSS e

JavaScript. Podem ser utilizado em conjunto com o Phonegap bibliotecas, como jQuery

e Bootstrap, para facilitar a criação de interfaces responsivas. A lógica da aplicação é

baseada em JavaScript, linguagem na qual o framework é baseado. Na camada do

43

framework estão os seus plugins padrão. Esses plugins se comunicam com o sistema

operacional, realizando requisições para suas ferramentas e também para os sensores

dos dispositivos.

3.5.3.2 Appcelerator Titanium

Appcelerator Titanium é uma plataforma de desenvolvimento que permite a criação

de aplicações para diversas sistemas operacionais móveis utilizando a simplicidade da

linguagem JavaScript. Os aplicativos desenvolvidos através do Appcelerator Titanium

podem ser executados como aplicativos nativos em plataforma iOS, Android,

BlackBerry, entre outras (COSTA, 2012).

3.5.3.3 Sencha Touch

Desde o seu lançamento, Sencha Touch se tornou uma plataforma muito utilizada

para o desenvolvimento de aplicações baseadas em HTML5. O framework Sencha

Touch permite que aplicações HTML5 e JavaScript se assemelhem muito a aplicações

nativas, tanto em dispositivos com o sistema operacional iOS, quanto Andrid e

Windows Phone. O framework permite ao desenvolvedor criar aplicações para diversas

plataformas sem que seja necessário o aprendizado da linguagem nativa desta

plataforma (CLARK, 2013).

3.6 Tecnologias para desenvolvimento web

Ao desenvolver aplicações híbridas, faz-se uso de tecnologias web, como HTML5,

CSS3 e JavaScript. Nessa seção serão descritas essas tecnologias.

3.6.1 HTML

O HTML (abreviação para a expressão inglesa HyperText Markup Language, que

significa Linguagem de Marcação de Hipertexto) é uma linguagem de marcação

utilizada para produzir páginas na web. Documentos HTML podem ser interpretados

por navegadores. Assim como as demais linguagens de marcação, o HTML é baseado

na linguagem SGML (Standard Generalized Markup Language), criada em 1986. Essa

linguagem permite a composição e apresentação de documentos na web.

A criação do HTML se deu devido à complexidade da SGML. O HTML foi criado

especificamente para a estruturação de textos correntes e a apresentação de documentos

em navegadores web (MAGRI, 2013).

3.6.1.1 HTML5

O HTML5 começou a ser desenvolvido em 2006 pelo World Wide Consortium

(W3C) em conjunto com a Web Hypertext Application Technology Working Group

(WHAT-WG). Esta nova versão traz consigo importantes mudanças quanto ao papel do

HTML no mundo da Web, através de novas funcionalidades como semântica e

acessibilidade. Possibilita o uso de novos recursos antes possíveis apenas com a

aplicação de outras tecnologias disponibilizadas por empresas terceiras. Sua essência

tem sido melhorar a linguagem com o suporte para as mais recentes multimídias de

modo fácil para o desenvolvedor e que seja transparente para o usuário final

(VARASCHIN, 2013).

44

3.6.2 CSS

Cascading Style Sheets (ou simplesmente CSS) é uma linguagem de folhas de estilo

utilizada para definir a apresentação de documentos escritos em uma linguagem de

marcação, como HTML ou XML. Seu principal benefício é prover a separação entre o

formato e o conteúdo de um documento.

O uso de CSS permite a criação de páginas visualmente mais atrativas e de fácil

manutenção. Visto que, é possível concentrar toda a estilização do site em um único

arquivo CSS (GAVAZONI, 2013).

3.6.3 JavaScript

JavaScript é uma linguagem de programação interpretada. Foi originalmente

implementada como parte dos navegadores web para que scripts pudessem ser

executados do lado do cliente e interagissem com o usuário sem a necessidade deste

script passar pelo servidor, controlando o navegador, realizando comunicação

assíncrona e alterando o conteúdo do documento exibido.

A linguagem JavaScript é dinâmica, fracamente tipada, multi-paradigma e que

suporta metodologias de programação orientado a objetos, imperativos e funcionais

(FERNANDES, 2012).

3.6.3.1 jQuery

jQuery é uma biblioteca JavaScript cross-browser desenvolvida para simplificar os

scripts client side que interagem com o HTML. Criada por John Resig e disponibilizada

como software livre.

A sintaxe do jQuery foi desenvolvida para tornar mais simples a navegação do

documento HTML, a seleção de elementos DOM, criar animações, manipular eventos e

desenvolver aplicações AJAX. A biblioteca também oferece a possibilidade de criação

de plugins sobre ela.

No prefácio do livro jQuery in Action, John Resig diz o seguinte:

―O foco principal da biblioteca jQuery é a simplicidade. Por que submeter os

desenvolvedores ao martírio de escrever longos e complexos códigos para

criar simples efeitos?‖.

Esse trecho define muito bem a essência do jQuery, simplicidade. Diminuir as

diversas linhas de código JavaScript que necessitam ser escritas para obter um efeito

simples, em algumas poucas linhas que irão efetuar exatamente a mesma ação.

3.6.4 DOM

O Modelo de Objeto de Documento é uma convenção multi-plataforma e

independente de linguagem para representação e interação com objetos em documentos

HTML, XHTML e XML. Os nós de cada documento são organizados em uma estrutura

de árvore, chamada de árvore DOM, como exibido na Figura 20. Os objetos na árvore

DOM podem ser endereçados e manipulados pelo uso de métodos sobre os objetos. A

interface pública de um DOM é especificada em sua interface de programação de

aplicações (API).

45

Figura 20 Hierarquia dos objetos de um arquivo HTML

3.7 Serviços de mapas pela Internet

O Serviço de mapas pela internet (WMS) é a especificação de um formato, com o

objetivo de disponibilizar um mapa na rede. Existem diversos tipos de WMS, alguns

gratuitos e outros pagos.

No cenário mundial, o Google Maps é o WMS de maior destaque, contendo as mais

diversas ferramentas e funcionalidades.

3.7.1 Google Maps

Google Maps é um serviço de pesquisa e visualização de mapas e imagens de

satélite da Terra gratuito na web fornecido e desenvolvido pela Google.

Atualmente, o serviço disponibiliza mapas e rotas para qualquer ponto nos Estados

Unidos, Canadá, na União Europeia, Austrália e Brasil, entre outros. Disponibiliza

também imagens de satélite do mundo todo, com possibilidade de um zoom nas grandes

cidades, como Nova Iorque, Paris, São Paulo, Rio de Janeiro, Brasília, entre outras.

Google Maps é uma ferramenta extremamente poderosa e pode ser utilizada para os

mais diversos tipos de aplicações. Para utilizar o Google Maps em um aplicativo para

dispositivos móveis é necessário fazer uso da sua biblioteca.

Relativamente simples, a biblioteca do Google Maps permite a utilização de diversas

ferramentas, com ela é possível utilizar o GPS do aparelho, assim como outros recursos

do dispositivo (WIKIPÉDIA, 2014).

46

Figura 21: Google Maps

3.7.2 Here Maps

Here, anteriormente conhecido como Ovi Maps (2007-2011) e Nokia Maps (2011-

2012), é uma ferramenta disponibilizada pela empresa Nokia que une recursos de

mapeamento e de localização em um só local. O Here Maps é baseado em computação

na nuvem, no qual informações de locais e serviços são armazenados em servidores

remotos.

É possível desenvolver aplicações que fazem uso do Here Maps utilizando a sua API

(WIKIPÉDIA, 2014).

Figura 22 Here Maps

3.7.3 OpenStreetMap

OpenStreetMap é um projeto colaborativo para criar um mapa do mundo gratuito e

editável. Inspirado no sucesso do Wikipédia, a ferramenta foi criada em 2004. O OSM

conta com uma API editável, utilizada para a inserção e leitura de informações do banco

de dados. Essas informações são geradas e inseridas pelos usuários através de aparelhos

GPS, fotos aéreas e outras fontes.

47

O site é mantido pela OpenStreetMap Foundation, uma organização sem fins

lucrativos.

Figura 23 OpenStreetMap

3.8 Sistemas Operacionais

O mercado de dispositivos móveis é dividido em alguns sistemas operacionais, tal

divisão, é frequentemente analisada pela IDC, uma empresa americana, focada em

pesquisas de mercado de Tecnologia da Informação, Telecomunicações e Tecnologias

de Consumo, que realiza periodicamente pesquisas relacionadas ao mercado de sistemas

operacionais.

Figura 24 Mercado de dispositivos móveis por trimestre, a partir de 2011 Fonte: IDC

Na Figura 24, é possível visualizar os principais sistemas operacionais para

dispositivos móveis, e as suas respectivas fatias de mercado, que variam com o passar

do tempo, cada linha representa o primeiro trimestre de cada ano.

48

Figura 25 Mercado de dispositivos móveis, durante o primeiro trimestre de cada ano, em detalhes Fonte: IDC

Com base na Figura 25, é possível visualizar os sistemas operacionais de maior

destaque no mercado atual, ressaltando o grande crescimento do Android, líder absoluto

com uma grande fatia do mercado. Dadas essas informações, essa seção visa trazer

informações dos três sistemas operacionais de maior destaque no mercado atual e que

tornam possível a criação da aplicação proposta no projeto: Android, iOS e Windows

Phone.

3.8.1 Android

O sistema Android está presente em diversos modelos de smartphones e tablets.

Alguns atributos do sistema são: browser rápido, sincronização em nuvem, sistema

multitarefa, facilidades para conectar e compartilhar, milhares de aplicativos disponíveis

para download, entre outros (LECHETA, 2010).

3.8.1.1 História

Em agosto de 2005 a empresa Google adquiriu a Android Inc, uma pequena

empresa em Palo Alto (California - USA) que desenvolvia uma plataforma para

celulares baseado em Linux, com o objetivo de ser uma plataforma flexível, aberta e de

fácil migração para os fabricantes. Em 2007, Google anunciou o sistema operacional

Android e a criação da Open Handset Alliance (OHA), um conselho com mais de 33

empresas parceiras que se uniram para inovar e acelerar o desenvolvimento de

aplicações e serviços para dispositivos móveis, trazendo aos consumidores uma

experiência mais rica em termos de recursos e menos onerosa financeiramente para o

mercado. Pode-se dizer que a plataforma Google Android é a primeira plataforma

completa, aberta e livre para dispositivos móveis. O Android SDK é o kit de

desenvolvimento que disponibiliza as ferramentas e APIs necessárias para desenvolver

aplicações para a plataforma Google Android, utilizando a linguagem Java.

3.8.1.2 Versões

Novas versões do sistema são lançadas a cada ano, cada versão trás novas

funcionalidades para o sistema. Na tabela 3 é possível visualizar as versões lançadas até

o momento, juntamente com suas respectivas APIs. Tabela 3 Versões do sistema Android e suas respectivas APIs. Fonte: Wikipédia.

Versão Codinome APIs

Android 1.5 Cupcake 3

Android 1.6 Donut 4

Android 2.1 Eclair 5, 6 e 7

49

Android 2.2 Froyo 8

Android 2.3 Gingerbread 9 e 10

Android 3.2 Honeycomb 11, 12 e 13

Android 4.0 Ice Cream Sandwich 14 e 15

Android 4.3 Jelly Bean 16, 17 e 18

Android 4.4 KitKat 19

3.8.1.3 Requisitos para o desenvolvimento

Para desenvolver aplicativos para Android você precisa de um computador rodando

o sistema operacional Windows, Linux ou Mac OS X. Por ser multi-plataforma, o

desenvolvimento para Android pode ser realizado utilizando os principais sistemas

operacionais da atualidade.

Os seguintes softwares são necessários para desenvolver aplicativos para o sistema

operacional Android:

- Java SE Software Development Kit;

- Eclipse para Java Developers;

- Android SDK;

O Android Development Kit (SDK) fornece as ferramentas que você precisa para

desenvolver, testar e depurar aplicativos Android. Já o Android Development Tools

Plugin (ADT) para o Eclipse permite que você use as ferramentas Android SDK para

desenvolver aplicações Android no IDE Eclipse.

3.8.2 iOS

iOS (antes chamado de iPhone OS) é um sistema operacional móvel da Apple Inc.

desenvolvido originalmente para o iPhone, também é usado em iPod touch, iPad e

Apple TV. A Apple não permite que o iOS seja executado em hardware de terceiros.

3.8.2.1 Versões

Novas versões foram adicionando diversas funcionalidades e recursos ao iOS. Como

por exemplo, na versão iPhone OS 2, um dos principais destaques foi a Apple Store, a

App Store deu aos usuários acesso a milhares de aplicativo desenvolvidos por terceiros.

Compatível com o iTunes e um ecossistema cuidadosamente trabalhado, a App Store

empurrou o iPhone anos à frente da concorrência, ao oferecer inúmeras possibilidades

para o iPhone.

Já o iOS 3 trouxe a possibilidade de, finalmente, cortar, copiar e colar. A precisão do

GPS também foi aprimorada, e a Apple adicionou uma bússola magnética para o

aplicativo iPhone Maps. A gravação de vídeo não tinha suporte no iOS até o lançamento

do iOS 3. Porém, o iPhone 3GS foi o único dispositivo iOS que marcou o inicio da

disponibilidade desse recurso.

50

Tabela 4 Versões do sistema operacional iOS. Fonte: Wikipédia.

Versão Ano de Lançamento

iPhone OS 1.x 2007

iPhone OS 2.x 2008

iPhone OS 3.x 2009

iOS 4.x 2010

iOS 5.x 2011

iOS 6.x 2012

iOS 7.x 2013

iOS 8.x 2014

3.8.2.2 Requisitos para o desenvolvimento

Para fazer uso das ferramentas da Apple para desenvolvimento, é necessário ter um

computador Mac. A partir disso, é possível ter acesso à ferramenta de desenvolvimento,

documentação, exemplos de código, e fórum de discussão da Apple através de um

cadastro no iPhone Developer Program, que em um primeiro momento pode ser feito

gratuitamente, mas com o tempo sentirá necessidade do cadastro pago, que dará direito

de testar o aplicativo desenvolvido em um aparelho real, e principalmente para publicar

o mesmo na iTunes App Store.

Depois de cadastrado como desenvolvedor Apple, o usuário terá o direito ao

download gratuito do iOS SDK, que nada mais é que um pacote com os softwares

necessários para trabalhar com iOS, e fazem parte dele:

- XCode: Ambiente de desenvolvimento;

- Interface Builder: Para criação das interfaces do iPhone ou iPad;

- Instruments: Ferramenta de análise de consumo de memória, desempenho, etc.

- iPhone Simulator: Ferramenta elaborada para ―simular‖ como o aplicativo vai ser

executado nos dispositivos iPhone ou iPad. Mas, é de extrema importância que a

aplicação também seja testado em um aparelho real, pois o simulador o utiliza o

processamento e memória da máquina. Desta forma, dificilmente será possível

visualizar problemas de consumo de memória ou de lentidão na abertura do aplicativo,

problemas facilmente percebidos quando a aplicação é executada em um aparelho real.

3.8.3 Windows Phone

Windows Phone é um sistema operacional móvel, desenvolvido pela Microsoft,

atualmente na sua versão 8 (a versão 8.1 de testes está disponível apenas para

desenvolvedores), sucessor da plataforma Windows Mobile, (apesar de totalmente

incompatível com esta) que, ao contrário do predecessor, é focado no mercado

consumidor, em vez do mercado empresarial.

51

3.8.3.1 História

Foi lançado na Europa, Austrália e Singapura no dia 21 de outubro de 2010, nos

EUA e Canadá no dia 8 de novembro, no México no dia 24 do mesmo mês e, no início

de 2011, na Ásia.

O principal problema do Windows Phone era a falta de aplicações. Porém, hoje as

principais aplicações do mercado já estão disponíveis na loja de aplicativos, antiga

Marketplace. Mas, ainda assim, alguns usuários se desencorajam a comprar um

aparelho com o sistema por não ter tantos aplicativos quanto seus principais

concorrentes; Android e iOS (WIKIPÉDIA, 2014).

3.8.3.2 Versões

O trabalho para uma grande atualização do sistema operacional Windows Mobile

começou ainda em 2004, sob o nome de projeto "Photon", mas o seu desenvolvimento

era lento, tendo sido cancelado. Em 2008, a Microsoft reorganizou a equipe de

desenvolvimento e começou a trabalhar num novo sistema operacional. Este novo

produto era para ser lançado em 2009 como "Windows Phone", mas diversos atrasos

obrigaram a Microsoft a desenvolver o Windows Mobile 6.5 como um lançamento

intermédio.

Windows Phone foi desenvolvido rapidamente. Uma das consequências de tal foi a

não possibilidade de executar os programas do antigo Windows Mobile no novo

sistema.

Tabela 5 Versões do sistema operacional Windows Phone. Fonte: Wikipédia.

Versão Ano de Lançamento

Windows Phone 7.5 2011

Windows Phone 8.0 2012

Windows Phone 8.1 2014

3.9 Considerações Finais do Capítulo

Nesse capítulo foram apresentadas as principais tecnologias utilizadas nesse projeto.

Também foram apresentadas aplicações que fazem uso dessas tecnologias para os mais

diversos fins. Além disso, foram apresentadas diferentes formas de desenvolver

aplicações para dispositivos móveis.

52

4 ARQUITETURA PROPOSTA

O projeto desenvolvido e descrito nesse trabalho, tem como propósito, oferecer um

meio para que qualquer cidadão possa reportar incidentes ambientais. Como citado no

capítulo 3, utilizando recursos da web 2.0, é possível identificar diversas alternativas

viáveis para que seja realizada essa tarefa.

Iniciativas como a do Instituto Biota, mesmo que sem pesquisas acadêmicas

comprovando a sua eficácia, ajudam a preservar o meio ambiente e comprovam que a

população é um grande aliado e monitor em potencial. A partir disso, criar um modelo

de aplicação contributiva na qual a população agirá como monitor e fiscalizador,

contribuindo com órgãos governamentais, institutos e ONGs pode ser uma alternativa

efetiva e de baixo custo. Visto que, ao utilizar produtos de consumo, como smartphones

e tablets, a aplicação poderá ser apoiada pela população sem gerar custos.

Nesse capítulo estão listadas as decisões de projeto e seus requisitos. Também

estão listados os diagramas de caso de uso e sequência referentes à modelagem do

sistema.

4.1 Decisões de projeto

Nessa seção estarão dispostas as decisões que foram tomadas no período que

precede o desenvolvimento do projeto, assim como as que foram tomadas no decorrer

do seu desenvolvimento.

4.1.1 Sistema operacional

A efetividade da aplicação está diretamente relacionada ao número de usuários da

mesma. Sendo assim, é importante que o sistema operacional da aplicação móvel esteja

sendo executado pela maior quantidade de dispositivos possível. Baseado nisso, o

sistema operacional inicial da aplicação é o Android. Como foi possível ver no capítulo

3, o sistema operacional da Google é, atualmente, a plataforma que retém o maior

número de usuários.

4.1.2 Tipo de aplicação

Como visto no capítulo 3, há outros sistemas operacionais com uma grande fatia

no mercado atual. Para que os usuários desses sistemas operacionais também possam se

tornar usuários da aplicação, o modelo de desenvolvimento proposto é o de uma

aplicação hibrida.

Desta forma, tornando a aplicação rapidamente adaptável para outros sistemas

operacionais em evidencia. O framework utilizado pelo projeto é o Phonegap. O

53

Phonegap possui diversos plug-ins na internet. Esses plug-ins podem ser baixados e

adicionados ao projeto, agilizando o desenvolvimento da aplicação proposta.

4.1.3 Serviço de mapas

O WMS escolhido para o projeto é o Google Maps, serviço de mapas online da

Google, como já citado anteriormente no capítulo 3, é o serviço de mapas mais

completo da atualidade. O serviço conta com uma vasta documentação e pode ser

facilmente agregado ao Phonegap.

4.1.4 Arquitetura cliente-servidor

Ao ser necessário o armazenamento de informações em um banco de dados, foi

necessário determinar uma maneira de inserir e obter essas informações. A partir disso,

a aplicação seguirá uma arquitetura cliente-servidor, arquitetura caracterizada

justamente por esse tipo funcionamento.

Nessa arquitetura, a aplicação cliente realiza requisições ao servidor através da rede,

como mostra a Figura 26.

Figura 26 Arquitetura cliente-servidor

Fonte: Wikipédia

As requisições da aplicação cliente e respostas do servidor estarão formatadas em

um protocolo de comunicação. Esse protocolo deverá ser interpretado por ambas às

partes envolvidas na iteração.

4.2 Modelagem do sistema

Na especificação do sistema foram empregados conceitos da orientação a objetos e

também da Unified Modeling Language (UML) para a criação do diagrama de casos de

uso e de sequência.

4.2.1 Diagrama de casos de uso

O aplicativo possui seis cenários de caso de uso, esses cenários são ilustrados na

Figura 27.

54

Figura 27 Diagrama de casos de uso.

4.2.1.1 Relatar Incidente

O quadro a seguir apresenta o detalhamento do caso de uso Relatar Incidente. Esse

caso de uso representa a inserção de um novo incidente no banco de dados do

aplicativo.

Caso de uso – Relatar Incidente

Atores Usuário

Pré-Condições Nenhuma

Pós-Condições Inserir no banco de dados o incidente relatado pelo usuário.

Descrição Esse caso de uso permite que o usuário publique um incidente

ambiental através do aplicativo, utilizando dados de

localização gerados através do dispositivo móvel.

Sequência de Eventos

Usuário Aplicativo Servidor

1: O caso de uso inicial

quando o usuário escolhe a

opção Relatar Incidente.

2: Solicita ao dispositivo a

permissão para acessar a sua

localização.

3: Usuário informa os dados

do problema (título,

descrição, tipo de problema,

mídia)

4: Aplicativo recebe as

55

informações passadas pelo

usuário e as insere em um

arquivo XML. Após isso, o

arquivo é codificado em base64

e enviado ao servidor.

5: Servidor recebe o arquivo

codificado, descodifica-o e

insere no banco de dados as

informações contidas no

XML , retornando a

confirmação de postagem.

6: A aplicação exibe uma

mensagem de sucesso ao

usuário.

4.2.1.2 Visualizar incidentes

Na sequência é apresentado o detalhamento do caso de uso Visualizar incidentes.

Caso de uso – Visualizar incidentes

Atores Usuário

Pré-Condições Nenhuma

Pós-Condições Visualização dos incidentes que correspondam à localização

geográfica do usuário ou que estão situados nas imediações da

requisição que o usuário está efetuando.

Descrição Esse caso de uso permite que o usuário visualize os incidentes

próximos a localização do seu dispositivo móvel. Ele também

possibilita que o usuário visualize incidentes em outras

localidades, para isso, o usuário precisa navegar no mapa do

aplicativo.

Sequência de Eventos

Usuário Aplicativo Servidor

1: O caso de uso inicial

quando o usuário inicia o

aplicativo, ou quando o

usuário escolhe a opção

Explorar Mapa.

2: Solicita ao dispositivo a

permissão para acessar a sua

localização. O aplicativo insere

as informações de localização

em um arquivo XML. Após

isso, o arquivo é codificado em

base64 e enviado ao servidor.

3: Servidor recebe o arquivo

codificado, descodifica-o e

busca no banco de dados

56

incidentes próximos a

localização contida no

arquivo. A lista de

incidentes é inserida em um

arquivo XML. O arquivo é

codificado para base64 e

enviado ao dispositivo.

4: O dispositivo recebe o

arquivo XML, descodifica-o e

exibe os incidentes ao usuário.

4.2.1.3 Apoiar Incidente

O caso de uso Apoiar Incidente é uma extensão do caso de uso Visualizar

Incidentes. Em UML, um caso de uso é considerado uma extensão quando depende de

outro caso de uso para ser processado. Desta forma, um usuário deverá primeiramente,

visualizar o incidente, para depois apoiá-lo.

Caso de uso – Apoiar incidente

Atores Usuário

Pré-Condições Visualizar o incidente

Pós-Condições Apoiar determinado incidente dará maior visibilidade para o

incidente.

Descrição Esse caso de uso permite que o usuário apoie o incidente. O

apoio funciona como uma ferramenta de visibilidade ao

incidente, quanto maior a quantidade de apoiadores, maior

será a visibilidade deste incidente.

Sequência de Eventos

Usuário Aplicativo Servidor

1: O caso de uso inicial

quando o usuário visualiza

um incidente e escolhe a

opção Apoiar incidente.

2: A aplicação se conecta ao

servidor e envia um arquivo

XML codificado em base 64

contendo os dados

(identificador do usuário,

identificador do incidente)

necessários.

3: O servidor recebe o

arquivo codificado,

descodifica-o e realiza a

inserção no banco de dados,

utilizando os dados do

arquivo, registrando o apoio

do usuário ao incidente. O

57

servidor retorna a

confirmação de apoio.

4: A aplicação recebe a

mensagem de retorno do

servidor e exibe a confirmação

de apoio ao usuário.

4.2.1.4 Comentar Incidente

O caso de uso Comentar incidente, assim como o Apoiar incidente, é uma extensão

do caso de uso Visualizar incidentes.

Caso de uso – Comentar incidente

Atores Usuário

Pré-Condições Visualizar o incidente

Pós-Condições Comentar determinado incidente agrega informação ao

incidente reportado.

Descrição Esse caso de uso permite que o usuário adicione um

comentário ao incidente. Comentários podem adicionar

maiores detalhes ao incidente e possibilitam, também, a troca

de informação entre os usuários.

Sequência de Eventos

Usuário Aplicativo Servidor

1: O caso de uso inicial

quando o usuário visualiza

um incidente e escolhe a

opção Comentar incidente.

2: A aplicação se conecta ao

servidor e envia um arquivo

XML codificado em base 64

contendo os dados

(identificador do usuário,

identificador do incidente,

comentário) necessários.

3: O servidor recebe o

arquivo codificado,

descodifica-o e realiza a

inserção no banco de dados,

utilizando os dados do

arquivo, registrando o

comentário do usuário. O

servidor retorna a

confirmação de

recebimento.

4: A aplicação recebe a

mensagem de retorno do

servidor e exibe a confirmação

58

de que o comentário foi

inserido.

4.2.1.5 Resolver Incidente

Por fim, a resolução de um incidente também é uma extensão do caso de uso

Visualizar incidente.

Caso de uso – Resolver incidente

Atores Usuário

Pré-Condições Visualizar o incidente

Pós-Condições Resolver determinado incidente, removendo-o dos incidentes

ativos na aplicação.

Descrição Esse caso de uso permite que o usuário marque determinado

incidente como resolvido. A resolução do incidente pode

contar com informações adicionais.

Sequência de Eventos

Usuário Aplicativo Servidor

1: O caso de uso inicial

quando o usuário visualiza

um incidente e o marca como

resolvido.

2: A aplicação se conecta ao

servidor e envia um arquivo

XML codificado em base 64

contendo as informações

(identificador do usuário,

identificador do incidente,

informações adicionais)

necessárias.

3: O servidor recebe o

arquivo codificado,

descodifica-o e realiza a

inserção no banco de dados,

utilizando os dados do

arquivo, registrando as

informações postadas pelo

usuário. O servidor retorna

a confirmação de

recebimento da resolução.

4: A aplicação recebe a

mensagem de retorno do

servidor e exibe a confirmação

de que o incidente está marcado

como resolvido.

59

4.2.1.6 Editar Dados

A edição de dados permite que o usuário altere seus dados pessoais na aplicação.

Caso de uso – Editar dados

Atores Usuário

Pré-Condições Nenhuma

Pós-Condições Altera as informações do usuário.

Descrição Esse caso de uso permite que o usuário altere suas

informações pessoais, como nome e e-mail.

Sequência de Eventos

Usuário Aplicativo Servidor

1: O caso de uso inicial

quando o usuário escolhe a

opção Editar dados.

2: A aplicação se conecta ao

servidor e envia um arquivo

XML codificado em base 64

contendo as informações do

usuário.

3: O servidor recebe o

arquivo codificado,

descodifica-o e realiza a

inserção no banco de dados,

utilizando os dados do

arquivo, registrando as

informações postadas pelo

usuário. O servidor retorna

a confirmação de

recebimento da resolução.

4: A aplicação recebe a

mensagem de retorno do

servidor e exibe a confirmação

de que o incidente está marcado

como resolvido.

4.2.2 Diagramas de Sequência

Os diagramas de sequência são utilizados para representar a sequência de processos

(mais especificamente, de mensagens passadas entre objetos), num programa de

computador.

Nessa seção estão listados os diagramas de sequência dos componentes da aplicação.

4.2.2.1 Relatar Incidente

A Figura 28 apresenta o diagrama de sequência do caso de uso Relatar Incidente.

60

Figura 28 Diagrama de Sequência Relatar Incidente

4.2.2.2 Visualizar Incidente

Na Figura 29 encontra-se o diagrama de sequência do caso de uso Visualizar

Incidente.

Figura 29 Diagrama de Sequência Visualizar Incidente

61

4.2.2.3 Apoiar Incidente

A Figura 30 representa o diagrama de sequência do caso de uso Apoiar Incidente,

extensão do caso de uso Visualizar Incidente.

Figura 30 Diagrama de Sequência Apoiar Incidente

4.2.2.4 Comentar Incidente

A Figura 31 representa o diagrama de sequência do caso de uso Comentar Incidente,

extensão do caso de uso Visualizar Incidente.

62

Figura 31 Diagrama de Sequência Comentar Incidente

4.2.2.5 Resolver Incidente

Por fim, a Figura 32 representa o diagrama de sequência do caso de uso Resolver

Incidente, extensão do caso de uso Visualizar Incidente.

Figura 32 Diagrama de Sequência Resolver Incidente

63

4.2.3 Modelo entidade-relacionamento

O Modelo Entidade Relacionamento é um modelo conceitual utilizado na

Engenharia de Software para descrever os objetos (entidades) envolvidos em um

domínio de negócios, com suas características (atributos) e como elas se relacionam

entre si (relacionamentos).

A Figura 33 representa o diagrama ER da aplicação.

Figura 33 Modelo ER do banco de dados

4.2.3.1 Usuário

A tabela Usuário, assim como a tabela Incidente, está relacionada com diversas

outras tabelas, como exibido na Figura 34. Ela é responsável por armazenar as

informações básicas do usuário, como nome, e-mail e identificar do dispositivo móvel.

64

Figura 34 Tabela Usuário

4.2.3.2 Incidente

A tabela Incidente armazena as principais informações referentes aos incidentes

registrados no aplicativo. Dados como, título, descrição, latitude, longitude e a data de

inserção do incidente fazem parte desta tabela, na Figura 35 é possível visualizar

também o tipo de cada dado.

Figura 35 Tabela Incidente

4.2.3.3 Mídia

A tabela Mídia tem uma relação de dependência com a tabela Incidente. Visto que,

ela armazena o conteúdo de mídia que foi submetido com o incidente. Para isso, a tabela

armazena o nome do arquivo no campo url. Como exibido na Figura 36, o campo url

aceita um valor de até 128 caracteres. Esse valor é gerado aleatoriamente pela aplicação

cliente, que previamente verifica se há algum outro arquivo com o mesmo nome, isso

impossibilita que sejam armazenadas mais de uma mídia com o mesmo valor de

referência no campo url.

Figura 36 Tabela Mídia

4.2.3.4 Categoria

A tabela Categoria é de extrema importância para a organização da aplicação, a

partir dela é possível filtrar os incidentes registrados no aplicativo. A tabela conta com o

campo título, responsável pela identificação da categoria para o usuário o campo id,

chave primária e utilizava em buscas no banco de dados. Por fim, o campo ícone, esse

atributo armazena o endereço de acesso para a imagem representativa da categoria.

65

Figura 37 Tabela Categoria

4.2.3.5 Apoiar

A tabela Apoiar armazena cada apoio de um usuário em um determinado incidente.

Com ela, é possível filtrar os incidentes, de modo a visualizar os incidentes de maior

relevância dada à quantidade de apoio, por parte dos usuários da aplicação, que esse

incidente recebeu. A tabela está relacionada com as tabelas Incidente e Usuário, essa

relação é necessária para que seja possível identificar o incidente e o usuário que o

apoiou. Como é possível ver na Figura 38, a tabela armazena a data em que o registro

ocorreu.

Figura 38 Tabela Apoiar

4.2.3.6 Resolver

A tabela Resolver registra as resoluções dos incidentes armazenados na aplicação. A

tabela está relacionada com as tabelas Incidente e Usuário, para que assim seja possível

identificar o incidente e o usuário que está inserindo a sua resolução. Como exibido na

Figura 39, a tabela conta com o campo descrição, esse campo registra informações

adicionais ao registro de resolução. O campo data registra a data em que o incidente foi

dado como resolvido na aplicação.

Figura 39 Tabela Resolver

4.2.3.7 Comentário

Na tabela Comentário estão registrados os comentários que os usuários da aplicação

realizam em cada incidente. Ela se relaciona com as tabelas Usuário e Incidente. Os

comentários têm o objetivo de agregar informação ao incidente e proporcionar a

aprendizagem e a troca de informação entre os usuários do aplicativo. Como mostra a

Figura 40, cada comentário é composto por um identificador único, o texto e a data em

que foi inserido.

66

Figura 40 Tabela Comentário

4.3 Considerações Finais do Capítulo

Nesse capítulo foi abordado o modelo de aplicação desenvolvido, justificando sua

arquitetura e apresentando as decisões de projeto. Também foi apresentada a

modelagem do sistema utilizando os diagramas de Casos de Uso e Sequência, da UML.

Por fim, foi apresentado o modelo de entidade-relacionamento contendo a estrutura

geral e das tabelas utilizadas na aplicação.

67

5 DESENVOLVIMENTO

5.1 Comunicação

A conexão entre o cliente e o servidor é efetuada via socket. Os parâmetros para a

conexão são o IP do servidor e a porta de conexão, como exibido na Figura 41.

Figura 41 Função para a conexão entre o cliente e o servidor

Na linha 11 da Figura 41 inicia-se a função connect, que utiliza o plugin de socket

para efetuar uma conexão entre o cliente e o servidor. Na linha 12 está a chamada para a

função do plugin, ela conta com quatro parâmetros. O primeiro é a função que será

chamada caso a conexão seja estabelecida com sucesso. O segundo representa a função

que deverá ser chamada caso haja algum erro durante a conexão. O terceiro é o IP do

servidor. Por fim, o quarto é a porta de conexão, neste caso, a porta 52000.

5.1.1 Protocolo

Ao optar pelo desenvolvimento de uma aplicação híbrida, foi necessário identificar

uma maneira de comunicação entre o cliente e o servidor que fosse efetiva e

independente de plataforma. Desta forma, foi criado um protocolo de comunicação

baseado em base64 e XML.

5.1.1.1 Base64

Base64 é um método frequentemente utilizado quando existe a necessidade de

transferir e armazenar dados binários para um dispositivo designado para trabalhar com

dados textuais (HATAE, 2012). Sendo assim, utilizar base64 é a forma mais prática de

realizar a transferência de arquivos de modo independente, ou seja, sem utilizar recursos

da linguagem nativa do dispositivo.

5.1.1.2 XML

O XML é um formato para representação de documentos em computador criado

pelo W3C. Seu princípio é muito simples, qualquer um pode inventar marcações que,

por sua vez, adicionam semântica a um texto (ALMEIDA, 2002). A linguagem XML

68

consolidou-se rapidamente como um padrão universal para troca de informações na

web, sendo amplamente utilizado em conjunto com o base64.

5.1.1.3 Funcionamento

Tanto o cliente, quanto o servidor se comunicam de forma semelhante. O cliente é

capaz de formatar arquivos XML e codificá-los em base64 e também de receber

arquivos codificados e lê-los, assim como o servidor. Sendo assim, quando o cliente

deseja realizar uma requisição ao servidor, a aplicação irá formatar a requisição em um

arquivo XML, posteriormente codificá-la em base64 e enviar ao servidor, como mostra

a Figura 42.

Figura 42 Comunicação cliente-servidor

O servidor, por sua vez, recebe o arquivo codificado, descodifica-o e realiza a leitura

do XML, verificando qual ação deve ser realizada.

5.1.1.4 Cliente

No cliente a função Realizar Requisição é a responsável por formatar o arquivo

XML que deverá ser enviado ao servidor. Como exibido na linha 123 da Figura 43, a

função recebe três parâmetros. O primeiro é o objeto com os valores a serem enviados

ao servidor, o segundo é a tabela que receberá a consulta e o terceiro é o tipo de

consulta que deverá ser realizada, ou seja, nos padrões SQL, os subconjuntos DML e

DQL, respectivamente Linguagem de Manipulação de Dados e Linguagem de Consulta

de Dados, esses subconjuntos englobam os comandos de seleção, inserção, alteração e

remoção de dados do banco.

Ainda na Figura 43, o XML é formatado entre as linhas 124 e 135. Sendo que, há

uma estrutura de repetição entre as linhas 129 e 131, essa estrutura é responsável por

inserir no XML os dados que serão enviados ao servidor.

69

Figura 43 Realizar Requisição, função javascript que cria o arquivo XML e o envia em base 64 para o servidor

O arquivo formatado pela função Realizar Requisição ficará estruturado de forma

semelhante ao arquivo exibido na Figura 44. Podemos ver na linha 2 que o arquivo em

questão é uma inserção. Já na linha 3 se encontra a tabela que irá receber a consulta,

neste caso, a tabela Incidente. Entre as linhas 5 e 13 estão os valores do incidente que

está sendo inserido na tabela.

Figura 44 Arquivo XML após receber os dados na função Realizar Requisição

Por fim, o arquivo exibido na Figura 44 será criptografado (linha 136 da Figura 44)

e enviado ao servidor (linha 137 da Figura 44).

5.1.1.5 Servidor

No servidor, primeiramente é utilizada uma estrutura que define o protocolo (linha 4

da Figura 45) utilizado na troca de informações com o cliente. A estrutura contém

variáveis relativas aos dados que fazem parte do incidente (entre as linhas 7 e 20 da

Figura).

70

Figura 45 Estrutura que define o protocolo utilizado na troca de informação de incidentes

A função xmlencode (Figura 46) é responsável por converter dados recebidos

anteriormente do banco de dados e estruturados pelo tipo ―packet‖ (definido na Figura

anterior), em um arquivo XML.

Esta função recebe como parâmetros, uma estrutura contendo os dados do incidente

e um valor inteiro que informa a quantidade de dados que foram recebidos. Inicialmente

a função irá estruturar o XML definindo o elemento raiz e elementos ―pai‖ e seus

respectivos ―filhos‖. Posteriormente, um laço de repetição começa a extrair as

informações da estrutura (entre as linhas 35 e 59 da Figura 46), referentes ao primeiro

parâmetro, e as organiza como foram definidos no laço. Após toda a informação ser

anexada ao arquivo, a função salva o XML em disco para um acesso posterior e retorna

0 para informar o sucesso da operação.

Figura 46 Função de conversão de dados

71

A função xmldecode (linha 67 da Figura) é responsável por extrair informações

recebidas de um arquivo XML e organiza-las em uma estrutura.

Esta função recebe como parâmetro um ponteiro que aponta para o arquivo XML

que se deseja obter os dados. Inicialmente a função realiza a leitura do arquivo recebido

e analisa o elemento raiz para verificar o que é desejado (entre as linhas 92 e 95 da

Figura 47).

Figura 47 Função responsável pela extração de informações do arquivo XML

A partir da linha 178 da Figura, um laço de repetição atribui às informações

extraídas de cada tag do arquivo XML em suas respectivas posições na estrutura (Figura

48).

Figura 48 Laço para receber as informações extraídas de cada tag do arquivo XML

Ao final da leitura a função retorna uma estrutura com todos elementos encontrados

no arquivo XML (Figura 49).

72

Figura 49 Retorno com atribuições realizadas na função

5.2 Funcionalidades

Nessa seção estão os códigos fonte das principais funcionalidades da aplicação

cliente. Os trechos de códigos são explicados utilizando como base a numeração das

linhas de código.

5.2.1 Solicitação de incidentes ao servidor

Como previamente descrito, a solicitação de incidentes ao servidor ocorre de duas

formas: quando o usuário inicializa a aplicação e durante a navegação do caso de uso

Explorar mapa. A requisição de incidentes é baseada na localização do dispositivo, no

caso da inicialização da aplicação, ou no centro do mapa, no caso da navegação no caso

de uso Explorar mapa.

Ao receber a solicitação de incidentes, o servidor realiza uma busca no banco de

dados utilizando como parâmetros de seleção as coordenadas recebidas no XML (linhas

52 e 53 da Figura 50).

Figura 50 Função JavaScript que realiza a requisição de incidentes

5.2.2 Relatar incidente

Descrito anteriormente no caso de uso Relatar Incidente, o relato de incidentes é

representado pela função inserir Incidente da Figura. A função insere os valores

fornecidos pelo usuário em um objeto (entre as linhas 145 e 151). Logo após, é

verificado se o usuário adicionou alguma imagem ao incidente (entre as linhas 152 e

154). Por fim, os dados são validados (entre as linhas 155 e 157) e enviados ao servidor,

73

se houver algum erro nas informações fornecidas pelo usuário, como a falta de título, a

aplicação irá notificar o usuário (entre as linhas 157 e 159 da Figura 51).

Figura 51 Função JavaScript para relatar incidentes

5.3 Considerações Finais do Capítulo

Nesse capítulo foi apresentado o protocolo de comunicação e as tecnologias que o

compõem. Foram apresentados também os principais trechos de código que criam e

interpretam este protocolo. Por fim, foi apresentado trechos de código das principais

funcionalidades da aplicação.

74

6 RESULTADOS

Neste capítulo será abordado a interface das funcionalidades descritas no capítulo

anterior, assim como os resultados obtidos ao utilizá-las.

6.1 Interface

A estrutura da aplicação consiste em quatro componentes básicos. A navegação

entre esses componentes é realizada através de um menu (Figura 52), localizados na

parte inferior de todos os componentes da aplicação.

Figura 52 Componentes da interface cliente, da esquerda para a direita: Inicial, Explorar Incidentes, Inserir

Incidente, Meus Dados. O botão em verde representa o componente ativo na tela do usuário.

A seguir são disponibilizadas informações referentes aos componentes da aplicação

cliente.

6.1.1 Visualizar incidentes

A aplicação permite que os incidentes sejam visualizados em duas formas: através

de uma listagem e através do mapa. Sendo que, a visualização de incidentes no modo

listagem, interface inicial da aplicação, facilita a visualização de todas as informações

disponibilizadas pelo usuário que inseriu o incidente. Por outro lado, a visualização no

mapa exibe, inicialmente, somente o marcador de categoria do incidente, sendo possível

visualizar maiores informações do incidente ao pressionar seu respectivo marcador.

75

Figura 53 Interfaces para visualização de incidentes (a) Interface inicial da aplicação (b) Interface Explorar

Mapa

Ao acessar as interfaces de visualização de incidentes, o usuário poderá iniciar os

casos de uso que são extensões de Visualizar Incidente. A seguir serão listadas as

interfaces referentes a esses casos de uso.

6.1.1.1 Resolver Incidente

Ao pressionar a opção Resolver Incidente, uma pequena janela é aberta no centro da

tela do usuário. Como mostra a Figura 54, a tela contém um título e um campo de

entrada de texto. Nesse campo são solicitadas informações adicionais referentes à

resolução do incidente.

Figura 54 Interface de resolução de incidente

76

6.1.1.2 Apoiar Incidente

A interface Apoiar Incidente é representada por uma pequena janela que se abrirá no

centro da tela toda vez que o usuário apoiar determinado incidente. Para apoiar um

incidente o usuário deve pressionar o botão representado por um coração, localizado na

parte inferior do incidente. Como é possível ver na Figura 55, é exibida ao usuário uma

mensagem de confirmação.

Figura 55 Interface Apoiar Incidente

6.1.1.3 Comentar incidente

A interface de comentários é ativada ao ser pressionado o texto Ver comentários na

interface Visualizar Incidentes. Os comentários são realizados por qualquer usuário da

aplicação e são listados na parte inferior do incidente, como mostra a Figura 56.

Figura 56 Interface de comentários

77

6.1.2 Relatar incidente

Para relatar um incidente, o usuário deverá preencher os campos de texto

disponibilizados na interface (Figura 57). O usuário poderá verificar a sua posição mapa

disponível na tela. Caso a posição indicada pelo dispositivo não esteja correta, o usuário

poderá mudar a posição do marcador, indicando o local do incidente. Ao pressionar o

botão Foto do Incidente, a câmera do dispositivo será solicitada e o usuário poderá

enviar uma imagem do incidente.

Figura 57 Interface para inserir incidente

Ao preencher todas as informações solicitadas, o usuário deverá pressionar o botão

Enviar.

Figura 58 Interface para inserir incidente após a submissão do incidente. (a) Interface de envio de incidente.

(b) Interface de confirmação do envio de incidente.

Após o envio do incidente, por parte da aplicação (Figura 58(a)), o servidor irá

receber os dados e retornar uma mensagem de confirmação (Figura 58 (b)).

78

6.1.3 Meus dados

Ao instalar a aplicação, o usuário automaticamente terá seu identificador único

baseado no identificador do seu dispositivo. Embora não haja obrigatoriedade em

informar dados pessoais, é possível preencher os campos na interface Meus Dados,

como mostra a Figura 59, a aplicação solicita somente informações básicas ao usuário.

Figura 59 Interface Meus dados, a tela apresenta campos de preenchimento facultativo ao usuário

6.2 Comunicação cliente servidor

A comunicação cliente-servidor é realizada em diferentes processos da aplicação. A

quantidade de informação transferida em cada um desses processos apresenta diferentes

tamanhos. O número de conexões necessárias para a execução desses processos também

apresenta diferentes valores, de acordo com a sua complexidade.

6.2.1 Conexões necessárias por ação

Por não ser necessária conexão constante entre a aplicação e o servidor, somente

será solicitada a conexão entre os dispositivos quando houver a necessidade de envio,

ou recebimento de informação por parte do cliente. Nessa seção é possível visualizar a

quantidade de conexões necessárias para as principais ações da aplicação.

6.2.1.1 Visualizar incidente

Na visualização de incidente, a conexão é encerrada logo após o servidor enviar o

incidente solicitado cliente.

Tabela 6 Conexões necessárias ao visualizar incidente

Quantidade de conexões Cliente Servidor

1 Solicita as informações do

incidente ao servidor.

Servidor retorna o incidente

79

solicitado.

Total: 1 conexão.

6.2.1.2 Apoiar incidente

No apoio a incidente, a conexão é encerrada no momento em que o servidor

confirma ao cliente o recebimento de sua solicitação.

Tabela 7 Conexões necessárias ao apoiar incidente

Quantidade de conexões Cliente Servidor

1 Envia uma solicitação de

apoio ao servidor.

Servidor confirma o apoio do

usuário ao incidente.

Total: 1 conexão.

6.2.1.3 Resolver incidente

No processo de resolução de incidente, a conexão é encerrada no momento em que o

servidor envia ao cliente a confirmação da inserção da resolução do incidente no banco

de dados.

Tabela 8 Conexões necessárias para resolver incidente

Quantidade de conexões Cliente Servidor

1 Envia ao usuário as

informações referentes à

resolução do incidente.

Servidor confirma o

recebimento da resolução.

Total: 1 conexão.

6.2.1.4 Comentar incidente

Tabela 9 Conexões necessárias para comentar incidente

Quantidade de conexões Cliente Servidor

1 Envia os dados do comentário

ao servidor.

Servidor confirma o

recebimento do comentário.

Total: 1 conexão.

6.2.1.5 Reportar incidente

Tabela 10 Conexões necessárias para reportar incidentes

Quantidade de conexões Cliente Servidor

1 Envia as informações

80

referentes ao incidente a ser

reportado na aplicação.

Servidor confirma o

recebimento do incidente,

exibindo uma mensagem ao

usuário.

Total: 1 conexão.

6.2.1.6 Meus dados

Tabela 11 Conexões necessárias para inserir/alterar dados pessoais

Quantidade de conexões Cliente Servidor

1 Envia os dados pessoais ao

servidor.

Servidor recebe os dados do

usuário e os atualiza no banco

de dados.

Total: 1 conexão.

6.3 Considerações Finais do Capítulo

Nesse capítulo foi apresentada a interface da aplicação cliente, com imagens e

descrição de cada funcionalidade presente no aplicativo. Foi mostrado também o

número de conexões necessárias para efetuar cada ação dentro do aplicativo.

81

7 CONCLUSÕES

O presente trabalho apresentou uma revisão bibliográfica a respeito de diversos tipos

de incidentes ambientais. Também foram apresentadas as tecnologias móveis

disponíveis atualmente, métodos de desenvolvimento e trabalhos que incentivam a

participação da população em prol do meio ambiente. Entretanto, neste trabalho optou-

se pela criação de uma ferramenta independente e com foco definido em incidentes

ambientais, algo inexistente no mercado atual de aplicações móveis, a qual irá fornecer

um meio para que qualquer cidadão possa relatar incidentes ambientais que ocorram a

sua volta.

Embora a aplicação ainda não tenha sido disponibilizada no Google Play, serviço de

hospedagem de aplicativos da Google, ela é capaz de fornecer os serviços para a qual

foi projetada. O servidor está armazenado na FURG e disponível para acesso externo. A

aplicação cliente pode ser instalada em dispositivos com o sistema operacional Android

e é capaz de inserir e visualizar incidentes ambientais, satisfazendo assim, o objetivo

geral dessa dissertação.

Somente após um breve período de utilização posterior ao seu lançamento poderão

ser realizados estudos quanto à efetividade da aplicação. Porém, tendo como base as

aplicações citadas no capítulo 3, é possível assumir que a aplicação poderá contar com o

apoio popular e contribuir para o reporte de incidentes ambientais.

7.1 Dificuldades Encontradas

As principais dificuldades encontradas no projeto estão relacionadas à volatilidade

das tecnologias envolvidas e também a pobre documentação da rede 3G.

7.1.1 Volatilidade da área de dispositivos móveis

A área de dispositivos móveis é extremamente volátil. No primeiro semestre de

2013, período no qual o projeto estava sendo idealizado, pouco se falava em

frameworks para aplicações híbridas. A partir disso, a aplicação seria nativa para o

sistema operacional Android. Porém, muitas inovações surgiram ao passar destes três

semestres, o estado da arte mudou e novas ferramentas tornaram possível o

desenvolvimento de uma aplicação híbrida com funcionamento e estrutura de uma

aplicação nativa.

Para que o projeto estivesse o mais próximo do estado da arte possível ao ser

finalizada a dissertação, foi descartado o projeto desenvolvido em Java, linguagem

nativa do Android, e foi iniciado um novo projeto utilizando o framework Phonegap.

82

7.1.2 Rede 3G

A falta de documentação relacionada ao bloqueio de portas para a utilização da rede

3G foi um fator que gerou complicações na fase de desenvolvimento da aplicação. Por

estar localizado dentro de uma universidade, o servidor estava utilizando a rede da

universidade e limitado a acesso interno. Visto que, a universidade utiliza um proxy e

impõe limites ao acesso externo. Desta forma, só foi detectado que havia bloqueios em

relação ao uso de socket na rede 3G na fase de ajustes da aplicação.

Sendo necessária a troca de tecnologia em uma fase na qual o desenvolvimento já

estava avançado.

7.2 Perspectiva de Continuidade

Após a finalização da dissertação, o projeto estará em contínuo progresso, com

novas atualizações e funcionalidades. Desta maneira, passando a agregar mais

possibilidades.

7.2.1 Substituição do Socket

Substituir a utilização de socket por outra tecnologia para efetuar a comunicação. No

Brasil, assim como em outros países, há bloqueios e limitações na utilização da rede 3G.

Desta forma, a utilização de sockets para a conexão entre cliente e servidor fica limitado

a rede WiFi.

7.2.1.1 WebSocket

O WebSocket possibilita a comunicação constante entre o cliente e o servidor,

funcionando de maneira semelhante ao Socket. Websocket foi desenvolvido para ser

utilizado em navegadores web e servidores web, mas pode ser usado por qualquer

cliente ou aplicação servidor. O protocolo Websocket é um protocolo independente

baseado em TCP.

WebSocket é compatível com dispositivos móveis e Phonegap. Desta forma, pode

ser utilizado para contornar a impossibilidade de uso do Socket na rede 3G. Já que, por

ter sido desenvolvido para a web, o WebSocket não tem limitações para o seu uso na

rede 3G.

A substituição do Socket por WebSocket está sendo realizada e estará concluída em

data posterior a defesa dessa dissertação.

7.2.2 Aplicação cliente em outros sistemas operacionais

Por ter sido desenvolvido utilizando o framework Phonegap, a aplicação cliente

pode ser rapidamente adaptada para outros sistemas operacionais, como Windows

Phone.

7.2.3 Aperfeiçoamento da aplicação servidor

A aplicação servidor realiza alterações e buscas no banco de dados baseado em um

protocolo. Sendo assim, é possível alterá-la para que ele trabalhe como um web service.

Fornecendo incidentes para outras aplicações que operem de acordo com o protocolo.

Isso permitirá que órgãos ambientais, agências reguladoras e outras entidades

83

interessadas possam utilizar informações geradas diretamente do banco de dados

hospedado no servidor.

7.2.4 Adição de filtros e funções administrativas

Adicionar filtros de interesse aliados a funções exclusivas para órgãos e agências

reguladoras oferecerá a essas entidades melhor controle para o conteúdo inserido na

aplicação.

7.3 Publicações Realizadas

O artigo AMBCARE – MONITORAMENTO, INFORMAÇÃO E

CONSCIENTIZAÇÃO AMBIENTAL A NÍVEL SOCIAL foi aprovado no

NAVCOMP - II Simpósio em Computação e Automação para Indústria Naval e

Offshore realizado no Centro Integrado de Desenvolvimento do Ecossistema Costeiro e

Oceânico - CIDEC-SUL durante a Feira do Polo Naval RS que ocorreu em Rio Grande

– 11 a 13 de março de 2014.

7.3.1 Submissões Previstas

Serão realizadas submissões nas áreas de tecnologia da informação, engenharia de

software e meio ambiente. Com a versão inicial da aplicação publicada, será possível

submeter artigos com grande conteúdo técnico a respeito do desenvolvimento da

aplicação.

REFERÊNCIAS

ALENCAR, Ane et al (2004). Desmatamento na Amazônia: indo além da"

emergência crônica".

AMARAL, Ântonia. Conservação da biodiversidade marinha e costeira no Brasil.

Disponível em

<http://www.conservation.org.br/publicacoes/megadiversidade/08_Amaral_Jablonski.p

df>. Acesso em 11/09/2014.

ALMEIDA, Maurício. Uma introdução ao XML, sua utilização na Internet e alguns

conceitos complementares. Disponível em: <http://www.scielo.br/pdf/ci/v31n2/12903>.

Acesso em: 25/02/2015.

AGUIAR, Giseli. Uso das Ferramentas de Redes Sociais em Bibliotecas

Universitárias: Um Estudo Exploratório na UNESP. Disponível em: <

http://www.teses.usp.br/teses/disponiveis/27/27151/tde-03122012-160409/pt-br.php>.

Acesso em: 31/07/2014.

BERNARDI, J.V.E. & LANDIM, P.M.B. Aplicação do Sistema de Posicionamento

Global (GPS) na coleta de dados. DGA, IGCE, UNESP/Rio Claro, Lab.

Geomatemática, Texto Didático 10, 31 pp. 2002. Disponível em

<http://www.rc.unesp.br/igce/aplicada/textodi.html>. Acesso em: 10/02/2014.

BING MAPS. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/w/index.php?title=Bing_Maps&oldid=39224914>. Acesso em:

11/02/2014.

BRILHANTE, Marcelo Medeiros. Incêndios florestais no Parque Nacional da Serra

da Canastra: desafios para a conservação da biodiversidade. Disponível em:

<http://www.redalyc.org/articulo.oa?id=53414215>. Acesso em: 03/09/2014.

CLARK, John. Sencha Touch 2 Mobile JavaScript Framework. Disponível em:

<https://books.google.com.br/books?id=LoQtAgAAQBAJ&dq=Sencha+Touch&lr=&s

ource=gbs_navlinks_s>. Acesso em: 15/01/2015. 2013.

COMPARISON OF WEB MAP SERVICES. In: Wikipédia: a enciclopédia livre.

Disponível em: <http://en.wikipedia.org/wiki/Comparison_of_web_map_services>.

Acesso em: 11/09/2014.

COLAB. In: Colab. Disponível em: < http://colab.re/>. Acesso em: 11/02/2014.

CONSTANDACHE, Ionut. EnLoc: Energy-Efficient Localization for Mobile

Phones. Disponível em

<http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5062218>. Acesso em:

12/09/2014.

CORREA, Adolfo. Aplicações e Serviços Baseados em Localização. Disponível em:

<http://www-di.inf.puc-rio.br/~endler/courses/Mobile/Monografias/04/AdolfoCorreia-

Mono.pdf>. Acesso em: 06/08/2014.

COSTA, Carlos. Desenvolvimento de aplicativo móvel do serviço web patrool.com

utilizando a tecnologia appcelerator titanium. Disponível em:

<http://repositorio.roca.utfpr.edu.br/jspui/bitstream/1/876/1/CT_JAVA_VII_2012_02.P

DF>. Acesso em: 15/01/2015.

EMERGÊNCIA AMBIENTAL. In: Fepam. Disponível em:

<http://www.fepam.rs.gov.br/emergencia/emergencia.asp>. Acesso em: 09/08/2014.

FAGUNDES, Leonardo. Técnicas de Localização de Dispositivos Móveis em Redes

WiFi - TDOA. Disponível em

<http://www.lume.ufrgs.br/bitstream/handle/10183/15975/000695266.pdf?sequence=1>

Acesso em: 12/09/2014.

FALE CONOSCO. In: IAP. Disponível em:

<http://www.iap.pr.gov.br/modules/conteudo/conteudo.php?conteudo=1085>. Acesso

em: 09/08/2014.

FREITAS, Carlos. Acidentes Químicos ampliados: um desafio para a saúde pública

Disponível em <http://www.scielo.br/pdf/rsp/v29n6/12.pdf>. Acesso em 11 set 2014.

FERREIRA, Carlos. Acidentes Químicos ampliados: um desafio para a saúde

pública. Disponível em <http://www.scielo.br/scielo.php?pid=S0102-

88392003000200008&script=sci_arttext&tlng=es>. Acesso em 11/09/2014.

FEARNSIDE, Philip. Desmatamento na Amazônia brasileira: história, índices e

consequencias. Disponível em

<http://www.mstemdados.org/sites/default/files/Desmatamento%20na%20Amazonia%2

0brasileira,%20historia,%20indices%20e%20consequencias%20-

%20Philip%20Fearnside%20-%202005.pdf>. Acesso em 10 set 2014.

FERNANDES, Ana. Estudo comparativo entre Interfaces de Programação de

Aplicações de mapas. Disponível em <http://run.unl.pt/handle/10362/8475>. Acesso em

26/02/2015.

FIGUEIREDO, C. Computação Móvel: Novas oportunidades e novos desafios,

2005. Disponível em: <http://profjefer.files.wordpress.com/2013/02/ed02_04-

copy.pdf>. Acesso em: 03/01/2014.

GAVAZONI, Vinicius. Benefícios e dificuldades do uso de CSS para criação de

websites. Disponível em

<http://ainfo.cnptia.embrapa.br/digital/bitstream/item/99002/1/beneficios.pdf>. Acesso

em 26/02/2015.

GOOGLE MAPS. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/w/index.php?title=Google_Maps&oldid=39656445>. Acesso

em: 06/08/2014.

HARTMANN, Gustavo. Cross-platform mobile development. Disponível em:

<https://wss.apan.org/jko/mole/Shared%20Documents/Cross-

Platform%20Mobile%20Development.pdf>. Acesso em: 16/02/2015.

HATAE, Ricardo. Repositório de Arquivos Online utilizando Web Services.

Disponível em:

<http://dflpsistemas.googlecode.com/svn/trunk/Documentos/materiais_tcc/TCC_1Seme

stre/001%20-%20TCC%20Corrigido%20Ricardo%20Hatae.pdf>. Acesso em:

08/02/2015.

HISTORY OF IOS. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://en.wikipedia.org/w/index.php?title=History_of_iOS&oldid=619846426>.

Acesso em: 09/08/2014.

IOS. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/w/index.php?title=IOS&oldid=39739886>. Acesso em:

09/08/2014.

ISO 14000. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://en.wikipedia.org/w/index.php?title=ISO_14000&oldid=618475275>. Acesso

em: 09/09/2014.

ITOPF. 2011. Oil Tanker Spill Statistcs. International Tanker Owners Pollution

Federation Limited, London, UK. 12 p.

JACOBI, Pedro. Educação ambiental, cidadania e sustentabilidade. Disponível em

<http://www.scielo.br/pdf/cp/n118/16834.pdf>. Acesso em: 10/09/2014.

JEAN-PAUL, Lanly. Deforestation and forest degradation factors. Disponível em:

<http://www.fao.org/docrep/article/wfc/xii/ms12a-e.htm>. Acesso em: 09/09/2014.

KAUR, Parmjit & SHARMA, Sumit. Google Android a Mobile Platform: A

Review. Disponível em

<http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6799598>. Acesso em:

03/07/2014.

KLIEMANN, Jose. Modelagem de uma API para serviços baseados em localização

integrada com APIs de localização, o middleware EXEHDA e GIS. Disponível em

<http://saloon.inf.ufrgs.br/twiki/viewfile/Docs/OnlineDoc20060817225008?rev=1;filen

ame=Monografia_Jos%E9_Marcelo_Kliemann.pdf>. Acesso em: 12/09/2014.

KROSKI, E. The social tools of Web 2.0: opportunities for academic libraries.

Choice, v. 44, n. 12, p. 2011-2021, 08/2007.

KRUMM, J. (2009). Ubiquitous Computing Fundamentals. Chapman & Hall/CRC,

1st ed.

KUMAR, Sandeep. Location Based Services using Android (SBLOID). Disponível

em: <http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5439442>. Acesso

em: 31/07/2014.

LECHETA, R. R. Google Android: aprenda a criar aplicações para dispositivos

móveis com o Android SDK. 2. Ed. São Paulo: Novatec, 2010.

LOUREIRO, Antonio Alfredo Ferreira. Introdução à computação móvel. Disponível

em <http://homepages.dcc.ufmg.br/~loureiro/cm/docs/cm_livro_1e.pdf>. Acesso em:

24/03/2014

LOCATION STRATEGIES. In: Android. Disponível em: <

http://developer.android.com/guide/topics/location/strategies.html>. Acesso em:

12/09/2014.

LUNNY, Andrew. PhoneGap Beginner's Guide. Disponível em:

<http://books.google.com.br/books?id=ZIiyePSgxW4C&printsec=frontcover#v=onepag

e&q&f=false>. Acesso em: 15/01/2015.

MAGRI, João Alexandre. Criando e Usando Web Service. Disponível em

<http://www.fics.edu.br/index.php/augusto_guzzo/article/view/160/232>. Acesso em

26/02/2015.

MAHMOUD, Qusay H. J2ME and location-based services. Disponível em:

<http://www.oracle.com/technetwork/systems/location-156846.html>. Acesso em:

19/07/2014.

MANCHAS ÓRFÃS. In: CETESB: Companhia Ambiental do Estado de São Paulo.

Disponível em: <http://www.cetesb.sp.gov.br/gerenciamento-de-

riscos/Vazamento%20de%20Oleo/211-Manchas%20%C3%93rf%C3%A3s>. Acesso

em: 04/09/2014.

MARGULIS, Sergio. Causas do Desmatamento da Amazônia Brasileira. Disponível

em: <http://siteresources.worldbank.org/BRAZILINPOREXTN/Resources/3817166-

1185895645304/4044168-

1185895685298/010CausasDesmatamentoAmazoniaBrasileira.pdf> Acesso em:

03/09/2014.

MARTINHO, Vivian. . Disponível em <http://www.prh27.log.furg.br/site/wp-

content/files_mf/1298315558Monografia_Vivian_ELISA1.pdf>. Acesso em:

05/09/2014.

MOUTINHO, Paulo. Desmatamento na Amazônia: desafios para reduzir as

emissões de gases de efeito estufa no Brasil. Disponível em

<http://www.fbds.org.br/IMG/pdf/doc-411.pdf>. Acesso em: 04/09/2014.

MORIMOTO, E. C. Uma Introdução ao GPS. Disponível em

<http://www.hardware.com.br/artigos/gps/>. Acesso em: 11/02/2014.

O’REILLY, T. What is Web 2.0: design patterns and business models for the next

generation of software. Sebastopol, CA: O’Reilly Media, 2005. Disponível em:

<http://oreilly.com/web2/archive/what-is-web-20.html>. Acesso em: 13/12/2013.

OSHIN, Thomas. A Method to Evaluate the Energy-Efficiency of Wide-Area

Location Determination Techniques Used by Smartphones. Disponível em

<http://www.eecs.qmul.ac.uk/~athen/Site/Publications_files/06417311.pdf>. Acesso

em: 12/09/2014.

O QUE É. In: Fatma. Disponível em: <http://www.fatma.sc.gov.br/conteudo/o-que-

e>. Acesso em: 09/08/2014.

RESOLUÇÃO CONAMA Nº306. In: Ministério do Meio Ambiente. Disponível em:

<http://www.mma.gov.br/port/conama/legiabre.cfm?codlegi=306>. Acesso em:

09/09/2014.

SANTANCHÈ, André. Desenvolvimento Independente de Plataforma para

Dispositivos Móveis usando Tecnologia Web. Disponível em:

<https://archive.org/stream/desenvolvimento-dispositivos-moveis-

web/desenvolvimento-dispositivos-moveis-web_jai2013_djvu.txt>. Acesso em:

14/09/2014.

SMARTPHONE. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/w/index.php?title=Smartphone&oldid=39677423>. Acesso em:

11/02/2014.

SILVA, Thiago. Uma Fotografia do Instagram: Caracterização e Aplicação.

Disponível em: < http://ce-resd.facom.ufms.br/sbrc/2013/artigo-32.pdf >. Acesso em:

08/09/2014.

SILVA, Maurício. JQuery, A Biblioteca do Programador JavaScript. Disponível em

<http://186.202.25.177/livros/jquery3ed/capitulo9788575223871.pdf>. Acesso em

26/02/2015.

TANGERINO, EF; Siqueira de Carvalho M. O tráfico de animais silvestres no

Estado do Paraná. Acta Scientiarum. Human and Social Sciences 200628257-266.

Disponível em: http://www.redalyc.org/articulo.oa?id=307324782008. Acesso em:

12/09/2014

TABLET. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/w/index.php?title=Tablet&oldid=38421836>. Acesso em:

11/02/2014.

TAPSCOTT, D. A hora da geração digital: como os jovens que cresceram usando a

internet estão mudando tudo, das empresas aos governos. Rio de Janeiro: Agir

Negócios, 2010.

TOLEDO, Jan. Desenvolvimento em Smartphones – Aplicativos Nativos e Web.

Disponível em

<http://www.cpgls.ucg.br/7mostra/Artigos/AGRARIAS%20EXATAS%20E%20DA%2

0TERRA/Desenvolvimento%20em%20Smartphones%20-

%20Aplicativos%20Nativos%20e%20Web.pdf>. Acesso em: 14/09/2014.

VARASCHIN, Alexandre. HTML5 e o Futuro das Ferramentas para Internet Rica.

Disponível em <http://revista-

fatecjd.com.br/retc/index.php/RETC/article/view/138/pdf>. Acesso em 26/02/2015.

VERKASALO, Hannu. Analysis of users and non-users of smartphone applications.

Disponível em

<http://www.sciencedirect.com/science/article/pii/S0736585309000793>. Acesso em:

12/09/2014.

ZUCATO, Fabio. Rede ZigBee gerenciada por sistema de monitoramento remoto

utilizando TCP/IP e GPRS. Disponível em

<http://www.teses.usp.br/teses/disponiveis/18/18155/tde-03022010-095135/en.php>.

Acesso em: 11/02/2014.

WEB MAP SERVICE. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://pt.wikipedia.org/w/index.php?title=Web_Map_Service&oldid=36079028>.

Acesso em 06/08/2014.

WILLIAMS, Michael. Dark ages and dark areas: global deforestation in the deep

past. Disponível em: <http://geography.fullerton.edu/taylor/enst595t/darkages.pdf>.

Acesso em: 09/09/2014.

WINDOWS PHONE. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://en.wikipedia.org/w/index.php?title=Windows_Phone_8.1&oldid=620489647>.

Acesso em: 09/08/2014.

WINDOWS PHONE 8.1. In: Wikipédia: a enciclopédia livre. Disponível em:

<http://en.wikipedia.org/w/index.php?title=Windows_Phone_8.1&oldid=620489647>.

Acesso em: 09/08/2014.

WARGO, John. PhoneGap Essentials: Building Cross-Platform Mobile Apps.

Disponível em:

<http://books.google.com.br/books?id=ZIiyePSgxW4C&printsec=frontcover#v=onepag

e&q&f=false>. Acesso em: 15/01/2015.

APÊNDICE A

A tabela a seguir trás todos os órgãos estaduais encontrados no site do Ministério do

Meio Ambiente.

Estado Órgãos

Acre Instituto de Meio Ambiente do Acre

(Imac)

Alagoas Instituto do Meio Ambiente (Ima)

Amapá Secretaria de Estado do Meio Ambiente

(Sema)

Amazonas Instituto de Proteção Ambiental do

Amazonas (Ipaam)

Bahia Instituto do Meio Ambiente e Recursos

Hídricos (Inema)

Ceará Superintendência Estadual do Meio

Ambiente (Semace)

Distrito Federal Instituto Brasília Ambiental (Ibram)

Espírito Santo Secretaria de Estado de Meio Ambiente e

de Recursos Hídricos (Seama)

Instituto Estadual de Meio Ambiente

(Iema)

Goiás Agência Goiana do Meio Ambiente

(Agma)

Maranhão Governo do Estado do Maranhão

Mato Grosso Secretaria de Estado do Meio Ambiente

(Sema)

Mato Grosso do Sul Secretaria de Estado de Meio Ambiente e

Recursos Hídricos (Sema)

Minas Gerais Fundação Estadual do Meio Ambiente

(Feam)

Pará Secretaria Executiva de Ciência,

Tecnologia e Meio Ambiente (Sectam)

Paraiba Superintendência do Meio Ambiente

(Sudema)

Paraná Instituto Ambiental do Paraná (Iap)

Pernambuco Agência Estadual de Meio Ambiente e

Recursos Hídricos (CPRH)

Piauí Secretaria do Meio Ambiente e Recursos

Hídricos (Semar)

Rio de Janeiro Instituto Estadual do Ambiente (Inea)

Rio Grande do Norte Instituto de Desenvolvimento Econômico

e Meio Ambiente do RN (Idema)

Rio Grande do Sul Fundação Estadual de Proteção Ambiental

Henrique Luis Roessler (Fepam)

Rondônia Secretaria de Estado do Desenvolvimento

Ambiental (Sedam)

Roraima Fundação Estadual de Meio Ambiente

Ciência e Tecnologia (Femact)

Santa Catarina Fundação do Meio Ambiente (Fatma)

São Paulo Secretaria de Estado de Meio Ambiente

(Sema)

Companhia de Tecnologia de Saneamento

Ambiental (Cetesb)

Departamento de Avaliação de

Impacto Ambiental (Daia)

Sergipe Administração Estadual do Meio

Ambiente (Adema)

Tocantins Instituto Natureza do Estado do Tocantins

(Naturatins)