You are on page 1of 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 Jefferson dos Santos Motta

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

Orientadora Prof a Dra. Maria de Fátima Ramos Brandão . ¯

Brasília 2009

Universidade de Brasília – UnB Instituto de Ciências Exatas Departamento de Ciência da Computação Curso 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/UnB . ¯ Prof. Dr. Marco Aurélio de Carvalho – CIC/UnB Prof. 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 dados 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 de código, 4. Geradores de aplicativos, 5. Softwares móveis, 6. Android, 7. Software livre CDU 004

Endereço:

Universidade de Brasília Campus Universitário Darcy Ribeiro – Asa Norte CEP 70910–900 Brasília – DF – Brasil

Universidade de Brasília – UnB Instituto de Ciências Exatas Departamento de Ciência da Computação Curso 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/UnB . ¯ Prof. Dr. Marco Aurélio de Carvalho – CIC/UnB Prof. 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 dados 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 de código, 11. Geradores de aplicativos, 12. Softwares móveis, 13. Android, 14. Software livre CDU 004

Endereço:

Universidade de Brasília Campus Universitário Darcy Ribeiro – Asa Norte CEP 70910–900 Brasília – DF – Brasil

Marco Aurélio de Carvalho CIC/UnB Prof. Flávio Leonardo Cavalcante de Moura CIC/UnB Prof. Díbio Leandro Borges Coordenador do Curso de Computação – Licenciatura Brasília. 20 de dezembro de 2009 . Maria de Fátima Ramos Brandão (Orientadora) .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 Jefferson dos Santos Motta Monografia apresentada como requisito parcial para conclusão do Curso de Computação – Licenciatura Prof a Dra. ¯ CIC/UnB Prof. Dr. Dr. Dr.

a maior benção de Deus na minha vida. Paulo À Dionísia minha mãe. Geraldo Roberto. Em especial dedico esse trabalho a Deus que me capacitou na conclusão da monografia assim como em todas as vitórias em minha vida. E em especial ao meu pai. Evandro e Rayanne irmãos. quem mais sofreu com minha ausência e dias na biblioteca. . aos meus irmãos e a minha noiva Sirley que me apoiou bastante sempre me incentivando nos momentos de dificuldade. À Bárbara Lins. obrigado pela compreensão.Dedicatória Jefferson Dedico este trabalho a minha mãe.

Agradecimentos A todos que tornam possível a conclusão deste trabalho. . Aos nossos colegas de curso pela parceria nesses cinco anos. em particular à professora Maria de Fátima pelas instruções a respeito do processo de pesquisa. pelos inúmeros rabiscos a cada versão entregue da monografia e pelo entusiamos demonstrado desde o início em trabalhar conosco neste projeto. aos demais orientados da professora Maria de Fátima nesse semestre pela colaboração que tiveram nesse processo. na ajuda de delimitação do nosso tema.

Com este foco o papel do programador é suprimido devido a capacitação do usuário final na criação de softwares móveis de acordo com as suas necessidades. Software livre . Computação ubíqua. levantar um source forge e divulgar o projeto em várias comunidades com o propósito de criar uma rede de desenvolvedores. Android. O objetivo principal do projeto é desenvolver um gerador de aplicativos com tecnologia móvel que abstraia a necessidade de conhecimento técnico pelo usuário leigo. O domínio de atuação do gerador será a coleta de dados em campo podendo este ser extendido ou implementado em outras áreas. a qual oferece suporte à criação de soluções para auxiliar os profissionais que não possuem conhecimento técnico em programação mas demandam de aplicativos móveis para otimizar a execução de tarefas. Geradores de código. Palavras-chave: Tecnologia móvel. nas quais se verificou a aceitação do aplicativo por pessoas que exerccem atividades em diversas áreas. A meta é criar um gerador na arquitetura do Android.Resumo O projeto tem como área de estudo a tecnologia móvel. Geradores de aplicativos. Foram realizadas entrevistas e demonstrações de uso da ferramenta desenvolvida. Softwares móveis. O projeto procura demonstrar o potencial da tecnologia móvel com a criação e utilização da ferramenta AndCollector.

the programmers work is deleted. Free software . The main field of operation of the generator will the data collect in external areas. Mobile softwares. Applications generators. which supports the creation of solutions to assist professionals who have no expertise in programming but require mobile applications to optimize the performance of his duties. areas or purposes. With the finished project were carried interviews and demonstrations for check acceptance of the application with people who have jobs in several areas. Ubiquitous computation. We intend with this project develop an generator application with mobile technology that makes unnecessary that the laic user has technical knowledge. The aim is create a generator in the Androids architecture and disseminate the project in several communities in order to create a large network of developers for the generator. since the consumer is trained to create mobile software according to his needs. Trying to reach this aim. Keywords: Mobile technology.Abstract The present project studies the mobile technology. but whit the possibility to extended or be implemented for other situations. a generator of mobile applications in androids architecture. The project intend to prove the potential of mobile technology when used for creation and development of AndCollector. Code generators. Android.

. . . 3. . . . .4 Camada de Serviços Básicos . 3. . . . . . . . . . . . .5. .1 Propriedade Intelectual . . . . . . .2 Software Livre . . . .3 Restrições em Licenças . . . . . . . . . . .1 Windows Mobile .3 Camada de Serviços do Sistema Operacional . . . . .1 Aplicação da Ubicomp na educação . . . . . . . . . .1 Camada de Interface com o Usuário . .6 Tecnologia Java . . . .3. . . . . . .5 Camada de Hardware . . 3. . . . . . . . . . .2 Blackberry . . . . . . . . . . . . . . . .2 BlackBerry Internet Service . . .2 Camada de Serviços de Aplicação . . . . . . 2. . . . . . . . . .2 Licença de Software . . . . . . . . . . . . . . . . . . . . .5 Symbian . . . . . 3. . . . . 3. . .4. . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . .4 Iphone . .2 Geradores de Aplicações . Apli. . . . . . . . . 3. . . . . . . . . . . . . . . . . . 3.5. . . . . . .4. . . . . . . . . . . . . . . . . . . . . . . . . .3. . . 2. . . . . . . . . . . .3 BlackBerry MDS .Sumário Lista de Figuras Capítulo 1 Introdução Capítulo 2 Computação ubíqua. . . . . . . . . . . . . . . . . . . . . 3. . . . . .2. 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. . . . . . . . . . . 3. . .3. . . . . . 3. .3 Escrevendo código para o Iphone . . . . . . . . . . . . . . . . . .3. . . . . . . . . . . . 3. 3. . . .3 Soluções BlackBerry . . .4. . . . . . . . . . . . . . . 2. . 3.1 BlackBerry Enterprise Solution . . .5. . . . . . . . . . . . . . . .1. . . . 3. . .2. . .2. . . 3.4.3. . . . . . . 2. software livre aplicação 2. . . . . . 2. . . . . . . . . . . . . . . . . . . . . . 3. .4 Licenças de Software Livre . . . . .2 Camadas Tecnológicas . . . . . . . .1 Geradores de Código . 17 17 18 18 19 19 19 20 21 21 22 24 24 26 27 27 28 28 28 28 29 29 30 30 31 31 31 32 32 32 12 13 Capítulo 3 Tecnologia Móvel para Desenvolvimento de cações 3. . . . . .1 Iphone OS . .4 Primeiros Passos . . . . . . . . . . . . . . . . . . .5. . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . .1 Computação Ubíqua . 2. . . . . . . . . . . . . .3 Geradores de Código / Aplicação . . . .5. . . 2. . . . . . . . . . . . . . . . . . . e geradores de . . . . . . . . . . . . . . . . . . .

. . . . . . . .3. . . .1 Roteiro da entrevista . . . . . . . . . 40 4. . . .4 Application Framework . .7 Sistema de avaliação de cursos de EAD na UFPB . . .7. . .8 Homer Framework Biblioteca para coleta de dados na plataforma Symbian . . . 58 7.9 Cinq Census . . . . . . . . . . . . . 3. .1 Módulo Construção . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Linux Kernel . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . .5 Bibliotecas . . . . . . . . . . . . . .1 Java Micro Edition . . . 46 4. . . . . . . . . . . . . 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 Viabilidade Econômica . . . . . . . . . . . . 59 7. . 3. . 41 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 The m-learning Project . . . . . . . . . . . . . . . . . .7. . . . . . . . . . . 6. . 3. . . . . . . . . . . . . . . . . . . .6. . . . . . . . . . . . . . . . . . . . .1 Sistema de Monitoração de pacientes apoiado em web e palmtops . . . . . .1. . . . . . . . . . . . . . . . 6. 3. .3 Aplicação HandMed . . . . . . . . . . . . . .2 Modelo de dados . . . . . . . . .1 Módulos . .8.3. . . . . . . . . . . . . . . . . .3 Análise das Entrevistas . . . . . . . . . . . . . . . . . . . . . . .2 Arquitetura . . . . . . . . . . . . . . . . . . . .1 Soluções Proprietárias . . . . . . . . . . . . . . . . . . .7 Android . . . . . . . . . . . . . . .1. . . . . . . 33 33 34 35 35 36 36 37 37 38 38 Capítulo 4 Estudo de Aplicações Móveis 39 4. . . . . . . . . . .1 Componentes de interface com usuário . . . . . . .3. . . . . . . . . . . 6. . 6. . . . . . . . .6. . . . . . . . . . . . . .2 Entrevistas . . . . . . . . . . . . . . . 3. . . . . . . . . . .5 Epocrates Essential . .3. . . . . . . . . . . . . . . 47 Capítulo 5 O Problema 49 5.7. . . . . 44 4. . . . . . . . .3 Considerações . . . . . . . .2 Sistema Simplificado de Prontuário . .6 Android Runtime . . . . . . . . 42 4. . . . .2 Os componentes da tecnologia J2ME . 6. . . . . . . . . . . . . . . . . . . . . . . . . . .7.4 Computação Móvel e Tecnologia Web em Sistemas de Controle Pós-Transplante . . . . . 61 10 . . . . . . . . . .2 Módulo Coleta de Dados 6. . . . . .7. . . . .3 Vantagens . . . . . . . 39 4. . . . . . . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. . . . . . 3. . . . . . . . . . . .2 Viabilidade Técnica . . . . . . . .4 Desvantagens . . .8. . . . . . . . . . . . . . . . . . . . . . . . . . . 3. .7. . . . . . . . 50 Capítulo 6 AndCollector 6. . . . . . . . .7.3 Applications . 47 4. . . .2 Componentes de Comunicação . . . . . . .2 Recodificação . . . . . . . . . . . .3. . . . . . . . . 41 4. . .1 Recursos . . . . . . . . . . . . 45 4. . . . . . . . 6. . . . . 42 4. . . . . .8 Análise das Tecnologias e Seleção do Ambiente . . . . . . . . . . . . . . . . . 49 5. . . . . . . . . . . . . 51 52 52 54 54 55 55 55 56 57 Capítulo 7 Avaliação da ferramenta AndCollector 58 7. . . .

.Capítulo 8 Conclusão 63 8. . . . . . . . . 63 11 . . . . . . . . . . . . . .1 Trabalhos Futuros . . . .

29 31 32 36 40 40 40 41 42 42 44 45 45 45 52 53 53 54 55 Sistema de Monitoração de pacientes .3 3. . . . . . 7. . . . . .1 Formato Click-Wrap de Licença [20]. . . . . . Epocrates Essential [1]. . . . . . . . . . . . . . .10 Sistema Symbian S60 5ed [5]. . . . . .5 Tela inicial do AndCollector . . . . . . . .Palmtops [17]. . Sistemas de Controle Pós-Transplante [17]. . . . . . . . . Projeto na Universidade Federal da Paraíba . . . . .2 Relação entre geradores de código e aplicativo [12]. . . . . . .6 4. . . . . . . . 22 2. Modelo Entidade Relacionamento da Aplicação . . . . . . . Estrutura do Projeto na Universidade Federal da Paraíba [18]. . . . . . . . . . . . . . .1 6. .Web [17]. . . . . . . . . . . . . . . . . . . . . . Camadas da plataforma Symbian [6]. .1 3. . . .4 6. . . . . . . . . . . Tela de criação de formulários no AndCollector Tela de cadastro de questões no AndCollector . . . . . . . .4 4. . Sistema de Monitoração de pacientes . . . . . . . . . . .3 A utilização da plataforma Symbian [12].9 Sistema Symbian S60 3ed [5]. . A Arquitetura do Android [11]. . . . . .2 4. . . . . . . . . . . . . . . . . .4 4. . . . . . . . . . . . 4. . . . . .2 3. . . . . . . . . .7 4. . . . . . . . . . . . . . . . . 4. . . . . . .3 4. . . 6. . . . . . 23 3.8 Camadas Tecnológicas do Iphone [3]. Aplicação HandMed [14]. . . . . . . 62 . . . . . . . .2 6. . . . . . . . . . . . . . . . . .1 4. . . . . 19 2. . A Máquina Virtual Java [26]. . . . . . . . . . . .Lista de Figuras 2. . .1 Usabilidade e Utilidade da ferramenta AndCollector . . . . . . . . . . . . . . . . . . . . . . . . . . .Tela Palmtop [18]. Sistema Simplificado de Prontuário [19]. . . . . . . . . . . . . . . .3 6. . Tela de coleta de dados no AndCollector . . . . . . .5 4.

