Professional Documents
Culture Documents
MARCOS BUSANA
BLUMENAU
2011
2011/2-20
MARCOS BUSANA
BLUMENAU
2011
2011/2-20
Por
MARCOS BUSANA
Presidente:
______________________________________________________
Prof. Mauro Marcelo Mattos, Doutor Orientador, FURB
Membro:
______________________________________________________
Prof. Francisco Adell Pricas, Mestre FURB
Membro:
______________________________________________________
Prof. Dalton Solano dos Reis, Mestre FURB
AGRADECIMENTOS
Aos meus pais, Nelson e Luzia, que sempre me apoiaram e estiveram presentes nos
meus estudos e que esto muito felizes e orgulhosos com essa conquista.
Ao meu orientador, Mauro, por ter acreditado na proposta e na minha capacidade de
concluir este trabalho.
Aos meus familiares e amigos, pela ajuda e o apoio.
A Edusoft Tecnologia Ltda. e seus funcionrios que me apoiaram e incentivaram
durante a graduao.
Ao colegiado do curso de Sistemas de Informao da FURB, pelo aprendizado
adquirido durante a minha graduao.
RESUMO
Este trabalho apresenta um aplicativo para realizar coleta de dados em ambiente Android. O
aplicativo permite a criao, aplicao de formulrios e visualizao dados coletados. Alm
disso, foi disponibilizada a integrao com o software LimeSurvey de tal forma que possvel
importar formulrios deste aplicativo e exportar os dados coletados para o mesmo. Para o
desenvolvimento do aplicativo foi utilizada a linguagem PHP e XML para a persistncia dos
dados. O aplicativo utiliza o scripting layer for android e o PHP for android. O aplicativo foi
validado em um tablet de 7 com android 2.2.3.
Palavras-chave: Android. Coleta de dados. Criador de formulrio, Pesquisa de mercado.
ABSTRACT
This work describes an application to perform data collection in Android environment using
tablets. The application enables the creation, application forms in field and view collected
data in the mobile device. Furthermore, the integration was performed with the software
LimeSurvey so that you can import forms from LimeSurvey to mobile device and to export
collected data to LimeSurvey. The application was developed using PHP with SL4A
(scripting layer for android) and XML for data persistence. The application was validated on a
tablet 7 " with android 2.2.3.
Key-words: Android. Data collection. Form Designer. Market Research.
LISTA DE SIGLAS
SUMRIO
1 INTRODUO .................................................................................................................. 13
1.1 OBJETIVOS DO TRABALHO ......................................................................................... 14
1.2 ESTRUTURA DO TRABALHO ....................................................................................... 14
2 FUNDAMENTAO TERICA .................................................................................... 15
2.1 ANDROID .......................................................................................................................... 15
2.1.1 Arquitetura Android ........................................................................................................ 16
2.2 SCRIPTING LAYER FOR ANDROID (SL4A) ................................................................ 17
2.2.1 Arquitetura do SL4A ....................................................................................................... 19
2.3 PHP FOR ANDROID (PFA).............................................................................................. 20
2.4 PESQUISAS DE MERCADO ........................................................................................... 21
2.5 TRABALHOS CORRELATOS ......................................................................................... 26
3 DESENVOLVIMENTO .................................................................................................... 29
3.1 LEVANTAMENTO DE INFORMAES ....................................................................... 29
3.2 ESPECIFICAO ............................................................................................................. 30
3.3 IMPLEMENTAO ......................................................................................................... 33
3.3.1 Tcnicas e ferramentas utilizadas .................................................................................... 33
3.3.2 Operacionalidade da implementao ............................................................................... 39
3.4 RESULTADOS E DISCUSSO ....................................................................................... 49
4 CONCLUSES .................................................................................................................. 52
4.1 EXTENSES ..................................................................................................................... 52
REFERNCIAS BIBLIOGRFICAS ................................................................................. 54
APNDICE A Detalhamento dos casos de uso ................................................................. 56
APNDICE B Dicionrio de dados.................................................................................... 59
13
1 INTRODUO
14
Hoje os celulares so o bem de consumo mais utilizado no mundo, sendo que em 2007
existiam aproximadamente 3,3 milhes de aparelhos e h uma expectativa de que em 2013
chegue a 5,6 milhes (IBGE, 2007).
Assim, a criao de um aplicativo que auxilie pesquisadores na coleta de dados por
meio de formulrios eletrnicos poder agiliza a anlise dos resultados. Dependendo da rea
de negcio onde esta pesquisa aplicada, a agilidade nos resultados pode ser um fator
determinante para o sucesso da mesma, tendo em vista a velocidade que os eventos acontecem
nos dias atuais.
15
2 FUNDAMENTAO TERICA
2.1 ANDROID
Android segundo Google (2011a), uma pilha de softwares para dispositivos mveis
que inclui um sistema operacional, um middleware e um conjunto de aplicaes chaves. Os
desenvolvedores podem criar aplicaes para a plataforma usando o Software Development
Kit (SDK). As aplicaes para essa plataforma so escritas usando a linguagem de
programao Java e executam sobre o Dalvik Virtual Machine (DVM), uma mquina virtual
prpria para dispositivos mveis com restries de recursos, como pouca capacidade
computacional, baixa capacidade de armazenamento e baterias de curta durao.
Segundo a Canalys (2011), o Android no quarto semestre de 2010 se tornou a principal
plataforma para os smartphones, atingindo 32,9 milhes de embarques em 2010, conforme
indicado na Tabela 11.
Tabela 1 - Distribuio de mercado de smartphones entre 2009 e 2010
Mercado de smartphones em todo o mundo
Nmeros do mercado no 4 semestre de 2010 e 4 semestre de 2009
4 sem.2010
4 sem. 2009
Crescimento
embarques
Participao embarques
Participao
2010/2009
OS vendidos
(milhes)
(%)
(milhes)
(%)
Google*
33,3
32,90%
4,7
8,70%
615,10%
Nokia
31
30,60%
23,9
44,40%
30%
Apple
16,2
16,00%
8,7
16,30%
85,90%
Rim
14,6
14,40%
10,7
20,00%
36%
Microsoft
3,1
3,10%
3,9
7,20%
-20,30%
Outros
3
2,90%
1,8
3,40%
64,80%
Total
101,2
100,00%
53,7
100,00%
88,60%
Fonte: traduzido de Canalys estimates, Canalys (2011).
1
Nota: os nmeros do Google nesta tabela se relacionam com o Android, bem como as variantes da plataforma da
OMS e Tapas.
16
17
garante que caso a aplicao apresente erros, ela possa ser isolada e removida da memria
sem comprometer o resto do sistema. Ao desenvolver as aplicaes em Java, a DVM compila
o bytecode (.class) e converte para o formato Dalvik Executable (.dex), que representa a
aplicao do Android compilada. Depois disso, os arquivos .dex e outros recursos do projeto
so compactados em um nico arquivo com a extenso Android Package File (.apk), que
representa a aplicao final.
A terceira camada composta por frameworks de aplicaes. Os desenvolvedores tm
acesso completo mesma interface de programao de aplicativos que usada pelas
aplicaes essenciais da plataforma. Esta camada fornece um conjunto de servios tais como
Activity Manager, que gerencia o ciclo de vida das aplicaes; Package Manager, que
mantm quais aplicaes esto instaladas no dispositivo; Windows Manager, que gerencia as
janelas das aplicaes; Telephony Manager, que so os componentes para acesso aos recursos
de telefonia; Content Providers, que permitem que as aplicaes acessem dados de outras
aplicaes ou compartilhem os seus prprios dados; Resource Manager, que fornece acesso
aos recursos grficos e arquivos de layout; View System, que um conjunto rico e extensvel
de componentes de interface do usurio; Location Manager, que gerncia a localizao do
dispositivo; Notification Manager, que permite que todas as aplicaes exibam alertas na
barra de status e XMPP Service que o suporte para o uso do protocolo eXtensible Messaging
and Presence Protocol (XMPP).
A quarta camada formada pelos aplicativos propriamente ditos e contempla aplicaes
como cliente de e-mail, programa de envio de mensagens, calendrios, mapas, navegador
web, contatos, entre outros.
O Scripting Layer for Android (SL4A) introduz o suporte a linguagens de script para o
Android, permitindo que sejam criados e interpretados scripts interativos diretamente no
aparelho com Android (Figura 2). Esses scripts tm acesso a muitas Application
Programming Interface (APIs), disponveis para aplicativos completos do Android, mas com
uma interface muito mais simples, o que facilita o trabalho dos desenvolvedores. Os scripts
podem ser executados de modo interativo em um terminal ou em segundo plano (GOOGLE,
2011c).
18
19
Conforme Ferrill (2011), em seu nvel mais baixo, SL4A essencialmente uma srie
de scripts, o que significa que como um aplicativo que hospeda intrpretes diferentes com
processos de cada um dos quais uma linguagem especfica. Se acessar o cdigo fonte SL4A
no repositrio de cdigo v-se uma cpia da rvore de origem de cada linguagem, tornando
possvel o cross-compilados para a arquitetura ARM usando o Android Native Development
Kit (NDK) e carregando uma biblioteca do SL4A para um interpretador especfico. Nesse
ponto, o script ser interpretado linha por linha.
20
De acordo com a Irontec (2010), o PHP for Android (PFA) uma extenso, que foi
criada para que dispositivos mveis com o sistema operacional Android executem aplicaes
desenvolvidas na linguagem PHP. Desta forma, as aplicaes PHP tm acesso s funes do
dispositivo, como Bluetooth e objetos GUI. O SL4A tambm oferece um ambiente de tempo
de execuo e um editor, permitindo que o PHP e outros scripts possam ser editados no
prprio aparelho. Estes scripts tm acesso a muitas das APIs disponveis para os aplicativos
do Android, apresentando uma interface extremamente simplificada (PAULO, 2010).
Os requisitos mnimos para utilizar o PFA so o suporte a Android OS 1.5 ou superior,
estar habilitada a opo de fontes desconhecidas(que estar nas configuraes no menu
aplicativos), estarem instalados o SL4A e o PFA.
Para instalar o PFA, basta acessar o site do php for android pelo celular, procurar pelo
ttulo Install PhpForAndroid.apk e realizar o download do instalador. Aps esta etapa, basta
clicar na opo instalar e o processo ser executado automaticamente. Depois de instalado
basta clicar em open e depois em install para finalizar o processo. As Figuras 5 e 6
apresentam exemplos de aplicaes que acompanham na instalao do PFA.
21
Figura 5 - Exemplo de uma tela e o cdigo fonte de uma lista feita no PFA
Figura 6 - Exemplo de uma tela e o cdigo fonte de com um campo feito no PFA
Silva (2005) diz que, a pesquisa de mercado um dos principais pontos de partida para
qualquer planejamento de marketing. Sem ela, a organizao entra no mercado s cegas. a
22
referncia para as tomadas de decises de planejamento e a base das aes de execuo das
atividades.
A pesquisa possibilita organizao reconhecer os consumidores em qualquer
mercado. Isso possvel graas ao levantamento que se faz das caractersticas pessoais como
sexo, idade, nvel de renda, etc., alm das percepes, preferncias e necessidade diferentes
dos consumidores. Essas informaes so fundamentais para o processo de marketing.
De acordo com o Honorato (2004, p.85), todas as reas de uma empresa podem se
beneficiar das informaes obtidas da pesquisa de marketing. As empresas realizam pesquisas
para identificar problemas, potenciais e participaes de mercado, tendncias, previses e
tambm para buscar a soluo de problemas, procurando facilitar o processo de avaliao de
ameaas e oportunidades requeridas no planejamento estratgico.
O processo de pesquisa de marketing envolve vrias fases. A conduo desse processo
depende da formulao do problema, ou seja, do tipo de informao esperado para o auxlio
na tomada de deciso. O design de uma pesquisa pode apresentar algumas variaes, embora
todos apresentem fundamentalmente o mesmo contedo, os quais podem ser agrupados em
situao-problema, objetivos, teoria e mtodo.
A maioria das pesquisas de marketing relaciona-se com a identificao e a definio de
oportunidades de novos negcios. Quando se identifica uma oportunidade, fundamental
conduzir uma pesquisa para poder estabelecer estratgias de maneira adequada
(HONORATO, 2004, p.92).
Ao formular um problema de pesquisa, o profissional de marketing precisa se
aprofundar nas investigaes inerentes questo, procurando estabelecer s aes necessrias
a situao, no se limitando simplesmente a sintomas da existncia de um problema.
Os objetivos so decorrentes da formulao do problema. Assim, quando o problema
claro, os objetivos tambm o so, tornando o processo de pesquisa mais rpido e preciso
(HONORATO, 2004, p.93).
A concepo da pesquisa consiste no detalhamento dos procedimentos necessrios
para obteno das informaes desejadas, tem como finalidade determinar as possveis
respostas s questes de pesquisa, proporcionando as informaes necessrias para a tomada
de decises.
As pesquisas podem ser classificadas de maneira ampla, como exploratria e
conclusiva. A pesquisa exploratria a pesquisa que tem como principal objetivo descobrir
idias, percepes, gerar hipteses mais precisas para um estudo mais aprofundado. J a
pesquisa conclusiva a pesquisa concebida para auxiliar o profissional de marketing a
23
24
25
26
27
O LimeSurvey 2.0 atualmente esta sendo desenvolvido com base no padro ModelView-Controller (MVC) e utilizando o framework CakePHP (LIMESURVEY, 2007).
As principais caractersticas do software so:
a) nmero ilimitado de questionrios ao mesmo tempo;
b) nmero ilimitado de perguntas em um questionrio (limitado somente pela sua
base de dados);
c) nmero ilimitado de participantes de um questionrio;
d) questionrios com multi-linguagens;
e) gerenciamento de usurios;
f) 20 diferentes tipos de questes;
g) integrao com imagens em um questionrio;
h) criao de verso impressa de questionrios;
i) condies para as perguntas de acordo com respostas anteriores;
j) conjuntos de resposta reutilizveis;
k) importar perguntas prontas;
28
l) pesquisas de avaliao;
m) pesquisas annimas e no annimas;
n) pesquisas abertas e fechadas para grupo de participantes;
o) registro pblico opcionais para pesquisas;
p) opo para os participantes salvarem as respostas e continuar o questionrio mais
tarde;
q) editor de templates para criar seu prprio layout de pgina;
r) questionrios com data de expirao automatizada;
s) realiza funes de importao e exportao para texto, CVS, PDF, SPSS, R,
QueXML e formato MS EXCEL;
t) anlise de estatstica e grfica bsica, com recursos de exportao;
u) suporta mais de 50 idiomas diferentes no frontend e backend.
A QuestManager uma empresa de tecnologia especializada em solues profissionais
para pesquisa de mercado e feedback management. O software permite o acompanhamento
dos resultados em tempo real. A anlise dos nmeros pode ser feita antes do fechamento do
projeto. Outra vantagem do sistema permitir a personalizao completa dos questionrios.
possvel criar layouts exclusivos, com a identidade visual da empresa, e utilizar recursos
multimdia (imagens, udio, animao e vdeo) para ilustrar todo o instrumento de coleta. O
QuestManager pode ser aplicado em diversos tipos de pesquisa tais como: pesquisa de
mercado, pesquisa eleitoral, pesquisa de satisfao de clientes, pesquisa de opinio, pesquisa
de mdia, auditoria, aplicao conjoint, pesquisa ad-hoc (QUESTMANAGER, 2002).
29
3 DESENVOLVIMENTO
30
3.2 ESPECIFICAO
Esta seo descreve os requisitos funcionais (RF) e no funcionais (RNF), bem como
os diagramas de casos de uso e diagrama de atividades desenvolvidos para o sistema. A
ferramenta Enterprise Architect (EA), em sua verso 7.5.850, foi utilizada na elaborao do
diagrama de atividades.
O Quadro 2 apresenta os requisitos funcionais previstos para o sistema e sua
rastreabilidade, ou seja, vinculao com o(s) caso(s) de uso associado(s).
Requisitos Funcionais
Caso de Uso
UC01
Esses leiautes devero ser compostos por tabelas, com seus respectivos
campos, tipos, formatos e relacionamentos.
RF02: O aplicativo deve importar os leiautes do LimeSurvey em arquivos
UC02
XML.
RF03: O aplicativo deve exportar os dados coletado para o LimeSurvey.
UC03
UC04
UC05
em um arquivo XML.
RF06: O aplicativo deve disponibilizar os dados coletados.
UC06
31
32
Atravs da tela inicial do aplicativo, o usurio poder escolher a ao que ele ir tomar
naquele momento. Ele poder tomar a ao de criar ou editar um formulrio, em seguida o
aplicativo ir redirecion-lo para a tela de criar ou editar perguntas. O usurio tambm poder
optar pela ao de aplicar formulrios j criados, realizando a coleta de dados e na sequncia
ele poder visualizar os dados coletados com alguns totalizadores.
A Figura 19 apresenta o modelo entidade e relacionamento que representam as
entidades que sero persistidas em arquivos XML.
33
3.3 IMPLEMENTAO
34
para cada item, para que seja usada nas linhas 74 at a 85 para montar o grfico de barras.
O grfico montando da seguinte forma: obtem-se o total de respostas para aquele
item multiplicado-se por 100 e depois divide-se pelo total de questionrios respondidos. Desta
forma obtm-se o percentual de respostas para aquele item. Posteriormente criado um div
(elemento HTML) com o tamanho da porcentagem obtida.
35
Na Figura 16, apresentado o trecho do cdigo onde esta montado um formulrio para
36
enviar os dados para o LimeSurvey. Nesse formulrio na linha 9 na tag form no atributo
action nele esta o caminho para onde o aplicativo deve mandar o dados coletado, nele tem a
palavra servidor entre dois smbolos de porcento. Essa palavra ser substituda pelo
domnio onde o LimeSurvey esta instalado. J na linha 10 tem a palavra respostas entre dois
smbolos de porcento. Essa palavra ser substituda por campos com os contedos dos XML
das respostas do questionrio. Nas linhas 13 a 16 tem um script que submete o formulrio
automaticamente para o LimeSurvey.
37
38
39
40
41
42
43
dados
formulrios o usurio redirecionado para a tela de dados coletados, conforme Figura 27.
Nesta tela ir aparecer uma tabela com todos os dados coletados do formulrio e com grfico
de barras totalizando as respostas e abaixo dos grficos existe um boto voltar para retorna
para a tela inicial do aplicativo.
44
45
46
A Figura 30 a tela para cadastrar e editar opes de resposta. Neste caso o usurio
redirecionado para essa tela quando ele escolhe uma pergunta de mltipla escolha. Assim o
usurio ir adicionar as opes de respostas para a sua pergunta.
47
48
49
50
Funcionalidades/
caractersticas
Plataforma
mvel (android)
CHEQUETO
(2007)
mvel (JME)
sim
sim
sim
sim
sim
sim
sim
sim
sim
no
sim
sim
JME, DB2
PHP, MySQL,
PostgreSQL,
SQL Server
Java, MySQL,
jQuery,
PostgreSQL,
Eclipse IDE
Este trabalho
Criao de
formulrios
Aplicao dos
formulrios
Relatrio
Tecnologias
utilizadas
PHP, XML,
PFA, SL4A
LimeSurvey
QuestManager
web
web
51
Deve-se destacar que o sistema foi validado em um tablet de 7 com Android 2.2.3. A
Figura 37 caracteriza uma tela do sistema executando o questionrio utilizado como
referncia neste trabalho. O tablet usado para testes foi um iBAK-793GPS com 512MB de
memria embutida, 256 MB de RAM DDR2, processador de 600Mhz, cmera de 1.3
megapixels, slot para conexo 3G, wifi 802.11b/g, GPS e Bluetooth. O sistema operacional
o Android Froyo verso 2.2 . Neste tablet as vezes acontecem alguns travamentos por
exemplo no momento de exportar os dados coletados, salvar dados coletados e visualizar os
dados coletados. Nesses momentos era realizada a operao de retornar para a tela inicial do
android e depois retornar para o aplicativo. Naturalmente a velocidade de transferncia dos
dados altamente dependente da qualidade da conexo utilizada: wireless ou 3G.
52
4 CONCLUSES
4.1 EXTENSES
53
54
REFERNCIAS BIBLIOGRFICAS
55
IRONTEC. PHP for Android project. [S.l.], 2010. Disponvel em: <
http://phpforandroid.net/>. Acesso em: 02 mar. 2011.
JORDAN, Lucas; GREYLING, Pieter. Practical Andorid Projects. New York : Apress,
2011.
LIMESURVEY. The free & open source survey software tool. [S.l.], 2007. Disponvel em:
< http://www.limesurvey.org//>. Acesso em: 24 maio 2011.
MALHOTRA, Naresh K. Pesquisa de marketing: uma orientao aplicada.4. ed. Porto
Alegre : ArTmed, 2006. xi, 720 p, il.
MCGRATH, Ben. Simple polling with LimeSurvey. [S.l.], 2007. Disponvel em: <
http://www.linux.com/archive/articles/62327>. Acesso em: 26 maio 2011.
PAULO, Ivan Mosquera. Haciendo posible PHP sobre Android. [S.l.], 2010. Disponvel
em: <http://code.irontec.com/2010/haciendo-posible-php-sobre-android/>. Acesso em: 02
mar. 2011.
QUESTMANAGER. Software de pesquisa online e sistema de feedback com coletor
offline. [S.l.], 2002. Disponvel em: < http://www.questmanager.com/>. Acesso em: 31 maio
2011.
SILVA, Severino Francisco da. Marketing de servios: fundamento, anlises e prticas no
setor de sade. Macei : EDUFAL, 2005. 327 p.
TAGLIACARNE, Guglielmo. Pesquisa de Mercado: tcnica e pratica; traduo de Maria de
Lourdes Rosa da Silva ; reviso tcnica e adaptao de Noberto Roveda e de Roberto Simoes
; prefacio de Alfredo Carmo. -2.ed. - So Paulo : Atlas, 1978. - 468p. :il.
56
Esta seo contm o detalhamento dos principais casos de uso descritos na seo 3.2.
No Quadro 5 apresenta-se o caso de uso "Cadastrar leiautes".
Nome do Caso de Uso
Cadastrar leiautes
Descrio
Usurio acessa aplicao, clica no menu criar leiaute, insere os campos, informa
qual so os tipos dos campos e clica em salvar leiaute.
Ator
Usurio
Pr-condio
Fluxo principal
1.
2.
3.
4.
5.
6.
Cenrio Visualizao
Cenrio Excluso
Ps-condio
2.
3.
Exportar leiautes
Descrio
Usurio acessa a aplicao, seleciona o leiaute que deseja exportar e clica no boto
exportar.
Ator
Usurio
Pr-condio
Fluxo principal
Ps-condio
1.
2.
3.
4.
57
Importar leiautes
Descrio
Usurio acessa a aplicao, clica em importar leiautes e indica uma arquivo XML
que deseja se importado.
Ator
Usurio
Pr-condio
Fluxo principal
Ps-condio
1.
2.
3.
4.
Aplicar os formulrios
Descrio
Ator
Usurio
Pr-condio
Fluxo principal
1.
2.
3.
4.
5.
6.
Ps-condio
Descrio
Ator
Usurio
Pr-condio
Fluxo principal
1.
2.
3.
4.
5.
58
Ps-condio
6.
7.
8.
Descrio
Ator
Usurio
Pr-condio
Fluxo principal
Ps-condio
1.
2.
3.
4.
59
Tipo
int
varchar(255)
Descrio
Observao
Cdigo de registro do Chave primria.
formulrio.
Nome do formulrio.
int
id_formulario
int
nome
ordem
varchar(255)
int
ajuda
varchar(255)
Tipo
Descrio
Observao
Cdigo de registro do Chave primria.
formulrio.
Cdigo do
Chave estrangeira.
formulrio que a
pergunta pertence.
Nome da pergunta.
Sequncia que define
a ordem que as
perguntas devem
aparecer no
formulrio
Descrio para
ajudar o usurio a
responder a pergunta
60
tipo
int
obriga
smallint
options
varchar(255)
Inteiro de valor 1 ou
0 informando se a
pergunta
obrigatria ou no.
Opes de respostas
para a pergunta
1: texto
2: texto longo
3: lista simples
4: lista mltipla
escolha
5:
textos
curtos
mltiplos
6: ordem
Int
id_formulario
int
resposta
text
Tipo
Descrio
Observao
Cdigo de registro da Chave primria.
resposta.
Cdigo da pergunta
Chave estrangeira.
que a resposta
pertence.
Descrio da
repostas.