72
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação  AndCollector: Um gerador de aplicações móveis para coleta de dados em campo Paulo Roberto Mota Jeffer son dos Santos Motta Monograa apresentada como requisito parcial para conclusão do Curso de Computação – Licenciatura Orientadora Prof a ¯ . Dra. Maria de Fátima Ramos Bran dão Brasília 2009

AndCollector - Um gerardor de aplicativos móveis em campo

Embed Size (px)

Citation preview

Page 1: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 1/72

 

Universidade de BrasíliaInstituto de Ciências Exatas

Departamento de Ciência da Computação

 AndCollector: Um gerador de aplicaçõesmóveis para coleta de dados em campo

Paulo Roberto MotaJefferson dos Santos Motta

Monografia apresentada como requisito parcialpara conclusão do Curso de Computação – Licenciatura

OrientadoraProf a.̄ Dra. Maria de Fátima Ramos Brandão

Brasília2009

Page 2: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 2/72

 

Universidade de Brasília – UnBInstituto de Ciências ExatasDepartamento de Ciência da ComputaçãoCurso de Computação – Licenciatura

Coordenador: Prof. Dr. Díbio Leandro Borges

Banca examinadora composta por:

Prof a.̄ Dra. Maria de Fátima Ramos Brandão (Orientadora) – CIC/UnBProf. Dr. Marco Aurélio de Carvalho – CIC/UnBProf. Dr. Flávio Leonardo Cavalcante de Moura – CIC/UnB

CIP – Catalogação Internacional na Publicação

Paulo Roberto Mota.

 AndCollector: Um gerador de aplicações móveis para coleta de da-dos em campo/ Jefferson dos Santos Motta, Paulo Roberto Mota.Brasília : UnB, 2009.66 p. : il. ; 29,5 cm.

Monografia (Graduação) – Universidade de Brasília, Brasília, 2009.

1. Tecnologia móvel, 2. Computação ubíqua, 3. Geradores decódigo, 4. Geradores de aplicativos, 5. Softwares móveis,6. Android, 7. Software livre

CDU 004

Endereço: Universidade de BrasíliaCampus Universitário Darcy Ribeiro – Asa NorteCEP 70910–900Brasília – DF – Brasil

Page 3: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 3/72

 

Universidade de Brasília – UnBInstituto de Ciências ExatasDepartamento de Ciência da ComputaçãoCurso de Computação – Licenciatura

Coordenador: Prof. Dr. Díbio Leandro Borges

Banca examinadora composta por:

Prof a.̄ Dra. Maria de Fátima Ramos Brandão (Orientadora) – CIC/UnBProf. Dr. Marco Aurélio de Carvalho – CIC/UnBProf. Dr. Flávio Leonardo Cavalcante de Moura – CIC/UnB

CIP – Catalogação Internacional na Publicação

Paulo Roberto Mota.

 AndCollector: Um gerador de aplicações móveis para coleta de da-dos em campo/ Jefferson dos Santos Motta, Paulo Roberto Mota.Brasília : UnB, 2009.66 p. : il. ; 29,5 cm.

Monografia (Graduação) – Universidade de Brasília, Brasília, 2009.

8. Tecnologia móvel, 9. Computação ubíqua, 10. Geradores decódigo, 11. Geradores de aplicativos, 12. Softwares móveis,13. Android, 14. Software livre

CDU 004

Endereço: Universidade de BrasíliaCampus Universitário Darcy Ribeiro – Asa NorteCEP 70910–900Brasília – DF – Brasil

Page 4: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 4/72

 

Universidade de BrasíliaInstituto de Ciências Exatas

Departamento de Ciência da Computação

 AndCollector: Um gerador de aplicaçõesmóveis para coleta de dados em campo

Paulo Roberto MotaJefferson dos Santos Motta

Monografia apresentada como requisito parcialpara conclusão do Curso de Computação – Licenciatura

Prof a.̄ Dra. Maria de Fátima Ramos Brandão (Orientadora)CIC/UnB

Prof. Dr. Marco Aurélio de Carvalho Prof. Dr. Flávio Leonardo Cavalcante de MouraCIC/UnB CIC/UnB

Prof. Dr. Díbio Leandro BorgesCoordenador do Curso de Computação – Licenciatura

Brasília, 20 de dezembro de 2009

Page 5: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 5/72

 

 Dedicatória

Jefferson Dedico este trabalho a minha mãe, a maior benção de Deusna minha vida, aos meus irmãos e a minha noiva Sirley que me apoiou bas-tante sempre me incentivando nos momentos de dificuldade. Em especialdedico esse trabalho a Deus que me capacitou na conclusão da monografiaassim como em todas as vitórias em minha vida.

Paulo À Dionísia minha mãe, Evandro e Rayanne irmãos. À BárbaraLins, quem mais sofreu com minha ausência e dias na biblioteca, obrigadopela compreensão. E em especial ao meu pai, Geraldo Roberto.

Page 6: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 6/72

 

 Agradecimentos

 A todos que tornam possível a conclusão deste trabalho, em particularà professora Maria de Fátima pelas instruções a respeito do processo depesquisa, na ajuda de delimitação do nosso tema, pelos inúmeros rabiscos acada versão entregue da monografia e pelo entusiamos demonstrado desdeo início em trabalhar conosco neste projeto.

 Aos nossos colegas de curso pela parceria nesses cinco anos, aos demaisorientados da professora Maria de Fátima nesse semestre pela colaboraçãoque tiveram nesse processo.

Page 7: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 7/72

 

 Resumo

O projeto tem como área de estudo a tecnologia móvel, a qual oferecesuporte à criação de soluções para auxiliar os profissionais que não pos-suem conhecimento técnico em programação mas demandam de aplicativosmóveis para otimizar a execução de tarefas. Com este foco o papel do pro-gramador é suprimido devido a capacitação do usuário final na criação desoftwares móveis de acordo com as suas necessidades. O objetivo principaldo projeto é desenvolver um gerador de aplicativos com tecnologia móvelque abstraia a necessidade de conhecimento técnico pelo usuário leigo. Ameta é criar um gerador na arquitetura do Android, levantar um source

forge e divulgar o projeto em várias comunidades com o propósito de criaruma rede de desenvolvedores. O domínio de atuação do gerador será acoleta de dados em campo podendo este ser extendido ou implementadoem outras áreas. Foram realizadas entrevistas e demonstrações de uso daferramenta desenvolvida, nas quais se verificou a aceitação do aplicativopor pessoas que exerccem atividades em diversas áreas. O projeto procurademonstrar o potencial da tecnologia móvel com a criação e utilização daferramenta AndCollector.

Palavras-chave:Tecnologia móvel, Computação ubíqua, Geradores de código,

Geradores de aplicativos, Softwares móveis, Android, Software livre

Page 8: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 8/72

 

 Abstract

The present project studies the mobile technology, which supports thecreation of solutions to assist professionals who have no expertise in pro-gramming but require mobile applications to optimize the performance of his duties. Trying to reach this aim, the programmers work is deleted,since the consumer is trained to create mobile software according to hisneeds. We intend with this project develop an generator application withmobile technology that makes unnecessary that the laic user has technicalknowledge. The aim is create a generator in the Androids architecture anddisseminate the project in several communities in order to create a large

network of developers for the generator. The main field of operation of thegenerator will the data collect in external areas, but whit the possibility toextended or be implemented for other situations, areas or purposes. Withthe finished project were carried interviews and demonstrations for checkacceptance of the application with people who have jobs in several areas.The project intend to prove the potential of mobile technology when usedfor creation and development of AndCollector, a generator of mobile appli-cations in androids architecture.

Keywords: Mobile technology, Ubiquitous computation, Code generators, Applications generators, Mobile softwares, Android, Free software

Page 9: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 9/72

 

Sumário

Lista de Figuras 12

Capítulo 1 Introdução 13

Capítulo 2 Computação ubíqua, software livre e geradores deaplicação 17

2.1 Computação Ubíqua . . . . . . . . . . . . . . . . . . . . . . . . 172.1.1 Aplicação da Ubicomp na educação . . . . . . . . . . . . 18

2.2 Software Livre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2.1 Propriedade Intelectual . . . . . . . . . . . . . . . . . . 192.2.2 Licença de Software . . . . . . . . . . . . . . . . . . . . . 192.2.3 Restrições em Licenças . . . . . . . . . . . . . . . . . . . 192.2.4 Licenças de Software Livre . . . . . . . . . . . . . . . . 20

2.3 Geradores de Código / Aplicação . . . . . . . . . . . . . . . . . . 212.3.1 Geradores de Código . . . . . . . . . . . . . . . . . . . . 212.3.2 Geradores de Aplicações . . . . . . . . . . . . . . . . . . 22

Capítulo 3 Tecnologia Móvel para Desenvolvimento de Apli-cações 243.1 Windows Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Blackberry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.3 Soluções BlackBerry . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3.1 BlackBerry Enterprise Solution . . . . . . . . . . . . . . 273.3.2 BlackBerry Internet Service . . . . . . . . . . . . . . . . 283.3.3 BlackBerry MDS . . . . . . . . . . . . . . . . . . . . . . 28

3.4 Iphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4.1 Iphone OS . . . . . . . . . . . . . . . . . . . . . . . . . . 283.4.2 Camadas Tecnológicas . . . . . . . . . . . . . . . . . . . 293.4.3 Escrevendo código para o Iphone . . . . . . . . . . . . . 293.4.4 Primeiros Passos . . . . . . . . . . . . . . . . . . . . . . 30

3.5 Symbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5.1 Camada de Interface com o Usuário . . . . . . . . . . . 313.5.2 Camada de Serviços de Aplicação . . . . . . . . . . . . . 313.5.3 Camada de Serviços do Sistema Operacional . . . . . . 313.5.4 Camada de Serviços Básicos . . . . . . . . . . . . . . . . 323.5.5 Camada de Hardware . . . . . . . . . . . . . . . . . . . 32

3.6 Tecnologia Java . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Page 10: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 10/72

 

3.6.1 Java Micro Edition . . . . . . . . . . . . . . . . . . . . . 333.6.2 Os componentes da tecnologia J2ME . . . . . . . . . . . 33

3.7 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.7.1 Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.7.2 Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.7.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . 363.7.4 Application Framework . . . . . . . . . . . . . . . . . . 363.7.5 Bibliotecas . . . . . . . . . . . . . . . . . . . . . . . . . . 373.7.6 Android Runtime . . . . . . . . . . . . . . . . . . . . . . 373.7.7 Linux Kernel . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.8 Análise das Tecnologias e Seleção do Ambiente . . . . . . . . . 38

Capítulo 4 Estudo de Aplicações Móveis 394.1 Sistema de Monitoração de pacientes apoiado em web e palm-

tops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2 Sistema Simplificado de Prontuário . . . . . . . . . . . . . . . . 40

4.3 Aplicação HandMed . . . . . . . . . . . . . . . . . . . . . . . . . 414.4 Computação Móvel e Tecnologia Web em Sistemas de Cont-

role Pós-Transplante . . . . . . . . . . . . . . . . . . . . . . . . 414.5 Epocrates Essential . . . . . . . . . . . . . . . . . . . . . . . . . 424.6 The m-learning Project . . . . . . . . . . . . . . . . . . . . . . . 424.7 Sistema de avaliação de cursos de EAD na UFPB . . . . . . . 444.8 Homer Framework Biblioteca para coleta de dados na plataforma

Symbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.8.1 Componentes de interface com usuário . . . . . . . . . . 464.8.2 Componentes de Comunicação . . . . . . . . . . . . . . 47

4.9 Cinq Census . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Capítulo 5 O Problema 49

5.1 Soluções Proprietárias . . . . . . . . . . . . . . . . . . . . . . . 495.2 Recodificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Capítulo 6 AndCollector 516.1 Módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.1 Módulo Construção . . . . . . . . . . . . . . . . . . . . . 526.1.2 Módulo Coleta de Dados . . . . . . . . . . . . . . . . . . 54

6.2 Modelo de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

6.3 Considerações . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556.3.1 Viabilidade Econômica . . . . . . . . . . . . . . . . . . . 556.3.2 Viabilidade Técnica . . . . . . . . . . . . . . . . . . . . . 556.3.3 Vantagens . . . . . . . . . . . . . . . . . . . . . . . . . . 566.3.4 Desvantagens . . . . . . . . . . . . . . . . . . . . . . . . 57

Capítulo 7 Avaliação da ferramenta AndCollector 587.1 Roteiro da entrevista . . . . . . . . . . . . . . . . . . . . . . . . 587.2 Entrevistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597.3 Análise das Entrevistas . . . . . . . . . . . . . . . . . . . . . . 61

10

Page 11: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 11/72

 

Capítulo 8 Conclusão 638.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . 63

11

Page 12: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 12/72

 

 Lista de Figuras

2.1 Formato Click-Wrap de Licença [20]. . . . . . . . . . . . . . . . 192.2 Relação entre geradores de código e aplicativo [12]. . . . . . . 222.3 A utilização da plataforma Symbian [12]. . . . . . . . . . . . . 23

3.1 Camadas Tecnológicas do Iphone [3]. . . . . . . . . . . . . . . . 293.2 Camadas da plataforma Symbian [6]. . . . . . . . . . . . . . . 31

3.3 A Máquina Virtual Java [26]. . . . . . . . . . . . . . . . . . . . 323.4 A Arquitetura do Android [11]. . . . . . . . . . . . . . . . . . . 36

4.1 Sistema de Monitoração de pacientes - Palmtops [17]. . . . . . 404.2 Sistema de Monitoração de pacientes - Web [17]. . . . . . . . . 404.3 Sistema Simplificado de Prontuário [19]. . . . . . . . . . . . . . 404.4 Aplicação HandMed [14]. . . . . . . . . . . . . . . . . . . . . . . 414.5 Sistemas de Controle Pós-Transplante [17]. . . . . . . . . . . . 424.6 Epocrates Essential [1]. . . . . . . . . . . . . . . . . . . . . . . 424.7 Estrutura do Projeto na Universidade Federal da Paraíba [18]. 444.8 Projeto na Universidade Federal da Paraíba - Tela Palmtop

[18]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.9 Sistema Symbian S60 3ed [5]. . . . . . . . . . . . . . . . . . . . 454.10 Sistema Symbian S60 5ed [5]. . . . . . . . . . . . . . . . . . . . 45

6.1 Tela inicial do AndCollector . . . . . . . . . . . . . . . . . . . . 526.2 Tela de criação de formulários no AndCollector . . . . . . . . . 536.3 Tela de cadastro de questões no AndCollector . . . . . . . . . . 536.4 Tela de coleta de dados no AndCollector . . . . . . . . . . . . . 546.5 Modelo Entidade Relacionamento da Aplicação . . . . . . . . . 55

7.1 Usabilidade e Utilidade da ferramenta AndCollector . . . . . . 62

Page 13: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 13/72

 

Capítulo 1

Introdução