Cada vez mais são realizados investimentos nesta área a fim de promover a sua evolução e consequentemente melhoria das atividades realizadas pelo homem. Um gerador de aplicação atua 13 . Um sistema livre flexibiliza a reutilização de código e promove a evolução de softwares [21]. seja livre ou proprietário. O primeiro é utilizado na fase de implementação do projeto. deve ser fundamentado pela Engenharia de Software e existem diversas ferramentas que podem auxiliar o desenvolvimento de sistemas. em um modelo de alta mobilidade. com estruturas físicas para implementação de espaços inteligentes. uma máquina era utilizada para prestar serviços para muitos indivíduos. A integração da tecnologia móvel na sociedade vêm transformando a execução de processos em diversos setores. caracterizando-o como proprietário ou livre. econômico e educacional está em um processo de revolução moldado por uma nova tecnologia para os dispositivos móveis. como a área de saúde. Com o avanço tecnológico é perceptível as melhorias advindas da mobilidade e o seu extenso escopo de implementação. produzindo códigos que a princípio seriam escritos pelo programador. A era da computação pessoal. como por exemplo. comunicação. educação. No desenvolvimento de qualquer sistema. o qual fixa as formas de utilização do código e do sistema desenvolvido. A computação foi incorporada à sociedade inicialmente com a primeira onda tecnológica na qual os mainframes eram compartilhados por muitas pessoas. Um fator determinante na produção de softwares que estabelece as formas de utilização de um determinado programa e seu código fonte é o seu licenciamento.Capítulo 1 Introdução O ambiente social. teve seu marco com a inclusão dos computadores de mesa criando uma relação direta homem-máquina. nos quais tarefas do dia a dia são facilitadas com recursos e serviços computacionais [25]. entre outros. Uma nova fase conhecida como computação ubíqua esta sendo representada de maneira imperceptível pelos novos recursos e ferramentas móveis na vida das pessoas e se consolida com a definição de uma realidade na qual o computador se integra. os geradores de código e os geradores de aplicações [12].

e também muitas opções de plataforma para desenvolvimento como J2ME. entre outras áreas. Devido a esta necessidade de customização da aplicação. para registro de informações sobre o solo. PDAS. Android. O gerador será desenvolvido sob Licença GPL(Licença Pública Geral) garantindo assim a perpetuação livre do seu desenvolvimento e o mesmo contará com a participação da comunidade de software livre para aprimoramento de sua arquitetura de produção intensificando dessa forma o de14 . na biologia na pesquisa de espécies em campo. Muitas áreas de conhecimento necessitam de soluções dinâmicas para coleta de dados em campo. podemos esperar que o usuário final do sistema tenha facilidade em alterar e criar novos sistemas de acordo com as suas necessidades. Existe uma grande variedade de tecnologias para dispositivos móveis como os smartphones. devido às tendências e necessidades apresentadas. celulares. como é o caso da Educação física. como por exemplo. na qual o usuário final tenha completo domínio para poder customizar o software de coleta sem a necessidade de conhecimento técnico. Assim o usuário final da aplicação muitas vezes precisa modificar a estrutura do sistema de coleta para comportar as exigências dinâmicas do serviço. Com a criação de um gerador de aplicações móveis para coleta de dados. Em todos esses campos de atuação é perceptível um domínio extenso de informações a serem coletadas. na política no registro de informações de popularidade eleitoral. Symbian. Outras áreas também demandam esse tipo de tecnologia. podendo ser aplicado em vários domínios de aplicação. O trabalho propõe o desenvolvimento de um sistema gerador de aplicações de código aberto utilizando a arquitetura do Android que pode ser alterado e aprimorado de acordo com as necessidades. a agronomia. Mesmo com tamanha diversidade de plataformas de desenvolvimento não foi encontrada solução otimizada para o desenvolvimento de aplicações móveis de coleta de dados que ofereça ao usuário final a capacidade de realizar modificações nas funções dos programas desenvolvidos. O objetivo deste trabalho é propor um gerador de aplicativos de coleta de dados que seja capaz de abstrair a necessidade de conhecimento técnico em programação para criação de aplicações específicas pelo próprio usuário final. entre outros. é necessário a implementação de uma solução livre que ofereça suporte a criação de aplicações móveis para coleta de dados em campo.em todo o ciclo de vida do software funcionando como uma ferramenta de automação de processos. que precisa coletar dados diversificados de acordo com a atividade realizada podendo esta ser o acompanhamento de um atleta como até mesmo o rendimento de uma turma de alunos. pois cada dia a sociedade demanda soluções que forneçam mobilidade para os indivíduos economizando assim tempo. BlackBerry. dinheiro e espaço.

Genexus. O capítulo 3 descreve as tecnologias vigentes para desenvolvimento de aplicações móveis ilustrando os pontos 15 . De acordo com os levantamentos feitos nas bases de dados acadêmicos: Banco de Teses da CAPS. Foram realizadas pesquisas para tentar identificar alguma solução semelhante que ofereça suporte à geração de aplicativos móveis em código aberto e desenvolvimento livre. As entrevistas seguiram um roteiro específico. diferente do método tradicional de engenharia de software. Para validação da solução apresentada pelo projeto foram realizadas entrevistas e demonstrações de uso do gerador para pessoas leigas em programação. O capítulo 2 deste documento apresenta os conceitos de computação ubíqua. o protótipo foi desenvolvido sobre licenciamento livre e fornece um conjunto de módulos dispostos a facilitar e a gerenciar várias aplicações de coleta de dados. como por exemplo: Gas PRo. avaliação da usabilidade e utilidade do gerador. No desenvolvimento de sistemas para web e desktop podemos encontrar diversas soluções de geradores de aplicativos. software livre e geradores de aplicações que são os fundamentos do trabalho e da aplicação desenvolvida.senvolvimento de softwares móveis com as facilidades oferecidas. É esperado que o gerador de aplicativos seja utilizado como suporte para o desenvolvimento de futuras aplicações móveis de coleta de dados. DOAJ(Directory of Open Access Journals). A criação do gerador de aplicativos móveis no Android adotou a metodologia ágil de desenvolvimento devido a necessidade de se ter um ambiente propício para comportar de maneira eficiente as mudanças de requisitos e inovações decorrente de estudos sobre as áreas de conhecimento do projeto. Como o código fonte é aberto para a sociedade. e em sistemas de buscas como Yahoo. Repositório Institucional da Universidade de Brasília da Faculdade de Tecnologia. O curto prazo para desenvolvimento do gerador também foi um fator prioritário na escolha da metodologia já que essa foca na entrega mais rápida de sistemas. gerando em alguns casos somente o código objeto do sistema e em outros o fonte completo para compilação e execução do aplicativo. Accode. Bing e Google. portal de Periódicos da CAPES. LanceWeb e esses programas geradores possuem uma interface visual para criação da aplicação que não necessita de conhecimento técnico em programação. Maker. na Biblioteca Digital de Teses e Dissertações da UNB. esperamos que seja formada uma grande rede social para ampliação e aprimoramento do projeto suprindo assim as diversas áreas que demandam soluções móveis para a execução das mais diversas tarefas em campo. instruções de utilização do sistema. com perguntas sobre a necessidade da solução. EngeBuilder. Google Acadêmico. nenhum artefato foi encontrado com essas características. Visual Kit 5.

O capítulo 7 apresenta os resultados do estudo de caso realizado com a aplicação AndCollector e no capítulo 8 concluímos os resultados com a pesquisa realizada no projeto. 16 .positivos e negativos de cada ambiente. No capítulo 4 são analisadas as aplicações móveis existentes com o propósito de identificar as melhorias na execução de serviços e também a estrutura de desenvolvimento de cada aplicação. O capítulo 5 especifica o problema do trabalho e a sua resolução é apresentada no desenvolvimento da proposta no capítulo 6.

porém não 17 . software livre e geradores de aplicação Este capítulo apresenta os conceitos e análises das principais áreas de conhecimento do processo de criação de ferramentas móveis para que sejam compreendidos os argumentos e tecnologias envolvidos no desenvolvimento do projeto. quando Mark Weiser apresentou seu primeiro artigo descrevendo como seria a computação do futuro[25]. geradores de código e geradores de aplicativos. 2. é também conhecida como computação invisível. A fundamentação aborda conceitos de computação ubíqua. Atualmente todos utilizam a escrita como se fosse uma habilidade inata ao ser humano.Capítulo 2 Computação ubíqua.1 Computação Ubíqua O termo computação ubíqua é relativamente recente e teve sua primeira publicação em 1991. Eles são utilizados pelas pessoas para realização de diversas tarefas mas sem que estas dirijam a atenção para a utilização de um determinado tipo de computador. ou ubicomp. software livre. Weiser descreve uma nova realidade onde os computadores de uma maneira geral. passam a fazer parte dos ambientes de modo imperceptível [25]. usa uma analogia com a escrita para apresentar o que pode ser esperado desse paradigma. Alcançaremos a ubiquidade quando os computadores forem utilizados com a mesma naturalidade que a escrita é hoje [13]. Devido a essa característica a computação ubíqua. O pai da computação ubíqua como passa a ser chamado Weiser com a publicação do artigo. mas que as pessoas ajam como se estivem se relacionando diretamente com o próprio ambiente físico no qual se encontram. surgia então a escrita moderna. Há milhares de anos as civilizações criaram um mecanismo para representar os pensamentos através de símbolos. Uma boa ferramenta é aquela que se apresenta invisível.

O grande problema que surge é como criar um novo tipo de relacionamento entre as pessoas e os computadores de modo que os computadores assumam a liderança e se tornem melhores e amplamente acessíveis de forma que as pessoas não precisem sentar frente a um computador pois este já deve estar disponível de maneira ubíqua como se fizessem parte de suas vidas [23]. como alguns podem pensar. enquanto na computação ubíqua. 2. com maior acessibilidade aos desktops. caracterizada pela existência de uma máquina para cada um usuário. mas que quem a utiliza tenha foco na tarefa e não na ferramenta em si. caracteriza-se pela existência de várias máquinas para vários usuários [25]. Finalmente a terceira era da computação invisível.invisível de fato. Quem usa óculos não volta sua atenção aos óculos.1. as pessoas e suas interações são simuladas nos computadores. 2. O foco de pesquisa nesse movimento procura disponibilizar uma solução que seja livre. uma vez que. Nesse intuito os conceitos de licenciamento e software livre são trabalhados para que viabilize a compreensão de sua estrutura e benefícios. onde havia uma única e grande máquina para vários usuários e a era dos computadores pessoais. O uso de computação ubíqua na educação ainda é pouco difundido. As duas primeiras foram: a era dos mainframes. mas ao mundo que os cerca [24]. os computadores compõe o mundo real e estão presentes nos ambientes com as pessoas. uma vez que o foco das iterações é many-to-many (muitos para muitos) e baseado na idéia de que a tecnologia está disponível o tempo todo.2 Software Livre O fundamento do software livre apóia-o no compartilhamento de código e aplicativos em várias comunidades de desenvolvedores criando assim uma extensa rede e evolução de sistemas com apoio voluntário das pessoas.1 Aplicação da Ubicomp na educação A ubicomp na educação pode ser útil para estimular a aprendizagem colaborativa. 18 . ubicomp não é o mesmo que realidade virtual. modificável e replicável para as mais diversas áreas de conhecimento. fato que motivou o desenvolvimento deste tema neste trabalho. Entretanto. analizando e criando informações e conhecimentos com as ferramentas apropriadas para os diferentes tipos de tarefa [16]. Na computação ubíqua tanto alunos como professores poderão participar do processo de aprendizagem. Weiser classifica a era da computação ubíqua como a terceira era computacional.

Abaixo trataremos os tipos de categoria mais relevantes para estudo. conhecido como licença de software. pois este por natureza já é protegido por lei com sua criação. sendo que a maioria dos países são integrantes da World Intellectual Property Organization(WIPO). 2. o qual apresenta para o usuário uma caixa de aceitação dos termos de utilização do software para o usuário.2. Os softwares são incluídos nesse quadro pelo fato de serem produções de atividades intelectuais. O autor ao criar o software não necessita especificar explicitamente as direttrizes de utilização do sistema. o que acaba desvalorizando o preço do produto original. A Figura 2. cobranças pela utilização do programa editado. criando assim grupos distintos de sistemas que são descritos em "Categories of Free and Non-Free Software"do FSF(Free Software Foundation). como permissões para realização de cópias. 19 .1 Propriedade Intelectual Toda atividade intelectual é protegida por leis que tratam da propriedade intelectual ou copyright. entre outros. É um documento formal elaborado por um indivíduo que tenha compreensão dos apesctos legais envolvidos e se baseia integralmente nos termos especificados pelas leis de copyright. Para os softwares essa questão de proteção por copyright é assunto de extrema importância devido a facilidade de replicação e difusão.2. alterações no software e distribuição. As condições e direitos atribuídos aos autores de sistemas são fixadas pela legislação de copyright de cada país.2 Licença de Software A licença de software não precisa necessariamente ser registrada ou validada com algum orgão ou organização.3 Restrições em Licenças O principal foco das licenças atuais é a imposição de restrições ao uso do software mas existem licenças que visam a direção oposta procurando garantir ao usuário um conjunto de direitos que lhe garanta liberdade na utilização do sistema. Com essas variedades de licenças é possivel categorizar um software com base na definiçaão de seu licenciamento.2. Um formato muito comum de licença é a click-wrap. fato que impede a utilização ilegal do programa desenvolvido[20].1 é um exemplo do formato click-wrap: 2. esta que consolida as diretrizes internacionais de copyright.2. O copyright concede permissão para que o autor do sistema determine normas de uso. Para evitar esse tipo de problema os sistemas geralmente são acompanhados de um documento que explicita os direitos que são oferecidos a seu receptor. sendo necessário apenas a emissão de um documento que especifique as proteção aplicadas ao sistema desenvolvido.