O ambiente social, econômico e educacional está em um processo de re-volução moldado por uma nova tecnologia para os dispositivos móveis. Aintegração da tecnologia móvel na sociedade vêm transformando a exe-

cução de processos em diversos setores, como a área de saúde, educação,comunicação, entre outros. Com o avanço tecnológico é perceptível as me-lhorias advindas da mobilidade e o seu extenso escopo de implementação.Cada vez mais são realizados investimentos nesta área a fim de promover asua evolução e consequentemente melhoria das atividades realizadas pelohomem.

 A computação foi incorporada à sociedade inicialmente com a primeiraonda tecnológica na qual os mainframes eram compartilhados por muitaspessoas, uma máquina era utilizada para prestar serviços para muitos in-

divíduos. A era da computação pessoal, teve seu marco com a inclusão doscomputadores de mesa criando uma relação direta homem-máquina. Umanova fase conhecida como computação ubíqua esta sendo representada demaneira imperceptível pelos novos recursos e ferramentas móveis na vidadas pessoas e se consolida com a definição de uma realidade na qual o com-putador se integra, em um modelo de alta mobilidade, com estruturas físi-cas para implementação de espaços inteligentes, nos quais tarefas do dia adia são facilitadas com recursos e serviços computacionais [25].

Um fator determinante na produção de softwares que estabelece as for-mas de utilização de um determinado programa e seu código fonte é o seulicenciamento, o qual fixa as formas de utilização do código e do sistema de-senvolvido, caracterizando-o como proprietário ou livre. Um sistema livreflexibiliza a reutilização de código e promove a evolução de softwares [21].

No desenvolvimento de qualquer sistema, seja livre ou proprietário, deveser fundamentado pela Engenharia de Software e existem diversas ferra-mentas que podem auxiliar o desenvolvimento de sistemas, como por exem-plo, os geradores de código e os geradores de aplicações [12]. O primeiroé utilizado na fase de implementação do projeto, produzindo códigos que aprincípio seriam escritos pelo programador. Um gerador de aplicação atua

13

Page 14: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 14/72

 

em todo o ciclo de vida do software funcionando como uma ferramenta deautomação de processos.

Existe uma grande variedade de tecnologias para dispositivos móveiscomo os smartphones, celulares, PDAS, e também muitas opções de plataforma

para desenvolvimento como J2ME, Symbian, BlackBerry, Android, entreoutros. Mesmo com tamanha diversidade de plataformas de desenvolvi-mento não foi encontrada solução otimizada para o desenvolvimento deaplicações móveis de coleta de dados que ofereça ao usuário final a capaci-dade de realizar modificações nas funções dos programas desenvolvidos.

Muitas áreas de conhecimento necessitam de soluções dinâmicas paracoleta de dados em campo, como é o caso da Educação física, que precisacoletar dados diversificados de acordo com a atividade realizada podendoesta ser o acompanhamento de um atleta como até mesmo o rendimento deuma turma de alunos. Outras áreas também demandam esse tipo de tec-nologia, como por exemplo, a agronomia, para registro de informações sobreo solo, na biologia na pesquisa de espécies em campo, na política no regis-tro de informações de popularidade eleitoral, entre outras áreas. Em todosesses campos de atuação é perceptível um domínio extenso de informações aserem coletadas, devido às tendências e necessidades apresentadas. Assimo usuário final da aplicação muitas vezes precisa modificar a estrutura dosistema de coleta para comportar as exigências dinâmicas do serviço. De-vido a esta necessidade de customização da aplicação, é necessário a imple-mentação de uma solução livre que ofereça suporte a criação de aplicaçõesmóveis para coleta de dados em campo, pois cada dia a sociedade demanda

soluções que forneçam mobilidade para os indivíduos economizando assimtempo, dinheiro e espaço.

Com a criação de um gerador de aplicações móveis para coleta de da-dos, na qual o usuário final tenha completo domínio para poder customizaro software de coleta sem a necessidade de conhecimento técnico, podemosesperar que o usuário final do sistema tenha facilidade em alterar e criarnovos sistemas de acordo com as suas necessidades.

O objetivo deste trabalho é propor um gerador de aplicativos de coleta

de dados que seja capaz de abstrair a necessidade de conhecimento técnicoem programação para criação de aplicações específicas pelo próprio usuáriofinal. O trabalho propõe o desenvolvimento de um sistema gerador de apli-cações de código aberto utilizando a arquitetura do Android que pode seralterado e aprimorado de acordo com as necessidades, podendo ser aplicadoem vários domínios de aplicação.

O gerador será desenvolvido sob Licença GPL(Licença Pública Geral)garantindo assim a perpetuação livre do seu desenvolvimento e o mesmocontará com a participação da comunidade de software livre para aprimo-ramento de sua arquitetura de produção intensificando dessa forma o de-

14

Page 15: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 15/72

 

senvolvimento de softwares móveis com as facilidades oferecidas.

Foram realizadas pesquisas para tentar identificar alguma solução se-melhante que ofereça suporte à geração de aplicativos móveis em códigoaberto e desenvolvimento livre. De acordo com os levantamentos feitos nas

bases de dados acadêmicos: Banco de Teses da CAPS, Google Acadêmico, naBiblioteca Digital de Teses e Dissertações da UNB, portal de Periódicos daCAPES, DOAJ(Directory of Open Access Journals), Repositório Institucio-nal da Universidade de Brasília da Faculdade de Tecnologia; e em sistemasde buscas como Yahoo, Bing e Google, nenhum artefato foi encontrado comessas características.

No desenvolvimento de sistemas para web e desktop podemos encontrardiversas soluções de geradores de aplicativos, como por exemplo: Gas PRo,Maker, Visual Kit 5, EngeBuilder, Genexus, Accode, LanceWeb e esses pro-gramas geradores possuem uma interface visual para criação da aplicaçãoque não necessita de conhecimento técnico em programação, gerando emalguns casos somente o código objeto do sistema e em outros o fonte com-pleto para compilação e execução do aplicativo.

 A criação do gerador de aplicativos móveis no Android adotou a metodolo-gia ágil de desenvolvimento devido a necessidade de se ter um ambientepropício para comportar de maneira eficiente as mudanças de requisitos einovações decorrente de estudos sobre as áreas de conhecimento do projeto.O curto prazo para desenvolvimento do gerador também foi um fator prio-ritário na escolha da metodologia já que essa foca na entrega mais rápida

de sistemas, diferente do método tradicional de engenharia de software.

Para validação da solução apresentada pelo projeto foram realizadas en-trevistas e demonstrações de uso do gerador para pessoas leigas em progra-mação. As entrevistas seguiram um roteiro específico, com perguntas sobrea necessidade da solução, instruções de utilização do sistema, avaliação dausabilidade e utilidade do gerador.

É esperado que o gerador de aplicativos seja utilizado como suporte parao desenvolvimento de futuras aplicações móveis de coleta de dados, o pro-

tótipo foi desenvolvido sobre licenciamento livre e fornece um conjunto demódulos dispostos a facilitar e a gerenciar várias aplicações de coleta dedados. Como o código fonte é aberto para a sociedade, esperamos que sejaformada uma grande rede social para ampliação e aprimoramento do pro- jeto suprindo assim as diversas áreas que demandam soluções móveis paraa execução das mais diversas tarefas em campo.

O capítulo 2 deste documento apresenta os conceitos de computaçãoubíqua, software livre e geradores de aplicações que são os fundamentos dotrabalho e da aplicação desenvolvida. O capítulo 3 descreve as tecnologiasvigentes para desenvolvimento de aplicações móveis ilustrando os pontos

15

Page 16: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 16/72

 

positivos e negativos de cada ambiente. No capítulo 4 são analisadas asaplicações móveis existentes com o propósito de identificar as melhoriasna execução de serviços e também a estrutura de desenvolvimento de cadaaplicação. O capítulo 5 especifica o problema do trabalho e a sua resoluçãoé apresentada no desenvolvimento da proposta no capítulo 6. O capítulo 7

apresenta os resultados do estudo de caso realizado com a aplicação And-Collector e no capítulo 8 concluímos os resultados com a pesquisa realizadano projeto.

16

Page 17: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 17/72

 

Capítulo 2

Computação ubíqua, softwarelivre e geradores de aplicação

Este capítulo apresenta os conceitos e análises das principais áreas de co-

nhecimento do processo de criação de ferramentas móveis para que sejamcompreendidos os argumentos e tecnologias envolvidos no desenvolvimentodo projeto. A fundamentação aborda conceitos de computação ubíqua, soft-ware livre, geradores de código e geradores de aplicativos.

2.1 Computação Ubíqua

O termo computação ubíqua é relativamente recente e teve sua primeira

publicação em 1991, quando Mark Weiser apresentou seu primeiro artigodescrevendo como seria a computação do futuro[25].

Weiser descreve uma nova realidade onde os computadores de uma maneirageral, passam a fazer parte dos ambientes de modo imperceptível [25]. Elessão utilizados pelas pessoas para realização de diversas tarefas mas semque estas dirijam a atenção para a utilização de um determinado tipo decomputador, mas que as pessoas ajam como se estivem se relacionando di-retamente com o próprio ambiente físico no qual se encontram. Devido aessa característica a computação ubíqua, ou ubicomp, é também conhecidacomo computação invisível. O pai da computação ubíqua como passa a ser

chamado Weiser com a publicação do artigo, usa uma analogia com a es-crita para apresentar o que pode ser esperado desse paradigma.

Há milhares de anos as civilizações criaram um mecanismo para repre-sentar os pensamentos através de símbolos, surgia então a escrita moderna. Atualmente todos utilizam a escrita como se fosse uma habilidade inata aoser humano. Alcançaremos a ubiquidade quando os computadores foremutilizados com a mesma naturalidade que a escrita é hoje [13].

Uma boa ferramenta é aquela que se apresenta invisível, porém não

17

Page 18: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 18/72

 

invisível de fato, mas que quem a utiliza tenha foco na tarefa e não na fer-ramenta em si. Quem usa óculos não volta sua atenção aos óculos, mas aomundo que os cerca [24].

O grande problema que surge é como criar um novo tipo de relaciona-

mento entre as pessoas e os computadores de modo que os computadoresassumam a liderança e se tornem melhores e amplamente acessíveis deforma que as pessoas não precisem sentar frente a um computador poiseste já deve estar disponível de maneira ubíqua como se fizessem parte desuas vidas [23].

Weiser classifica a era da computação ubíqua como a terceira era com-putacional. As duas primeiras foram: a era dos mainframes, onde haviauma única e grande máquina para vários usuários e a era dos computadorespessoais, com maior acessibilidade aos desktops, caracterizada pela ex-istência de uma máquina para cada um usuário. Finalmente a terceira erada computação invisível, caracteriza-se pela existência de várias máquinaspara vários usuários [25]. Entretanto, como alguns podem pensar, ubicompnão é o mesmo que realidade virtual, uma vez que, as pessoas e suas inter-ações são simuladas nos computadores, enquanto na computação ubíqua, oscomputadores compõe o mundo real e estão presentes nos ambientes comas pessoas.

2.1.1 Aplicação da Ubicomp na educação

 A ubicomp na educação pode ser útil para estimular a aprendizagem co-laborativa, uma vez que o foco das iterações é many-to-many (muitos paramuitos) e baseado na idéia de que a tecnologia está disponível o tempo todo.Na computação ubíqua tanto alunos como professores poderão participar doprocesso de aprendizagem, analizando e criando informações e conhecimen-tos com as ferramentas apropriadas para os diferentes tipos de tarefa [16].

O uso de computação ubíqua na educação ainda é pouco difundido, fatoque motivou o desenvolvimento deste tema neste trabalho.

2.2 Software Livre

O fundamento do software livre apóia-o no compartilhamento de código eaplicativos em várias comunidades de desenvolvedores criando assim umaextensa rede e evolução de sistemas com apoio voluntário das pessoas. Ofoco de pesquisa nesse movimento procura disponibilizar uma solução queseja livre, modificável e replicável para as mais diversas áreas de conhe-cimento. Nesse intuito os conceitos de licenciamento e software livre sãotrabalhados para que viabilize a compreensão de sua estrutura e benefícios.

18

Page 19: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 19/72

 

2.2.1 Propriedade Intelectual

Toda atividade intelectual é protegida por leis que tratam da propriedadeintelectual ou copyright. Os softwares são incluídos nesse quadro pelo fatode serem produções de atividades intelectuais. O copyright concede permis-são para que o autor do sistema determine normas de uso, como permissões

para realização de cópias, alterações no software e distribuição, cobrançaspela utilização do programa editado, entre outros. As condições e direitosatribuídos aos autores de sistemas são fixadas pela legislação de copyright

de cada país, sendo que a maioria dos países são integrantes da World In-tellectual Property Organization(WIPO), esta que consolida as diretrizesinternacionais de copyright. O autor ao criar o software não necessita es-pecificar explicitamente as direttrizes de utilização do sistema, pois estepor natureza já é protegido por lei com sua criação, fato que impede a uti-lização ilegal do programa desenvolvido[20].

Para os softwares essa questão de proteção por copyright é assunto deextrema importância devido a facilidade de replicação e difusão, o que acabadesvalorizando o preço do produto original. Para evitar esse tipo de pro-blema os sistemas geralmente são acompanhados de um documento queexplicita os direitos que são oferecidos a seu receptor, conhecido como li-cença de software.

2.2.2 Licença de Software

 A licença de software não precisa necessariamente ser registrada ou vali-dada com algum orgão ou organização, sendo necessário apenas a emissãode um documento que especifique as proteção aplicadas ao sistema desen-volvido. É um documento formal elaborado por um indivíduo que tenhacompreensão dos apesctos legais envolvidos e se baseia integralmente nostermos especificados pelas leis de copyright. Um formato muito comumde licença é a click-wrap, o qual apresenta para o usuário uma caixa deaceitação dos termos de utilização do software para o usuário. A Figura 2.1é um exemplo do formato click-wrap:

2.2.3 Restrições em Licenças

O principal foco das licenças atuais é a imposição de restrições ao usodo software mas existem licenças que visam a direção oposta procurandogarantir ao usuário um conjunto de direitos que lhe garanta liberdade nautilização do sistema. Com essas variedades de licenças é possivel catego-rizar um software com base na definiçaão de seu licenciamento, criandoassim grupos distintos de sistemas que são descritos em "Categories of Free and Non-Free Software"do FSF(Free Software Foundation). Abaixotrataremos os tipos de categoria mais relevantes para estudo.

19

Page 20: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 20/72

 

Figura 2.1: Formato Click-Wrap de Licença [20].

• Software Proprietário: possui uma licença que proíbe a redistribuiçãoe alteração do software pelo usuário.

• Freeware: software que pode ser redistribuído mas não podem ser re-alizadas modificações no sistema, devido ao fato que é disponibilizadosem o código fonte.