estudar. • Domínio Público: não possui copyright. devido ao fato que é disponibilizado sem o código fonte. pelo fato do proprietário rescindir seus direitos sobre o sistema ou por expiração do copyright. Não apresenta qualquer tipo de restrição na sua utilização. 20 .gnu. • Software Livre: softwares que concedem ao usuário o direito de usar. obrigando o usuário a comprar uma licença para continuar usando o sistema. só permite redistribuição se for mantida a garantia de liberdade aos receptores da cópia redistribuída obrigando que as versões modificadas sejam também livres acompanhadas de código fonte.Esta é a licença de software livre mais importante atualmente. • Software Proprietário: possui uma licença que proíbe a redistribuição e alteração do software pelo usuário. É uma licença não permissiva. 70 por cento dos sistemas livres desenvolvidos utilizam essa licença [20]. • Shareware: sistemas que pode ser redistribuído mas possui um período de expiração na sua utilização. • Freeware: software que pode ser redistribuído mas não podem ser realizadas modificações no sistema. Detalharemos as principais licenças. • GNU GPL: (www. isto é.Figura 2.1: Formato Click-Wrap de Licença [20]. para que possa ser compreendido as restrições e liberdades oferecidas por cada umas delas.2. 2.org/copyleft/gpl.4 Licenças de Software Livre Existem diversas licenças de software livre cada uma com suas particularidades que influenciam na liberdade de utilização dos sitemas.html) . modificar e redistribuir.

gnu. podemos identificar algumas características negativas que ocorrem com esse tipo de ferramenta. Quando o código é reutilizado por um sistema maior.Permitem redistribuição e são não permissivas. Geralmente essas ferramentas utilizam o modelo de dados para gerarem o código que será utilizado poupando assim tempo para os desenvolvedores que podem focar em etapas ou regras de negócios mais complexas. listagens de registros e telas de baixa complexidade.org/copyright/license. Mesmo com a produção correta de código fonte. não é obrigatório que este software tenha licenciamento livre também. Nos casos em que ocorrerem modificações em códigos regidos pela licença MPL ou LGPL. mas o mesmo não é aplicável para o código de sistemas maiores que os agregam. a BSD. da base de dados para o código. estes devem ser fornecidos acompanhados do código fonte. os benefícios acabam ficando restritos à interface de cadastro. 21 .mozilla. Apesar das vantagens oferecidas por essa solução. por exemplo: • Caso o programador faça modificações no código gerado e ao mesmo tempo seja feita alterações na base de dados.freebsd. 2. é não permissiva obrigando manter visível um aviso do copyright da licença nas versões modificadas. pois as modificações só são atualizáveis em um único sentido.3 Geradores de Código / Aplicação Geradores de código e de aplicações são ferramentas que auxiliam o processo de criação de sistemas oferecendo recursos tanto para os desenvolvedores como para o próprio usuário final do sistema.• BSD. Será feita uma análise desses recursos identificando os fatores positivos e negativos que cada solução compreende com o propósito de identificar qual dessas pode contribuir de maneira mais eficiente com o projeto. Sua versão original.3.html) . MIT. gerando código fonte que a princípio seria criado pelo programador. X. a geração deve ser reexecutada mas o trabalho realizado pelo desenvolvedor será perdido.html) . devido ao vínculo com o modelo de dados. Já as outras versões são permissivas permitindo a criação de versões não livres com a sua utilização.1 Geradores de Código Um gerador de código auxilia na engenharia de software nos processos que compreende a fase de implementação do projeto. Apache: (www.Permite redistribuição do software. • MPL. GNU LGPL (www.org/MPL/ e www.org/copyleft/ lesser. 2.

22 . os artefatos gerados por essa ferramenta vai além do código fonte. Abaixo listamos outras consequências perceptíveis com essa solução. não levando em consideração como. 2. • Complexidade de manutenção devido a grande restruturação que deve ser feita devido ao sentido único de geração. Como seu domínio de utilização é mais abrangente.2 Geradores de Aplicações Esta ferramenta funciona como um sistema automático que controla os processos de desenvolvimento de softwares. Como consequência dessa agregação verificamos que os problemas relacionados ao processo de manutenção do software são herdados do gerador de código. realizando-se apenas um remapeamento das regras de negócio e dos objetos utilizados. integração com outros sistemas. • O código gerado não é otimizado para a situação na qual será utilizado.2: Relação entre geradores de código e aplicativo [12]. entre outros. Figura 2. Comparando-se o gerador de código com o de aplicações. Temos assim um tipo específico de gerador de sistemas que não gera código fonte. Uma solução para contornar esta falha é suprimir o processo de geração de código fonte realizado pelo gerador de aplicações. Uma consequência direta para essa abordagem é que a manutanção do software ocorre sem alterações de código. documentação para o desenvolvedor ou usuário.• O padrão de código gerado pela ferramente nem sempre está de acordo com o padrão utilizado pela equipe de desenvolvimento.3. percebe-se que o segundo engloba o primeiro de acordo com os produtos gerados por cada ferramenta.2 representa a situação. especificações de projeto. descrição de processos. documentação. como por exemplo interfaces de aplicação. por exemplo. estimativas. A Figura 2. estrutura. simplesmente produz o código objeto em tempo de execução para utilização pelo usuário final. entre outros [12]. podendo atuar em todas as etapas de vida da aplicação. questões de desempenho.

• Como não existe código fonte, temos uma redução significativa de custos com as manutenções do sistema. • Como o remapeamento das regras e objetos é um processo que demanda bem menos tempo que recodificação e pode ser realizado pelo próprio usuário final, temos uma maior agilidade na disponibilização de 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 recompilação do sistema. • Criação de sistema executáveis sem falhas devido ao processo automatizado. • O gerador de aplicações com as especificações do sistema, pode gerar documentos de mecanismos de auxílio, manuais de uso, especificações de 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 o tempo de projeto e outra o tempo de execução. Durante o tempo de projeto são especificados o modelo de dados, os elementes de interface e as regras de negócio da aplicação. Durante o tempo de execução, a aplicação abrange em sua estrutura um sistema de geração de aplicações a partir do modelo 23

persistido no banco de dados. O banco de dados é responsável pela persistência e controle dos dados e o metamodelo é utilizado para persistência das informações obtidas de procedimentos realizados junto ao modelo de dados, interfaces e regras de negócio. As regras de negócio irão atuar sobre os dados definidos pelo usuário e definem as relações entre os dados, seus ciclos de vida, seus estados corretos e as modificações que eles podem sofrer. Na figura 12 temos o módulo denominado AndMeta que é responsável pela 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 gerador e é produzido a partir de um mapeamento das regras de negócio e da criação automática de interfaces com base nos dados armazenados no metamodelo.

24

Capítulo 3 Tecnologia Móvel para Desenvolvimento de Aplicações
Este capítulo apresenta alguns dos ambientes e tecnologias de desenvolvimento para produção de sistemas móveis. O estudo identifica pontos positivos e negativos de cada tecnologia, orientando assim a escolha da plataforma ideal para desenvolvimento de acordo com as necessidades do desenvolvedor.

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 por uma extensa gama de hardwares de terceiros, como PDAS e smartphones. Os principais componentes que são utilizados para o desenvolvimento na plataforma, são o Microsft Visual Studio 2008 e o Windows SDK e ambos geram códigos nativos em Visual C++ ou código gerenciado como Visual C e Visual Basic.NET. O Windows Mobile possui uma área de trabalho semelhante ao sistema Windows para desktops e oferece suporte a .NET Compact Framework. A plataforma oferece recursos de conectividade e segurança, desenvolvimento de aplicativos multitarefa, uma API valiosa para conexão Bluetooth e o Pockect Outlook Object Model para desenvolvimento de interfaces de mensagens. O Microsoft Visual Studio 2005 é a principal ferramenta para desenvolvimento, compilação, testes e implantação de aplicativos para a plataforma Microsoft Windows e Windows Mobile. O desenvolvimento para Windows Mobile necessita do aplicativo Visual Studio 2005 Stardard Edition ou superior. É necessário a utilização de um SDK(kit de desenvolvimento) para desenvolvimento de sistemas para o Windows Mobile sendo necessário a instalação de um kit específico de acordo com a versão do sistema opera25

NET Compact Framework v2.NET Compact Framework v2. que são partes integrantes das SKDS instaladas e também possuem componentes vinculados ao Visual Studio. 26 .5 e • Windows Mobile 6 Professional SDK. Pacotes SP1 ou SP2. Standard Edition ou versões superiores. • Microsoft .5 e • Windows Mobile 6 Professional SDK. ou Windows Mobile 6 Standard SDK. Para auxiliar no desenvolvimento de aplicativos para o Windows Mobile são utilizados emuladores. ou Windows Mobile 6 Standard SDK. Pacotes SP1 ou SP2 são recomendados.NET Compact Framework v2. Para desenvolvimento no Windows Vista são necessárias as seguintes ferramentas: • Microsoft Visual Studio 2005. Pacote SP1. • ActiveSync 4. São apresentados a seguir: • Microsoft Visual Studio 2005. o que dá liberdade ao desenvolvedor de selecionar a versão do sitema operacional que rodará o aplicativo selecionando o kit adequado para desenvolvimento sem preocupações com gastos em função ambiente adotado. ou Windows Mobile 6 Standard SDK.cional alvo e da arquitetura do dispositivo. • Microsoft . • Microsoft . • Windows Mobile Device Center é requerido para sincronização de dados e • Windows Mobile 6 Professional SDK. Pacotes SP1 ou SP2 são recomendados. Standard Edition ou versões superiores. Standard Edition ou versões superiores. Para desenvolvimento no Windows XP são necessários as seguintes ferramentas: • Microsoft Visual Studio 2005. Os principais itens para o desenvolvimento para plataforma Windows Mobile no Sistema operacional Windows Server 2003. • ActiveSync 4. Na utilização das SDKS não são realizadas nenhum tipo de cobrança.

telefone e navegador. O BlackBerry Java Development Environment possui as seguintes ferramentas de desenvolvimento: • BlackBerry R Integrated Development Environment. internacionalização. O BlackBerry Java Development Environment é uma plataforma de desenvolvimento e simulação voltado para criação aplicações Java para o BlackBerry [2]. desenvolvedores da plataforma podem criar um BlackBerry Java Application que utilize interfaces sofisticadas para entrada de dados e pesquisa e que ofereça suporte a multithreading. independentemente da rede sem fio subjacente. De acordo com o lançamento de novas versões desses ambientes. Utilizando-se o BlackBerry JDE. a Research In Motion inclui as novas APIS Java correspondentes e a versão do BlackBerry Java Development Environment. comunicação em rede e armazenamento de dados local. proporcionando assim maior reutilização na programação dos softwares [2]. • BlackBerry Smartphone Simulator e • APIs Java ME e APIs do BlackBerry. Os sistemas desenvolvidos podem se comunicar com outras redes utilizando conexões TCP e HTTP padrão. O ambiente de desenvolvimento BlackBerry oferece recursos que viabilizam a criação de aplicativos que sejam estreitamente integrados aos sistemas principais do BlackBerry.2 Blackberry A arquitetura BlackBerry oferece um ambiente sem fio Java ME compatível com aplicativos cliente/servidor. como lista de mensagens. aplicativos organizadores. O BlackBerry Smartphone Simulator oferece um ambiente estilo Windows projetado para simular interfaces e interação do usuário. O BlackBerry IDE comporta um conjunto completo de ferramentas de edição e depuração que são otimizadas para o desenvolvimento de uma aplicação Java. serviços de e-mail e sincronização na rede sem fio. os programadores podem usufruir dos recursos para desenvolver aplicativos usando a linguagem Java ME e as APIS Java estendidas para o BlackBerry . conexões de rede. 27 . A versão do BlackBerry Device Software determina o componente BlackBerry Integrated Development Environment que será utilizado para desenvolver os aplicativos. Todos os dispositivos BlackBerry possuem uma versão específica do BlackBerry Device Software e da BlackBerry Java Virtual Machine. A partir desse ambiente.3.

• gerenciamento de dispositivos BlackBerry e utilitários de monitoramento. É importante para o desenvolvedor identificar as diferenças entre esses componentes para restringir o tipo de usuário que sua ferramenta dará suporte. o acesso ao email corporativo e aos dados do organizador.1 BlackBerry Enterprise Solution O BlackBerry Enterprise Server faz parte da BlackBerry Enterprise Solution e atua sob a proteção do firewall corporativo.jar em arquivos .cod que podem ser executados no BlackBerry Smartphone Simulator ou em um dispositivo BlackBerry. 3.cod do aplicativo. Ele também apresenta os seguintes recursos principais: • criptografia e compactação de dados. visto que a escolha por uma determinada arquitetura pode afetar os modos de transporte utilizados e o modo de sincronização dos dados.3. 3.3 Soluções BlackBerry Usuários de dispositivos BlackBerry podem utilizar recursos do BlackBerry Enterprise Server ou o BlackBerry Internet Service ou caso ache necessário pode usar os dois. • JavaLoader: é uma ferramenta utilizada para adicionar ou atualizar um aplicativo em um dispositivo BlackBerry para teste e também é usado para exibir informações sobre os arquivos . • BlackBerry Signature Tool: é uma ferramenta utilizada para enviar solicitações de assinatura de código para a BlackBerry Signing Authority Tool.O BlackBerry Java Development Environment possui ferramentas para desenvolvimento em IDEs de terceiros como NetBeans ou Eclipse. O BlackBerry Enterprise Server disponibiliza um gateway para rede sem fio que viabiliza os usuários de dispositivos BlackBerry de uma organização. 28 .java e . entre estas temos: • RAPC: é um compilador de prompt de comando utilizado compilar arquivos . • Preverify Tool: é uma ferramenta utilizada para verificar parcialmente as classes antes de carregar o aplicativo em um dispositivo BlackBerry e • JDWP: é uma ferramenta utilizada para depurar os aplicativos usando ambientes de desenvolvimento integrados de terceiros.

1 Iphone Iphone OS O Iphone compartilha a base de desenvolvimento com o Mac OS X [3]. o envio de conteúdo aos aplicativos nos dispositivos BlackBerry. a compactação dos dados e a independência da rede sem fio oferecida pela BlackBerry Enterprise Solution.4. o BlackBerry Enterprise Server possui o MDS(BlackBerry Mobile Data System). O BlackBerry MDS disponibiliza proxies HTTP e TCP/IP para aplicação. como a interface Multi-Touch e o acelerômetro. a anexos de e-mail e acesso ao conteúdo da Internet. facilitando assim o aprendizado para desenvolvedores Mac. No ambiente de produção de sistemas para o Iphone é utilizado o kit de desenvolvimento Iphone SDK. havendo somente a necessidade de aprender novas tecnologias que estão disponíveis somente para a arquitetura do Iphone contemplando as demandas do ambiente móvel.3 BlackBerry MDS Para viabilizar o acesso a recursos sob a proteção do firewall corporativo a uma aplicação Java. Este ambiente também apresenta suporte a conectividade HTTP direta e TCP/IP à Internet a partir de um BlackBerry Java Application de terceiros. com o qual o programa é capaz de depurar.2 BlackBerry Internet Service Os usuários de dispositivos BlackBerry que não estiverem utilizando os serviços do BlackBerry Enterprise Server poderão optar pelo BlackBerry Internet Service.• gerenciamento simplificado de aplicativos e • gateway autenticado para acesso à intranet em um BlackBerry R Java Application 3. permitindo que o dispositivo BlackBerry se comunique com os servidores de aplicativos e da Web sob a proteção do firewall corporativo sem software VPN adicional.3. a criptografia das informações. 3. O BlackBerry Internet Service é um serviço de e-mail e Internet para dispositivos BlackBerry projetado para fornecer aos usuários entrega automática de mensagens de e-mail. Os aplicativos que enviam dados usando os serviços do BlackBerry Enterprise Server usufruem da conectividade corporativa simplificada. 3. O BlackBerry MDS também dispõe de uma interface aberta que permite. 29 .4 3.3. acesso a rede sem fio. aos sistemas hospedados no servidor sob a proteção do firewall corporativo.

capacitando a edição do código. A camada Media utiliza tecnologias que oferecem suporte para desenho 2D e 3D. Outros frameworks também são utilizados nesta camada fornecendo recursos para acesso aos dados de contatos.4. O Xcode compreende um conjunto de ferramentas voltadas para auxiliar o desenvolvimento de aplicativos para o Iphone. gerencia arquivos. testar e desenvolver as aplicações. temos o predomínio da utilização do Objective-C. acelerômetro e outros do hardware. Nas camadas superiores encontramos tecnologias avançadas que usam C-based e Objectie-C como base de suas interfaces. Temos como exemplo de frameworks desta camada: framework Foundation que dá suporte padrão orientado a objeto. 3. na Cocoa Touch. Na camada mais externa. A maioria dessas interfaces é codificada em C e implementa tecnologias como CFNetwork. e SQLite. entre outros. framework UIKit que é utilizado para criação da estrutura visual do aplicativo. Core Audio e Core Animation. entre outros. oferece suporte a operações de rede. Esta camada possui as frameworks fundamentais que são utilizadas pelos programadores no desenvolvimento das aplicações.1. sockets Unix. controles e controladores que gerenciam os objetos. acesso a arquivos. compilação. vídeo e áudio. depuração e realização de testes até mesmo com a utilização de um simulador. compreendendo classes de janelas. Figura 3.1: Camadas Tecnológicas do Iphone [3]. serviços Bonjour.2 Camadas Tecnológicas O kernel do sistema operacional do Iphone tem como base o Kernel do Mach OS X e assim como este sua arquitetura se apresenta de acordo com a figura 3. Continuando na camada Media verificamos a presença das tecnologias C-based e o OpenGL ES. As camadas Core OS e Core Services compreendem interfaces essenciais para o Iphone como por exemplo.executar. sockets de rede. Quartz. 30 .

3. A documentação essencial que todo desenvolvedor para Iphone deve possuir é encontrada na guia Cocoa Fundamentals Guide. sendo processados eventos de toque ao invés de eventos de teclado e mouse.4. pois o sistema não é multithread [3]. exemplificando com exibição de interfaces para o usuário e manipulação de eventos. Com a inicialização de qualquer programa no sistema nenhum outro processo será executado em conjunto.4.3 Escrevendo código para o Iphone Um dos caminhos para o desenvolvimento de aplicações para o Iphone é a utilização da SDK do ambiente para criação de programas orientados a gráficos que rodam nativamente na arquitetura do Iphone OS. a Application Programming Guide.4 Primeiros Passos O Xcode fornece templates que podem ser utilizados para desenvolvimento de aplicações simples. Esta documentação orienta de forma eficiente o desenvolvedor para que ele seja capaz de tirar proveito das principais características do Iphone OS. Após compreender os padrões e os recursos para programação de aplicativos para o Iphone. o programador será capaz de utilizar os principais serviços que o aparelho dispõe sendo necessário somente em casos mais específicos estudar a utilização de outros frameworks e até mesmo recursos de camadas inferiores para desenvolver funcionalidades específicas. Os aplicativos mais robustos usufruem de todo o poder encontrado nas frameworks de desenvolvimento. Com este livro o programador encontra informações importantes que são baseadas em situações específicas que demonstram como codificar para contornar o problema apresentado. Familiarizando-se com o tratamento de eventos no sistema juntamente com a utilização dos frameworks Foundation e UIKit. 31 . pois com a sua utilização. Os aplicativos criados e carregados no Iphone ficam na tela Home. a codificação de determinados comportamentos pode ser extremamente mais organizada e intuitiva por conta dos padrões estipulados. Este guia apresenta os conceitos da linguagem Objective-C e os padrões de projeto utilizados pelo framework UIKit e muitos outros frameworks. tais como o relógio e tempo. Para a criação de aplicações mais complexas é necessário que o programador reserve algum tempo para estudo da documentação disponível.3. A forma de tratamento de eventos no Iphone é bem diferente se comparada ao modelo utilizado no desenvolvimento de aplicativos para as aplicações desktops. agrupado com os outros programas do sistema. deve ser consultada outra documentação que é utilizada para implementação de detalhes específicos nos processos de desenvolvimento.

são disponibilizados serviços referentes a tratamento de textos.3.2 Camada de Serviços de Aplicação A camada de serviços de aplicação (The application Services Layer). 32 . Como exemplos. 3. As aplicações para o Symbian OS são orientadas à objetos e seguem o modelo MVC. É um sistema bastante robusto e confiável. apresentando muitos desafios aos desenvolvedores [15]. O modelo arquitetural do Symbian OS é descrito em camadas. através da tecnologia J2ME. ou camada de interface com o usuário que disponibiliza frameworks e bibliotecas para construção de componentes visuais de interação com o usuário. Na figura 3.2: Camadas da plataforma Symbian [6]. calendário.1 Camada de Interface com o Usuário A camada de mais alto nível é a UI Framework Layer. 3. provê recursos independente da camada de interface.5.5.2 é apresentado as camadas da plataforma Symbian. entretanto sua complexidade torna difícil a manutenção e aprendizagem. agenda e comunicação HTTP.5 Symbian O Symbian OS é o sistema operacional para dispositivos móveis que tem como principal destaque frente aos demais o fato de ser a plataforma que está presente na maioria dos celulares e smartphones do mercado atualmente. Também na camada de serviços de aplicação o Symbian OS oferece suporte a Java. Figura 3.

O modelo de persistência e criptografia também são implementados aqui. mas independentes de aplicação. Qualquer aplicação desenvolvida pode utilizar tais serviços.5.6 Tecnologia Java A tecnologia Java. tornou-se muito popular desde então. um conjunto de pacotes padrões MIDP 2. o ensino de Java é básico. 3. que foi desenvolvida e disponibilizada pela Sun em 1994. 3.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. 3. • Gráficos e Multimídia e • Conectividade.A implementação Java é baseada em uma VM (virtual machine).0.5. os serviços incluem o servidor de arquivos e a biblioteca de usuários. No meio acadêmico. mas apenas aplicações feitas para a plataforma Symbian. uma implementação da linguagem CLDC 1.5 Camada de Hardware A camada de hardware contém operações relativas a drivers de dispositivos físicos e lógicos. O sucesso dessa tecnologia é muito grande no meio empresarial e acadêmico.1 e uma série de plugins de baixo nível que fazem a integração do Java com o Symbian. Profissionais de desenvolvimento de sistemas fazem cursos para provas de certificação que comprovem sua proficiência na linguagem.5.4 Camada de Serviços Básicos É a camada de software de mais baixo nível do sistema. 3. 33 . Juntas essas quatro áreas oferecem serviços que são específicos da plataforma.

Figura 3. Veremos adiante que isso não é possível em razão de muitas diferenças entres os sistemas de grande poder de processamento (como servidores e computadores desktop) e os dispositivos de computação móvel de pouco poder computacional.Seu sucesso se deve. como telefones celulares. quando compilada. em tempo de execução. Então.3: A Máquina Virtual Java [26]. servidores etc.). as instruções para uma linguagem de máquina compatível com o tipo de processador utilizado. desde que possuam uma JVM. Este traduz. 34 . teoricamente. a qual poderia ser executada em qualquer tipo de sistema operacional para diversos tipos de hardware. A tecnologia foi desenvolvida com o intuito de criar um tipo de linguagem de programação universal. que é lido por um interpretador conhecido como Máquina Virtual Java (JVM). a linguagem Java. à portabilidade de código. seria utilizar esse bytecode gerado em dispositivos móveis. pois eles também podem ter uma JVM instalada. Assim. que permite que um mesmo código-fonte seja usado em diferentes plataformas (desktops. gera um bytecode. pode-se utilizar um único código-fonte e executar o mesmo bytecode em diversos sistemas operacionais diferentes. Para isso. sobretudo.

como celulares. a tecnologia não funcionava bem. em testes realizados com aparelhos menores. tem o foco para dispositivos com restrições de processamento e memória. 3. • As configurações: são um conjunto de classes básicas que permitem o desenvolvimento para dispositivos com recursos limitados. 35 . A tecnologia funcionou bem com alguns tipos de dispositivos.2 Os componentes da tecnologia J2ME • Em primeiro lugar estão as máquinas virtuais. Nessa plataforma. Perfis: são bibliotecas de classes Java que permitem a implementação de funcionalidades de mais alto nível.CDC Connected devide configuration. cada fabricante pode desenvolver a sua de modo a atender os requisitos pretendidos pelo pequeno dispositiv. voltada a dispositivos móveis e com restrições computacionais. a escolha da plataforma J2ME para desenvolvimento traz como principal vantagem o fato de o código fonte ser compilado e transformando em chamados bytecodes. PDAs e outros. O fato de fazer parte do conjunto de tecnologias Java. em outras palavras isso permite que uma mesma aplicação possa ser executada em uma maquina independentemente do sistema operacional que ela possua bastando para isso ter uma maquina virtual java [26].1 Java Micro Edition Em 1998 a Sun lançou uma tecnologia chamada de Personal Java (pJava). a implementação da Máquina Virtual Java é bastante reduzida. com o objetivo de permitir o desenvolvimento de aplicativos para esses dispositivos. e então interpretados pela JVM. Em 1999. e o código uma vez gerados os bytecodes qualquer maquina virtual é capaz de interpretar. Foi necessário também reduzir os recursos da linguagem em razão das limitações de processamento computacional dos dispositivos [22]. São duas as configurações definidas no J2ME: 1. foco para dispositivos com mais recursos. A versão Java 2 Micro Edition (J2ME) tem o foco para aplicações Java voltadas para dispositivos eletrônicos com capacidades computacionais e gráficas reduzidas. fazendo assim que o código seja independente de plataforma.CLDC Connected limited device configuration.6. A principal diferença é o uso de uma maquina virtual denominada KVM (Kilo virtual machine).3. como telefones celulares. entretanto. Esta versão tem alguns componentes que a diferenciam das demais versões do java.6. a J2SE e a J2EE. pois essa requer apenas alguns kilobytes de memória para sua execução. 2. foi lançada a J2ME.

processador de 32 bits pelo menos 2MB de memoria .Os componentes em Detalhes: As máquinas virtuais são de mais baixo nivel. .7 Android O Android é uma plataforma open source para dispositivos móveis. entre elas a Google.um processador de 16 a 32 bits com pelo menos 25Mhz de velocidade .conexao com algum tipo de rede As funcionalidades suportadas são: .suporte basico a operações de entrada e saida . Os dispositivos que usam CLDC devem atender os requisitos abaixo: . Desenvolvido pela Open Handset Alliance. É importante ressaltar que o Android não é uma plataforma de software e sim um ambiente de software que oferece diversos recursos tanto para usuários quanto para desenvolvedores. uma organização de 35 grandes empresas.suporte a acesso a redes segurança 3.3 do java e inclui alguns pacotes da ediçao J2SE (edicao para computadores de grande porte) – CLDC é dedicada a dispositivos que possuam algum tipo de conexao e com recursos de processamento e memoria e capacidade grafica bastante reduzidos. Nesta sessão abordaremos alguns conceitos e apresentaremos os recursos da plataforma. suporte a maquina virtual e bibliotecas básicas de Java como funções como I/O (Input/Output ou traduzindo Entrada e saída de dados). Um exemplo destes despostivos são a maioria dos telefones celulares disponíveis atualmente no mercado brasileiro.ter entre 160kb e 512kb de memoria .possuir maquna virtual java2 conexao a algum tipo de rede A CDC é baseada na versao 1.um subconjunto da linguagem java. já as configurações e os perfis que são mais alto nível e o seu conhecimento é fundamental para o desenvolvimento de aplicações em J2ME são descritos nas próximas sessões. 36 . e como não sao o foco deste projeto não serão aprofundadas. • Configuracoes Uma configuracao é um conjunto minimo de APIs Java que permitem desenvolver aplicacóes para dispositivos móveis. Motorola e LG. – CDC é voltada para dispostivos com certa capacidade computacional de processamento e memoria: . E as caracteriscas básicas oferecidas por estas APIs são: suporte a linguagem de programação Java. Samsung.

desempenho e um plugin para a IDE Eclipse. – Câmera. – Gráficos Otimizados possui uma biblioteca 2D e 3D baseada na especificação OpenGL.2 Arquitetura A arquitetura foi projetada de maneira a possibilitar a reutilização de recursos disponibilizados por outras aplicações. 3. Na figura 3. APIs e bibliotecas da plataforma.7. – Telefonia GSM. Os desenvolvedores tem total acesso aos frameworks. localizadas na camada Applications [4] .3.4 visualizamos os principais componentes da plataforma Android. EDGE. agregando muitos adeptos à comunidade. – Bluetooth. memória. Esse compartilhamento otimiza o desenvolvimento de novas aplicações que necessitem utilizar dados de aplicações do sistema. – SQLite engine de banco de dados. Vejamos alguns dos recursos oferecidos pela plataforma: – Application framework proporciona a reutilização e substituição de componentes. esse fator tem proporcionado uma rápida popularização. ferramentas de depuração. GPS e acelerômetro e – Rico ambiente de desenvolvimento.7. Uma das grandes vantagens da plataforma é o suporte a linguagem Java. 37 . – Suporte multimídia para áudio. 3G e Wifi.1 Recursos O Android SDK é o kit de desenvolvimento que disponibiliza as ferramentas e APIs necessárias para desenvolver aplicações para a plataforma Android. incluindo um emulador de dispositivo. – Browser integrado baseado no Webkit engine. o que os proporciona um rico ambiente de desenvolvimento. – Dalvik virtual machine otimizada para dispositivos móveis. vídeo e formatos de imagem.

tais como: listas. contatos (o software que gerencia e mostra os contatos do celular) e muitos outros.4: A Arquitetura do Android [11]. etc) e qualquer outro programa pode utilizá-los: 1. 2. uma competição mundial que foi iniciada junto ao lançamento da plataforma.7. Todas essas aplicações são escritos na linguagem de programação Java. 3. programa de envio de SMS. caixas de texto. métodos. mapas (Google Maps). calendários. grids. 3. Vários desses foram selecionados durante o Android Challenger.7. Qualquer aplicativo pode publicar suas capacidades (suas funções. A arquitetura dos aplicativos é desenvolvida para simplificar a reutilização de componentes. navegador web. Views: utilizados para a construção de telas de aplicativos. jogos.3 Applications Aplicativos que vem com o Android. como um cliente de e-mail.Figura 3. Content Providers: permite que aplicativos acessem dados de outros aplicativos do aparelho e também que compartilhem seus 38 .4 Application Framework A framework Application foi toda escrita em Java e todos aplicativos que rodam no Android tem acesso as mesmas APIs que são utilizadas pelos aplicativos padrões do sistema operacional. botões e também um navegador web embutido.

Cada aplicativo tem o seu organizador de recursos. 4. 3. Notification Manager: permite que todos os aplicativos mostrem alertas cutominizados na barra de status. Packet Manager: gerencia o local dos aplicativos e arquivos de dados armazenados.7. 3D libraries: implementação baseada no OpenGL ES 1. 6. SQLite: poderosa e leve ferramenta de banco de dados relacional disponível para todas as aplicações. LibWebCore: web browser engine utilizado tanto no Android Browser quanto para exibições web. 2. Abaixo.7. Resource Manager: provê o acesso a recursos como textos (strings). 4.6 Android Runtime O Android inclui um grupo de bibliotecas que fornece a maioria das funcionalidades disponíveis nas principais bibliotecas da linguagem Java. as bibliotecas utilizam aceleração 3D via hardware (quando disponível) ou o software de renderização 3D altamente otimizado incluído no Android. 6.próprios dados. 3. gráficos e arquivos de layout. Os recursos providos pelas bibliotecas são oferecidos aos desenvolvedores através do Framework. 5. 8. 3. Activity Manager: gerencia o ciclo de vida dos aplicativos. FreeType: impressão de fontes vetoriais ou raster. bem como imagens estáticas. 7. System C library: uma implementação derivada da biblioteca C padrão sistema (libc) do BSD sintonizada para dispositivos rodando Linux. SGL: bibliotecas de gráficos para construção em 2D.0 APIs. Toda aplicação Android roda em seu próprio processo. Media Libraries: baseado no PacketVideos OpenCORE. com sua 39 . Surface Manager: gera o acesso ao subsistema de exibição bem como as múltiplas camadas de aplicações 2D e 3D. 5. o arquivo R.5 Bibliotecas O Android inclui um conjunto de bibliotecas C/C++ utilizadas por vários componentes do sistema. as bibliotecas suportam os mais populares formatos de áudio e vídeo. 3. algumas das principais bibliotecas: 1.java.

Iphone e o BlackBerry são plataformas proprietárias e já o Symbian.6 do kernel do Linux. Os aplicativos desenvolvidos para o Symbian podem ser codificados em Python ou em C++ e no Android é utilizado a linguagem Java. O código do sistema operacional é aberto e pode ser obtido no endereço: http://git. tais como: segurança. gestão de memória. através da ferramenta dx incluída no SDK. mas no caso do Symbian existem alguns problemas de incompatibilidade entre sistemas por conta das diferentes versões do sistema operacional e também pelas diferentes linguagens de desenvolvimento no ambiente. O Dalvik VM baseia-se no kernel do Linux para funcionalidades subjacentes como o encadeamento e a gestão de baixo nível de memória. 40 .com/. que é otimizado para consumo mínimo de memória. esse sistema operacional gerencia os serviços centrais do sistema. O Dalvik foi escrito de forma a executar várias VMs eficientemente.própria instância da máquina virtual Dalvik [11].dex. gestão de processos.android. 3. Ele executa arquivos .7. etc. A VM é baseada em registros e roda classes compiladas pela linguagem Java que foram transformadas em arquivos .dex. O kernel também atua como uma camada de abstração entre o hardware e o resto do software. J2ME e o Android são plataformas livres que possuem um conjunto de frameworks e ferramentas que auxiliam o processo de desenvolvimento de aplicativos. O J2ME atualmente é um ambiente que oferece poucos recursos se comparado as plataformas atuais e gera muita incompatibilidade dos sistemas produzidos nos diversos aparelhos existentes.7 Linux Kernel Utiliza a versão 2.8 Análise das Tecnologias e Seleção do Ambiente O Windows mobile. 3.

O aplicativo web se conecta com o servidor de dados a partir da ferramenta chamada DBExpress e para o desenvolvimento dos recursos para o Palmtop. A comunicação dos aparelhos móveis com o servidor é feita através da tecnologia wi-fi.Capítulo 4 Estudo de Aplicações Móveis Este capítulo apresenta um levantamento das aplicações móveis existentes no mercado procurando analisar as tecnologias utilizadas e identificar as características das aplicações. Na figura 4. A pesquisa demonstrou que são necessários cerca de trinta formulários para acompanhamento diário dos pacientes internados. 4.1 Sistema de Monitoração de pacientes apoiado em web e palmtops Esse sistema visa o monitoramento de pacientes internados no Hospital. foi utilizado o NsBasic 3.1 verificamos a interface com o usuário no disposi41 . apoiada em ondas de rádio. Devido a esta grande quantidade de documentos físicos para controle de dados dos pacientes. utilizando recursos web e moveis a partir de Palmtops. As informações são transmitidas com o Palmtop para um servidor de dados (Banco de dados Relacional) e podem ser acessadas por qualquer computador ligado a rede como por outro Palmtop. Sua necessidade foi verificada a partir de um levantamento de campo realizado em hospitais na cidade de Franca-SP. O sistema foi desenvolvido em Delphi 7 oferecendo recursos para acesso aos dados pela Intra e Internet. foi verificado a existência de informações redundantes e uma dificuldade na recuperação dos dados[17]. bem como as vantagens e desvantagens das soluções implementadas em cada aplicativo.

2: Sistema de Monitoração de pacientes .tivo móvel.Web [17].1 e para a conexão entre o Aplicativo WEB e o servidor de dados foi utilizada ferramenta chamada DBExpress. A interface de acesso aos dados do servidor foi desenvolvida em Delphi 7. Para trabalhar com o Palmtop foi utilizado o NsBasic 3. 42 .Palmtops [17]. sendo que esta centraliza os serviços do sistema e é acessível tanto pela Intranet como pela Internet. Figura 4. Figura 4.1: Sistema de Monitoração de pacientes .2 é demonstrada a interface web para acesso aos dados. Na figura 4.

O intuito da aplicação é diminuir a perda de informação nos atendimentos médicos que ocorrem fora do consultório.3: Sistema Simplificado de Prontuário [19]. O HM está encarregado de realizar a captura automatizada desses sintomas do paciente. Figura 4. baseado no sistema Clinic Manager da UNIFESP. o qual tem por intuito monitorar o paciente integrando uma rede de sensores ao corpo humano.2 Sistema Simplificado de Prontuário O sistema simplificado de prontuário eletrônico do paciente. mantendo bibliotecas de sintomas. Tornase possível através dessa aplicação obter e manter mais informações do paciente nessas situações.4. como situações em que o profissional médico presta auxílio ao paciente via telefone.3 Aplicação HandMed A aplicação HandMed (HM) é parte de um projeto maior denominado GIMPA. Windows Pocket PC e Palm OS. A tecnologia de desenvolvimento adotada foi a biblioteca AppForge aplicada a ferramenta Visual Basic.3 podem ser conferidas algumas telas do sistema. sem a necessidade de efetuar alterações no código-fonte. Essa biblioteca permite a geração do código do aplicativo em diferentes plataformas como Symbian OS. 4. com intuito de possibilitar um acompanhamento 43 . Prontuários Eletrônicos. entre outros [14]. é uma aplicação onde os profissionais médicos realizam acesso à ficha do paciente através de aparelhos smartphones (PDA com funcionalidades de telefone celular)[19]. Na figura 4.

Parte da monitoração do paciente é feita através de formulários preenchidos pelo próprio paciente. aumentando a segurança da informação do paciente na situação de pós-transplante. uma residente no PDA e outra em um servidor de informações. A aplicação é desenvolvida em J2ME com a API Personal JAVA na ferramenta Jbuilder. Essa aplicação é composta de duas partes. Toda informação pertinente ao paciente é armazenada em um servidor de banco de dados. entre outras pessoas envolvidas. Procura facilitar o acompanhamento do paciente e centralizar a informação de forma a eliminar a redundância de dados. a parte móvel utiliza a API AppForge para Visual Basic com o intuito de gerar uma aplicação independente de plataforma. sendo os testes realizados no aparelho PDA Sharp Zaurus SI-5500. Figura 4. no caso o Interbase [17].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 de controle pós-transplante é outro exemplo de aplicação encontrada. responsáveis pelo paciente. Já 44 . Para desenvolvimento da aplicação.e prevenção de problemas com a saúde do mesmo.4: Aplicação HandMed [14].4 verificamos alguma telas do HandMed. Além disso. o sistema é alimentado por informações fornecidas por profissionais de saúde. Na figura 4. 4. que se baseia em uma plataforma Linux. O funcionamento ocorre da seguinte forma: os dispositivos Palm são carregados com as informações do paciente no início do dia e descarregados no final do turno do profissional.

O aplicativo foi desenvolvido no ramo móvel para PDA nas plataformas Palm OS e Pocket PC OS. Figura 4. um pacote de aplicativos para PDA que se compõe de serviços de consulta. o SxDx e o Lab.5 são apresentadas telas do projeto. PDA e smartphones. 4. referência e apoio à decisão. provendo um sistema acessível aos usuários de qualquer computador capaz de se conectar a Internet. Aposta-se que o público entre 18 e 25 anos utilizará aparelhos desse tipo em 4 ou 5 anos [10].6 The m-learning Project O sistema foi desenvolvido para aparelhos que são ao mesmo tempo celular. 4.6 visualizamos telas do Epocrates Essential. são guias de referências para escolha de medicamentos. Na figura 4.5: Sistemas de Controle Pós-Transplante [17]. respectivamente. identificação de doenças e lista de sintomas e para apoio ao diagnóstico e escolha de testes laboratoriais. A cada usuário é permitido o acesso apenas às informações dos pacientes de sua responsabilidade e proibido a alteração de informações antigas. Na figura 4. Os produtos da família Epocrates são: o Rx.a outra parte foi implementada na linguagem PHP.5 Epocrates Essential Uma outra solução de contexto internacional é o Epocrates Essential. 45 . também independente de plataforma.

A análise e estudos das opções de hardware e software para desenvolvimento do projeto evidenciou o acesso a internet diretamente pelos dispositivos móveis. O sistema de gerenciamento de aprendizagem (Sistema tutorial) possui um repositório de materiais de aprendizagem onde se mantém a trilha de aprendizagem do usuário. os PDAs. poderia ser feito a partir de um browser. celulares e smartphones poderiam ter acesso a aplicação sem a necessidade de implementação específica para cada plataforma. Na página de construção de ferramentas os usuários podem criar suas próprias páginas.6: Epocrates Essential [1]. mensagens. – ferramenta de atividade colaborativa. – comunicação: chat. Por julgarem que no atual momento as tecnologias de desenvolvimento para dispositivos móveis não apresentam uma solução genérica 46 . O usuário acessa o portal. denominado mPortal.Figura 4. – página de construção de ferramentas. – sistema de gerenciamento de aprendizagem. blogs. este é formado por uma série de mini-páginas de navegação e cada uma delas oferece os seguintes recurso: – material de leitura. Novos módulos podem ser escolhidos com base nas preferências e no desempenho do usuário. Essa alternativa foi escolhida por resolver os problemas de portabilidade. – guia de ajuda do sistema e – links interessantes na web.

a qual o dispositivo móvel é capaz de interpretar ao receber o arquivo.Quiz games. – ajuda os estudantes a manterem o foco por períodos maiores.de modo a ser compatível com qualquer ambiente. 4. – minimiza a resistência ao uso de novas tecnologias. Após preenchido o formulário no PDA/celular ele é transferido de volta para um banco de dados no computador. – melhora das capacidades de leitura. Segundo [18] a utilização da computação móvel para auxiliar no acompanhamento do desempenho dos alunos nos cursos de EAD pode ser uma 47 . – melhora a auto-estima dos estudantes. 90 [10] aparelhos foram distribuídos aos estudantes a fim de descobrirem a reação a esta nova forma de aprendizagem. Suécia e Itália. Os formulários são gerados ainda nos computadores desktops e em seguida convertidos obedecendo a uma estrutura padrão. – Atividades de aprendizagem colaborativa usando a câmera dos celulares e – SMS Várias pesquisas foram realizadas no Reino Unido. O entusiasmo dos alunos e maior aprendizado colaborativo foram observados. um PDA ou um smartphone. Algumas das observações levantadas sobre o uso de aprendizagem com dispositivos móveis foram: – os estudantes identificaram áreas que precisam de algum suporte. cálculos e a identificar outras habilidades. – Diminui alguns formalismos de estudantes mais experientes.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 (ensino a distância) realizados pela internet. – SO Sony Ericsson para PDA/celular. Um subsistema é responsável pela aplicação de formulários que podem ser acessados e respondidos diretamente pela tela de um dispositivo móvel. – J2ME para celulares . algumas opções de plataformas são oferecidas: – SO Microsoft pocket pc para PDA/Celular. como um celular. – pode ser usado para estimular o estudo individual e também experiências colaborativas.

No PDA é oferecida um interface amigável ao usuário com poucas informações e de fácil preenchimento. 3. seja na fila do banco. celular x PC e 4. Módulo 3 .8. 2. [18]O mobile learning seria mais uma alternativa do leque de opções para os alunos. Módulo 1 . já que os pequenos equipamentos estão mais tempo com o seu usuário. Um sistema web feito em J2EE (Java 2 Entrepise Edition) para ser acessado pelo computador para criação dos formulários e uma aplicação J2ME (Java 2 Mobile Edition) para rodar em um dispositivo PDA ou um celular. como pode ser visto no figura 4.Responsável pela criação do formulário. Módulo 2 . com o cadastro das questões.Converter os dados armazenados no banco de dados para um layout aceito pelo dispositivo móvel. 48 . e teria a facilidade de poder ser utilizada a qualquer tempo. A questão da aceitação é superada pelo fato da maioria dos alunos já possuírem um celular com suporte Java.Comunicação entre os dispositivos. O sistema é dividido em módulos(figura 3.Interface para o preenchimento do formulário no dispositivo móvel.7: Estrutura do Projeto na Universidade Federal da Paraíba [18]. na parada do ônibus na sala de reunião etc. seus tipos e respostas. mesmo não tendo um computador disponível para realização da tarefa. Módulo 4 . As ferramentas que podem ser instaladas nos dispositivos móveis possivelmente terão boa aceitação por parte dos alunos que utilizam essa tecnologia.8) da seguinte maneira: 1. A tecnologia empregada no desenvolvimento é baseada na plataforma Java.ferramenta muito útil. Figura 4.

As características principais do framework são: – Controles de interface com o usuário. Esses componentes são usados tanto para importação quanto para exportação de dados.10 são apresentadas algumas imagens do sistema operacional S60 a partir de um emulador. O sistema operacional escolhido para criação do framework foi o S60. baseado no Symbian.Tela Palmtop [18].8: Projeto na Universidade Federal da Paraíba . Abaixo é apresentado a estrutura dos dois componentes principais do framework. e a linguagem de codificação foi Python. 4.Figura 4. adaptadores de rede e USB. Na figura 4.1 Componentes de interface com usuário São controles gráficos para o sistema operacional S60.9 e 4. 4. desenvolvidos na linguagem de programação Python. – Componentes de conectividade.8.8 Homer Framework Biblioteca para coleta de dados na plataforma Symbian Trata-se de um projeto que consiste no desenvolvimento de uma biblioteca de componentes voltados para a produção de interfaces gráficas e transferência de dados [5]. como bibliotecas para comunicação por bluetooth. 49 . Este foco visa facilitar o uso de smartphones para coleta de dados em campo.

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

Será utilizado em conjunto com o HomerSubmitCommand. – HomerGPSPositionCollector: Textbox que coleta a posição corrente através do GPS. – HomerRangeValidator: Validador de Textbox numérica para um conjunto de valores. – HomerCompareValidator: Validador de Textbox numérica para comparação com valores. Mostra mensagem de erro para o usuário em caso de input nulo. Será utilizado em conjunto com o HomerSubmitCommand. Mostra mensagem de erro caso o número não esteja de acordo com o critério de comparação. Para a coleta de dados. Mostra mensagem de erro para o usuário em caso de input inválido. – HomerRequiredFieldValidator: Validador de Textbox para campos requeridos. – HomerRegexValidator: Validador de Textbox contra uma expressão regular. Utilizado no menu associado às softkeys. – HomerSoundCollector: Componente para coleta de sons a partir do gravador de som. – HomerSubmitCommand: Comando que submete o formulário. Utilizado no menu associado às softkeys. o conteúdo deste formulário será transformado em um arquivo de saída através do componente HomerOutputDatafile. preparado para funcionamento como um wizard. Mostra mensagem de erro caso o número não esteja entre os limites impostos. Depende de disponibilidade de recurso no aparelho. – HomerWizardForm: Extensão do HomerForm. Sua função é receber os controles de interface e de troca de informações. Avançar e Finalizar a coleta. 51 . Depende de disponibilidade de recurso no aparelho. Será utilizado em conjunto com o HomerSubmitCommand. – HomerResetCommand: Comando que limpa todos os campos do formulário. Depende de disponibilidade de recurso no aparelho. – HomerPhotoCollector: Componente para coleta de fotos. com possibilidade de filtragem de conteúdo. – HomerFilteredGrid: Extensão do grid disponível na plataforma. trabalhando em vários passos com comandos para Voltar.– HomerForm: Componente principal do framework. Aciona os componentes de validação e apenas submete o formulário se todas as validações forem bem sucedidas. Será utilizado em conjunto com o HomerSubmitCommand. – HomerMaskedTextBox: Textbox com máscara para entrada de valores.

Mas este herda os problemas da plataforma Symbian. com um módulo de criação na web e outro de coleta no Palm.8. Este arquivo de saída será um arquivo GZip (Algoritmo para compressão de dados). Os questionários são elaborados em um programa em ambiente Windows. onde existe um programa que os executa para coletar as respostas. É uma ferramenta comercial de propriedade da empresa brasileira Cinq Technologies. como incompatibilidade de dispositivos. é necessário o uso de um computador desktop. 4.2 Componentes de Comunicação São os componentes utilizados para troca de informações entre o dispositivo e sistemas externos. ou seja. O caso Home Framework é uma solução interessante pois facilita as tarefas de codificação dos programadores além de ser uma solução livre. que continuarão sendo um grande obstáculo no desenvolvimento de aplicativos. CheckBoxList. foi verificado que a maioria dos aplicativos possuem uma raíz proprietária não permitindo assim que sejam utilizados como base para modelagem e desenvolvimento de novas aplicações. Serão desenvolvidos de modo que no futuro suportem novos formatos de arquivo e componentes de conectividade para saída e entrada de informações. – HomerDataSource: Fonte de dados para componentes como ListBox. Por último identificamos o software Cinq Sensus. o qual apresenta uma solução eficiente para criação de formulários de coleta de dados. 52 .9 Cinq Census O Cinq Census é uma solução para desenvolvimento de questionários e pesquisas para Palmtops. Inicialmente será implementado com suporte somente a fontes de dados XML. As respostas são então transmitidas para o microcomputador para consolidação ou integração com outros sistemas [9].4. Com a análise realizada nos estudos de aplicações. O Cinq Sensus reestringe a criação de formulários somente pela Web e outro fator negativo é o fato do sistema ser proprietário o que impede a modificação da sua estrutura para atender novas demandas pelos usuários. O questionário é então transmitido para os Palmtops. onde há um arquivo XML com o conteúdo do HomerForm e todos os arquivos binários que forem coletados pela aplicação desenvolvida. – HomerFormDatafile: Componente que transforma um HomerForm em um arquivo de saída que pode ser lido por sistemas externos. RadioButtonList e HomerFilteredGrid.

Esse aplicativo sugiu após a Cinq Technologies verificar que várias empresas clientes tinham uma necessidade comum. inclusive. um que elabora questionários em microcomputador e outro que os executa em Palmtops ou celulares compatíveis com J2ME. O Cinq Census se destina a qualquer empresa que necessite coletar dados em campo com precisão. composto por dois módulos. com segurança e rapidez. Além disto. pesquisas de opinião. permite automatizar a coleta de pesquisas de campo. Isto evita a necessidade de se acionar uma desenvolvedor para toda vez que houver necessidade de alterar o questionário (perguntas. como companhias que monitoram a satisfação dos clientes e as atividades da concorrência e empresas especializadas em pesquisas e marketing. transmitir em tempo real estas informações de coleta em campo para bancos de dados centralizados com publicação simultânea na WEB. respostas.É possível personalizar a elaboração de questionários. esta solução poderá ser utilizada em qualquer empresa ou instituição que queira rapidamente elaborar um questionário e carregálo em Palmtops para coletar informações em campo e publicá-las de forma automatizada. Então foi criado um ambiente de desenvolvimento de questionários para os próprios usuários criarem as pesquisas e carregarem nos PDAs. baixo custo. facilidade de uso. flexibilidade e agilidade. provas/testes e muitas outras aplicações de coleta de informações. inspeções e coletas de informações em geral e executá-las em um dispositivo Palmtop. check-lists no chão de fábrica. etc). Com o uso de celulares é possivel. Produto de fácil utilização. 53 . A solução é direcionada ao usuário final.

49 . pois mesmo que seu código fosse aberto obrigaria usuário a ter conhecimento técnico para modificar o seus sistemas de acordo com suas necessidades.Capítulo 5 O Problema A maioria dos profissionais que trabalham em campo muitas vezes ao estarem coletando dados se deparam com a situação na qual o software utilizado não comporta as necessidades específicas no momento da coleta e infelizmente devido a incapacidade de customização do sistema pelo usuário. as informações não são coletadas da maneira correta. Epocrates Essential[1]. Mesmo com essa grande diversidade de sistemas móveis existentes. Aplicação HandMed[14]. Além do fato dos sistemas serem proprietários. Muitas vezes os desenvolvedores necessitam reescrever códigos preexistentes que poderiam ser reuutilizados mas devido ao seu licenciamento bloqueiam o seu reaproveitamento em outros projetos. descentralização das informações e dificuldade de migração das informações para outras plataformas. Isso acaba acarretando sérios problemas. Na área de Educação temos The m-learning Project e Projeto na Universidade Federal da Paraíba. nenhum deles citados oferece uma base de desenvolvimento que possa contornar as dificuldaddes apresentadas pelos profissionais que trabalham em campo pelo fato de possuírem código fechado impedindo que outros programadores possam replicar a solução em outros setores carentes destas tecnologia. como por exemplo. dificuldade de integração dos dados. perdas de informações. 5. os mesmo não oferecem suporte ao usuário final da aplicação.1 Soluções Proprietárias Dentre os sistemas levantados podemos destacar na área de saúde o Sistema Simplificado de Prontuário[19].

mas tal fato não impediria a recodificação a fim de contemplar as necessidades específicas de cada sistema. haveria uma redução expressiva no tempo de entrega das aplicações facilitando assim as modificações dos sistemas. consiste no desenvolvimento de um framework para coleta de dados na plataforma Symbian que fornece recursos para otimizar o desenvolvimento de interfaces com o usuário e facilitar a comunicação através de módulos para importação e exportação de dados. 50 . o qual apresenta uma solução eficiente para criação de formulários de coleta de dados. 5.2 Recodificação Com a adoção de uma solução otimizada como a utilização do Home Framework. com um módulo de criação na web e outro de coleta no Palm. Com essa plataforma podemos superar a dificuldade de reutilização de código pois a mesma oferece uma extensa biblioteca para abstração de funcionalidades evitando assim a reescrita de código. Este fator é crítico em situações na qual o usuário final está em campo e não dispõe de tempo e meio de comunicação com desenvolvedores para que seja feita as modificações desejadas obrigando-o assim a procurar métodos suplementares que o auxilie na coleta da informação. perda de informações e inconsistência dos dados. o que impede a modificação de seu código fonte para aprimoramento de suas funcionalidades de acordo com as necessidades dos usuários.Uma ferramenta para desenvolvimento de aplicativos móveis. denominada Homer Framework. O Cinq Sensus contorna o problema definido no projeto mas o mesmo reestringe a criação de formulários somente pela Web e é um sistema proprietário. Tal fato implica na descentralização dos dados e pode implicar em dificuldades de integração dos dados. A solução encontrada para o projeto foi o CinqSensus. Entretanto é uma solução somente para o desenvolvedor pois não oferece meios de viabilizar ao usuário final a manipulação do framework para desenvolvimento de seus próprios programas sem necessidade de conhecimento em programação. Atualmente o usuário final de softwares móveis é incapaz de efetuar alterações nos sistemas que gerenciam necessitando recorrer a programadores para que sejam realizadas adaptações que atendam as novas demandas do domínio da aplicação. que podem apresentar um dinamismo implicando em gastos desnecessários.

O desenvolvimento seguiu o padrão de arquitetura MVC (Model-view-controller) e foi disponibilizado para a comunidade sob licença livre com o objetivo de facilitar e estimular o desenvolvimento de aplicações para dispositivos móveis. como a Gas Pro e a Maker. esses são ferramentas que proporcionam ao usuário final uma interface amigável para que seja gerenciada a criação e a alteração de sistemas da plataforma sem a necessidade de conhecimento técnico. apenas com a manipulação dos componentes do próprio gerador. Essas ferramentas que foram abordadas no capítulo 1. o usuário final ficaria comprometido a utilização de dispositivos maiores para desenvolvimento dos programas. são os geradores de aplicativos. O diferencial do AndCollector é permitir que as operações sejam re51 . Foi desenvolvido para celulares e smartphones com a plataforma Android. Uma solução eficiente que já é encontrada no desenvolvimento de sistemas para desktops e para web. permitindo a adaptação da ferramenta para necessidades não previstas. mas não viabilizam a criação de softwares para dispositivos móveis e mesmo que tivessem recursos para implementação de sistemas móveis. é necessário que seja utilizada uma ferramenta móvel que forneça uma interface com usabilidade eficiente para que o programa possa ser alterado e até mesmo criado por um usuário leigo em programação de sistemas. fornecem ao usuário a capacidade de criação de sistemas com a utilização de dispositivos de médio e grande porte.Capítulo 6 AndCollector Para contornar os custos das alterações em sistemas móveis. como notebooks e computadores de mesa. O aplicativo AndCollector tem como objetivo oferecer mobilidade a profissionais que necessitam coletar dados em campo. Essa escolha ocorreu devido a plataforma ser baseada na linguagem Java e por ser a primeira plataforma mobile Open Source e totalmente customizável.

entre outros.alizadas diretamente no dispositivo móvel. sem a necessidade de um computador para comunicação. Ferramentas que possam ser instaladas nos dipositivos móveis possivelmente terão boa aceitação por parte dos profissionais envolvidos pelo fato da maioria das pessoas já possuirem celulares ou smartphones e estarem adaptadas a manipularem tais aparelhos. As principais características são: – Criação de fórmulários. O projeto foca no desenvolvimento de recursos que possam ser utilizados na produção de softwares que ampliem os usos para coleta de dados em campo. onde o usuário seleciona o módulo que deseja trabalhar.1 Módulos O aplicativo é constituido por dois grandes módulos: Módulo Construção e Módulo Coleta de dados. mas esses programas rodam em dispositivos diferenciados. notebooks. com o cadastro das questões.1 exibe a tela inicial do AndCollector. Os módulos da aplicação são descritos a seguir. Podemos encontrar uma quantidade significativa de softwares voltados para coleta de dados em campo. a Figura 6. Por ser livre o Android pode ser executado em aparelhos de diversos fabricantes. 6. PocketPC. sendo soluções restritas aos aparelhos dos fabricantes. seus tipos e suas possíveis respostas. como Palmtops. Figura 6. – A Coleta de dados dos formulários.1: Tela inicial do AndCollector 52 .

A tela de edição da aplicação é exibida. a aplicação criada é listada na tela inicial do módulo Construção juntamente com todas as demais Aplicações já criadas anteriormente. Toda operação é feita através de interfaces simples e intuitivas diretamente pelo AndCollector. A Figura 6.android.cic. e estes podem não ter nenhum tipo de relacionamento. Um formulário ou Aplicação (como chamado no AndCollector) é representado pela entidade Questionário que está dentro do pacote br. Para criação de uma questão o usuário deve acessar sua aplicação na tela inicial do módulo Construção que exibe a listagem de aplicações criadas.2 porém já apresenta os campos preenchidos e no lugar do botão salvar apresenta o botão edi53 .unb. Podem ser criados diversos formulários. a tela de criação de um novo formulário é exibida e nela é preciso informar um nome para o formulário. Cada dado que precise ser coletado em um formulário deve ser cadastrado como uma entidade questão.2: Tela de criação de formulários no AndCollector Uma vez que o usuário aciona o comando salvar.1 Módulo Construção O módulo Construção permite ao usuário criar os formulários que ele necessita para coletar seus dados.2 representa este cenário. não sendo necessário qualquer tipo de programação de código e por isso pode ser feito por pessoas sem conhecimento técnico. Para criação de um nova aplicação com um questionário para coleta de dados o usuário deve selecionar o módulo Construção na tela inicial. uma breve descrição e informar se as respostas que serão coletadas são de carácter anônimo ou não. essa tela tem os mesmos campos ilustrados na Figura 6.1. A criação de um novo formulário ocorre de maneira simples.6. Ao escolher a opção Inserir Novo. será então exibida uma lista com todos os questionários já criados anteriormente e as opções do menu apresentadas são Inserir Novo e Buscar.dominio. Figura 6.

Cada Questão tem uma referência ao Questionário ao qual foi adicionada e um tipo. existe a entidade ColetaQuestionario. MULTIPLA ESCOLHA ou ABERTA. Cada classe de domínio tem uma tabela correspondente no banco de dados que possui uma coluna correspondente a cada atributo. uma descrição que é o texto visível na tela do programa. no Módulo Coleta de Dados é possível coletar os dados navegando por todas as questões da Aplicação. o nome 54 .3: Tela de cadastro de questões no AndCollector Outra entidade do pacote de dominio do AndCollector é Resposta. Figura 6. Ao escolher a opção Adicionar Questão é apresentado a tela de cadastro de questão. um identi?cador de resposta certa para ser usado por Aplicações do tipo avaliação de conhecimento e ainda um campo justi?cativa. no caso de uma Questao do tipo MULTIPLA ESCOLHA. Cada Resposta tem referência a Questao a qual foi adicionada. A Figura 6.2 Módulo Coleta de Dados O Módulo Coleta de Dados possibilita ao usuário a execução da coleta de dados em si. uma vez criada a Aplicação com o cadastramento dos dados necessários. esta possui um identi?cador do Questionário.1.3 exibe a tela de cadastro de questões no AndCollector. que armazena as possíveis respostas de uma determinada questão.tar e as opções do menu são Adicionar Questão e Visualizar Questões. no caso de uma Questão do tipo SIM OU NAO a aplicação salva automaticamente as duas respostas e para o tipo ABERTA não é salva nenhuma Resposta no momento da criação da Questão. 6. Como para cada questionário podem ser feitas diversas coletas. identi?cado pelo enum TipoQuestao e pode assumir os valores SIM OU NAO. para cada possível resposta informada pelo usuário é salvo um registro Resposta. como no caso de pesquisas de opinião com ?ns estatísticos.

As cinco tabelas armazenam todas as informações referentes tanto a construção de questionários e formulários como a execução da coleta e obtenção das respostas. Figura 6.5 representa o MER (modelo entidade relacionamento) definido para o desenvolvimento da aplicação.4 exibe uma tela do módulo coleta de dados para uma questão do tipo certo errado.do entrevistado para o caso de uma coleta não anônima e a data da coleta que é salva automaticamente pelo sistema. Para cada dado coletado. 6. é salvo no banco de dados um registro na tabela ColetaResposta. ou seja a resposta dada para a questão.4: Tela de coleta de dados no AndCollector Uma vez que os dados referentes a coleta estão salvos no banco de dados é possível utilizá-los para análise. A Figura 6. Questao e Respostas armazenam os dados 55 . Por último. respostaAberta é um atributo texto para ser utilizado em questões do tipo ABERTA. que é o banco de dados relacional embarcado disponível na plataforma Android. As tabelas Questionario. O banco de dados utilizado é o Sqlite3 [7]. Esse registro é composto por um identi?cador para o seu ColetaQuestionario e outro identificador para a questão. Para ser possível ver a consolidação dos dados no próprio AndCollector é necessário o desenvolvimento de um outro módulo que apresente os resultados de acordo com o desejado. Um identificador é associado a resposta escolhida para o caso de uma questão do tipo MULTIPLA ESCOLHA. ou ainda pode-se pensar em um sistema externo (web ou desktop) que recebe de alguma forma os dados exportados pelo AndCollector.2 Modelo de dados A Figura 6.

cadastrados no momento da construção de um novo fomulário. incompatibilidade de softwares entre as versões do sistemas operacionais dos dispositivos. por exemplo) são sempre limitadas devido a restrições impostas pelo ambiente como por exemplo. Uma vez feita a escolha da tecnologia de desenvolvimento. O sistema operacional da Google já possui várias ferramentas para desenvolvimento de sistemas. plugins de codificação e emuladores acoplados ao Eclipse ou NetBeans.5: Modelo Entidade Relacionamento da Aplicação 6. A tabela ColetaResposta armazena registros referentes às respostas dadas a cada questão de um fomulário. enquanto as outras duas tabelas armazenam informações referentes às coletas em si. existe o risco de rápida obsolescência.1 Considerações Viabilidade Econômica As demais plataformas móveis existentes (Palms.3 6. como por exemplo. Um registro da tabela ColetaQuestionario é criada no momento em que um questionário é selecionado no módulo Coleta de Dados e armazena o nome do entrevistado e a data na qual foi realizada a coleta. O Android é uma tecnologia móvel em ascenção que tem como base um grande acordo comercial para aprimoramento do seu projeto. Figura 6. possui como chave estrangeira o id do questionário que está sendo respondido. como é o caso da tecnologia J2ME.3. e 56 .

3 Vantagens – A Open Handset Alliance é um grupo de empresas de tecnologia liderados pela Google.2 Viabilidade Técnica Além do desenvolvimento de aplicações. Considerando que algumas ferramentas de desenvolvimento são free. o projeto apresenta um baixo custo tanto de aperfeiçoamento do gerador quanto de utilização pelo fato de ser um sistema livre. – O Android não é restrito a nenhum fabricante de celulares. a plataforma Android possibilita o acesso a funcionalidades do aparelho como recursos de áudio e vídeo. a promessa que esse sistema operacional representa. Outro fator importante é o fato da código ser aberto. – Possuir um banco de dados relacional embarcado. pois desta forma os programadores podem estudar o código fonte para modificação do gerador de acordo com as necessidades dos usuários. Existem várias comunidades de programdores e uma extensa documentação sobre desenvolvimento na plataforma Android para que mais desenvolvedores venham participar no desenvolvimento de novas funcionalidades para o AndCollecor. Considerando a robustez da plataforma Android. Assim é possível criar. 6. componentes que capturem informações importantes e que não necessariamente estariam vinculadas à coleta de dados. – Para empresas que possuem sua própria área de desenvolvimento. 6. facilitando a persistência dos dados e a integração com outros sistemas.uma grande comunidade de desenvolvedores. – Devido ao sistema operacional ser Open Source pode permitir que fabricantes de hardware para dispositivos móveis consigam reduzir o custo de seus produtos. trabalhar com o Android proporcionará uma grande redução no custo das ferramentas de desenvolvimento bem como na redução 57 . além de formulários de entrada de dados. Desta forma principalmente as operadoras de telefonia celular poderão cobrar menos e assim oferecer planos e pacotes mais interessantes para diversas empresas que pretendem se automatizar e não o fazem em razão do custo do dispositivo móvel. como o Eclipse. eles são os responsável pela criação do Android e investe na melhoria da plataforma. a utilização free do gerador e o fato de que os smartphones têm se tornado comuns e relativamente baratos. o código fonte aberto.3. é perceptívil as vantagens econômicas oferecidas pela ferramenta AndCollector.3.

– De acordo com o estudo da Strategy Analytics. o Android . Huawei e Samsung. aproveitase do software livre e da comunidade de desenvolvedores para obter sucesso. A plataforma tem código aberto baseado em Java e já conta com vários programas desenvolvidos por terceiros.empatou com o Palm . o que deve impulsionar o uso e as vendas. o Android.estará com uma boa posição no ranking global do mercado de smartphones.4 Desvantagens – A tecnologia Android ainda é recente e o número de aparelhos disponíveis no mercado é reduzido. – Devido a baixa oferta de aparelhos o preço ainda é elevado. 6. pelo menos LG e Motorola têm aparelhos) com o sistema.na compra de componentes de terceiros já que como o código é aberto ficará mais fácil e acessível a todos os desenvolvedores as nuances do SO. nos Estados Unidos . – Cada vez mais celulares de diferentes marcas são lançados (além de HTC. 58 . – O sistema operacional do Google para celulares. num prazo de até três anos.que em março.3.

– Levantar as facilidades e dificuldades encontradas no uso do gerador de aplicativos e questionar se o entrevistado a utilizaria. 59 .Capítulo 7 Avaliação da ferramenta AndCollector Este capítulo apresenta os resultados obtidos com as pesquisas de aceitação da ferramenta AndCollector nas diversas áreas em que foi aplicado. As entrevistas foram realizadas com profissionais da área de medicina. educação física.1 Roteiro da entrevista Foram selecionadas áreas diversificadas de utilização para demonstrar o caráter genérico da ferramenta. – Dificuldades que os meios utilizados apresentam. 7. – Apresentar a ferramenta AndCollector e fornecer orientação na sua utilização. – Tipos de informações coletadas nas atividades em campo. Os tópicos abordados nas entrevistas foram: – Verificar a necessidade de coletar dados em campo e áreas de aplicação potencial. agronomia. enfatizando o potencial do gerador para contornar problemas de coleta de dados em variadas situações. Foram realizadas entrevistas qualitativas para avaliar o grau de aceitação e facilidade de uso do sistema. – Verificar se ocorre o uso de tecnologia móvel para coleta de dados. – Meios utilizados para coletar dados. As entrevistas foram gravadas e as respostas foram analisadas a partir de um roteiro padronizado de perguntas com o propósito de agrupar os fatores positivos e negativos que foram apresentados. biologia e geografia.

pois as atividades de coleta realizadas em campo utilizam o meio básico. 7. o papel e a caneta. para registrar informações. pois em uma atividade de coleta no solo este material pode ser facilmente danificado o que comprometeria parcialmente ou completamente a análise do local de estudo. pois em muitos casos são feitos atendimentos a domicílio e o único meio atual para registro de dados para o paciente é o papel e caneta. Uma dificuldade que foi comum para dois entrevistados de medicina é o fato do manuseio do prontuário físico. – Agronomia. Alguns exemplos interessantes de aplicação da ferramenta AndCollector na Agronomia que foram ressaltados pelo estudante Ricardo são: acompanhamento de melhoramento do solo com a utilização de determinadas concentrações de 60 . Nas entrevistas realizadas com as pessoas da área de saúde verificouse que eles necessitam deste tipo de solução.2 Entrevistas Foram realizadas sete entrevistas nas quais foram gravadas todas as respostas dos entrevistados. Um roteiro pré-definido foi padronizado. – Biologia. – Educação Física e – Geografia. pois o uso deste tipo de ferramenta no serviço aumentaria a praticidade dos processos e integraria de maneira eficiente as informações. As áreas de atuação profissional dos entrevistados são: – Medicina. A entrevista realizada com o profissional da área Agronomia evidenciou a necessidade deste tipo de tecnologia. Os médicos entrevistados acharam importante a utilização desse tipo de ferramenta na área. Ambas as entrevistas foram questionadas adversidades quanto ao preço dos aparelhos com o Android e também questões de falha operacional do sistema. Essa coleta de dados com papel é extremamente desvantajosa para esses profissionais devido ao seu domínio de aplicação. pois este muitas vezes precisa ser levado para atendimento fora do hospital e não existe uma forma eficiente de compartilhamento do mesmo entre os médicos.– Analisar junto ao entrevistado sobre a aceitação da ferramenta no seu trabalho e – Quantificar a usabilidade e utilidade da ferramenta com o profissional entrevistado.

Uma questão importante que foi levantada e que futuramente pode ser implementada é a capacidade do sistema no compartilhamento de dados em tempo real. Na área de educação física uma boa parte das atividades realizadas é em campo. Os representantes e líderes conservadores de laboratórios poderão ser substituídos por profissionais modernos que valorizem a tecnologia. opção que não é disponível para os relógios. Outro exemplo importante foi a utilização da ferramenta para análise da biodiversidade de uma determinada área. Por exemplo. A aceitação da ferramenta é uma questão de divulgação da solução e política. mas ainda são muito caros e apresentam uma interface ruim para inserção de dados. Aspectos negativos importantes com relação a custo e manuseio do aparelho também foram novamente levantados demonstrando assim que esta é uma complicação comum para todas as áreas estudadas. Ou61 . para que os biólogos que estejam trabalhando em campo possam enviar informações para o laboratório através de alguma rede e com isso seriam feitas análises aprimoradas para que novos procedimentos fossem repassados em uma margem inferior de tempo. Esses relógios são muito eficientes. pois ele já trabalhou em algumas academias nas quais eram utilizados sistemas proprietários de alto custo para especificar treinamentos e coletar dados de desempenho. O entrevistado questionou sobre o preço dos aparelhos e também sobre a necessidade de um conhecimento prévio para manipulação tanto do sistema operacional quanto do gerador de aplicativos. Destacou-se como vantagem principal a questão do sistema ser livre. pois é capaz de modelar formulários específicos para coleta com a utilização de questões abertas.químicos específicos e levantamento de pragas na lavoura. Com relação as vantagens foram observados argumentos comuns como a organização e digitalização dos dados. Preocupações demonstradas com relação ao preço de celulares com Adroid e complicações que poderiam surgir com bateria descarregada foram identificadas. o acompanhamento dos atletas ou alunos envolvidos nos treinamentos. Apesar dos entraves o entrevistado reconheceu que é uma tecnologia de extrema utilidade para sua área profissional e acredita que as dificuldades não são significativas se comparado as vantagens que tecnologia pode oferecer. Na área de Biologia foi possível verificar que existem situações que a tecnologia móvel seria uma solução ideal para execução de determinadas atividades em campo. o acompanhamento do número de representantes de uma espécie em uma determinada área de análise. como por exemplo. Assim como os outros entrevistados avaliou-se positivamente a ferramenta acreditando que esta será até mais utilizada do que os relógios atuais. Nessa área foi identificada a tecnologia móvel com a utilização de relógios específicos que são capazes de registrar diversos dados para acompanhamento de desempenho de atletas.

Na área de Geografia a ferramenta também possui um extenso campo de atuação. Identificou-se que os profissionais necessitam coletar os mais diversificados tipos de informações possíveis devido aos diferentes domínios que esta ciência abrange. caso existam aparelhos mais baratos que os relógios. entre outros. Aparelhos mais simples que compreendem somente uma interface de comando estarão chegando ao mercado e terão valores bem 62 .3 Análise das Entrevistas Das entrevistas realizadas foram selecionadas vantagens e desvantagens comuns para as diferentes áreas analisadas com o propósito de verificar o grau de aceitação da ferramenta por profissionais de diversas áreas. esta será difundida entre a comunidade de profissionais da área rapidamente. O Android é um sistema operacional que comporta aparelhos que possuem interface somente com teclado. análise hidrográfica. touch screen ou as duas interfaces. Com relação à aceitação no mercado o estudante acredita que se a ferramenta tiver custos acessíveis. risco de interrupção do serviço de coleta com o descarregamento da bateria. Situações como coleta de dados sobre estrutura do relevo. Com relação ao custo de um aparelho devemos ressaltar que os primeiros aparelhos que estão chegando ao mercado são modelos mais avançados que possuem interface touch screen e ao mesmo tempo possui um teclado retrátil para facilitar a inserção de dados. o que pode comprometer a informação devido a fragilidade do material. chegando a custar mais de mil reais. clima. As desvantagens comuns para a maioria das áreas analisadas foram: custo para obtenção de smartphones que possuam o Android como sistema operacional. podem usufruir da ferramenta para digitalização das informações que devem ser armazenadas e analisadas. 7. O meio comum utilizado continua sendo o papel e a caneta. Vantagens como digitalização dos dados e capacidade de criação instantânea de formulários foram citadas. necessidade de conhecimento prévio para manuseio tanto do sistema operacional quanto do aplicativo gerador.tras vantagens importantes levantadas são: os celulares possuem um teclado que otimizaria a inserção de dados pelo treinador. estes seriam as soluções idéias para coleta de dados. A desvantagem levantada consistiu no custo para adquirir um aparelho com Android.

mas asseguraram que as vantagens se sobresaem. O sistema AndCollector foi desenvolvido com foco na interface de teclado para que seja utilizado em todos os aparelhos que possuam o Android como sistema de controle. integridade da informação.1: Usabilidade e Utilidade da ferramenta AndCollector Apesar das dificuldades apontadas podemos supor que essas poderão ser minimizadas e quando comparadas com as facilidades que a ferramenta pode oferecer. Boa parte dos usuários consegue contornar esse problema com apenas alguns dias de reconhecimento dos recursos do dispositivo por se tratar de algo simples. Além das vantagens apresentadas podemos verificar na figura 8. As vantagens comuns identificadas são: digitalização das informações evitando perda de tempo para realizar este procedimento posteriormente. como foi confirmado pelos entrevistados. 63 . As aplicações sugeridas e criadas nas entrevistas com a ferramenta AndCollector confirmaram que usuários leigos podem criar seus aplicativos específicos para coleta de dados em campo mesmo sem conhecimento técnico de programação. Nas entrevistas os profissionais identificaram adversidades. O problema de descarga da bateria pode ser facilmente contornado com a compra de baterias reservas para o aparelho. Enfatizamos que o gerador AndCollector é uma ferramenta que exige um pequeno conhecimento para manipulação do aparelho e do aplicativo mas. possível integração do sistema com outros aplicativos. Figura 7.1 o nível de usabilidade e utilidade atribuído a ferramenta pelos profissionais. Como qualquer outro sistema é necessário que seja realizado um treinamento básico para que a pessoa seja capaz de utilizar os recursos do aparelho e dos aplicativos existentes.mais acessíveis. com uma pequena orientação qualquer indivíduo com um simples grau de instrução estará capacitado para criar seus próprios aplicativos de coleta.

1 Trabalhos Futuros A ferramenta AndCollector é apenas um protótipo inicial. 8. integração com outros sistemas e que possam contribuir com o seu desenvolvimento.net/ projects/andcollector. confirmando sua utilidade e usabilidade.Capítulo 8 Conclusão No que tange a implementação do software gerador de aplicativos no Android. nos estudos de casos realizados. a fim de aprimorar suas funcionalidades e contemplar novos módulos que ofereçam componentes de comunicação. O projeto tem o intuito de criar uma rede de desenvolvimento. Android Developers. De acordo com a avaliação realizada pelos entrevistados nos casos aplicados verificamos a aceitação da ferramenta pelos profissionais abordados que confirmaram a importância do software para as necessidades de suas áreas de atuação. A avaliação final da ferramenta vislumbrou a facilidade de incorporação da solução nas mais diversas áreas. Entre 64 . na capacitação de usuários leigos na criação de aplicativos específicos de coleta de dados. foi concluído o desenvolvimento de um sistema gerador de formulários na arquitetura Android que se demonstrou eficaz. O AndCollector é um software livre sob licenciamento GPL e esperase a sua difusão e aprimoramento devido a quantidade de desenvolvedores do movimento de software livre. Android Pro e AndroidPT. O código fonte do gerador pode ser adquirido no Source forge a partir do link https://sourceforge. Foram realizadas divulgações nas seguintes comunidades de desenvolvimento no Android: Android Community. Portal Android. é necessário que o mesmo seje aprimorado e que novos módulos sejam implementados para comtemplar funções importantes que venham oferecer controle maior das informações coletadas pelos aplicativos criados.

– Módulo para controle de versão dos aplicativos criados.os trabalhos importantes que visam aprimorar a ferramenta podemos citar: – Módulo de comunicação para transferência dos dados coletados para outro ambiente. – Módulo para recuperação das respostas e edição das mesmas. USB. tanto para análise das informações quanto para criação de aplicativos. bluetooth. – Sistema web ou desktop integrado com a ferramenta AndCollector. web ou desktop. 65 . wifi. – Módulo de análise estatística para o AndCollector. – Módulo para transferência de dados em várias interfaces.

pdamd. [3] Developer iphone.intrinsyc.pdf. Hello.com/os_expertise/ symbian.com/ android/intro/index.com/ p/homerframework/.google. Universidade de Brasília.microsoft.html. Android: Introducing Google’s Mobile Development Platform.project home. [5] Homer framework . 2009.com/iphone/ gettingstarted/docs/iphoneosoverview. http://docs. Ubiquitos uma proposta de arquitetura de middleware para a adaptabilidade de serviços em sistemas de computação ubíqua. 2009. [9] Cinq census.org/. 66 . 2009. http://developer. 2007. 2009. 2008. http://msdn.com/pt-br/developers/deliverables/ 8882/BlackBerry_Java_Development_Environment-4. [6] Intrinsyc. 2009. [12] Marcelo Mrack Diego Moreira.Referências Bibliográficas [1] Eprocates essencial. Brasil.aspx. [7] Página oficial do sqlite. Technical report. Master’s thesis. The m-learning project. http://www. com/pt-br/windowsmobile. Acessado em 22 de janeiro de 2009.sqlite. 2009. 2008.google.apple. [4] Documentação oficial android.action. Sistemas dinâmicos baseados em metamodelos.com/jct09002c/gsdod/ solutiondetails.do?solution=408&expand=true&lc= pt-BR. O’Reilly. 0-PT. http://www. 2004. Brasília. http://code. Technology Enhanced Learning Research Centre. http://www-304. [2] Blackberry java development environment. 2006. http://code. [13] Alexandre Rodrigues Gomes.ibm. [10] Jill Attewell.com/home. [11] Ed Burnette. 2009. blackberry. [8] Windows mobile developer center. http://www.7.

Technical report. [21] Amir Mostafa Saleh. [23] Mark Weiser. Universidade Federal de São Paulo. 2004. Reinaldo A de Carvalho. Brasil. [16] Karen Swan Mark van’t Hooft. Universidad de Málaga. 2004. Universidade de Brasília. [22] Lucas Ortega Díaz Sergio Gálvez Rojas. P. Springer. S. Universidade de São Paulo. S. 2008. 1993. Sistema de monitoração de pacientes apoiado em web e palmtops. Daniel Sigulem Paulo Salomão. Nascimento1 A. Pearson Education Inc.html. [24] Mark Weiser. Brasil.um estudo sobre o uso de softwares livres na empresa. 2004. Management and Applications. [25] Mark Weiser. Technical report.[14] Erika C. [15] Roger Lee. Caracterizacão de um processo de software para projetos de software livre. A utilização da computação móvel para auxiliar na avaliação dos cursos em EAD: Implementação de um subsistema para aplicação de formulários. A. 1993. 2006. Java a Tope: J2me (java 2 Micro Edition). 67 . Ribeirão Preto. Utilização do computador de mão integrado à telefonia celular no atendimento médico: Desenvolvimento de sistema e avaliação. Some computer science issues in ubiquitous computing. 2008.Castro1. Branisso. Rocha1 H. [20] Cristhian Robottom Reis. Brasília. S. Henrique J. Brasil. The world is not a desktop. [17] Renato Bonellis Willian Pires da Silva Marília Pinheiro. Technical report. 2004. [18] Álvaro Francisco de C Medeiros Nisston Moraes Tavares de Melo. O.. F.ubiq. [26] Michael Juntao Yuan. Universidade de São Paulo. São Paulo. CACM. Ubiquitous computing. Adoção de tecnologia . [19] Dr. Enterprise J2ME: developing mobile Java applications. São Paulo. São Paulo. Figueiredo F. 2004. 2006.com/ hypertext/weiser/UbiHome. Technical report. 2009. Handmed um sistema móvel integrado para captura automática de sintomas. Routledge. Brasil. Software Engineering Research. http://www. Centro de Ciências das Imagens e Física Médica da Faculdade de Medicina de Ribeirão Preto da Universidade de São Paulo. 2003. Perspectives article for ACM Interactions. Carvalho L. Brasil. Technical report. Ubiquotous Computing in Education.