• Shareware: sistemas que pode ser redistribuído mas possui um períodode expiração na sua utilização, obrigando o usuário a comprar uma li-cença para continuar usando o sistema.

• Software Livre: softwares que concedem ao usuário o direito de usar,

estudar, modificar e redistribuir.

• Domínio Público: não possui copyright, pelo fato do proprietário res-cindir seus direitos sobre o sistema ou por expiração do copyright. Nãoapresenta qualquer tipo de restrição na sua utilização.

2.2.4 Licenças de Software Livre

Existem diversas licenças de software livre cada uma com suas particula-ridades que influenciam na liberdade de utilização dos sitemas. Detalhare-

mos as principais licenças, para que possa ser compreendido as restrições eliberdades oferecidas por cada umas delas.

• GNU GPL: (www.gnu.org/copyleft/gpl.html) - Esta é a licença de soft-ware livre mais importante atualmente, 70 por cento dos sistemaslivres desenvolvidos utilizam essa licença [20]. É uma licença nãopermissiva, isto é, só permite redistribuição se for mantida a garan-tia de liberdade aos receptores da cópia redistribuída obrigando queas versões modificadas sejam também livres acompanhadas de códigofonte.

20

Page 21: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 21/72

 

• BSD, X, MIT, Apache: (www.freebsd.org/copyright/license.html) - Per-mite redistribuição do software. Sua versão original, a BSD, é nãopermissiva obrigando manter visível um aviso do copyright da licençanas versões modificadas. Já as outras versões são permissivas per-mitindo a criação de versões não livres com a sua utilização.

• MPL, GNU LGPL (www.mozilla.org/MPL/ e www.gnu.org/copyleft/ lesser.html)- Permitem redistribuição e são não permissivas. Quando o códigoé reutilizado por um sistema maior, não é obrigatório que este soft-ware tenha licenciamento livre também. Nos casos em que ocorreremmodificações em códigos regidos pela licença MPL ou LGPL, estes de-vem ser fornecidos acompanhados do código fonte, mas o mesmo nãoé aplicável para o código de sistemas maiores que os agregam.

2.3 Geradores de Código / Aplicação

Geradores de código e de aplicações são ferramentas que auxiliam o pro-cesso de criação de sistemas oferecendo recursos tanto para os desenvolve-dores como para o próprio usuário final do sistema. Será feita uma análisedesses recursos identificando os fatores positivos e negativos que cada soluçãocompreende com o propósito de identificar qual dessas pode contribuir demaneira mais eficiente com o projeto.

2.3.1 Geradores de Código

Um gerador de código auxilia na engenharia de software nos processos quecompreende a fase de implementação do projeto, gerando código fonte quea princípio seria criado pelo programador. Geralmente essas ferramen-tas utilizam o modelo de dados para gerarem o código que será utilizadopoupando assim tempo para os desenvolvedores que podem focar em etapasou regras de negócios mais complexas. Apesar das vantagens oferecidas poressa solução, os benefícios acabam ficando restritos à interface de cadastro,listagens de registros e telas de baixa complexidade, devido ao vínculo como modelo de dados.

Mesmo com a produção correta de código fonte, podemos identificar al-gumas características negativas que ocorrem com esse tipo de ferramenta,por exemplo:

• Caso o programador faça modificações no código gerado e ao mesmotempo seja feita alterações na base de dados, a geração deve ser re-executada mas o trabalho realizado pelo desenvolvedor será perdido,pois as modificações só são atualizáveis em um único sentido, da basede dados para o código.

21

Page 22: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 22/72

 

• O padrão de código gerado pela ferramente nem sempre está de acordocom o padrão utilizado pela equipe de desenvolvimento.

• O código gerado não é otimizado para a situação na qual será uti-lizado, não levando em consideração como, por exemplo, questões dedesempenho, estrutura, integração com outros sistemas, documen-tação, entre outros.

• Complexidade de manutenção devido a grande restruturação que deveser feita devido ao sentido único de geração.

2.3.2 Geradores de Aplicações

Esta ferramenta funciona como um sistema automático que controla os pro-cessos de desenvolvimento de softwares, podendo atuar em todas as etapasde vida da aplicação. Como seu domínio de utilização é mais abrangente,

os artefatos gerados por essa ferramenta vai além do código fonte, comopor exemplo interfaces de aplicação, documentação para o desenvolvedorou usuário, descrição de processos, estimativas, especificações de projeto,entre outros [12].

Comparando-se o gerador de código com o de aplicações, percebe-se queo segundo engloba o primeiro de acordo com os produtos gerados por cadaferramenta. A Figura 2.2 representa a situação.

Figura 2.2: Relação entre geradores de código e aplicativo [12].

Como consequência dessa agregação verificamos que os problemas rela-cionados ao processo de manutenção do software são herdados do geradorde código. Uma solução para contornar esta falha é suprimir o processo degeração de código fonte realizado pelo gerador de aplicações. Temos assimum tipo específico de gerador de sistemas que não gera código fonte, sim-plesmente produz o código objeto em tempo de execução para utilização pelousuário final.

Uma consequência direta para essa abordagem é que a manutanção dosoftware ocorre sem alterações de código, realizando-se apenas um rema-peamento das regras de negócio e dos objetos utilizados. Abaixo listamosoutras consequências perceptíveis com essa solução.

22

Page 23: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 23/72

 

• Como não existe código fonte, temos uma redução significativa de cus-tos com as manutenções do sistema.

• Como o remapeamento das regras e objetos é um processo que de-manda bem menos tempo que recodificação e pode ser realizado pelopróprio usuário final, temos uma maior agilidade na disponibilizaçãode novas versões.

• A arquitetura otimiza a criação de protótipos totalmente funcionais.

• Como não há recodificação, não existe também o processo de recompi-lação do sistema.

• Criação de sistema executáveis sem falhas devido ao processo auto-matizado.

• O gerador de aplicações com as especificações do sistema, pode gerar

documentos de mecanismos de auxílio, manuais de uso, especificaçõesde telas, entre outros.

• Padronização das aplicações.

 A figura 2.3 ilustra a arquitetura utilizada pelo gerador de aplicações.

Figura 2.3: A utilização da plataforma Symbian [12].

 Verifica-se na Figura 2.3 duas partes do fluxo, uma representando otempo de projeto e outra o tempo de execução. Durante o tempo de projetosão especificados o modelo de dados, os elementes de interface e as regrasde negócio da aplicação. Durante o tempo de execução, a aplicação abrangeem sua estrutura um sistema de geração de aplicações a partir do modelo

23

Page 24: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 24/72

 

persistido no banco de dados.

O banco de dados é responsável pela persistência e controle dos dadose o metamodelo é utilizado para persistência das informações obtidas deprocedimentos realizados junto ao modelo de dados, interfaces e regras

de negócio. As regras de negócio irão atuar sobre os dados definidos pelousuário e definem as relações entre os dados, seus ciclos de vida, seus esta-dos corretos e as modificações que eles podem sofrer.

Na figura 12 temos o módulo denominado AndMeta que é responsávelpela importação e exportação das informações contidas no modelo de dados,pela definição das interfaces e pela gravação das regras de negócio.

 A aplicação final do cliente é o código objeto gerado pelo sistema geradore é produzido a partir de um mapeamento das regras de negócio e da criaçãoautomática de interfaces com base nos dados armazenados no metamodelo.

24

Page 25: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 25/72

 

Capítulo 3

Tecnologia Móvel paraDesenvolvimento de Aplicações

Este capítulo apresenta alguns dos ambientes e tecnologias de desenvolvi-

mento para produção de sistemas móveis. O estudo identifica pontos posi-tivos e negativos de cada tecnologia, orientando assim a escolha da plataformaideal para desenvolvimento de acordo com as necessidades do desenvolve-dor.

3.1 Windows Mobile

O Windows Mobile é um sistema operacional para dispositivos móveis da

Microsoft baseado no Windows CE 5.0 [8] . Atualmente é utilizado poruma extensa gama de hardwares de terceiros, como PDAS e smartphones.Os principais componentes que são utilizados para o desenvolvimento naplataforma, são o Microsft Visual Studio 2008 e o Windows SDK e ambosgeram códigos nativos em Visual C++ ou código gerenciado como Visual Ce Visual Basic.NET.

O Windows Mobile possui uma área de trabalho semelhante ao sistemaWindows para desktops e oferece suporte a .NET Compact Framework. Aplataforma oferece recursos de conectividade e segurança, desenvolvimentode aplicativos multitarefa, uma API valiosa para conexão Bluetooth e o

Pockect Outlook Object Model para desenvolvimento de interfaces de men-sagens.

O Microsoft Visual Studio 2005 é a principal ferramenta para desen-volvimento, compilação, testes e implantação de aplicativos para a plataformaMicrosoft Windows e Windows Mobile. O desenvolvimento para WindowsMobile necessita do aplicativo Visual Studio 2005 Stardard Edition ou su-perior. É necessário a utilização de um SDK( kit de desenvolvimento) paradesenvolvimento de sistemas para o Windows Mobile sendo necessário ainstalação de um kit específico de acordo com a versão do sistema opera-

25

Page 26: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 26/72

 

cional alvo e da arquitetura do dispositivo. Na utilização das SDKS não sãorealizadas nenhum tipo de cobrança, o que dá liberdade ao desenvolvedorde selecionar a versão do sitema operacional que rodará o aplicativo selecio-nando o kit adequado para desenvolvimento sem preocupações com gastosem função ambiente adotado.

Os principais itens para o desenvolvimento para plataforma WindowsMobile no Sistema operacional Windows Server 2003. São apresentados aseguir:

• Microsoft Visual Studio 2005, Standard Edition ou versões superiores.Pacote SP1;

• Microsoft .NET Compact Framework v2. Pacotes SP1 ou SP2;

• ActiveSync 4.5 e

• Windows Mobile 6 Professional SDK, ou Windows Mobile 6 StandardSDK.

Para desenvolvimento no Windows XP são necessários as seguintes fer-ramentas:

• Microsoft Visual Studio 2005, Standard Edition ou versões superiores;

• Microsoft .NET Compact Framework v2. Pacotes SP1 ou SP2 são re-comendados;

• ActiveSync 4.5 e• Windows Mobile 6 Professional SDK, ou Windows Mobile 6 Standard

SDK.

Para desenvolvimento no Windows Vista são necessárias as seguintesferramentas:

• Microsoft Visual Studio 2005, Standard Edition ou versões superiores;

• Microsoft .NET Compact Framework v2. Pacotes SP1 ou SP2 são re-comendados;

• Windows Mobile Device Center é requerido para sincronização de da-dos e

• Windows Mobile 6 Professional SDK, ou Windows Mobile 6 StandardSDK.

Para auxiliar no desenvolvimento de aplicativos para o Windows Mobilesão utilizados emuladores, que são partes integrantes das SKDS instaladase também possuem componentes vinculados ao Visual Studio.

26

Page 27: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 27/72

 

3.2 Blackberry

 A arquitetura BlackBerry oferece um ambiente sem fio Java ME compatívelcom aplicativos cliente/servidor. A partir desse ambiente, desenvolvedoresda plataforma podem criar um BlackBerry Java Application que utilize in-

terfaces sofisticadas para entrada de dados e pesquisa e que ofereça suportea multithreading, internacionalização, comunicação em rede e armazena-mento de dados local.

Os sistemas desenvolvidos podem se comunicar com outras redes uti-lizando conexões TCP e HTTP padrão, independentemente da rede sem fiosubjacente.

O ambiente de desenvolvimento BlackBerry oferece recursos que via-bilizam a criação de aplicativos que sejam estreitamente integrados aossistemas principais do BlackBerry, como lista de mensagens, aplicativos

organizadores, telefone e navegador, proporcionando assim maior reutiliza-ção na programação dos softwares [2].

Todos os dispositivos BlackBerry possuem uma versão específica do Black-Berry Device Software e da BlackBerry Java Virtual Machine. De acordocom o lançamento de novas versões desses ambientes, a Research In Motioninclui as novas APIS Java correspondentes e a versão do BlackBerry JavaDevelopment Environment. A versão do BlackBerry Device Software deter-mina o componente BlackBerry Integrated Development Environment queserá utilizado para desenvolver os aplicativos.

O BlackBerry Java Development Environment é uma plataforma dedesenvolvimento e simulação voltado para criação aplicações Java para oBlackBerry [2]. Utilizando-se o BlackBerry JDE, os programadores po-dem usufruir dos recursos para desenvolver aplicativos usando a linguagemJava ME e as APIS Java estendidas para o BlackBerry .

O BlackBerry Java Development Environment possui as seguintes fer-ramentas de desenvolvimento:

• BlackBerry R Integrated Development Environment;

• BlackBerry Smartphone Simulator e

• APIs Java ME e APIs do BlackBerry.

O BlackBerry IDE comporta um conjunto completo de ferramentas deedição e depuração que são otimizadas para o desenvolvimento de umaaplicação Java. O BlackBerry Smartphone Simulator oferece um ambienteestilo Windows projetado para simular interfaces e interação do usuário,conexões de rede, serviços de e-mail e sincronização na rede sem fio.

27

Page 28: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 28/72

 

O BlackBerry Java Development Environment possui ferramentas paradesenvolvimento em IDEs de terceiros como NetBeans ou Eclipse, entreestas temos:

• RAPC: é um compilador de prompt de comando utilizado compilar

arquivos .java e .jar em arquivos .cod que podem ser executados noBlackBerry Smartphone Simulator ou em um dispositivo BlackBerry;

• JavaLoader: é uma ferramenta utilizada para adicionar ou atualizarum aplicativo em um dispositivo BlackBerry para teste e também éusado para exibir informações sobre os arquivos .cod do aplicativo;

• BlackBerry Signature Tool: é uma ferramenta utilizada para enviarsolicitações de assinatura de código para a BlackBerry Signing Au-thority Tool;

• Preverify Tool: é uma ferramenta utilizada para verificar parcial-mente as classes antes de carregar o aplicativo em um dispositivoBlackBerry e

• JDWP: é uma ferramenta utilizada para depurar os aplicativos usandoambientes de desenvolvimento integrados de terceiros.

3.3 Soluções BlackBerry

Usuários de dispositivos BlackBerry podem utilizar recursos do BlackBerryEnterprise Server ou o BlackBerry Internet Service ou caso ache necessáriopode usar os dois. É importante para o desenvolvedor identificar as diferen-ças entre esses componentes para restringir o tipo de usuário que sua ferra-menta dará suporte, visto que a escolha por uma determinada arquiteturapode afetar os modos de transporte utilizados e o modo de sincronização dosdados.

3.3.1 BlackBerry Enterprise Solution

O BlackBerry Enterprise Server faz parte da BlackBerry Enterprise So-

lution e atua sob a proteção do firewall corporativo. O BlackBerry Enter-prise Server disponibiliza um gateway para rede sem fio que viabiliza osusuários de dispositivos BlackBerry de uma organização, o acesso ao emailcorporativo e aos dados do organizador. Ele também apresenta os seguintesrecursos principais:

• criptografia e compactação de dados;

• gerenciamento de dispositivos BlackBerry e utilitários de monitora-mento;

28

Page 29: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 29/72

 

• gerenciamento simplificado de aplicativos e

• gateway autenticado para acesso à intranet em um BlackBerry R Java Application

3.3.2 BlackBerry Internet ServiceOs usuários de dispositivos BlackBerry que não estiverem utilizando osserviços do BlackBerry Enterprise Server poderão optar pelo BlackBerryInternet Service. O BlackBerry Internet Service é um serviço de e-mail eInternet para dispositivos BlackBerry projetado para fornecer aos usuáriosentrega automática de mensagens de e-mail, acesso a rede sem fio, a anexosde e-mail e acesso ao conteúdo da Internet. Este ambiente também apre-senta suporte a conectividade HTTP direta e TCP/IP à Internet a partir deum BlackBerry Java Application de terceiros.

3.3.3 BlackBerry MDS

Para viabilizar o acesso a recursos sob a proteção do firewall corporativo auma aplicação Java, o BlackBerry Enterprise Server possui o MDS(BlackBerryMobile Data System). O BlackBerry MDS disponibiliza proxies HTTP eTCP/IP para aplicação, permitindo que o dispositivo BlackBerry se comu-nique com os servidores de aplicativos e da Web sob a proteção do fire-wall corporativo sem software VPN adicional. Os aplicativos que enviamdados usando os serviços do BlackBerry Enterprise Server usufruem da

conectividade corporativa simplificada, a criptografia das informações, acompactação dos dados e a independência da rede sem fio oferecida pelaBlackBerry Enterprise Solution. O BlackBerry MDS também dispõe deuma interface aberta que permite, aos sistemas hospedados no servidor soba proteção do firewall corporativo, o envio de conteúdo aos aplicativos nosdispositivos BlackBerry.

3.4 Iphone

3.4.1 Iphone OS

O Iphone compartilha a base de desenvolvimento com o Mac OS X [3],facilitando assim o aprendizado para desenvolvedores Mac, havendo so-mente a necessidade de aprender novas tecnologias que estão disponíveissomente para a arquitetura do Iphone contemplando as demandas do am-biente móvel, como a interface Multi-Touch e o acelerômetro.

No ambiente de produção de sistemas para o Iphone é utilizado o kit dedesenvolvimento Iphone SDK, com o qual o programa é capaz de depurar,

29

Page 30: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 30/72

 

executar, testar e desenvolver as aplicações. O Xcode compreende um con- junto de ferramentas voltadas para auxiliar o desenvolvimento de aplica-tivos para o Iphone, capacitando a edição do código, compilação, depuraçãoe realização de testes até mesmo com a utilização de um simulador.

3.4.2 Camadas Tecnológicas

O kernel do sistema operacional do Iphone tem como base o Kernel do MachOS X e assim como este sua arquitetura se apresenta de acordo com a figura3.1.

Figura 3.1: Camadas Tecnológicas do Iphone [3].

 As camadas Core OS e Core Services compreendem interfaces essenci-ais para o Iphone como por exemplo, acesso a arquivos, serviços Bonjour,sockets de rede, entre outros. A maioria dessas interfaces é codificada emC e implementa tecnologias como CFNetwork, sockets Unix, e SQLite.

Nas camadas superiores encontramos tecnologias avançadas que usamC-based e Objectie-C como base de suas interfaces. A camada Media utilizatecnologias que oferecem suporte para desenho 2D e 3D, vídeo e áudio. Con-tinuando na camada Media verificamos a presença das tecnologias C-basede o OpenGL ES, Quartz, Core Audio e Core Animation.

Na camada mais externa, na Cocoa Touch, temos o predomínio da uti-lização do Objective-C. Esta camada possui as frameworks fundamentais

que são utilizadas pelos programadores no desenvolvimento das aplicações.Temos como exemplo de frameworks desta camada: framework Foundationque dá suporte padrão orientado a objeto, gerencia arquivos, oferece suportea operações de rede, entre outros; framework UIKit que é utilizado para cri-ação da estrutura visual do aplicativo, compreendendo classes de janelas,controles e controladores que gerenciam os objetos. Outros frameworks

também são utilizados nesta camada fornecendo recursos para acesso aosdados de contatos, acelerômetro e outros do hardware.

30

Page 31: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 31/72

 

3.4.3 Escrevendo código para o Iphone

Um dos caminhos para o desenvolvimento de aplicações para o Iphone é autilização da SDK do ambiente para criação de programas orientados a grá-ficos que rodam nativamente na arquitetura do Iphone OS. Os aplicativoscriados e carregados no Iphone ficam na tela Home, agrupado com os outros

programas do sistema, tais como o relógio e tempo. Com a inicialização dequalquer programa no sistema nenhum outro processo será executado emconjunto, pois o sistema não é multithread [3].

 A forma de tratamento de eventos no Iphone é bem diferente se com-parada ao modelo utilizado no desenvolvimento de aplicativos para as apli-cações desktops, sendo processados eventos de toque ao invés de eventosde teclado e mouse. Familiarizando-se com o tratamento de eventos no sis-tema juntamente com a utilização dos frameworks Foundation e UIKit, oprogramador será capaz de utilizar os principais serviços que o aparelho

dispõe sendo necessário somente em casos mais específicos estudar a uti-lização de outros frameworks e até mesmo recursos de camadas inferiorespara desenvolver funcionalidades específicas.

3.4.4 Primeiros Passos

O Xcode fornece templates que podem ser utilizados para desenvolvimentode aplicações simples. Para a criação de aplicações mais complexas é necessárioque o programador reserve algum tempo para estudo da documentação

disponível. Os aplicativos mais robustos usufruem de todo o poder en-contrado nas frameworks de desenvolvimento, pois com a sua utilização, acodificação de determinados comportamentos pode ser extremamente maisorganizada e intuitiva por conta dos padrões estipulados.

 A documentação essencial que todo desenvolvedor para Iphone deve pos-suir é encontrada na guia Cocoa Fundamentals Guide. Este guia apresentaos conceitos da linguagem Objective-C e os padrões de projeto utilizadospelo framework UIKit e muitos outros frameworks.

 Após compreender os padrões e os recursos para programação de aplica-tivos para o Iphone, deve ser consultada outra documentação que é uti-lizada para implementação de detalhes específicos nos processos de desen-volvimento, a Application Programming Guide. Com este livro o progra-mador encontra informações importantes que são baseadas em situaçõesespecíficas que demonstram como codificar para contornar o problema apre-sentado, exemplificando com exibição de interfaces para o usuário e manip-ulação de eventos. Esta documentação orienta de forma eficiente o desen-volvedor para que ele seja capaz de tirar proveito das principais caracterís-ticas do Iphone OS.

31

Page 32: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 32/72

 

3.5 Symbian

O Symbian OS é o sistema operacional para dispositivos móveis que temcomo principal destaque frente aos demais o fato de ser a plataforma queestá presente na maioria dos celulares e smartphones do mercado atual-

mente. É um sistema bastante robusto e confiável, entretanto sua com-plexidade torna difícil a manutenção e aprendizagem, apresentando muitosdesafios aos desenvolvedores [15]. Na figura 3.2 é apresentado as camadasda plataforma Symbian.

Figura 3.2: Camadas da plataforma Symbian [6].

O modelo arquitetural do Symbian OS é descrito em camadas.

3.5.1 Camada de Interface com o Usuário

 A camada de mais alto nível é a UI Framework Layer, ou camada de inter-face com o usuário que disponibiliza frameworks e bibliotecas para constru-ção de componentes visuais de interação com o usuário.

3.5.2 Camada de Serviços de Aplicação

 A camada de serviços de aplicação (The application Services Layer), provê

recursos independente da camada de interface.Como exemplos, são disponibilizados serviços referentes a tratamento

de textos, calendário, agenda e comunicação HTTP.

 As aplicações para o Symbian OS são orientadas à objetos e seguem omodelo MVC.

Também na camada de serviços de aplicação o Symbian OS oferece su-porte a Java, através da tecnologia J2ME.

32

Page 33: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 33/72

 

 A implementação Java é baseada em uma VM (virtual machine), umconjunto de pacotes padrões MIDP 2.0, uma implementação da linguagemCLDC 1.1 e uma série de plugins de baixo nível que fazem a integração doJava com o Symbian.

3.5.3 Camada de Serviços do Sistema Operacional

Os serviços desta camada são divididos em quatro áreas:

• Operações genéricas do sistema;

• Comunicação;

• Gráficos e Multimídia e

• Conectividade.

Juntas essas quatro áreas oferecem serviços que são específicos da plataforma,mas independentes de aplicação. Qualquer aplicação desenvolvida podeutilizar tais serviços, mas apenas aplicações feitas para a plataforma Sym-bian.

3.5.4 Camada de Serviços Básicos

É a camada de software de mais baixo nível do sistema, os serviços incluem

o servidor de arquivos e a biblioteca de usuários. O modelo de persistênciae criptografia também são implementados aqui.

3.5.5 Camada de Hardware

 A camada de hardware contém operações relativas a drivers de dispositivosfísicos e lógicos.

3.6 Tecnologia Java

 A tecnologia Java, que foi desenvolvida e disponibilizada pela Sun em 1994,tornou-se muito popular desde então. O sucesso dessa tecnologia é muitogrande no meio empresarial e acadêmico. Profissionais de desenvolvimentode sistemas fazem cursos para provas de certificação que comprovem suaproficiência na linguagem. No meio acadêmico, o ensino de Java é básico.

33

Page 34: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 34/72

 

Seu sucesso se deve, sobretudo, à portabilidade de código, que permiteque um mesmo código-fonte seja usado em diferentes plataformas (desk-tops, servidores etc.).

  A tecnologia foi desenvolvida com o intuito de criar um tipo de lin-

guagem de programação universal, a qual poderia ser executada em qual-quer tipo de sistema operacional para diversos tipos de hardware. Para isso,a linguagem Java, quando compilada, gera um bytecode, que é lido por uminterpretador conhecido como Máquina Virtual Java (JVM). Este traduz,em tempo de execução, as instruções para uma linguagem de máquina com-patível com o tipo de processador utilizado.

Figura 3.3: A Máquina Virtual Java [26].

 Assim, pode-se utilizar um único código-fonte e executar o mesmo byte-code em diversos sistemas operacionais diferentes, desde que possuam umaJVM. Então, teoricamente, seria utilizar esse bytecode gerado em disposi-tivos móveis, pois eles também podem ter uma JVM instalada. Veremosadiante que isso não é possível em razão de muitas diferenças entres os sis-temas de grande poder de processamento (como servidores e computadoresdesktop) e os dispositivos de computação móvel de pouco poder computa-cional, como telefones celulares.

34

Page 35: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 35/72

 

3.6.1 Java Micro Edition

Em 1998 a Sun lançou uma tecnologia chamada de Personal Java (pJava),voltada a dispositivos móveis e com restrições computacionais. A tecnolo-gia funcionou bem com alguns tipos de dispositivos, entretanto, em testesrealizados com aparelhos menores, como celulares, a tecnologia não fun-

cionava bem. Em 1999, foi lançada a J2ME, com o objetivo de permitir odesenvolvimento de aplicativos para esses dispositivos.

Nessa plataforma, a implementação da Máquina Virtual Java é bas-tante reduzida. Foi necessário também reduzir os recursos da linguagemem razão das limitações de processamento computacional dos dispositivos[22].

 A versão Java 2 Micro Edition (J2ME) tem o foco para aplicações Javavoltadas para dispositivos eletrônicos com capacidades computacionais e

gráficas reduzidas, como telefones celulares, PDAs e outros. Esta versãotem alguns componentes que a diferenciam das demais versões do java,a J2SE e a J2EE. A principal diferença é o uso de uma maquina virtualdenominada KVM (Kilo virtual machine), pois essa requer apenas algunskilobytes de memória para sua execução.

O fato de fazer parte do conjunto de tecnologias Java, a escolha daplataforma J2ME para desenvolvimento traz como principal vantagem ofato de o código fonte ser compilado e transformando em chamados byte-codes, e então interpretados pela JVM, e o código uma vez gerados os byte-

codes qualquer maquina virtual é capaz de interpretar, fazendo assim queo código seja independente de plataforma, em outras palavras isso permiteque uma mesma aplicação possa ser executada em uma maquina indepen-dentemente do sistema operacional que ela possua bastando para isso teruma maquina virtual java [26].

3.6.2 Os componentes da tecnologia J2ME

• Em primeiro lugar estão as máquinas virtuais, cada fabricante podedesenvolver a sua de modo a atender os requisitos pretendidos pelopequeno dispositiv;

• As configurações: são um conjunto de classes básicas que permitem odesenvolvimento para dispositivos com recursos limitados. São duasas configurações definidas no J2ME: 1.CLDC Connected limited de-vice configuration, tem o foco para dispositivos com restrições de pro-cessamento e memória; 2.CDC Connected devide configuration, focopara dispositivos com mais recursos. Perfis: são bibliotecas de classesJava que permitem a implementação de funcionalidades de mais altonível.

35

Page 36: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 36/72

 

Os componentes em Detalhes: As máquinas virtuais são de mais baixo nivel, e como não sao o foco

deste projeto não serão aprofundadas, já as configurações e os perfis quesão mais alto nível e o seu conhecimento é fundamental para o desenvolvi-mento de aplicações em J2ME são descritos nas próximas sessões.

• Configuracoes Uma configuracao é um conjunto minimo de APIs Javaque permitem desenvolver aplicacóes para dispositivos móveis. E ascaracteriscas básicas oferecidas por estas APIs são: suporte a lin-guagem de programação Java, suporte a maquina virtual e bibliotecasbásicas de Java como funções como I/O (Input/Output ou traduzindoEntrada e saída de dados).

– CDC é voltada para dispostivos com certa capacidade computa-cional de processamento e memoria: - processador de 32 bits -

pelo menos 2MB de memoria - possuir maquna virtual java2 -conexao a algum tipo de rede A CDC é baseada na versao 1.3do java e inclui alguns pacotes da ediçao J2SE (edicao para com-putadores de grande porte)

– CLDC é dedicada a dispositivos que possuam algum tipo de conexaoe com recursos de processamento e memoria e capacidade graficabastante reduzidos. Um exemplo destes despostivos são a maio-ria dos telefones celulares disponíveis atualmente no mercadobrasileiro. Os dispositivos que usam CLDC devem atender osrequisitos abaixo: - ter entre 160kb e 512kb de memoria - um

processador de 16 a 32 bits com pelo menos 25Mhz de velocidade- conexao com algum tipo de rede As funcionalidades suportadassão: - um subconjunto da linguagem java; - suporte basico a ope-rações de entrada e saida - suporte a acesso a redes segurança

3.7 Android

O Android é uma plataforma open source para dispositivos móveis.Desenvolvido pela Open Handset Alliance, uma organização de 35

grandes empresas, entre elas a Google, Samsung, Motorola e LG. Éimportante ressaltar que o Android não é uma plataforma de soft-ware e sim um ambiente de software que oferece diversos recursostanto para usuários quanto para desenvolvedores.

Nesta sessão abordaremos alguns conceitos e apresentaremos os re-cursos da plataforma.

36

Page 37: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 37/72

 

3.7.1 Recursos

O Android SDK é o kit de desenvolvimento que disponibiliza as ferra-mentas e APIs necessárias para desenvolver aplicações para a plataforma Android. Vejamos alguns dos recursos oferecidos pela plataforma:

– Application framework proporciona a reutilização e substituiçãode componentes;

– Dalvik virtual machine otimizada para dispositivos móveis;

– Browser integrado baseado no Webkit engine;

– Gráficos Otimizados possui uma biblioteca 2D e 3D baseada naespecificação OpenGL;

– SQLite engine de banco de dados;

– Suporte multimídia para áudio, vídeo e formatos de imagem;

– Telefonia GSM;– Bluetooth, EDGE, 3G e Wifi;

– Câmera, GPS e acelerômetro e

– Rico ambiente de desenvolvimento, incluindo um emulador dedispositivo, ferramentas de depuração, memória, desempenho eum plugin para a IDE Eclipse.

3.7.2 Arquitetura

 A arquitetura foi projetada de maneira a possibilitar a reutilizaçãode recursos disponibilizados por outras aplicações. Esse compartilha-mento otimiza o desenvolvimento de novas aplicações que necessitemutilizar dados de aplicações do sistema, localizadas na camada Appli-cations[4].

Os desenvolvedores tem total acesso aos frameworks, APIs e bibliote-cas da plataforma, o que os proporciona um rico ambiente de desen-

volvimento. Uma das grandes vantagens da plataforma é o suporte alinguagem Java, esse fator tem proporcionado uma rápida populari-zação, agregando muitos adeptos à comunidade.

Na figura 3.4 visualizamos os principais componentes da plataforma Android.

37

Page 38: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 38/72

 

Figura 3.4: A Arquitetura do Android [11].

3.7.3 Applications

 Aplicativos que vem com o Android, como um cliente de e-mail, pro-grama de envio de SMS, calendários, mapas (Google Maps), jogos, na-vegador web, contatos (o software que gerencia e mostra os contatos

do celular) e muitos outros. Vários desses foram selecionados duranteo Android Challenger, uma competição mundial que foi iniciada juntoao lançamento da plataforma. Todas essas aplicações são escritos nalinguagem de programação Java.

3.7.4 Application Framework

 A framework Application foi toda escrita em Java e todos aplicativosque rodam no Android tem acesso as mesmas APIs que são utilizadaspelos aplicativos padrões do sistema operacional. A arquitetura dosaplicativos é desenvolvida para simplificar a reutilização de compo-nentes. Qualquer aplicativo pode publicar suas capacidades (suasfunções, métodos, etc) e qualquer outro programa pode utilizá-los:

1. Views: utilizados para a construção de telas de aplicativos, taiscomo: listas, grids, caixas de texto, botões e também um navega-dor web embutido;

2. Content Providers: permite que aplicativos acessem dados deoutros aplicativos do aparelho e também que compartilhem seus

38

Page 39: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 39/72

 

próprios dados;

3. Resource Manager: provê o acesso a recursos como textos (strings),gráficos e arquivos de layout. Cada aplicativo tem o seu organi-zador de recursos, o arquivo R.java;

4. Notification Manager: permite que todos os aplicativos mostremalertas cutominizados na barra de status;

5. Activity Manager: gerencia o ciclo de vida dos aplicativos;

6. Packet Manager: gerencia o local dos aplicativos e arquivos dedados armazenados.

3.7.5 Bibliotecas

O Android inclui um conjunto de bibliotecas C/C++ utilizadas por várioscomponentes do sistema. Os recursos providos pelas bibliotecas sãooferecidos aos desenvolvedores através do Framework. Abaixo, algu-mas das principais bibliotecas:

1. System C library: uma implementação derivada da biblioteca Cpadrão sistema (libc) do BSD sintonizada para dispositivos ro-dando Linux;

2. Media Libraries: baseado no PacketVideos OpenCORE; as bib-liotecas suportam os mais populares formatos de áudio e vídeo,bem como imagens estáticas;

3. Surface Manager: gera o acesso ao subsistema de exibição bemcomo as múltiplas camadas de aplicações 2D e 3D;

4. LibWebCore: web browser engine utilizado tanto no Android Browserquanto para exibições web;

5. SGL: bibliotecas de gráficos para construção em 2D;

6. 3D libraries: implementação baseada no OpenGL ES 1.0 APIs; asbibliotecas utilizam aceleração 3D via hardware (quando disponível)ou o software de renderização 3D altamente otimizado incluído no Android;

7. FreeType: impressão de fontes vetoriais ou raster;8. SQLite: poderosa e leve ferramenta de banco de dados relacional

disponível para todas as aplicações.

3.7.6 Android Runtime

O Android inclui um grupo de bibliotecas que fornece a maioria dasfuncionalidades disponíveis nas principais bibliotecas da linguagemJava. Toda aplicação Android roda em seu próprio processo, com sua

39

Page 40: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 40/72

 

própria instância da máquina virtual Dalvik [11].

O Dalvik foi escrito de forma a executar várias VMs eficientemente.Ele executa arquivos .dex, que é otimizado para consumo mínimo dememória. A VM é baseada em registros e roda classes compiladas pela

linguagem Java que foram transformadas em arquivos .dex, atravésda ferramenta dx incluída no SDK. O Dalvik VM baseia-se no kerneldo Linux para funcionalidades subjacentes como o encadeamento e agestão de baixo nível de memória.

3.7.7 Linux Kernel

Utiliza a versão 2.6 do kernel do Linux, esse sistema operacionalgerencia os serviços centrais do sistema, tais como: segurança, gestãode memória, gestão de processos, etc. O kernel também atua comouma camada de abstração entre o hardware e o resto do software. Ocódigo do sistema operacional é aberto e pode ser obtido no endereço:http://git.android.com/.

3.8 Análise das Tecnologias e Seleção do

 Ambiente

O Windows mobile, Iphone e o BlackBerry são plataformas propri-etárias e já o Symbian, J2ME e o Android são plataformas livres quepossuem um conjunto de frameworks e ferramentas que auxiliam oprocesso de desenvolvimento de aplicativos. Os aplicativos desenvolvi-dos para o Symbian podem ser codificados em Python ou em C++ e no Android é utilizado a linguagem Java, mas no caso do Symbian exis-tem alguns problemas de incompatibilidade entre sistemas por contadas diferentes versões do sistema operacional e também pelas diferen-tes linguagens de desenvolvimento no ambiente. O J2ME atualmente

é um ambiente que oferece poucos recursos se comparado as platafor-mas atuais e gera muita incompatibilidade dos sistemas produzidosnos diversos aparelhos existentes.

40

Page 41: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 41/72

 

Capítulo 4

Estudo de Aplicações Móveis

Este capítulo apresenta um levantamento das aplicações móveis exis-tentes no mercado procurando analisar as tecnologias utilizadas e

identificar as características das aplicações, bem como as vantagense desvantagens das soluções implementadas em cada aplicativo.

4.1 Sistema de Monitoração de pacientes

apoiado em web e palmtops

Esse sistema visa o monitoramento de pacientes internados no Hospi-

tal, utilizando recursos web e moveis a partir de Palmtops. Sua neces-sidade foi verificada a partir de um levantamento de campo realizadoem hospitais na cidade de Franca-SP. A pesquisa demonstrou que sãonecessários cerca de trinta formulários para acompanhamento diáriodos pacientes internados. Devido a esta grande quantidade de docu-mentos físicos para controle de dados dos pacientes, foi verificado aexistência de informações redundantes e uma dificuldade na recupe-ração dos dados[17].

 As informações são transmitidas com o Palmtop para um servidor de

dados (Banco de dados Relacional) e podem ser acessadas por qual-quer computador ligado a rede como por outro Palmtop. A comuni-cação dos aparelhos móveis com o servidor é feita através da tecnolo-gia wi-fi, apoiada em ondas de rádio.

O sistema foi desenvolvido em Delphi 7 oferecendo recursos para acessoaos dados pela Intra e Internet. O aplicativo web se conecta com oservidor de dados a partir da ferramenta chamada DBExpress e parao desenvolvimento dos recursos para o Palmtop, foi utilizado o NsBa-sic 3. Na figura 4.1 verificamos a interface com o usuário no disposi-

41

Page 42: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 42/72

 

tivo móvel.

Figura 4.1: Sistema de Monitoração de pacientes - Palmtops [17].

 A interface de acesso aos dados do servidor foi desenvolvida em Delphi7, sendo que esta centraliza os serviços do sistema e é acessível tantopela Intranet como pela Internet. Para trabalhar com o Palmtop foiutilizado o NsBasic 3.1 e para a conexão entre o Aplicativo WEB e oservidor de dados foi utilizada ferramenta chamada DBExpress. Nafigura 4.2 é demonstrada a interface web para acesso aos dados.

Figura 4.2: Sistema de Monitoração de pacientes - Web [17].

42

Page 43: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 43/72

 

4.2 Sistema Simplificado de Prontuário

O sistema simplificado de prontuário eletrônico do paciente, baseadono sistema Clinic Manager da UNIFESP, é uma aplicação onde osprofissionais médicos realizam acesso à ficha do paciente através de

aparelhos smartphones (PDA com funcionalidades de telefone celular)[19].

 A tecnologia de desenvolvimento adotada foi a biblioteca AppForgeaplicada a ferramenta Visual Basic. Essa biblioteca permite a gera-ção do código do aplicativo em diferentes plataformas como SymbianOS, Windows Pocket PC e Palm OS, sem a necessidade de efetuar al-terações no código-fonte.

O intuito da aplicação é diminuir a perda de informação nos atendi-mentos médicos que ocorrem fora do consultório, como situações em

que o profissional médico presta auxílio ao paciente via telefone. Torna-se possível através dessa aplicação obter e manter mais informaçõesdo paciente nessas situações. Na figura 4.3 podem ser conferidas al-gumas telas do sistema.

Figura 4.3: Sistema Simplificado de Prontuário [19].

4.3 Aplicação HandMed A aplicação HandMed (HM) é parte de um projeto maior denominadoGIMPA, o qual tem por intuito monitorar o paciente integrando umarede de sensores ao corpo humano, mantendo bibliotecas de sintomas,Prontuários Eletrônicos, entre outros [14].

O HM está encarregado de realizar a captura automatizada dessessintomas do paciente, com intuito de possibilitar um acompanhamento

43

Page 44: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 44/72

 

e prevenção de problemas com a saúde do mesmo.

 A aplicação é desenvolvida em J2ME com a API Personal JAVA na fer-ramenta Jbuilder, sendo os testes realizados no aparelho PDA SharpZaurus SI-5500, que se baseia em uma plataforma Linux.

Parte da monitoração do paciente é feita através de formulários preenchi-dos pelo próprio paciente. Além disso, o sistema é alimentado porinformações fornecidas por profissionais de saúde, responsáveis pelopaciente, entre outras pessoas envolvidas. Na figura 4.4 verificamosalguma telas do HandMed.

Figura 4.4: Aplicação HandMed [14].

4.4 Computação Móvel e Tecnologia Web

em Sistemas de Controle Pós-Transplante

 A utilização da computação móvel e tecnologia web em sistemas decontrole pós-transplante é outro exemplo de aplicação encontrada. Essaaplicação é composta de duas partes, uma residente no PDA e outraem um servidor de informações. Procura facilitar o acompanhamentodo paciente e centralizar a informação de forma a eliminar a redundân-cia de dados, aumentando a segurança da informação do paciente nasituação de pós-transplante. Toda informação pertinente ao pacienteé armazenada em um servidor de banco de dados, no caso o Interbase[17].

O funcionamento ocorre da seguinte forma: os dispositivos Palm sãocarregados com as informações do paciente no início do dia e descar-regados no final do turno do profissional. Para desenvolvimento daaplicação, a parte móvel utiliza a API AppForge para Visual Basiccom o intuito de gerar uma aplicação independente de plataforma. Já

44

Page 45: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 45/72

 

a outra parte foi implementada na linguagem PHP, também indepen-dente de plataforma, provendo um sistema acessível aos usuários dequalquer computador capaz de se conectar a Internet. A cada usuárioé permitido o acesso apenas às informações dos pacientes de sua res-ponsabilidade e proibido a alteração de informações antigas. Na figura

4.5 são apresentadas telas do projeto.

Figura 4.5: Sistemas de Controle Pós-Transplante [17].

4.5 Epocrates Essential

Uma outra solução de contexto internacional é o Epocrates Essen-

tial, um pacote de aplicativos para PDA que se compõe de serviçosde consulta, referência e apoio à decisão. Os produtos da famíliaEpocrates são: o Rx, o SxDx e o Lab, são guias de referências paraescolha de medicamentos, identificação de doenças e lista de sintomase para apoio ao diagnóstico e escolha de testes laboratoriais; respecti-vamente.

O aplicativo foi desenvolvido no ramo móvel para PDA nas platafor-mas Palm OS e Pocket PC OS. Na figura 4.6 visualizamos telas doEpocrates Essential.

4.6 The m-learning Project

O sistema foi desenvolvido para aparelhos que são ao mesmo tempocelular, PDA e smartphones. Aposta-se que o público entre 18 e 25anos utilizará aparelhos desse tipo em 4 ou 5 anos [10].

45

Page 46: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 46/72

 

Figura 4.6: Epocrates Essential [1].

 A análise e estudos das opções de hardware e software para desen-volvimento do projeto evidenciou o acesso a internet diretamente pelosdispositivos móveis, poderia ser feito a partir de um browser. Essa al-ternativa foi escolhida por resolver os problemas de portabilidade, osPDAs, celulares e smartphones poderiam ter acesso a aplicação sem anecessidade de implementação específica para cada plataforma.

O usuário acessa o portal, denominado mPortal, este é formado poruma série de mini-páginas de navegação e cada uma delas oferece osseguintes recurso:

– material de leitura;

– página de construção de ferramentas;

– ferramenta de atividade colaborativa;

– comunicação: chat, mensagens, blogs;

– sistema de gerenciamento de aprendizagem;

– guia de ajuda do sistema e

– links interessantes na web.Na página de construção de ferramentas os usuários podem criar suaspróprias páginas. O sistema de gerenciamento de aprendizagem (Sis-tema tutorial) possui um repositório de materiais de aprendizagemonde se mantém a trilha de aprendizagem do usuário. Novos módulospodem ser escolhidos com base nas preferências e no desempenho dousuário.

Por julgarem que no atual momento as tecnologias de desenvolvi-mento para dispositivos móveis não apresentam uma solução genérica

46

Page 47: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 47/72

 

de modo a ser compatível com qualquer ambiente, algumas opções deplataformas são oferecidas:

– SO Microsoft pocket pc para PDA/Celular;

– SO Sony Ericsson para PDA/celular;

– J2ME para celulares - Quiz games;– Atividades de aprendizagem colaborativa usando a câmera dos

celulares e

– SMS

 Várias pesquisas foram realizadas no Reino Unido, Suécia e Itália,90 [10] aparelhos foram distribuídos aos estudantes a fim de desco-brirem a reação a esta nova forma de aprendizagem. O entusiasmodos alunos e maior aprendizado colaborativo foram observados. Al-gumas das observações levantadas sobre o uso de aprendizagem comdispositivos móveis foram:

– os estudantes identificaram áreas que precisam de algum su-porte;

– pode ser usado para estimular o estudo individual e também ex-periências colaborativas;

– melhora das capacidades de leitura, cálculos e a identificar outrashabilidades;

– minimiza a resistência ao uso de novas tecnologias;

– Diminui alguns formalismos de estudantes mais experientes;– ajuda os estudantes a manterem o foco por períodos maiores;

– melhora a auto-estima dos estudantes.

4.7 Sistema de avaliação de cursos de EAD

na UFPB

Trata-se de um projeto de suporte a avaliação de cursos de EAD (en-sino a distância) realizados pela internet. Um subsistema é respon-sável pela aplicação de formulários que podem ser acessados e respon-didos diretamente pela tela de um dispositivo móvel, como um celular,um PDA ou um smartphone. Os formulários são gerados ainda noscomputadores desktops e em seguida convertidos obedecendo a umaestrutura padrão, a qual o dispositivo móvel é capaz de interpretar aoreceber o arquivo. Após preenchido o formulário no PDA/celular ele étransferido de volta para um banco de dados no computador. Segundo[18] a utilização da computação móvel para auxiliar no acompanha-mento do desempenho dos alunos nos cursos de EAD pode ser uma

47

Page 48: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 48/72

 

ferramenta muito útil, já que os pequenos equipamentos estão maistempo com o seu usuário, seja na fila do banco, na parada do ônibusna sala de reunião etc.

O sistema é dividido em módulos(figura 3.8) da seguinte maneira:

1. Módulo 1 - Responsável pela criação do formulário, com o cadas-tro das questões, seus tipos e respostas;

2. Módulo 2 - Converter os dados armazenados no banco de dadospara um layout aceito pelo dispositivo móvel;

3. Módulo 3 - Comunicação entre os dispositivos, celular x PC e

4. Módulo 4 - Interface para o preenchimento do formulário no dis-positivo móvel.

Figura 4.7: Estrutura do Projeto na Universidade Federal da Paraíba [18].

 A tecnologia empregada no desenvolvimento é baseada na plataformaJava. Um sistema web feito em J2EE (Java 2 Entrepise Edition) paraser acessado pelo computador para criação dos formulários e uma apli-cação J2ME (Java 2 Mobile Edition) para rodar em um dispositivoPDA ou um celular. A questão da aceitação é superada pelo fato damaioria dos alunos já possuírem um celular com suporte Java.

 As ferramentas que podem ser instaladas nos dispositivos móveis pos-sivelmente terão boa aceitação por parte dos alunos que utilizam essatecnologia. [18]O mobile learning seria mais uma alternativa do lequede opções para os alunos, e teria a facilidade de poder ser utilizada aqualquer tempo, mesmo não tendo um computador disponível para re-alização da tarefa.

No PDA é oferecida um interface amigável ao usuário com poucas in-formações e de fácil preenchimento, como pode ser visto no figura 4.8.

48

Page 49: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 49/72

 

Figura 4.8: Projeto na Universidade Federal da Paraíba - Tela Palmtop [18].

4.8 Homer Framework Biblioteca para co-

leta de dados na plataforma Symbian

Trata-se de um projeto que consiste no desenvolvimento de uma bibli-oteca de componentes voltados para a produção de interfaces gráficase transferência de dados [5]. Este foco visa facilitar o uso de smart-phones para coleta de dados em campo. O sistema operacional esco-lhido para criação do framework foi o S60, baseado no Symbian, e a

linguagem de codificação foi Python. Na figura 4.9 e 4.10 são apre-sentadas algumas imagens do sistema operacional S60 a partir de umemulador.

 As características principais do framework são:

– Controles de interface com o usuário.

– Componentes de conectividade, como bibliotecas para comuni-cação por bluetooth, adaptadores de rede e USB. Esses compo-nentes são usados tanto para importação quanto para exportação

de dados.

 Abaixo é apresentado a estrutura dos dois componentes principais doframework.

4.8.1 Componentes de interface com usuário

São controles gráficos para o sistema operacional S60, desenvolvidosna linguagem de programação Python.

49

Page 50: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 50/72

 

Figura 4.9: Sistema Symbian S60 3ed [5].

Figura 4.10: Sistema Symbian S60 5ed [5].

50

Page 51: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 51/72

 

– HomerForm: Componente principal do framework. Sua função éreceber os controles de interface e de troca de informações. Paraa coleta de dados, o conteúdo deste formulário será transformadoem um arquivo de saída através do componente HomerOutput-Datafile.

– HomerWizardForm: Extensão do HomerForm, preparado parafuncionamento como um wizard, trabalhando em vários passoscom comandos para Voltar, Avançar e Finalizar a coleta.

– HomerGPSPositionCollector: Textbox que coleta a posição cor-rente através do GPS. Depende de disponibilidade de recurso noaparelho.

– HomerRequiredFieldValidator: Validador de Textbox para cam-pos requeridos. Mostra mensagem de erro para o usuário em caso

de input nulo. Será utilizado em conjunto com o HomerSubmit-Command.

– HomerRegexValidator: Validador de Textbox contra uma expressãoregular. Mostra mensagem de erro para o usuário em caso deinput inválido. Será utilizado em conjunto com o HomerSubmit-Command.

– HomerRangeValidator: Validador de Textbox numérica para umconjunto de valores. Mostra mensagem de erro caso o númeronão esteja entre os limites impostos. Será utilizado em conjuntocom o HomerSubmitCommand.

– HomerCompareValidator: Validador de Textbox numérica paracomparação com valores. Mostra mensagem de erro caso o númeronão esteja de acordo com o critério de comparação. Será utilizadoem conjunto com o HomerSubmitCommand.

– HomerMaskedTextBox: Textbox com máscara para entrada devalores.

– HomerPhotoCollector: Componente para coleta de fotos. Dependede disponibilidade de recurso no aparelho.

– HomerSoundCollector: Componente para coleta de sons a partir

do gravador de som. Depende de disponibilidade de recurso noaparelho.

– HomerFilteredGrid: Extensão do grid disponível na plataforma,com possibilidade de filtragem de conteúdo.

– HomerSubmitCommand: Comando que submete o formulário. Aciona os componentes de validação e apenas submete o formuláriose todas as validações forem bem sucedidas. Utilizado no menuassociado às softkeys.

– HomerResetCommand: Comando que limpa todos os campos doformulário. Utilizado no menu associado às softkeys.

51

Page 52: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 52/72

 

4.8.2 Componentes de Comunicação

São os componentes utilizados para troca de informações entre o dis-positivo e sistemas externos. Serão desenvolvidos de modo que nofuturo suportem novos formatos de arquivo e componentes de conec-

tividade para saída e entrada de informações.– HomerDataSource: Fonte de dados para componentes como List-

Box, CheckBoxList, RadioButtonList e HomerFilteredGrid. Ini-cialmente será implementado com suporte somente a fontes dedados XML.

– HomerFormDatafile: Componente que transforma um Homer-Form em um arquivo de saída que pode ser lido por sistemas ex-ternos. Este arquivo de saída será um arquivo GZip (Algoritmopara compressão de dados), onde há um arquivo XML com o con-teúdo do HomerForm e todos os arquivos binários que forem co-

letados pela aplicação desenvolvida.

Com a análise realizada nos estudos de aplicações, foi verificado que amaioria dos aplicativos possuem uma raíz proprietária não permitindoassim que sejam utilizados como base para modelagem e desenvolvi-mento de novas aplicações. O caso Home Framework é uma soluçãointeressante pois facilita as tarefas de codificação dos programadoresalém de ser uma solução livre. Mas este herda os problemas da plataformaSymbian, como incompatibilidade de dispositivos, que continuarão sendoum grande obstáculo no desenvolvimento de aplicativos. Por último

identificamos o software Cinq Sensus, o qual apresenta uma soluçãoeficiente para criação de formulários de coleta de dados, com um mó-dulo de criação na web e outro de coleta no Palm. O Cinq Sensusreestringe a criação de formulários somente pela Web e outro fatornegativo é o fato do sistema ser proprietário o que impede a modifi-cação da sua estrutura para atender novas demandas pelos usuários.

4.9 Cinq Census

O Cinq Census é uma solução para desenvolvimento de questionáriose pesquisas para Palmtops. É uma ferramenta comercial de propriedadeda empresa brasileira Cinq Technologies. Os questionários são elabo-rados em um programa em ambiente Windows, ou seja, é necessárioo uso de um computador desktop. O questionário é então transmi-tido para os Palmtops, onde existe um programa que os executa paracoletar as respostas. As respostas são então transmitidas para o mi-crocomputador para consolidação ou integração com outros sistemas[9].

52

Page 53: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 53/72

 

É possível personalizar a elaboração de questionários, pesquisas deopinião, inspeções e coletas de informações em geral e executá-las emum dispositivo Palmtop. Produto de fácil utilização, composto por doismódulos, um que elabora questionários em microcomputador e outroque os executa em Palmtops ou celulares compatíveis com J2ME.

 A solução é direcionada ao usuário final, facilidade de uso, baixo custo,permite automatizar a coleta de pesquisas de campo, check-lists nochão de fábrica, provas/testes e muitas outras aplicações de coleta deinformações. Com o uso de celulares é possivel, inclusive, transmitirem tempo real estas informações de coleta em campo para bancos dedados centralizados com publicação simultânea na WEB.

Esse aplicativo sugiu após a Cinq Technologies verificar que váriasempresas clientes tinham uma necessidade comum. Então foi criado

um ambiente de desenvolvimento de questionários para os própriosusuários criarem as pesquisas e carregarem nos PDAs. Isto evita anecessidade de se acionar uma desenvolvedor para toda vez que hou-ver necessidade de alterar o questionário (perguntas, respostas, etc).

O Cinq Census se destina a qualquer empresa que necessite coletardados em campo com precisão, flexibilidade e agilidade, como compa-nhias que monitoram a satisfação dos clientes e as atividades da con-corrência e empresas especializadas em pesquisas e marketing. Alémdisto, esta solução poderá ser utilizada em qualquer empresa ou ins-

tituição que queira rapidamente elaborar um questionário e carregá-lo em Palmtops para coletar informações em campo e publicá-las deforma automatizada, com segurança e rapidez.

53

Page 54: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 54/72

 

Capítulo 5

O Problema

 A maioria dos profissionais que trabalham em campo muitas vezes aoestarem coletando dados se deparam com a situação na qual o soft-

ware utilizado não comporta as necessidades específicas no momentoda coleta e infelizmente devido a incapacidade de customização dosistema pelo usuário, as informações não são coletadas da maneiracorreta. Isso acaba acarretando sérios problemas, como por exemplo,perdas de informações, descentralização das informações e dificuldadede migração das informações para outras plataformas, dificuldade deintegração dos dados.

5.1 Soluções Proprietárias

Dentre os sistemas levantados podemos destacar na área de saúdeo Sistema Simplificado de Prontuário[19], Aplicação HandMed[14],Epocrates Essential[1]. Na área de Educação temos The m-learningProject e Projeto na Universidade Federal da Paraíba. Mesmo comessa grande diversidade de sistemas móveis existentes, nenhum de-les citados oferece uma base de desenvolvimento que possa contornaras dificuldaddes apresentadas pelos profissionais que trabalham emcampo pelo fato de possuírem código fechado impedindo que outros

programadores possam replicar a solução em outros setores carentesdestas tecnologia. Muitas vezes os desenvolvedores necessitam rees-crever códigos preexistentes que poderiam ser reuutilizados mas de-vido ao seu licenciamento bloqueiam o seu reaproveitamento em out-ros projetos. Além do fato dos sistemas serem proprietários, os mesmonão oferecem suporte ao usuário final da aplicação, pois mesmo queseu código fosse aberto obrigaria usuário a ter conhecimento técnicopara modificar o seus sistemas de acordo com suas necessidades.

49

Page 55: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 55/72

 

Uma ferramenta para desenvolvimento de aplicativos móveis, deno-minada Homer Framework, consiste no desenvolvimento de um frame-work para coleta de dados na plataforma Symbian que fornece recur-sos para otimizar o desenvolvimento de interfaces com o usuário efacilitar a comunicação através de módulos para importação e expor-

tação de dados. Com essa plataforma podemos superar a dificuldadede reutilização de código pois a mesma oferece uma extensa bibli-oteca para abstração de funcionalidades evitando assim a reescritade código. Entretanto é uma solução somente para o desenvolvedorpois não oferece meios de viabilizar ao usuário final a manipulaçãodo framework para desenvolvimento de seus próprios programas semnecessidade de conhecimento em programação.

5.2 RecodificaçãoCom a adoção de uma solução otimizada como a utilização do HomeFramework, haveria uma redução expressiva no tempo de entrega dasaplicações facilitando assim as modificações dos sistemas, mas tal fatonão impediria a recodificação a fim de contemplar as necessidades es-pecíficas de cada sistema, que podem apresentar um dinamismo im-plicando em gastos desnecessários.

 Atualmente o usuário final de softwares móveis é incapaz de efetuar

alterações nos sistemas que gerenciam necessitando recorrer a pro-gramadores para que sejam realizadas adaptações que atendam asnovas demandas do domínio da aplicação. Este fator é crítico em situ-ações na qual o usuário final está em campo e não dispõe de tempoe meio de comunicação com desenvolvedores para que seja feita asmodificações desejadas obrigando-o assim a procurar métodos suple-mentares que o auxilie na coleta da informação. Tal fato implica nadescentralização dos dados e pode implicar em dificuldades de inte-gração dos dados, perda de informações e inconsistência dos dados.

 A solução encontrada para o projeto foi o CinqSensus, o qual apre-senta uma solução eficiente para criação de formulários de coleta dedados, com um módulo de criação na web e outro de coleta no Palm.O Cinq Sensus contorna o problema definido no projeto mas o mesmoreestringe a criação de formulários somente pela Web e é um sistemaproprietário, o que impede a modificação de seu código fonte para apri-moramento de suas funcionalidades de acordo com as necessidadesdos usuários.

50

Page 56: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 56/72

 

Capítulo 6

 AndCollector

Para contornar os custos das alterações em sistemas móveis, é necessárioque seja utilizada uma ferramenta móvel que forneça uma interface

com usabilidade eficiente para que o programa possa ser alterado eaté mesmo criado por um usuário leigo em programação de sistemas.

Uma solução eficiente que já é encontrada no desenvolvimento desistemas para desktops e para web, são os geradores de aplicativos,esses são ferramentas que proporcionam ao usuário final uma inter-face amigável para que seja gerenciada a criação e a alteração de sis-temas da plataforma sem a necessidade de conhecimento técnico, ape-nas com a manipulação dos componentes do próprio gerador. Essasferramentas que foram abordadas no capítulo 1, como a Gas Pro e a

Maker, fornecem ao usuário a capacidade de criação de sistemas coma utilização de dispositivos de médio e grande porte, como notebookse computadores de mesa, mas não viabilizam a criação de softwarespara dispositivos móveis e mesmo que tivessem recursos para imple-mentação de sistemas móveis, o usuário final ficaria comprometido autilização de dispositivos maiores para desenvolvimento dos progra-mas.

O aplicativo AndCollector tem como objetivo oferecer mobilidade aprofissionais que necessitam coletar dados em campo. Foi desenvolvido

para celulares e smartphones com a plataforma Android. Essa es-colha ocorreu devido a plataforma ser baseada na linguagem Java epor ser a primeira plataforma mobile Open Source e totalmente cus-tomizável. O desenvolvimento seguiu o padrão de arquitetura MVC(Model-view-controller) e foi disponibilizado para a comunidade soblicença livre com o objetivo de facilitar e estimular o desenvolvimentode aplicações para dispositivos móveis, permitindo a adaptação da fer-ramenta para necessidades não previstas.

O diferencial do AndCollector é permitir que as operações sejam re-

51

Page 57: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 57/72

 

alizadas diretamente no dispositivo móvel, sem a necessidade de umcomputador para comunicação. As principais características são:

– Criação de fórmulários, com o cadastro das questões, seus tipos esuas possíveis respostas;

– A Coleta de dados dos formulários.

Ferramentas que possam ser instaladas nos dipositivos móveis pos-sivelmente terão boa aceitação por parte dos profissionais envolvidospelo fato da maioria das pessoas já possuirem celulares ou smart-phones e estarem adaptadas a manipularem tais aparelhos.

Podemos encontrar uma quantidade significativa de softwares volta-dos para coleta de dados em campo, mas esses programas rodam emdispositivos diferenciados, como Palmtops, PocketPC, notebooks, en-tre outros, sendo soluções restritas aos aparelhos dos fabricantes. Por

ser livre o Android pode ser executado em aparelhos de diversos fabri-cantes. O projeto foca no desenvolvimento de recursos que possam serutilizados na produção de softwares que ampliem os usos para coletade dados em campo.

6.1 Módulos

O aplicativo é constituido por dois grandes módulos: Módulo Cons-

trução e Módulo Coleta de dados, a Figura 6.1 exibe a tela inicial do AndCollector, onde o usuário seleciona o módulo que deseja trabalhar.Os módulos da aplicação são descritos a seguir.

Figura 6.1: Tela inicial do AndCollector

52

Page 58: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 58/72

 

6.1.1 Módulo Construção

O módulo Construção permite ao usuário criar os formulários que elenecessita para coletar seus dados. Podem ser criados diversos for-mulários, e estes podem não ter nenhum tipo de relacionamento. A

criação de um novo formulário ocorre de maneira simples. Toda ope-ração é feita através de interfaces simples e intuitivas diretamentepelo AndCollector, não sendo necessário qualquer tipo de programaçãode código e por isso pode ser feito por pessoas sem conhecimento téc-nico. Um formulário ou Aplicação (como chamado no AndCollector)é representado pela entidade Questionário que está dentro do pacotebr.unb.cic.android.dominio.

Para criação de um nova aplicação com um questionário para coletade dados o usuário deve selecionar o módulo Construção na tela ini-

cial, será então exibida uma lista com todos os questionários já criadosanteriormente e as opções do menu apresentadas são Inserir Novo eBuscar. Ao escolher a opção Inserir Novo, a tela de criação de umnovo formulário é exibida e nela é preciso informar um nome para oformulário, uma breve descrição e informar se as respostas que serãocoletadas são de carácter anônimo ou não. A Figura 6.2 representaeste cenário.

Figura 6.2: Tela de criação de formulários no AndCollector

Uma vez que o usuário aciona o comando salvar, a aplicação criada élistada na tela inicial do módulo Construção juntamente com todas asdemais Aplicações já criadas anteriormente. Cada dado que preciseser coletado em um formulário deve ser cadastrado como uma enti-dade questão.

Para criação de uma questão o usuário deve acessar sua aplicaçãona tela inicial do módulo Construção que exibe a listagem de apli-cações criadas. A tela de edição da aplicação é exibida, essa tela temos mesmos campos ilustrados na Figura 6.2 porém já apresenta oscampos preenchidos e no lugar do botão salvar apresenta o botão edi-

53

Page 59: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 59/72

 

tar e as opções do menu são Adicionar Questão e Visualizar Questões. Ao escolher a opção Adicionar Questão é apresentado a tela de cadas-tro de questão. Cada Questão tem uma referência ao Questionárioao qual foi adicionada e um tipo, identi?cado pelo enum TipoQuestaoe pode assumir os valores SIM OU NAO, MULTIPLA ESCOLHA ou

 ABERTA. A Figura 6.3 exibe a tela de cadastro de questões no And-Collector.

Figura 6.3: Tela de cadastro de questões no AndCollector

Outra entidade do pacote de dominio do AndCollector é Resposta,que armazena as possíveis respostas de uma determinada questão, nocaso de uma Questao do tipo MULTIPLA ESCOLHA, para cada pos-sível resposta informada pelo usuário é salvo um registro Resposta,

no caso de uma Questão do tipo SIM OU NAO a aplicação salva au-tomaticamente as duas respostas e para o tipo ABERTA não é salvanenhuma Resposta no momento da criação da Questão. Cada Res-posta tem referência a Questao a qual foi adicionada, uma descriçãoque é o texto visível na tela do programa, um identi?cador de respostacerta para ser usado por Aplicações do tipo avaliação de conhecimentoe ainda um campo justi?cativa.

Cada classe de domínio tem uma tabela correspondente no banco dedados que possui uma coluna correspondente a cada atributo.

6.1.2 Módulo Coleta de Dados

O Módulo Coleta de Dados possibilita ao usuário a execução da co-leta de dados em si, uma vez criada a Aplicação com o cadastramentodos dados necessários, no Módulo Coleta de Dados é possível cole-tar os dados navegando por todas as questões da Aplicação. Comopara cada questionário podem ser feitas diversas coletas, como no casode pesquisas de opinião com ?ns estatísticos, existe a entidade Cole-taQuestionario, esta possui um identi?cador do Questionário, o nome

54

Page 60: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 60/72

 

do entrevistado para o caso de uma coleta não anônima e a data dacoleta que é salva automaticamente pelo sistema. Para cada dado co-letado, ou seja a resposta dada para a questão, é salvo no banco de da-dos um registro na tabela ColetaResposta. Esse registro é compostopor um identi?cador para o seu ColetaQuestionario e outro identifi-

cador para a questão. Um identificador é associado a resposta es-colhida para o caso de uma questão do tipo MULTIPLA ESCOLHA.Por último, respostaAberta é um atributo texto para ser utilizado emquestões do tipo ABERTA. A Figura 6.4 exibe uma tela do módulo co-leta de dados para uma questão do tipo certo errado.

Figura 6.4: Tela de coleta de dados no AndCollector

Uma vez que os dados referentes a coleta estão salvos no banco dedados é possível utilizá-los para análise. Para ser possível ver a con-solidação dos dados no próprio AndCollector é necessário o desenvolvi-mento de um outro módulo que apresente os resultados de acordo como desejado, ou ainda pode-se pensar em um sistema externo (web oudesktop) que recebe de alguma forma os dados exportados pelo And-Collector.

6.2 Modelo de dados

 A Figura 6.5 representa o MER (modelo entidade relacionamento)definido para o desenvolvimento da aplicação. O banco de dados uti-lizado é o Sqlite3 [7], que é o banco de dados relacional embarcadodisponível na plataforma Android. As cinco tabelas armazenam to-das as informações referentes tanto a construção de questionáriose formulários como a execução da coleta e obtenção das respostas. As tabelas Questionario, Questao e Respostas armazenam os dados

55

Page 61: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 61/72

 

cadastrados no momento da construção de um novo fomulário, en-quanto as outras duas tabelas armazenam informações referentes àscoletas em si. Um registro da tabela ColetaQuestionario é criada nomomento em que um questionário é selecionado no módulo Coleta deDados e armazena o nome do entrevistado e a data na qual foi reali-

zada a coleta, possui como chave estrangeira o id do questionário queestá sendo respondido. A tabela ColetaResposta armazena registrosreferentes às respostas dadas a cada questão de um fomulário.

Figura 6.5: Modelo Entidade Relacionamento da Aplicação

6.3 Considerações

6.3.1 Viabilidade Econômica

 As demais plataformas móveis existentes (Palms, por exemplo) sãosempre limitadas devido a restrições impostas pelo ambiente como porexemplo, incompatibilidade de softwares entre as versões do sistemasoperacionais dos dispositivos. Uma vez feita a escolha da tecnologia dedesenvolvimento, existe o risco de rápida obsolescência, como é o casoda tecnologia J2ME. O Android é uma tecnologia móvel em ascençãoque tem como base um grande acordo comercial para aprimoramentodo seu projeto. O sistema operacional da Google já possui várias fer-ramentas para desenvolvimento de sistemas, como por exemplo, plu-gins de codificação e emuladores acoplados ao Eclipse ou NetBeans, e

56

Page 62: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 62/72

 

uma grande comunidade de desenvolvedores. Considerando que algu-mas ferramentas de desenvolvimento são free, como o Eclipse, o pro-  jeto apresenta um baixo custo tanto de aperfeiçoamento do geradorquanto de utilização pelo fato de ser um sistema livre. Considerandoa robustez da plataforma Android, a promessa que esse sistema opera-

cional representa, o código fonte aberto, a utilização free do gerador eo fato de que os smartphones têm se tornado comuns e relativamentebaratos, é perceptívil as vantagens econômicas oferecidas pela ferra-menta AndCollector.

6.3.2 Viabilidade Técnica

 Além do desenvolvimento de aplicações, a plataforma Android possi-bilita o acesso a funcionalidades do aparelho como recursos de áudio e

vídeo. Assim é possível criar, além de formulários de entrada de dados,componentes que capturem informações importantes e que não neces-sariamente estariam vinculadas à coleta de dados. Existem váriascomunidades de programdores e uma extensa documentação sobre de-senvolvimento na plataforma Android para que mais desenvolvedoresvenham participar no desenvolvimento de novas funcionalidades parao AndCollecor. Outro fator importante é o fato da código ser aberto,pois desta forma os programadores podem estudar o código fonte paramodificação do gerador de acordo com as necessidades dos usuários.

6.3.3 Vantagens

– A Open Handset Alliance é um grupo de empresas de tecnologialiderados pela Google, eles são os responsável pela criação do An-droid e investe na melhoria da plataforma;

– O Android não é restrito a nenhum fabricante de celulares;

– Possuir um banco de dados relacional embarcado, facilitando apersistência dos dados e a integração com outros sistemas.

– Devido ao sistema operacional ser Open Source pode permitir quefabricantes de hardware para dispositivos móveis consigam re-duzir o custo de seus produtos. Desta forma principalmente asoperadoras de telefonia celular poderão cobrar menos e assim ofe-recer planos e pacotes mais interessantes para diversas empresasque pretendem se automatizar e não o fazem em razão do custodo dispositivo móvel.

– Para empresas que possuem sua própria área de desenvolvimento,trabalhar com o Android proporcionará uma grande redução nocusto das ferramentas de desenvolvimento bem como na redução

57

Page 63: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 63/72

 

na compra de componentes de terceiros já que como o código éaberto ficará mais fácil e acessível a todos os desenvolvedores asnuances do SO.

– O sistema operacional do Google para celulares, o Android, aproveita-se do software livre e da comunidade de desenvolvedores para

obter sucesso. A plataforma tem código aberto baseado em Javae já conta com vários programas desenvolvidos por terceiros.

– Cada vez mais celulares de diferentes marcas são lançados (alémde HTC, Huawei e Samsung, pelo menos LG e Motorola têm apa-relhos) com o sistema, o que deve impulsionar o uso e as vendas.

– De acordo com o estudo da Strategy Analytics, num prazo de atétrês anos, o Android - que em março, nos Estados Unidos - empa-tou com o Palm - estará com uma boa posição no ranking globaldo mercado de smartphones.

6.3.4 Desvantagens

– A tecnologia Android ainda é recente e o número de aparelhosdisponíveis no mercado é reduzido;

– Devido a baixa oferta de aparelhos o preço ainda é elevado;

58

Page 64: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 64/72

 

Capítulo 7

 Avaliação da ferramenta AndCollector

Este capítulo apresenta os resultados obtidos com as pesquisas deaceitação da ferramenta AndCollector nas diversas áreas em que foiaplicado. Foram realizadas entrevistas qualitativas para avaliar ograu de aceitação e facilidade de uso do sistema. As entrevistas foramgravadas e as respostas foram analisadas a partir de um roteiro padronizadode perguntas com o propósito de agrupar os fatores positivos e nega-tivos que foram apresentados.

7.1 Roteiro da entrevista

Foram selecionadas áreas diversificadas de utilização para demons-trar o caráter genérico da ferramenta, enfatizando o potencial do ge-rador para contornar problemas de coleta de dados em variadas situ-ações. As entrevistas foram realizadas com profissionais da área demedicina, educação física, agronomia, biologia e geografia. Os tópicosabordados nas entrevistas foram:

– Verificar a necessidade de coletar dados em campo e áreas de apli-

cação potencial;– Tipos de informações coletadas nas atividades em campo;

– Meios utilizados para coletar dados;

– Dificuldades que os meios utilizados apresentam;

– Verificar se ocorre o uso de tecnologia móvel para coleta de dados;

– Apresentar a ferramenta AndCollector e fornecer orientação nasua utilização;

– Levantar as facilidades e dificuldades encontradas no uso do ge-rador de aplicativos e questionar se o entrevistado a utilizaria;

59

Page 65: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 65/72

 

– Analisar junto ao entrevistado sobre a aceitação da ferramentano seu trabalho e

– Quantificar a usabilidade e utilidade da ferramenta com o profis-sional entrevistado.

7.2 Entrevistas

Foram realizadas sete entrevistas nas quais foram gravadas todas asrespostas dos entrevistados. Um roteiro pré-definido foi padronizado. As áreas de atuação profissional dos entrevistados são:

– Medicina;

– Agronomia;

– Biologia;– Educação Física e

– Geografia.

Nas entrevistas realizadas com as pessoas da área de saúde verificou-se que eles necessitam deste tipo de solução, pois em muitos casossão feitos atendimentos a domicílio e o único meio atual para regis-tro de dados para o paciente é o papel e caneta. Uma dificuldadeque foi comum para dois entrevistados de medicina é o fato do manu-seio do prontuário físico, pois este muitas vezes precisa ser levado

para atendimento fora do hospital e não existe uma forma eficientede compartilhamento do mesmo entre os médicos. Os médicos entre-vistados acharam importante a utilização desse tipo de ferramentana área, pois o uso deste tipo de ferramenta no serviço aumentariaa praticidade dos processos e integraria de maneira eficiente as in-formações. Ambas as entrevistas foram questionadas adversidadesquanto ao preço dos aparelhos com o Android e também questões defalha operacional do sistema.

 A entrevista realizada com o profissional da área Agronomia eviden-

ciou a necessidade deste tipo de tecnologia, pois as atividades de co-leta realizadas em campo utilizam o meio básico, o papel e a caneta,para registrar informações. Essa coleta de dados com papel é extrema-mente desvantajosa para esses profissionais devido ao seu domínio deaplicação, pois em uma atividade de coleta no solo este material podeser facilmente danificado o que comprometeria parcialmente ou com-pletamente a análise do local de estudo. Alguns exemplos interessan-tes de aplicação da ferramenta AndCollector na Agronomia que foramressaltados pelo estudante Ricardo são: acompanhamento de melho-ramento do solo com a utilização de determinadas concentrações de

60

Page 66: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 66/72

 

químicos específicos e levantamento de pragas na lavoura. O entrevis-tado questionou sobre o preço dos aparelhos e também sobre a neces-sidade de um conhecimento prévio para manipulação tanto do sistemaoperacional quanto do gerador de aplicativos. Apesar dos entraves oentrevistado reconheceu que é uma tecnologia de extrema utilidade

para sua área profissional e acredita que as dificuldades não são sig-nificativas se comparado as vantagens que tecnologia pode oferecer.

Na área de Biologia foi possível verificar que existem situações que atecnologia móvel seria uma solução ideal para execução de determi-nadas atividades em campo, como por exemplo, o acompanhamentodo número de representantes de uma espécie em uma determinadaárea de análise. Outro exemplo importante foi a utilização da fer-ramenta para análise da biodiversidade de uma determinada área.Uma questão importante que foi levantada e que futuramente pode

ser implementada é a capacidade do sistema no compartilhamento dedados em tempo real, para que os biólogos que estejam trabalhandoem campo possam enviar informações para o laboratório através dealguma rede e com isso seriam feitas análises aprimoradas para quenovos procedimentos fossem repassados em uma margem inferior detempo. Aspectos negativos importantes com relação a custo e manu-seio do aparelho também foram novamente levantados demonstrandoassim que esta é uma complicação comum para todas as áreas estu-dadas. Com relação as vantagens foram observados argumentos co-muns como a organização e digitalização dos dados. A aceitação daferramenta é uma questão de divulgação da solução e política. Os re-presentantes e líderes conservadores de laboratórios poderão ser subs-tituídos por profissionais modernos que valorizem a tecnologia.

Na área de educação física uma boa parte das atividades realizadasé em campo. Por exemplo, o acompanhamento dos atletas ou alunosenvolvidos nos treinamentos. Nessa área foi identificada a tecnologiamóvel com a utilização de relógios específicos que são capazes de re-gistrar diversos dados para acompanhamento de desempenho de atle-tas. Esses relógios são muito eficientes, mas ainda são muito carose apresentam uma interface ruim para inserção de dados. Preocu-pações demonstradas com relação ao preço de celulares com Adroide complicações que poderiam surgir com bateria descarregada foramidentificadas. Destacou-se como vantagem principal a questão do sis-tema ser livre, pois ele já trabalhou em algumas academias nas quaiseram utilizados sistemas proprietários de alto custo para especificartreinamentos e coletar dados de desempenho. Assim como os outrosentrevistados avaliou-se positivamente a ferramenta acreditando queesta será até mais utilizada do que os relógios atuais, pois é capazde modelar formulários específicos para coleta com a utilização dequestões abertas, opção que não é disponível para os relógios. Ou-

61

Page 67: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 67/72

 

tras vantagens importantes levantadas são: os celulares possuem umteclado que otimizaria a inserção de dados pelo treinador; caso exis-tam aparelhos mais baratos que os relógios, estes seriam as soluçõesidéias para coleta de dados. Com relação à aceitação no mercado o es-tudante acredita que se a ferramenta tiver custos acessíveis, esta será

difundida entre a comunidade de profissionais da área rapidamente.

Na área de Geografia a ferramenta também possui um extenso campode atuação. Identificou-se que os profissionais necessitam coletar osmais diversificados tipos de informações possíveis devido aos diferen-tes domínios que esta ciência abrange. Situações como coleta de dadossobre estrutura do relevo, clima, análise hidrográfica, entre outros,podem usufruir da ferramenta para digitalização das informações quedevem ser armazenadas e analisadas. O meio comum utilizado con-tinua sendo o papel e a caneta, o que pode comprometer a informação

devido a fragilidade do material. Vantagens como digitalização dos da-dos e capacidade de criação instantânea de formulários foram citadas. A desvantagem levantada consistiu no custo para adquirir um apare-lho com Android.

7.3 Análise das Entrevistas

Das entrevistas realizadas foram selecionadas vantagens e desvanta-

gens comuns para as diferentes áreas analisadas com o propósito deverificar o grau de aceitação da ferramenta por profissionais de diver-sas áreas.

 As desvantagens comuns para a maioria das áreas analisadas foram:custo para obtenção de smartphones que possuam o Android como sis-tema operacional; necessidade de conhecimento prévio para manuseiotanto do sistema operacional quanto do aplicativo gerador; risco deinterrupção do serviço de coleta com o descarregamento da bateria.

Com relação ao custo de um aparelho devemos ressaltar que os primeirosaparelhos que estão chegando ao mercado são modelos mais avança-dos que possuem interface touch screen e ao mesmo tempo possui umteclado retrátil para facilitar a inserção de dados, chegando a custarmais de mil reais.

O Android é um sistema operacional que comporta aparelhos que pos-suem interface somente com teclado, touch screen ou as duas inter-faces. Aparelhos mais simples que compreendem somente uma inter-face de comando estarão chegando ao mercado e terão valores bem

62

Page 68: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 68/72

 

mais acessíveis. O sistema AndCollector foi desenvolvido com focona interface de teclado para que seja utilizado em todos os apare-lhos que possuam o Android como sistema de controle. Como qual-quer outro sistema é necessário que seja realizado um treinamentobásico para que a pessoa seja capaz de utilizar os recursos do apa-

relho e dos aplicativos existentes. Boa parte dos usuários conseguecontornar esse problema com apenas alguns dias de reconhecimentodos recursos do dispositivo por se tratar de algo simples. O problemade descarga da bateria pode ser facilmente contornado com a comprade baterias reservas para o aparelho.

 As vantagens comuns identificadas são: digitalização das informaçõesevitando perda de tempo para realizar este procedimento posterior-mente; integridade da informação; possível integração do sistema comoutros aplicativos. Além das vantagens apresentadas podemos veri-

ficar na figura 8.1 o nível de usabilidade e utilidade atribuído a ferra-menta pelos profissionais.

Figura 7.1: Usabilidade e Utilidade da ferramenta AndCollector

 Apesar das dificuldades apontadas podemos supor que essas poderãoser minimizadas e quando comparadas com as facilidades que a fer-ramenta pode oferecer. Nas entrevistas os profissionais identificaramadversidades, mas asseguraram que as vantagens se sobresaem. Asaplicações sugeridas e criadas nas entrevistas com a ferramenta And-Collector confirmaram que usuários leigos podem criar seus aplica-tivos específicos para coleta de dados em campo mesmo sem conheci-mento técnico de programação.

Enfatizamos que o gerador AndCollector é uma ferramenta que exigeum pequeno conhecimento para manipulação do aparelho e do aplica-tivo mas, como foi confirmado pelos entrevistados, com uma pequenaorientação qualquer indivíduo com um simples grau de instrução es-tará capacitado para criar seus próprios aplicativos de coleta.

63

Page 69: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 69/72

 

Capítulo 8

Conclusão

No que tange a implementação do software gerador de aplicativos no Android, foi concluído o desenvolvimento de um sistema gerador de

formulários na arquitetura Android que se demonstrou eficaz, nos es-tudos de casos realizados, na capacitação de usuários leigos na cri-ação de aplicativos específicos de coleta de dados. De acordo coma avaliação realizada pelos entrevistados nos casos aplicados verifi-camos a aceitação da ferramenta pelos profissionais abordados queconfirmaram a importância do software para as necessidades de suasáreas de atuação. A avaliação final da ferramenta vislumbrou a facili-dade de incorporação da solução nas mais diversas áreas, confirmandosua utilidade e usabilidade.

O AndCollector é um software livre sob licenciamento GPL e espera-se a sua difusão e aprimoramento devido a quantidade de desenvolve-dores do movimento de software livre. O código fonte do gerador podeser adquirido no Source forge a partir do link https://sourceforge.net/ projects/andcollector. Foram realizadas divulgações nas seguintes co-munidades de desenvolvimento no Android: Android Community, An-droid Developers, Portal Android, Android Pro e AndroidPT. O projetotem o intuito de criar uma rede de desenvolvimento, a fim de apri-morar suas funcionalidades e contemplar novos módulos que ofere-çam componentes de comunicação, integração com outros sistemas e

que possam contribuir com o seu desenvolvimento.

8.1 Trabalhos Futuros

 A ferramenta AndCollector é apenas um protótipo inicial, é necessárioque o mesmo seje aprimorado e que novos módulos sejam implemen-tados para comtemplar funções importantes que venham oferecer con-trole maior das informações coletadas pelos aplicativos criados. Entre

64

Page 70: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 70/72

 

os trabalhos importantes que visam aprimorar a ferramenta podemoscitar:

– Módulo de comunicação para transferência dos dados coletadospara outro ambiente, web ou desktop;

– Módulo de análise estatística para o AndCollector;– Sistema web ou desktop integrado com a ferramenta AndCollec-

tor, tanto para análise das informações quanto para criação deaplicativos;

– Módulo para transferência de dados em várias interfaces, USB,bluetooth, wifi;

– Módulo para controle de versão dos aplicativos criados;

– Módulo para recuperação das respostas e edição das mesmas.

65

Page 71: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 71/72

 

Referências Bibliográficas

[1] Eprocates essencial. http://www.pdamd.com/home, 2006.

[2] Blackberry java development environment. http://docs.

blackberry.com/pt-br/developers/deliverables/

8882/BlackBerry_Java_Development_Environment-4.7.

0-PT.pdf, 2009.

[3] Developer iphone. http://developer.apple.com/iphone/

gettingstarted/docs/iphoneosoverview.action , 2009.

[4] Documentação oficial android. http://code.google.com/

android/intro/index.html, 2009.

[5] Homer framework - project home. http://code.google.com/p/homerframework/, 2009.

[6] Intrinsyc. http://www.intrinsyc.com/os_expertise/

symbian.aspx, 2009.

[7] Página oficial do sqlite. http://www.sqlite.org/, 2009.

[8] Windows mobile developer center. http://msdn.microsoft.

com/pt-br/windowsmobile , 2009.

[9] Cinq census. http://www-304.ibm.com/jct09002c/gsdod/solutiondetails.do?solution=408&expand=true&lc=

pt-BR, Acessado em 22 de janeiro de 2009.

[10] Jill Attewell. The m-learning project. Technical report, Technol-

ogy Enhanced Learning Research Centre, 2004.[11] Ed Burnette. Hello, Android: Introducing Google’s Mobile Devel-

opment Platform. O’Reilly, 2008.

[12] Marcelo Mrack Diego Moreira. Sistemas dinâmicos baseados emmetamodelos. 2008.

[13] Alexandre Rodrigues Gomes. Ubiquitos uma proposta de ar-quitetura de middleware para a adaptabilidade de serviços emsistemas de computação ubíqua. Master’s thesis, Universidadede Brasília, Brasília, Brasil, 2007.

66

Page 72: AndCollector - Um gerardor de aplicativos móveis em campo

5/7/2018 AndCollector - Um gerardor de aplicativos móveis em campo - slidepdf.com

http://slidepdf.com/reader/full/andcollector-um-gerardor-de-aplicativos-moveis-em-campo 72/72

 

[14] Erika C. Figueiredo F. A. O. Nascimento1 A. F. Rocha1 H. S. Car-valho L. S. S.Castro1, Henrique J. P. Branisso. Handmed umsistema móvel integrado para captura automática de sintomas.Technical report, Universidade de Brasília, Brasília, Brasil,2004.

[15] Roger Lee. Software Engineering Research, Management and Ap- plications. Springer, 2008.

[16] Karen Swan Mark van’t Hooft. Ubiquotous Computing in Edu-

cation. Routledge, 2006.

[17] Renato Bonellis Willian Pires da Silva Marília Pinheiro,Reinaldo A de Carvalho. Sistema de monitoração de pacientesapoiado em web e palmtops. Technical report, Centro de Ciên-cias das Imagens e Física Médica da Faculdade de Medicina deRibeirão Preto da Universidade de São Paulo, Ribeirão Preto,

Brasil, 2004.

[18] Álvaro Francisco de C Medeiros Nisston Moraes Tavares de Melo. A utilização da computação móvel para auxiliar na avaliação doscursos em EAD: Implementação de um subsistema para aplicaçãode formulários. 2008.

[19] Dr. Daniel Sigulem Paulo Salomão. Utilização do computador demão integrado à telefonia celular no atendimento médico: De-senvolvimento de sistema e avaliação. Technical report, Univer-sidade Federal de São Paulo, São Paulo, Brasil, 2004.

[20] Cristhian Robottom Reis. Caracterizacão de um processo de soft-ware para projetos de software livre. Technical report, Universi-dade de São Paulo, São Paulo, Brasil, 2003.

[21] Amir Mostafa Saleh. Adoção de tecnologia - um estudo sobre ouso de softwares livres na empresa. Technical report, Universi-dade de São Paulo, São Paulo, Brasil, 2004.

[22] Lucas Ortega Díaz Sergio Gálvez Rojas. Java a Tope: J2me (java

 2 Micro Edition). Universidad de Málaga, 2006.

[23] Mark Weiser. Some computer science issues in ubiquitous com-puting. CACM , 1993.

[24] Mark Weiser. The world is not a desktop. Perspectives article for

 ACM Interactions, 1993.

[25] Mark Weiser. Ubiquitous computing. http://www.ubiq.com/hypertext/weiser/UbiHome.html, 2009.

[26] Michael Juntao Yuan. Enterprise J2ME: developing mobile Java

applications. Pearson Education Inc., 2004.

67