Você está na página 1de 72

Universidade de Braslia Instituto de Cincias Exatas Departamento de Cincia da Computao

AndCollector: Um gerador de aplicaes mveis para coleta de dados em campo

Paulo Roberto Mota Jefferson dos Santos Motta

Monograa apresentada como requisito parcial para concluso do Curso de Computao Licenciatura

Orientadora Prof a Dra. Maria de Ftima Ramos Brando .

Braslia 2009

Universidade de Braslia UnB Instituto de Cincias Exatas Departamento de Cincia da Computao Curso de Computao Licenciatura

Coordenador: Prof. Dr. Dbio Leandro Borges

Banca examinadora composta por: Prof a Dra. Maria de Ftima Ramos Brando (Orientadora) CIC/UnB . Prof. Dr. Marco Aurlio de Carvalho CIC/UnB Prof. Dr. Flvio Leonardo Cavalcante de Moura CIC/UnB

CIP Catalogao Internacional na Publicao Paulo Roberto Mota. AndCollector: Um gerador de aplicaes mveis para coleta de dados em campo/ Jefferson dos Santos Motta, Paulo Roberto Mota. Braslia : UnB, 2009. 66 p. : il. ; 29,5 cm. Monograa (Graduao) Universidade de Braslia, Braslia, 2009. 1. Tecnologia mvel, 2. Computao ubqua, 3. Geradores de cdigo, 4. Geradores de aplicativos, 5. Softwares mveis, 6. Android, 7. Software livre CDU 004

Endereo:

Universidade de Braslia Campus Universitrio Darcy Ribeiro Asa Norte CEP 70910900 Braslia DF Brasil

Universidade de Braslia UnB Instituto de Cincias Exatas Departamento de Cincia da Computao Curso de Computao Licenciatura

Coordenador: Prof. Dr. Dbio Leandro Borges

Banca examinadora composta por: Prof a Dra. Maria de Ftima Ramos Brando (Orientadora) CIC/UnB . Prof. Dr. Marco Aurlio de Carvalho CIC/UnB Prof. Dr. Flvio Leonardo Cavalcante de Moura CIC/UnB

CIP Catalogao Internacional na Publicao Paulo Roberto Mota. AndCollector: Um gerador de aplicaes mveis para coleta de dados em campo/ Jefferson dos Santos Motta, Paulo Roberto Mota. Braslia : UnB, 2009. 66 p. : il. ; 29,5 cm. Monograa (Graduao) Universidade de Braslia, Braslia, 2009. 8. Tecnologia mvel, 9. Computao ubqua, 10. Geradores de cdigo, 11. Geradores de aplicativos, 12. Softwares mveis, 13. Android, 14. Software livre CDU 004

Endereo:

Universidade de Braslia Campus Universitrio Darcy Ribeiro Asa Norte CEP 70910900 Braslia DF Brasil

Universidade de Braslia Instituto de Cincias Exatas Departamento de Cincia da Computao

AndCollector: Um gerador de aplicaes mveis para coleta de dados em campo

Paulo Roberto Mota Jefferson dos Santos Motta

Monograa apresentada como requisito parcial para concluso do Curso de Computao Licenciatura

Prof a Dra. Maria de Ftima Ramos Brando (Orientadora) . CIC/UnB Prof. Dr. Marco Aurlio de Carvalho CIC/UnB Prof. Dr. Flvio Leonardo Cavalcante de Moura CIC/UnB

Prof. Dr. Dbio Leandro Borges Coordenador do Curso de Computao Licenciatura

Braslia, 20 de dezembro de 2009

Dedicatria
Jefferson Dedico este trabalho a minha me, a maior beno de Deus na minha vida, aos meus irmos e a minha noiva Sirley que me apoiou bastante sempre me incentivando nos momentos de diculdade. Em especial dedico esse trabalho a Deus que me capacitou na concluso da monograa assim como em todas as vitrias em minha vida. Paulo Dionsia minha me, Evandro e Rayanne irmos. Brbara Lins, quem mais sofreu com minha ausncia e dias na biblioteca, obrigado pela compreenso. E em especial ao meu pai, Geraldo Roberto.

Agradecimentos
A todos que tornam possvel a concluso deste trabalho, em particular professora Maria de Ftima pelas instrues a respeito do processo de pesquisa, na ajuda de delimitao do nosso tema, pelos inmeros rabiscos a cada verso entregue da monograa e pelo entusiamos demonstrado desde o incio em trabalhar conosco neste projeto. Aos nossos colegas de curso pela parceria nesses cinco anos, aos demais orientados da professora Maria de Ftima nesse semestre pela colaborao que tiveram nesse processo.

Resumo
O projeto tem como rea de estudo a tecnologia mvel, a qual oferece suporte criao de solues para auxiliar os prossionais que no possuem conhecimento tcnico em programao mas demandam de aplicativos mveis para otimizar a execuo de tarefas. Com este foco o papel do programador suprimido devido a capacitao do usurio nal na criao de softwares mveis de acordo com as suas necessidades. O objetivo principal do projeto desenvolver um gerador de aplicativos com tecnologia mvel que abstraia a necessidade de conhecimento tcnico pelo usurio leigo. A meta criar um gerador na arquitetura do Android, levantar um source forge e divulgar o projeto em vrias comunidades com o propsito de criar uma rede de desenvolvedores. O domnio de atuao do gerador ser a coleta de dados em campo podendo este ser extendido ou implementado em outras reas. Foram realizadas entrevistas e demonstraes de uso da ferramenta desenvolvida, nas quais se vericou a aceitao do aplicativo por pessoas que exerccem atividades em diversas reas. O projeto procura demonstrar o potencial da tecnologia mvel com a criao e utilizao da ferramenta AndCollector.

Palavras-chave: Tecnologia mvel, Computao ubqua, Geradores de cdigo, Geradores de aplicativos, Softwares mveis, Android, Software livre

Abstract
The present project studies the mobile technology, 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. Trying to reach this aim, the programmers work is deleted, since the consumer is trained to create mobile software according to his needs. 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. The main eld of operation of the generator will the data collect in external areas, but whit the possibility to extended or be implemented for other situations, areas or purposes. With the nished project were carried interviews and demonstrations for check acceptance of the application with people who have jobs in several areas. The project intend to prove the potential of mobile technology when used for creation and development of AndCollector, a generator of mobile applications in androids architecture. Keywords: Mobile technology, Ubiquitous computation, Code generators, Applications generators, Mobile softwares, Android, Free software

Sumrio
Lista de Figuras Captulo 1 Introduo Captulo 2 Computao ubqua, software livre aplicao 2.1 Computao Ubqua . . . . . . . . . . . . . . 2.1.1 Aplicao da Ubicomp na educao . . 2.2 Software Livre . . . . . . . . . . . . . . . . . . 2.2.1 Propriedade Intelectual . . . . . . . . 2.2.2 Licena de Software . . . . . . . . . . . 2.2.3 Restries em Licenas . . . . . . . . . 2.2.4 Licenas de Software Livre . . . . . . 2.3 Geradores de Cdigo / Aplicao . . . . . . . . 2.3.1 Geradores de Cdigo . . . . . . . . . . 2.3.2 Geradores de Aplicaes . . . . . . . . e geradores de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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

Captulo 3 Tecnologia Mvel para Desenvolvimento de caes 3.1 Windows Mobile . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Blackberry . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Solues BlackBerry . . . . . . . . . . . . . . . . . . . . . 3.3.1 BlackBerry Enterprise Solution . . . . . . . . . . . 3.3.2 BlackBerry Internet Service . . . . . . . . . . . . . 3.3.3 BlackBerry MDS . . . . . . . . . . . . . . . . . . . 3.4 Iphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Iphone OS . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Camadas Tecnolgicas . . . . . . . . . . . . . . . . 3.4.3 Escrevendo cdigo para o Iphone . . . . . . . . . . 3.4.4 Primeiros Passos . . . . . . . . . . . . . . . . . . . 3.5 Symbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Camada de Interface com o Usurio . . . . . . . . 3.5.2 Camada de Servios de Aplicao . . . . . . . . . . 3.5.3 Camada de Servios do Sistema Operacional . . . 3.5.4 Camada de Servios Bsicos . . . . . . . . . . . . . 3.5.5 Camada de Hardware . . . . . . . . . . . . . . . . 3.6 Tecnologia Java . . . . . . . . . . . . . . . . . . . . . . . .

Apli. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6.1 Java Micro Edition . . . . . . . . . . . . 3.6.2 Os componentes da tecnologia J2ME . . 3.7 Android . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Recursos . . . . . . . . . . . . . . . . . . 3.7.2 Arquitetura . . . . . . . . . . . . . . . . 3.7.3 Applications . . . . . . . . . . . . . . . . 3.7.4 Application Framework . . . . . . . . . 3.7.5 Bibliotecas . . . . . . . . . . . . . . . . . 3.7.6 Android Runtime . . . . . . . . . . . . . 3.7.7 Linux Kernel . . . . . . . . . . . . . . . . 3.8 Anlise das Tecnologias e Seleo do Ambiente

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

33 33 34 35 35 36 36 37 37 38 38

Captulo 4 Estudo de Aplicaes Mveis 39 4.1 Sistema de Monitorao de pacientes apoiado em web e palmtops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.2 Sistema Simplicado de Pronturio . . . . . . . . . . . . . . . . 40 4.3 Aplicao HandMed . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4 Computao Mvel e Tecnologia Web em Sistemas de Controle Ps-Transplante . . . . . . . . . . . . . . . . . . . . . . . . 41 4.5 Epocrates Essential . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.6 The m-learning Project . . . . . . . . . . . . . . . . . . . . . . . 42 4.7 Sistema de avaliao de cursos de EAD na UFPB . . . . . . . 44 4.8 Homer Framework Biblioteca para coleta de dados na plataforma Symbian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.8.1 Componentes de interface com usurio . . . . . . . . . . 46 4.8.2 Componentes de Comunicao . . . . . . . . . . . . . . 47 4.9 Cinq Census . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Captulo 5 O Problema 49 5.1 Solues Proprietrias . . . . . . . . . . . . . . . . . . . . . . . 49 5.2 Recodicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Captulo 6 AndCollector 6.1 Mdulos . . . . . . . . . . . . . . 6.1.1 Mdulo Construo . . . 6.1.2 Mdulo Coleta de Dados 6.2 Modelo de dados . . . . . . . . . 6.3 Consideraes . . . . . . . . . . 6.3.1 Viabilidade Econmica . 6.3.2 Viabilidade Tcnica . . . 6.3.3 Vantagens . . . . . . . . 6.3.4 Desvantagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 52 52 54 54 55 55 55 56 57

Captulo 7 Avaliao da ferramenta AndCollector 58 7.1 Roteiro da entrevista . . . . . . . . . . . . . . . . . . . . . . . . 58 7.2 Entrevistas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 7.3 Anlise das Entrevistas . . . . . . . . . . . . . . . . . . . . . . 61 10

Captulo 8 Concluso 63 8.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . 63

11

Lista de Figuras
2.1 Formato Click-Wrap de Licena [20]. . . . . . . . . . . . . . . . 19 2.2 Relao entre geradores de cdigo e aplicativo [12]. . . . . . . 22 2.3 A utilizao da plataforma Symbian [12]. . . . . . . . . . . . . 23 3.1 3.2 3.3 3.4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Camadas Tecnolgicas do Iphone [3]. . Camadas da plataforma Symbian [6]. A Mquina Virtual Java [26]. . . . . . A Arquitetura do Android [11]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 31 32 36 40 40 40 41 42 42 44 45 45 45 52 53 53 54 55

Sistema de Monitorao de pacientes - Palmtops [17]. . . . . . Sistema de Monitorao de pacientes - Web [17]. . . . . . . . . Sistema Simplicado de Pronturio [19]. . . . . . . . . . . . . . Aplicao HandMed [14]. . . . . . . . . . . . . . . . . . . . . . . Sistemas de Controle Ps-Transplante [17]. . . . . . . . . . . . Epocrates Essential [1]. . . . . . . . . . . . . . . . . . . . . . . Estrutura do Projeto na Universidade Federal da Paraba [18]. Projeto na Universidade Federal da Paraba - Tela Palmtop [18]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Sistema Symbian S60 3ed [5]. . . . . . . . . . . . . . . . . . . . 4.10 Sistema Symbian S60 5ed [5]. . . . . . . . . . . . . . . . . . . . 6.1 6.2 6.3 6.4 6.5 Tela inicial do AndCollector . . . . . . . . . . . Tela de criao de formulrios no AndCollector Tela de cadastro de questes no AndCollector . Tela de coleta de dados no AndCollector . . . . Modelo Entidade Relacionamento da Aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Captulo 1 Introduo
O ambiente social, econmico e educacional est em um processo de revoluo moldado por uma nova tecnologia para os dispositivos mveis. A integrao da tecnologia mvel na sociedade vm transformando a execuo de processos em diversos setores, como a rea de sade, educao, comunicao, entre outros. Com o avano tecnolgico perceptvel as melhorias advindas da mobilidade e o seu extenso escopo de implementao. Cada vez mais so realizados investimentos nesta rea a m de promover a sua evoluo e consequentemente melhoria das atividades realizadas pelo homem. A computao foi incorporada sociedade inicialmente com a primeira onda tecnolgica na qual os mainframes eram compartilhados por muitas pessoas, uma mquina era utilizada para prestar servios para muitos indivduos. A era da computao pessoal, teve seu marco com a incluso dos computadores de mesa criando uma relao direta homem-mquina. Uma nova fase conhecida como computao ubqua esta sendo representada de maneira imperceptvel pelos novos recursos e ferramentas mveis na vida das pessoas e se consolida com a denio de uma realidade na qual o computador se integra, em um modelo de alta mobilidade, com estruturas fsicas para implementao de espaos inteligentes, nos quais tarefas do dia a dia so facilitadas com recursos e servios computacionais [25]. Um fator determinante na produo de softwares que estabelece as formas de utilizao de um determinado programa e seu cdigo fonte o seu licenciamento, o qual xa as formas de utilizao do cdigo e do sistema desenvolvido, caracterizando-o como proprietrio ou livre. Um sistema livre exibiliza a reutilizao de cdigo e promove a evoluo de softwares [21]. No desenvolvimento de qualquer sistema, seja livre ou proprietrio, deve ser fundamentado pela Engenharia de Software e existem diversas ferramentas que podem auxiliar o desenvolvimento de sistemas, como por exemplo, os geradores de cdigo e os geradores de aplicaes [12]. O primeiro utilizado na fase de implementao do projeto, produzindo cdigos que a princpio seriam escritos pelo programador. Um gerador de aplicao atua 13

em todo o ciclo de vida do software funcionando como uma ferramenta de automao de processos. Existe uma grande variedade de tecnologias para dispositivos mveis como os smartphones, celulares, PDAS, e tambm muitas opes de plataforma para desenvolvimento como J2ME, Symbian, BlackBerry, Android, entre outros. Mesmo com tamanha diversidade de plataformas de desenvolvimento no foi encontrada soluo otimizada para o desenvolvimento de aplicaes mveis de coleta de dados que oferea ao usurio nal a capacidade de realizar modicaes nas funes dos programas desenvolvidos. Muitas reas de conhecimento necessitam de solues dinmicas para coleta de dados em campo, como o caso da Educao fsica, que precisa coletar dados diversicados de acordo com a atividade realizada podendo esta ser o acompanhamento de um atleta como at mesmo o rendimento de uma turma de alunos. Outras reas tambm demandam esse tipo de tecnologia, como por exemplo, a agronomia, para registro de informaes sobre o solo, na biologia na pesquisa de espcies em campo, na poltica no registro de informaes de popularidade eleitoral, entre outras reas. Em todos esses campos de atuao perceptvel um domnio extenso de informaes a serem coletadas, devido s tendncias e necessidades apresentadas. Assim o usurio nal da aplicao muitas vezes precisa modicar a estrutura do sistema de coleta para comportar as exigncias dinmicas do servio. Devido a esta necessidade de customizao da aplicao, necessrio a implementao de uma soluo livre que oferea suporte a criao de aplicaes mveis para coleta de dados em campo, pois cada dia a sociedade demanda solues que forneam mobilidade para os indivduos economizando assim tempo, dinheiro e espao. Com a criao de um gerador de aplicaes mveis para coleta de dados, na qual o usurio nal tenha completo domnio para poder customizar o software de coleta sem a necessidade de conhecimento tcnico, podemos esperar que o usurio nal do sistema tenha facilidade em alterar e criar novos sistemas de acordo com as suas necessidades. O objetivo deste trabalho propor um gerador de aplicativos de coleta de dados que seja capaz de abstrair a necessidade de conhecimento tcnico em programao para criao de aplicaes especcas pelo prprio usurio nal. O trabalho prope o desenvolvimento de um sistema gerador de aplicaes de cdigo aberto utilizando a arquitetura do Android que pode ser alterado e aprimorado de acordo com as necessidades, podendo ser aplicado em vrios domnios de aplicao. O gerador ser desenvolvido sob Licena GPL(Licena Pblica Geral) garantindo assim a perpetuao livre do seu desenvolvimento e o mesmo contar com a participao da comunidade de software livre para aprimoramento de sua arquitetura de produo intensicando dessa forma o de14

senvolvimento de softwares mveis com as facilidades oferecidas. Foram realizadas pesquisas para tentar identicar alguma soluo semelhante que oferea suporte gerao de aplicativos mveis em cdigo aberto e desenvolvimento livre. De acordo com os levantamentos feitos nas bases de dados acadmicos: Banco de Teses da CAPS, Google Acadmico, na Biblioteca Digital de Teses e Dissertaes da UNB, portal de Peridicos da CAPES, DOAJ(Directory of Open Access Journals), Repositrio Institucional da Universidade de Braslia da Faculdade de Tecnologia; e em sistemas de buscas como Yahoo, Bing e Google, nenhum artefato foi encontrado com essas caractersticas. No desenvolvimento de sistemas para web e desktop podemos encontrar diversas solues de geradores de aplicativos, como por exemplo: Gas PRo, Maker, Visual Kit 5, EngeBuilder, Genexus, Accode, LanceWeb e esses programas geradores possuem uma interface visual para criao da aplicao que no necessita de conhecimento tcnico em programao, gerando em alguns casos somente o cdigo objeto do sistema e em outros o fonte completo para compilao e execuo do aplicativo. A criao do gerador de aplicativos mveis no Android adotou a metodologia gil de desenvolvimento devido a necessidade de se ter um ambiente propcio para comportar de maneira eciente as mudanas de requisitos e inovaes decorrente de estudos sobre as reas de conhecimento do projeto. O curto prazo para desenvolvimento do gerador tambm foi um fator prioritrio na escolha da metodologia j que essa foca na entrega mais rpida de sistemas, diferente do mtodo tradicional de engenharia de software. Para validao da soluo apresentada pelo projeto foram realizadas entrevistas e demonstraes de uso do gerador para pessoas leigas em programao. As entrevistas seguiram um roteiro especco, com perguntas sobre a necessidade da soluo, instrues de utilizao do sistema, avaliao da usabilidade e utilidade do gerador. esperado que o gerador de aplicativos seja utilizado como suporte para o desenvolvimento de futuras aplicaes mveis de coleta de dados, o prottipo foi desenvolvido sobre licenciamento livre e fornece um conjunto de mdulos dispostos a facilitar e a gerenciar vrias aplicaes de coleta de dados. Como o cdigo fonte aberto para a sociedade, esperamos que seja formada uma grande rede social para ampliao e aprimoramento do projeto suprindo assim as diversas reas que demandam solues mveis para a execuo das mais diversas tarefas em campo. O captulo 2 deste documento apresenta os conceitos de computao ubqua, software livre e geradores de aplicaes que so os fundamentos do trabalho e da aplicao desenvolvida. O captulo 3 descreve as tecnologias vigentes para desenvolvimento de aplicaes mveis ilustrando os pontos 15

positivos e negativos de cada ambiente. No captulo 4 so analisadas as aplicaes mveis existentes com o propsito de identicar as melhorias na execuo de servios e tambm a estrutura de desenvolvimento de cada aplicao. O captulo 5 especica o problema do trabalho e a sua resoluo apresentada no desenvolvimento da proposta no captulo 6. O captulo 7 apresenta os resultados do estudo de caso realizado com a aplicao AndCollector e no captulo 8 conclumos os resultados com a pesquisa realizada no projeto.

16

Captulo 2 Computao ubqua, software livre e geradores de aplicao


Este captulo apresenta os conceitos e anlises das principais reas de conhecimento do processo de criao de ferramentas mveis para que sejam compreendidos os argumentos e tecnologias envolvidos no desenvolvimento do projeto. A fundamentao aborda conceitos de computao ubqua, software livre, geradores de cdigo e geradores de aplicativos.

2.1

Computao Ubqua

O termo computao ubqua relativamente recente e teve sua primeira publicao em 1991, quando Mark Weiser apresentou seu primeiro artigo descrevendo como seria a computao do futuro[25]. Weiser descreve uma nova realidade onde os computadores de uma maneira geral, passam a fazer parte dos ambientes de modo imperceptvel [25]. Eles so utilizados pelas pessoas para realizao de diversas tarefas mas sem que estas dirijam a ateno para a utilizao de um determinado tipo de computador, mas que as pessoas ajam como se estivem se relacionando diretamente com o prprio ambiente fsico no qual se encontram. Devido a essa caracterstica a computao ubqua, ou ubicomp, tambm conhecida como computao invisvel. O pai da computao ubqua como passa a ser chamado Weiser com a publicao do artigo, usa uma analogia com a escrita para apresentar o que pode ser esperado desse paradigma. H milhares de anos as civilizaes criaram um mecanismo para representar os pensamentos atravs de smbolos, surgia ento a escrita moderna. Atualmente todos utilizam a escrita como se fosse uma habilidade inata ao ser humano. Alcanaremos a ubiquidade quando os computadores forem utilizados com a mesma naturalidade que a escrita hoje [13]. Uma boa ferramenta aquela que se apresenta invisvel, porm no 17

invisvel de fato, mas que quem a utiliza tenha foco na tarefa e no na ferramenta em si. Quem usa culos no volta sua ateno aos culos, mas ao mundo que os cerca [24]. 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 liderana e se tornem melhores e amplamente acessveis de forma que as pessoas no precisem sentar frente a um computador pois este j deve estar disponvel de maneira ubqua como se zessem parte de suas vidas [23]. Weiser classica a era da computao ubqua como a terceira era computacional. As duas primeiras foram: a era dos mainframes, onde havia uma nica e grande mquina para vrios usurios e a era dos computadores pessoais, com maior acessibilidade aos desktops, caracterizada pela existncia de uma mquina para cada um usurio. Finalmente a terceira era da computao invisvel, caracteriza-se pela existncia de vrias mquinas para vrios usurios [25]. Entretanto, como alguns podem pensar, ubicomp no o mesmo que realidade virtual, uma vez que, as pessoas e suas interaes so simuladas nos computadores, enquanto na computao ubqua, os computadores compe o mundo real e esto presentes nos ambientes com as pessoas.

2.1.1

Aplicao da Ubicomp na educao

A ubicomp na educao pode ser til para estimular a aprendizagem colaborativa, uma vez que o foco das iteraes many-to-many (muitos para muitos) e baseado na idia de que a tecnologia est disponvel o tempo todo. Na computao ubqua tanto alunos como professores podero participar do processo de aprendizagem, analizando e criando informaes e conhecimentos com as ferramentas apropriadas para os diferentes tipos de tarefa [16]. O uso de computao ubqua na educao ainda pouco difundido, fato que motivou o desenvolvimento deste tema neste trabalho.

2.2

Software Livre

O fundamento do software livre apia-o no compartilhamento de cdigo e aplicativos em vrias comunidades de desenvolvedores criando assim uma extensa rede e evoluo de sistemas com apoio voluntrio das pessoas. O foco de pesquisa nesse movimento procura disponibilizar uma soluo que seja livre, modicvel e replicvel para as mais diversas reas de conhecimento. Nesse intuito os conceitos de licenciamento e software livre so trabalhados para que viabilize a compreenso de sua estrutura e benefcios. 18

2.2.1

Propriedade Intelectual

Toda atividade intelectual protegida por leis que tratam da propriedade intelectual ou copyright. Os softwares so includos nesse quadro pelo fato de serem produes de atividades intelectuais. O copyright concede permisso para que o autor do sistema determine normas de uso, como permisses para realizao de cpias, alteraes no software e distribuio, cobranas pela utilizao do programa editado, entre outros. As condies e direitos atribudos aos autores de sistemas so xadas pela legislao de copyright de cada pas, sendo que a maioria dos pases so integrantes da World Intellectual Property Organization(WIPO), esta que consolida as diretrizes internacionais de copyright. O autor ao criar o software no necessita especicar explicitamente as direttrizes de utilizao do sistema, pois este por natureza j protegido por lei com sua criao, fato que impede a utilizao ilegal do programa desenvolvido[20]. Para os softwares essa questo de proteo por copyright assunto de extrema importncia devido a facilidade de replicao e difuso, o que acaba desvalorizando o preo do produto original. Para evitar esse tipo de problema os sistemas geralmente so acompanhados de um documento que explicita os direitos que so oferecidos a seu receptor, conhecido como licena de software.

2.2.2

Licena de Software

A licena de software no precisa necessariamente ser registrada ou validada com algum orgo ou organizao, sendo necessrio apenas a emisso de um documento que especique as proteo aplicadas ao sistema desenvolvido. um documento formal elaborado por um indivduo que tenha compreenso dos apesctos legais envolvidos e se baseia integralmente nos termos especicados pelas leis de copyright. Um formato muito comum de licena a click-wrap, o qual apresenta para o usurio uma caixa de aceitao dos termos de utilizao do software para o usurio. A Figura 2.1 um exemplo do formato click-wrap:

2.2.3

Restries em Licenas

O principal foco das licenas atuais a imposio de restries ao uso do software mas existem licenas que visam a direo oposta procurando garantir ao usurio um conjunto de direitos que lhe garanta liberdade na utilizao do sistema. Com essas variedades de licenas possivel categorizar um software com base na deniao de seu licenciamento, criando assim grupos distintos de sistemas que so descritos em "Categories of Free and Non-Free Software"do FSF(Free Software Foundation). Abaixo trataremos os tipos de categoria mais relevantes para estudo. 19

Figura 2.1: Formato Click-Wrap de Licena [20]. Software Proprietrio: possui uma licena que probe a redistribuio e alterao do software pelo usurio. Freeware: software que pode ser redistribudo mas no podem ser realizadas modicaes no sistema, devido ao fato que disponibilizado sem o cdigo fonte. Shareware: sistemas que pode ser redistribudo mas possui um perodo de expirao na sua utilizao, obrigando o usurio a comprar uma licena para continuar usando o sistema. Software Livre: softwares que concedem ao usurio o direito de usar, estudar, modicar e redistribuir. Domnio Pblico: no possui copyright, pelo fato do proprietrio rescindir seus direitos sobre o sistema ou por expirao do copyright. No apresenta qualquer tipo de restrio na sua utilizao.

2.2.4

Licenas de Software Livre

Existem diversas licenas de software livre cada uma com suas particularidades que inuenciam na liberdade de utilizao dos sitemas. Detalharemos as principais licenas, para que possa ser compreendido as restries e liberdades oferecidas por cada umas delas. GNU GPL: (www.gnu.org/copyleft/gpl.html) - Esta a licena de software livre mais importante atualmente, 70 por cento dos sistemas livres desenvolvidos utilizam essa licena [20]. uma licena no permissiva, isto , s permite redistribuio se for mantida a garantia de liberdade aos receptores da cpia redistribuda obrigando que as verses modicadas sejam tambm livres acompanhadas de cdigo fonte. 20

BSD, X, MIT, Apache: (www.freebsd.org/copyright/license.html) - Permite redistribuio do software. Sua verso original, a BSD, no permissiva obrigando manter visvel um aviso do copyright da licena nas verses modicadas. J as outras verses so permissivas permitindo a criao de verses no livres com a sua utilizao. MPL, GNU LGPL (www.mozilla.org/MPL/ e www.gnu.org/copyleft/ lesser.html) - Permitem redistribuio e so no permissivas. Quando o cdigo reutilizado por um sistema maior, no obrigatrio que este software tenha licenciamento livre tambm. Nos casos em que ocorrerem modicaes em cdigos regidos pela licena MPL ou LGPL, estes devem ser fornecidos acompanhados do cdigo fonte, mas o mesmo no aplicvel para o cdigo de sistemas maiores que os agregam.

2.3

Geradores de Cdigo / Aplicao

Geradores de cdigo e de aplicaes so ferramentas que auxiliam o processo de criao de sistemas oferecendo recursos tanto para os desenvolvedores como para o prprio usurio nal do sistema. Ser feita uma anlise desses recursos identicando os fatores positivos e negativos que cada soluo compreende com o propsito de identicar qual dessas pode contribuir de maneira mais eciente com o projeto.

2.3.1

Geradores de Cdigo

Um gerador de cdigo auxilia na engenharia de software nos processos que compreende a fase de implementao do projeto, gerando cdigo fonte que a princpio seria criado pelo programador. Geralmente essas ferramentas utilizam o modelo de dados para gerarem o cdigo que ser utilizado poupando assim tempo para os desenvolvedores que podem focar em etapas ou regras de negcios mais complexas. Apesar das vantagens oferecidas por essa soluo, os benefcios acabam cando restritos interface de cadastro, listagens de registros e telas de baixa complexidade, devido ao vnculo com o modelo de dados. Mesmo com a produo correta de cdigo fonte, podemos identicar algumas caractersticas negativas que ocorrem com esse tipo de ferramenta, por exemplo: Caso o programador faa modicaes no cdigo gerado e ao mesmo tempo seja feita alteraes na base de dados, a gerao deve ser reexecutada mas o trabalho realizado pelo desenvolvedor ser perdido, pois as modicaes s so atualizveis em um nico sentido, da base de dados para o cdigo.

21

O padro de cdigo gerado pela ferramente nem sempre est de acordo com o padro utilizado pela equipe de desenvolvimento. O cdigo gerado no otimizado para a situao na qual ser utilizado, no levando em considerao como, por exemplo, questes de desempenho, estrutura, integrao com outros sistemas, documentao, entre outros. Complexidade de manuteno devido a grande restruturao que deve ser feita devido ao sentido nico de gerao.

2.3.2

Geradores de Aplicaes

Esta ferramenta funciona como um sistema automtico que controla os processos de desenvolvimento de softwares, podendo atuar em todas as etapas de vida da aplicao. Como seu domnio de utilizao mais abrangente, os artefatos gerados por essa ferramenta vai alm do cdigo fonte, como por exemplo interfaces de aplicao, documentao para o desenvolvedor ou usurio, descrio de processos, estimativas, especicaes de projeto, entre outros [12]. Comparando-se o gerador de cdigo com o de aplicaes, percebe-se que o segundo engloba o primeiro de acordo com os produtos gerados por cada ferramenta. A Figura 2.2 representa a situao.

Figura 2.2: Relao entre geradores de cdigo e aplicativo [12]. Como consequncia dessa agregao vericamos que os problemas relacionados ao processo de manuteno do software so herdados do gerador de cdigo. Uma soluo para contornar esta falha suprimir o processo de gerao de cdigo fonte realizado pelo gerador de aplicaes. Temos assim um tipo especco de gerador de sistemas que no gera cdigo fonte, simplesmente produz o cdigo objeto em tempo de execuo para utilizao pelo usurio nal. Uma consequncia direta para essa abordagem que a manutano do software ocorre sem alteraes de cdigo, realizando-se apenas um remapeamento das regras de negcio e dos objetos utilizados. Abaixo listamos outras consequncias perceptveis com essa soluo. 22

Como no existe cdigo fonte, temos uma reduo signicativa de custos com as manutenes do sistema. Como o remapeamento das regras e objetos um processo que demanda bem menos tempo que recodicao e pode ser realizado pelo prprio usurio nal, temos uma maior agilidade na disponibilizao de novas verses. A arquitetura otimiza a criao de prottipos totalmente funcionais. Como no h recodicao, no existe tambm o processo de recompilao do sistema. Criao de sistema executveis sem falhas devido ao processo automatizado. O gerador de aplicaes com as especicaes do sistema, pode gerar documentos de mecanismos de auxlio, manuais de uso, especicaes de telas, entre outros. Padronizao das aplicaes. A gura 2.3 ilustra a arquitetura utilizada pelo gerador de aplicaes.

Figura 2.3: A utilizao da plataforma Symbian [12]. Verica-se na Figura 2.3 duas partes do uxo, uma representando o tempo de projeto e outra o tempo de execuo. Durante o tempo de projeto so especicados o modelo de dados, os elementes de interface e as regras de negcio da aplicao. Durante o tempo de execuo, a aplicao abrange em sua estrutura um sistema de gerao de aplicaes a partir do modelo 23

persistido no banco de dados. O banco de dados responsvel pela persistncia e controle dos dados e o metamodelo utilizado para persistncia das informaes obtidas de procedimentos realizados junto ao modelo de dados, interfaces e regras de negcio. As regras de negcio iro atuar sobre os dados denidos pelo usurio e denem as relaes entre os dados, seus ciclos de vida, seus estados corretos e as modicaes que eles podem sofrer. Na gura 12 temos o mdulo denominado AndMeta que responsvel pela importao e exportao das informaes contidas no modelo de dados, pela denio das interfaces e pela gravao das regras de negcio. A aplicao nal do cliente o cdigo objeto gerado pelo sistema gerador e produzido a partir de um mapeamento das regras de negcio e da criao automtica de interfaces com base nos dados armazenados no metamodelo.

24

Captulo 3 Tecnologia Mvel para Desenvolvimento de Aplicaes


Este captulo apresenta alguns dos ambientes e tecnologias de desenvolvimento para produo de sistemas mveis. O estudo identica 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 mveis 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 so utilizados para o desenvolvimento na plataforma, so o Microsft Visual Studio 2008 e o Windows SDK e ambos geram cdigos nativos em Visual C++ ou cdigo 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 segurana, desenvolvimento de aplicativos multitarefa, uma API valiosa para conexo Bluetooth e o Pockect Outlook Object Model para desenvolvimento de interfaces de mensagens. O Microsoft Visual Studio 2005 a principal ferramenta para desenvolvimento, compilao, testes e implantao 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. necessrio a utilizao de um SDK(kit de desenvolvimento) para desenvolvimento de sistemas para o Windows Mobile sendo necessrio a instalao de um kit especco de acordo com a verso do sistema opera25

cional alvo e da arquitetura do dispositivo. Na utilizao das SDKS no so realizadas nenhum tipo de cobrana, o que d liberdade ao desenvolvedor de selecionar a verso do sitema operacional que rodar o aplicativo selecionando o kit adequado para desenvolvimento sem preocupaes com gastos em funo ambiente adotado. Os principais itens para o desenvolvimento para plataforma Windows Mobile no Sistema operacional Windows Server 2003. So apresentados a seguir: Microsoft Visual Studio 2005, Standard Edition ou verses superiores. Pacote SP1; Microsoft .NET Compact Framework v2. Pacotes SP1 ou SP2; ActiveSync 4.5 e Windows Mobile 6 Professional SDK, ou Windows Mobile 6 Standard SDK. Para desenvolvimento no Windows XP so necessrios as seguintes ferramentas: Microsoft Visual Studio 2005, Standard Edition ou verses superiores; Microsoft .NET Compact Framework v2. Pacotes SP1 ou SP2 so recomendados; ActiveSync 4.5 e Windows Mobile 6 Professional SDK, ou Windows Mobile 6 Standard SDK. Para desenvolvimento no Windows Vista so necessrias as seguintes ferramentas: Microsoft Visual Studio 2005, Standard Edition ou verses superiores; Microsoft .NET Compact Framework v2. Pacotes SP1 ou SP2 so recomendados; Windows Mobile Device Center requerido para sincronizao de dados e Windows Mobile 6 Professional SDK, ou Windows Mobile 6 Standard SDK. Para auxiliar no desenvolvimento de aplicativos para o Windows Mobile so utilizados emuladores, que so partes integrantes das SKDS instaladas e tambm possuem componentes vinculados ao Visual Studio. 26

3.2

Blackberry

A arquitetura BlackBerry oferece um ambiente sem o Java ME compatvel com aplicativos cliente/servidor. A partir desse ambiente, desenvolvedores da plataforma podem criar um BlackBerry Java Application que utilize interfaces sosticadas para entrada de dados e pesquisa e que oferea suporte a multithreading, internacionalizao, comunicao em rede e armazenamento de dados local. Os sistemas desenvolvidos podem se comunicar com outras redes utilizando conexes TCP e HTTP padro, independentemente da rede sem o subjacente. O ambiente de desenvolvimento BlackBerry oferece recursos que viabilizam a criao de aplicativos que sejam estreitamente integrados aos sistemas principais do BlackBerry, como lista de mensagens, aplicativos organizadores, telefone e navegador, proporcionando assim maior reutilizao na programao dos softwares [2]. Todos os dispositivos BlackBerry possuem uma verso especca do BlackBerry Device Software e da BlackBerry Java Virtual Machine. De acordo com o lanamento de novas verses desses ambientes, a Research In Motion inclui as novas APIS Java correspondentes e a verso do BlackBerry Java Development Environment. A verso do BlackBerry Device Software determina o componente BlackBerry Integrated Development Environment que ser utilizado para desenvolver os aplicativos. O BlackBerry Java Development Environment uma plataforma de desenvolvimento e simulao voltado para criao aplicaes Java para o BlackBerry [2]. Utilizando-se o BlackBerry JDE, os programadores podem usufruir dos recursos para desenvolver aplicativos usando a linguagem Java ME e as APIS Java estendidas para o BlackBerry . O BlackBerry Java Development Environment possui as seguintes ferramentas de desenvolvimento: BlackBerry R Integrated Development Environment; BlackBerry Smartphone Simulator e APIs Java ME e APIs do BlackBerry. O BlackBerry IDE comporta um conjunto completo de ferramentas de edio e depurao que so otimizadas para o desenvolvimento de uma aplicao Java. O BlackBerry Smartphone Simulator oferece um ambiente estilo Windows projetado para simular interfaces e interao do usurio, conexes de rede, servios de e-mail e sincronizao na rede sem o. 27

O BlackBerry Java Development Environment possui ferramentas para desenvolvimento em IDEs de terceiros como NetBeans ou Eclipse, entre estas temos: RAPC: um compilador de prompt de comando utilizado compilar arquivos .java e .jar em arquivos .cod que podem ser executados no BlackBerry Smartphone Simulator ou em um dispositivo BlackBerry; JavaLoader: uma ferramenta utilizada para adicionar ou atualizar um aplicativo em um dispositivo BlackBerry para teste e tambm usado para exibir informaes sobre os arquivos .cod do aplicativo; BlackBerry Signature Tool: uma ferramenta utilizada para enviar solicitaes de assinatura de cdigo para a BlackBerry Signing Authority Tool; Preverify Tool: uma ferramenta utilizada para vericar 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.

3.3

Solues BlackBerry

Usurios de dispositivos BlackBerry podem utilizar recursos do BlackBerry Enterprise Server ou o BlackBerry Internet Service ou caso ache necessrio pode usar os dois. importante para o desenvolvedor identicar as diferenas entre esses componentes para restringir o tipo de usurio que sua ferramenta dar suporte, visto que a escolha por uma determinada arquitetura pode afetar os modos de transporte utilizados e o modo de sincronizao dos dados.

3.3.1

BlackBerry Enterprise Solution

O BlackBerry Enterprise Server faz parte da BlackBerry Enterprise Solution e atua sob a proteo do rewall corporativo. O BlackBerry Enterprise Server disponibiliza um gateway para rede sem o que viabiliza os usurios de dispositivos BlackBerry de uma organizao, o acesso ao email corporativo e aos dados do organizador. Ele tambm apresenta os seguintes recursos principais: criptograa e compactao de dados; gerenciamento de dispositivos BlackBerry e utilitrios de monitoramento; 28

gerenciamento simplicado de aplicativos e gateway autenticado para acesso intranet em um BlackBerry R Java Application

3.3.2

BlackBerry Internet Service

Os usurios de dispositivos BlackBerry que no estiverem utilizando os servios do BlackBerry Enterprise Server podero optar pelo BlackBerry Internet Service. O BlackBerry Internet Service um servio de e-mail e Internet para dispositivos BlackBerry projetado para fornecer aos usurios entrega automtica de mensagens de e-mail, acesso a rede sem o, a anexos de e-mail e acesso ao contedo da Internet. Este ambiente tambm apresenta suporte a conectividade HTTP direta e TCP/IP Internet a partir de um BlackBerry Java Application de terceiros.

3.3.3

BlackBerry MDS

Para viabilizar o acesso a recursos sob a proteo do rewall corporativo a uma aplicao Java, o BlackBerry Enterprise Server possui o MDS(BlackBerry Mobile Data System). O BlackBerry MDS disponibiliza proxies HTTP e TCP/IP para aplicao, permitindo que o dispositivo BlackBerry se comunique com os servidores de aplicativos e da Web sob a proteo do rewall corporativo sem software VPN adicional. Os aplicativos que enviam dados usando os servios do BlackBerry Enterprise Server usufruem da conectividade corporativa simplicada, a criptograa das informaes, a compactao dos dados e a independncia da rede sem o oferecida pela BlackBerry Enterprise Solution. O BlackBerry MDS tambm dispe de uma interface aberta que permite, aos sistemas hospedados no servidor sob a proteo do rewall corporativo, o envio de contedo aos aplicativos nos dispositivos BlackBerry.

3.4
3.4.1

Iphone
Iphone OS

O Iphone compartilha a base de desenvolvimento com o Mac OS X [3], facilitando assim o aprendizado para desenvolvedores Mac, havendo somente a necessidade de aprender novas tecnologias que esto disponveis somente para a arquitetura do Iphone contemplando as demandas do ambiente mvel, como a interface Multi-Touch e o acelermetro. No ambiente de produo de sistemas para o Iphone utilizado o kit de desenvolvimento Iphone SDK, com o qual o programa capaz de depurar, 29

executar, testar e desenvolver as aplicaes. O Xcode compreende um conjunto de ferramentas voltadas para auxiliar o desenvolvimento de aplicativos para o Iphone, capacitando a edio do cdigo, compilao, depurao e realizao de testes at mesmo com a utilizao de um simulador.

3.4.2

Camadas Tecnolgicas

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 gura 3.1.

Figura 3.1: Camadas Tecnolgicas do Iphone [3]. As camadas Core OS e Core Services compreendem interfaces essenciais para o Iphone como por exemplo, acesso a arquivos, servios Bonjour, sockets de rede, entre outros. A maioria dessas interfaces codicada em C e implementa tecnologias como CFNetwork, sockets Unix, e SQLite. Nas camadas superiores encontramos tecnologias avanadas que usam C-based e Objectie-C como base de suas interfaces. A camada Media utiliza tecnologias que oferecem suporte para desenho 2D e 3D, vdeo e udio. Continuando na camada Media vericamos a presena das tecnologias C-based e o OpenGL ES, Quartz, Core Audio e Core Animation. Na camada mais externa, na Cocoa Touch, temos o predomnio da utilizao do Objective-C. Esta camada possui as frameworks fundamentais que so utilizadas pelos programadores no desenvolvimento das aplicaes. Temos como exemplo de frameworks desta camada: framework Foundation que d suporte padro orientado a objeto, gerencia arquivos, oferece suporte a operaes de rede, entre outros; framework UIKit que utilizado para criao da estrutura visual do aplicativo, compreendendo classes de janelas, controles e controladores que gerenciam os objetos. Outros frameworks tambm so utilizados nesta camada fornecendo recursos para acesso aos dados de contatos, acelermetro e outros do hardware.

30

3.4.3

Escrevendo cdigo para o Iphone

Um dos caminhos para o desenvolvimento de aplicaes para o Iphone a utilizao da SDK do ambiente para criao de programas orientados a grcos que rodam nativamente na arquitetura do Iphone OS. Os aplicativos criados e carregados no Iphone cam na tela Home, agrupado com os outros programas do sistema, tais como o relgio e tempo. Com a inicializao de qualquer programa no sistema nenhum outro processo ser executado em conjunto, pois o sistema no multithread [3]. A forma de tratamento de eventos no Iphone bem diferente se comparada ao modelo utilizado no desenvolvimento de aplicativos para as aplicaes desktops, sendo processados eventos de toque ao invs de eventos de teclado e mouse. Familiarizando-se com o tratamento de eventos no sistema juntamente com a utilizao dos frameworks Foundation e UIKit, o programador ser capaz de utilizar os principais servios que o aparelho dispe sendo necessrio somente em casos mais especcos estudar a utilizao de outros frameworks e at mesmo recursos de camadas inferiores para desenvolver funcionalidades especcas.

3.4.4

Primeiros Passos

O Xcode fornece templates que podem ser utilizados para desenvolvimento de aplicaes simples. Para a criao de aplicaes mais complexas necessrio que o programador reserve algum tempo para estudo da documentao disponvel. Os aplicativos mais robustos usufruem de todo o poder encontrado nas frameworks de desenvolvimento, pois com a sua utilizao, a codicao de determinados comportamentos pode ser extremamente mais organizada e intuitiva por conta dos padres estipulados. A documentao essencial que todo desenvolvedor para Iphone deve possuir encontrada na guia Cocoa Fundamentals Guide. Este guia apresenta os conceitos da linguagem Objective-C e os padres de projeto utilizados pelo framework UIKit e muitos outros frameworks. Aps compreender os padres e os recursos para programao de aplicativos para o Iphone, deve ser consultada outra documentao que utilizada para implementao de detalhes especcos nos processos de desenvolvimento, a Application Programming Guide. Com este livro o programador encontra informaes importantes que so baseadas em situaes especcas que demonstram como codicar para contornar o problema apresentado, exemplicando com exibio de interfaces para o usurio e manipulao de eventos. Esta documentao orienta de forma eciente o desenvolvedor para que ele seja capaz de tirar proveito das principais caractersticas do Iphone OS.

31

3.5

Symbian

O Symbian OS o sistema operacional para dispositivos mveis 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. um sistema bastante robusto e convel, entretanto sua complexidade torna difcil a manuteno e aprendizagem, apresentando muitos desaos aos desenvolvedores [15]. Na gura 3.2 apresentado as camadas da plataforma Symbian.

Figura 3.2: Camadas da plataforma Symbian [6]. O modelo arquitetural do Symbian OS descrito em camadas.

3.5.1

Camada de Interface com o Usurio

A camada de mais alto nvel a UI Framework Layer, ou camada de interface com o usurio que disponibiliza frameworks e bibliotecas para construo de componentes visuais de interao com o usurio.

3.5.2

Camada de Servios de Aplicao

A camada de servios de aplicao (The application Services Layer), prov recursos independente da camada de interface. Como exemplos, so disponibilizados servios referentes a tratamento de textos, calendrio, agenda e comunicao HTTP. As aplicaes para o Symbian OS so orientadas objetos e seguem o modelo MVC. Tambm na camada de servios de aplicao o Symbian OS oferece suporte a Java, atravs da tecnologia J2ME. 32

A implementao Java baseada em uma VM (virtual machine), um conjunto de pacotes padres MIDP 2.0, uma implementao da linguagem CLDC 1.1 e uma srie de plugins de baixo nvel que fazem a integrao do Java com o Symbian.

3.5.3

Camada de Servios do Sistema Operacional

Os servios desta camada so divididos em quatro reas: Operaes genricas do sistema; Comunicao; Grcos e Multimdia e Conectividade. Juntas essas quatro reas oferecem servios que so especcos da plataforma, mas independentes de aplicao. Qualquer aplicao desenvolvida pode utilizar tais servios, mas apenas aplicaes feitas para a plataforma Symbian.

3.5.4

Camada de Servios Bsicos

a camada de software de mais baixo nvel do sistema, os servios incluem o servidor de arquivos e a biblioteca de usurios. O modelo de persistncia e criptograa tambm so implementados aqui.

3.5.5

Camada de Hardware

A camada de hardware contm operaes relativas a drivers de dispositivos fsicos e lgicos.

3.6

Tecnologia Java

A tecnologia Java, que foi desenvolvida e disponibilizada pela Sun em 1994, tornou-se muito popular desde ento. O sucesso dessa tecnologia muito grande no meio empresarial e acadmico. Prossionais de desenvolvimento de sistemas fazem cursos para provas de certicao que comprovem sua procincia na linguagem. No meio acadmico, o ensino de Java bsico.

33

Seu sucesso se deve, sobretudo, portabilidade de cdigo, que permite que um mesmo cdigo-fonte seja usado em diferentes plataformas (desktops, servidores etc.). A tecnologia foi desenvolvida com o intuito de criar um tipo de linguagem de programao universal, a qual poderia ser executada em qualquer tipo de sistema operacional para diversos tipos de hardware. Para isso, a linguagem Java, quando compilada, gera um bytecode, que lido por um interpretador conhecido como Mquina Virtual Java (JVM). Este traduz, em tempo de execuo, as instrues para uma linguagem de mquina compatvel com o tipo de processador utilizado.

Figura 3.3: A Mquina Virtual Java [26]. Assim, pode-se utilizar um nico cdigo-fonte e executar o mesmo bytecode em diversos sistemas operacionais diferentes, desde que possuam uma JVM. Ento, teoricamente, seria utilizar esse bytecode gerado em dispositivos mveis, pois eles tambm podem ter uma JVM instalada. Veremos adiante que isso no possvel em razo de muitas diferenas entres os sistemas de grande poder de processamento (como servidores e computadores desktop) e os dispositivos de computao mvel de pouco poder computacional, como telefones celulares.

34

3.6.1

Java Micro Edition

Em 1998 a Sun lanou uma tecnologia chamada de Personal Java (pJava), voltada a dispositivos mveis e com restries computacionais. A tecnologia funcionou bem com alguns tipos de dispositivos, entretanto, em testes realizados com aparelhos menores, como celulares, a tecnologia no funcionava bem. Em 1999, foi lanada a J2ME, com o objetivo de permitir o desenvolvimento de aplicativos para esses dispositivos. Nessa plataforma, a implementao da Mquina Virtual Java bastante reduzida. Foi necessrio tambm reduzir os recursos da linguagem em razo das limitaes de processamento computacional dos dispositivos [22]. A verso Java 2 Micro Edition (J2ME) tem o foco para aplicaes Java voltadas para dispositivos eletrnicos com capacidades computacionais e grcas reduzidas, como telefones celulares, PDAs e outros. Esta verso tem alguns componentes que a diferenciam das demais verses do java, a J2SE e a J2EE. A principal diferena o uso de uma maquina virtual denominada KVM (Kilo virtual machine), pois essa requer apenas alguns kilobytes de memria para sua execuo. O fato de fazer parte do conjunto de tecnologias Java, a escolha da plataforma J2ME para desenvolvimento traz como principal vantagem o fato de o cdigo fonte ser compilado e transformando em chamados bytecodes, e ento interpretados pela JVM, e o cdigo uma vez gerados os bytecodes qualquer maquina virtual capaz de interpretar, fazendo assim que o cdigo seja independente de plataforma, em outras palavras isso permite que uma mesma aplicao possa ser executada em uma maquina independentemente do sistema operacional que ela possua bastando para isso ter uma maquina virtual java [26].

3.6.2

Os componentes da tecnologia J2ME

Em primeiro lugar esto as mquinas virtuais, cada fabricante pode desenvolver a sua de modo a atender os requisitos pretendidos pelo pequeno dispositiv; As conguraes: so um conjunto de classes bsicas que permitem o desenvolvimento para dispositivos com recursos limitados. So duas as conguraes denidas no J2ME: 1.CLDC Connected limited device conguration, tem o foco para dispositivos com restries de processamento e memria; 2.CDC Connected devide conguration, foco para dispositivos com mais recursos. Pers: so bibliotecas de classes Java que permitem a implementao de funcionalidades de mais alto nvel. 35

Os componentes em Detalhes: As mquinas virtuais so de mais baixo nivel, e como no sao o foco deste projeto no sero aprofundadas, j as conguraes e os pers que so mais alto nvel e o seu conhecimento fundamental para o desenvolvimento de aplicaes em J2ME so descritos nas prximas sesses.

Conguracoes Uma conguracao um conjunto minimo de APIs Java que permitem desenvolver aplicaces para dispositivos mveis. E as caracteriscas bsicas oferecidas por estas APIs so: suporte a linguagem de programao Java, suporte a maquina virtual e bibliotecas bsicas de Java como funes como I/O (Input/Output ou traduzindo Entrada e sada de dados). CDC voltada para dispostivos com certa capacidade computacional de processamento e memoria: - processador de 32 bits pelo menos 2MB de memoria - possuir maquna virtual java2 conexao a algum tipo de rede A CDC baseada na versao 1.3 do java e inclui alguns pacotes da ediao 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 graca bastante reduzidos. Um exemplo destes despostivos so a maioria dos telefones celulares disponveis atualmente no mercado brasileiro. Os dispositivos que usam CLDC devem atender os requisitos abaixo: - ter entre 160kb e 512kb de memoria - um processador de 16 a 32 bits com pelo menos 25Mhz de velocidade - conexao com algum tipo de rede As funcionalidades suportadas so: - um subconjunto da linguagem java; - suporte basico a operaes de entrada e saida - suporte a acesso a redes segurana

3.7

Android

O Android uma plataforma open source para dispositivos mveis. Desenvolvido pela Open Handset Alliance, uma organizao de 35 grandes empresas, entre elas a Google, Samsung, Motorola e LG. importante ressaltar que o Android no uma plataforma de software e sim um ambiente de software que oferece diversos recursos tanto para usurios quanto para desenvolvedores. Nesta sesso abordaremos alguns conceitos e apresentaremos os recursos da plataforma.

36

3.7.1

Recursos

O Android SDK o kit de desenvolvimento que disponibiliza as ferramentas e APIs necessrias para desenvolver aplicaes para a plataforma Android. Vejamos alguns dos recursos oferecidos pela plataforma: Application framework proporciona a reutilizao e substituio de componentes; Dalvik virtual machine otimizada para dispositivos mveis; Browser integrado baseado no Webkit engine; Grcos Otimizados possui uma biblioteca 2D e 3D baseada na especicao OpenGL; SQLite engine de banco de dados; Suporte multimdia para udio, vdeo e formatos de imagem; Telefonia GSM; Bluetooth, EDGE, 3G e Wi; Cmera, GPS e acelermetro e Rico ambiente de desenvolvimento, incluindo um emulador de dispositivo, ferramentas de depurao, memria, desempenho e um plugin para a IDE Eclipse.

3.7.2

Arquitetura

A arquitetura foi projetada de maneira a possibilitar a reutilizao de recursos disponibilizados por outras aplicaes. Esse compartilhamento otimiza o desenvolvimento de novas aplicaes que necessitem utilizar dados de aplicaes do sistema, localizadas na camada Applications [4] . Os desenvolvedores tem total acesso aos frameworks, APIs e bibliotecas da plataforma, o que os proporciona um rico ambiente de desenvolvimento. Uma das grandes vantagens da plataforma o suporte a linguagem Java, esse fator tem proporcionado uma rpida popularizao, agregando muitos adeptos comunidade. Na gura 3.4 visualizamos os principais componentes da plataforma Android.

37

Figura 3.4: A Arquitetura do Android [11].

3.7.3

Applications

Aplicativos que vem com o Android, como um cliente de e-mail, programa de envio de SMS, calendrios, mapas (Google Maps), jogos, navegador web, contatos (o software que gerencia e mostra os contatos do celular) e muitos outros. Vrios desses foram selecionados durante o Android Challenger, uma competio mundial que foi iniciada junto ao lanamento da plataforma. Todas essas aplicaes so escritos na linguagem de programao Java.

3.7.4

Application Framework

A framework Application foi toda escrita em Java e todos aplicativos que rodam no Android tem acesso as mesmas APIs que so utilizadas pelos aplicativos padres do sistema operacional. A arquitetura dos aplicativos desenvolvida para simplicar a reutilizao de componentes. Qualquer aplicativo pode publicar suas capacidades (suas funes, mtodos, etc) e qualquer outro programa pode utiliz-los: 1. Views: utilizados para a construo de telas de aplicativos, tais como: listas, grids, caixas de texto, botes e tambm um navegador web embutido; 2. Content Providers: permite que aplicativos acessem dados de outros aplicativos do aparelho e tambm que compartilhem seus 38

prprios dados; 3. Resource Manager: prov o acesso a recursos como textos (strings), grcos e arquivos de layout. Cada aplicativo tem o seu organizador de recursos, o arquivo R.java; 4. Notication Manager: permite que todos os aplicativos mostrem alertas cutominizados na barra de status; 5. Activity Manager: gerencia o ciclo de vida dos aplicativos; 6. Packet Manager: gerencia o local dos aplicativos e arquivos de dados armazenados.

3.7.5

Bibliotecas

O Android inclui um conjunto de bibliotecas C/C++ utilizadas por vrios componentes do sistema. Os recursos providos pelas bibliotecas so oferecidos aos desenvolvedores atravs do Framework. Abaixo, algumas das principais bibliotecas: 1. System C library: uma implementao derivada da biblioteca C padro sistema (libc) do BSD sintonizada para dispositivos rodando Linux; 2. Media Libraries: baseado no PacketVideos OpenCORE; as bibliotecas suportam os mais populares formatos de udio e vdeo, bem como imagens estticas; 3. Surface Manager: gera o acesso ao subsistema de exibio bem como as mltiplas camadas de aplicaes 2D e 3D; 4. LibWebCore: web browser engine utilizado tanto no Android Browser quanto para exibies web; 5. SGL: bibliotecas de grcos para construo em 2D; 6. 3D libraries: implementao baseada no OpenGL ES 1.0 APIs; as bibliotecas utilizam acelerao 3D via hardware (quando disponvel) ou o software de renderizao 3D altamente otimizado includo no Android; 7. FreeType: impresso de fontes vetoriais ou raster; 8. SQLite: poderosa e leve ferramenta de banco de dados relacional disponvel para todas as aplicaes.

3.7.6

Android Runtime

O Android inclui um grupo de bibliotecas que fornece a maioria das funcionalidades disponveis nas principais bibliotecas da linguagem Java. Toda aplicao Android roda em seu prprio processo, com sua 39

prpria instncia da mquina virtual Dalvik [11]. O Dalvik foi escrito de forma a executar vrias VMs ecientemente. Ele executa arquivos .dex, que otimizado para consumo mnimo de memria. A VM baseada em registros e roda classes compiladas pela linguagem Java que foram transformadas em arquivos .dex, atravs da ferramenta dx includa no SDK. O Dalvik VM baseia-se no kernel do Linux para funcionalidades subjacentes como o encadeamento e a gesto de baixo nvel de memria.

3.7.7

Linux Kernel

Utiliza a verso 2.6 do kernel do Linux, esse sistema operacional gerencia os servios centrais do sistema, tais como: segurana, gesto de memria, gesto de processos, etc. O kernel tambm atua como uma camada de abstrao entre o hardware e o resto do software. O cdigo do sistema operacional aberto e pode ser obtido no endereo: http://git.android.com/.

3.8 Anlise das Tecnologias e Seleo do Ambiente


O Windows mobile, Iphone e o BlackBerry so plataformas proprietrias e j o Symbian, J2ME e o Android so plataformas livres que possuem um conjunto de frameworks e ferramentas que auxiliam o processo de desenvolvimento de aplicativos. Os aplicativos desenvolvidos para o Symbian podem ser codicados em Python ou em C++ e no Android utilizado a linguagem Java, mas no caso do Symbian existem alguns problemas de incompatibilidade entre sistemas por conta das diferentes verses do sistema operacional e tambm pelas diferentes linguagens de desenvolvimento no ambiente. 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.

40

Captulo 4 Estudo de Aplicaes Mveis


Este captulo apresenta um levantamento das aplicaes mveis existentes no mercado procurando analisar as tecnologias utilizadas e identicar as caractersticas das aplicaes, bem como as vantagens e desvantagens das solues implementadas em cada aplicativo.

4.1 Sistema de Monitorao de pacientes apoiado em web e palmtops


Esse sistema visa o monitoramento de pacientes internados no Hospital, utilizando recursos web e moveis a partir de Palmtops. Sua necessidade foi vericada a partir de um levantamento de campo realizado em hospitais na cidade de Franca-SP. A pesquisa demonstrou que so necessrios cerca de trinta formulrios para acompanhamento dirio dos pacientes internados. Devido a esta grande quantidade de documentos fsicos para controle de dados dos pacientes, foi vericado a existncia de informaes redundantes e uma diculdade na recuperao dos dados[17]. As informaes so 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. A comunicao dos aparelhos mveis com o servidor feita atravs da tecnologia wi-, apoiada em ondas de rdio. O sistema foi desenvolvido em Delphi 7 oferecendo recursos para acesso aos dados pela Intra e Internet. 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, foi utilizado o NsBasic 3. Na gura 4.1 vericamos a interface com o usurio no disposi41

tivo mvel.

Figura 4.1: Sistema de Monitorao de pacientes - Palmtops [17]. A interface de acesso aos dados do servidor foi desenvolvida em Delphi 7, sendo que esta centraliza os servios do sistema e acessvel tanto pela Intranet como pela Internet. Para trabalhar com o Palmtop foi utilizado o NsBasic 3.1 e para a conexo entre o Aplicativo WEB e o servidor de dados foi utilizada ferramenta chamada DBExpress. Na gura 4.2 demonstrada a interface web para acesso aos dados.

Figura 4.2: Sistema de Monitorao de pacientes - Web [17].

42

4.2

Sistema Simplicado de Pronturio

O sistema simplicado de pronturio eletrnico do paciente, baseado no sistema Clinic Manager da UNIFESP, uma aplicao onde os prossionais mdicos realizam acesso cha do paciente atravs de aparelhos smartphones (PDA com funcionalidades de telefone celular)[19]. A tecnologia de desenvolvimento adotada foi a biblioteca AppForge aplicada a ferramenta Visual Basic. Essa biblioteca permite a gerao do cdigo do aplicativo em diferentes plataformas como Symbian OS, Windows Pocket PC e Palm OS, sem a necessidade de efetuar alteraes no cdigo-fonte. O intuito da aplicao diminuir a perda de informao nos atendimentos mdicos que ocorrem fora do consultrio, como situaes em que o prossional mdico presta auxlio ao paciente via telefone. Tornase possvel atravs dessa aplicao obter e manter mais informaes do paciente nessas situaes. Na gura 4.3 podem ser conferidas algumas telas do sistema.

Figura 4.3: Sistema Simplicado de Pronturio [19].

4.3

Aplicao HandMed

A aplicao HandMed (HM) parte de um projeto maior denominado GIMPA, o qual tem por intuito monitorar o paciente integrando uma rede de sensores ao corpo humano, mantendo bibliotecas de sintomas, Pronturios Eletrnicos, entre outros [14]. O HM est encarregado de realizar a captura automatizada desses sintomas do paciente, com intuito de possibilitar um acompanhamento 43

e preveno de problemas com a sade do mesmo. A aplicao desenvolvida em J2ME com a API Personal JAVA na ferramenta Jbuilder, sendo os testes realizados no aparelho PDA Sharp Zaurus SI-5500, que se baseia em uma plataforma Linux. Parte da monitorao do paciente feita atravs de formulrios preenchidos pelo prprio paciente. Alm disso, o sistema alimentado por informaes fornecidas por prossionais de sade, responsveis pelo paciente, entre outras pessoas envolvidas. Na gura 4.4 vericamos alguma telas do HandMed.

Figura 4.4: Aplicao HandMed [14].

4.4 Computao Mvel e Tecnologia Web em Sistemas de Controle Ps-Transplante


A utilizao da computao mvel e tecnologia web em sistemas de controle ps-transplante outro exemplo de aplicao encontrada. Essa aplicao composta de duas partes, uma residente no PDA e outra em um servidor de informaes. Procura facilitar o acompanhamento do paciente e centralizar a informao de forma a eliminar a redundncia de dados, aumentando a segurana da informao do paciente na situao de ps-transplante. Toda informao pertinente ao paciente armazenada em um servidor de banco de dados, no caso o Interbase [17]. O funcionamento ocorre da seguinte forma: os dispositivos Palm so carregados com as informaes do paciente no incio do dia e descarregados no nal do turno do prossional. Para desenvolvimento da aplicao, a parte mvel utiliza a API AppForge para Visual Basic com o intuito de gerar uma aplicao independente de plataforma. J 44

a outra parte foi implementada na linguagem PHP, tambm independente de plataforma, provendo um sistema acessvel aos usurios de qualquer computador capaz de se conectar a Internet. A cada usurio permitido o acesso apenas s informaes dos pacientes de sua responsabilidade e proibido a alterao de informaes antigas. Na gura 4.5 so apresentadas telas do projeto.

Figura 4.5: Sistemas de Controle Ps-Transplante [17].

4.5

Epocrates Essential

Uma outra soluo de contexto internacional o Epocrates Essential, um pacote de aplicativos para PDA que se compe de servios de consulta, referncia e apoio deciso. Os produtos da famlia Epocrates so: o Rx, o SxDx e o Lab, so guias de referncias para escolha de medicamentos, identicao de doenas e lista de sintomas e para apoio ao diagnstico e escolha de testes laboratoriais; respectivamente. O aplicativo foi desenvolvido no ramo mvel para PDA nas plataformas Palm OS e Pocket PC OS. Na gura 4.6 visualizamos telas do Epocrates Essential.

4.6

The m-learning Project

O sistema foi desenvolvido para aparelhos que so ao mesmo tempo celular, PDA e smartphones. Aposta-se que o pblico entre 18 e 25 anos utilizar aparelhos desse tipo em 4 ou 5 anos [10].

45

Figura 4.6: Epocrates Essential [1]. A anlise e estudos das opes de hardware e software para desenvolvimento do projeto evidenciou o acesso a internet diretamente pelos dispositivos mveis, poderia ser feito a partir de um browser. Essa alternativa foi escolhida por resolver os problemas de portabilidade, os PDAs, celulares e smartphones poderiam ter acesso a aplicao sem a necessidade de implementao especca para cada plataforma. O usurio acessa o portal, denominado mPortal, este formado por uma srie de mini-pginas de navegao e cada uma delas oferece os seguintes recurso: material de leitura; pgina de construo de ferramentas; ferramenta de atividade colaborativa; comunicao: chat, mensagens, blogs; sistema de gerenciamento de aprendizagem; guia de ajuda do sistema e links interessantes na web. Na pgina de construo de ferramentas os usurios podem criar suas prprias pginas. O sistema de gerenciamento de aprendizagem (Sistema tutorial) possui um repositrio de materiais de aprendizagem onde se mantm a trilha de aprendizagem do usurio. Novos mdulos podem ser escolhidos com base nas preferncias e no desempenho do usurio. Por julgarem que no atual momento as tecnologias de desenvolvimento para dispositivos mveis no apresentam uma soluo genrica 46

de modo a ser compatvel com qualquer ambiente, algumas opes de plataformas so oferecidas: SO Microsoft pocket pc para PDA/Celular; SO Sony Ericsson para PDA/celular; J2ME para celulares - Quiz games; Atividades de aprendizagem colaborativa usando a cmera dos celulares e SMS Vrias pesquisas foram realizadas no Reino Unido, Sucia e Itlia, 90 [10] aparelhos foram distribudos aos estudantes a m de descobrirem a reao a esta nova forma de aprendizagem. O entusiasmo dos alunos e maior aprendizado colaborativo foram observados. Algumas das observaes levantadas sobre o uso de aprendizagem com dispositivos mveis foram: os estudantes identicaram reas que precisam de algum suporte; pode ser usado para estimular o estudo individual e tambm experincias colaborativas; melhora das capacidades de leitura, clculos e a identicar outras habilidades; minimiza a resistncia ao uso de novas tecnologias; Diminui alguns formalismos de estudantes mais experientes; ajuda os estudantes a manterem o foco por perodos maiores; melhora a auto-estima dos estudantes.

4.7 Sistema de avaliao de cursos de EAD na UFPB


Trata-se de um projeto de suporte a avaliao de cursos de EAD (ensino a distncia) realizados pela internet. Um subsistema responsvel pela aplicao de formulrios que podem ser acessados e respondidos diretamente pela tela de um dispositivo mvel, como um celular, um PDA ou um smartphone. Os formulrios so gerados ainda nos computadores desktops e em seguida convertidos obedecendo a uma estrutura padro, a qual o dispositivo mvel capaz de interpretar ao receber o arquivo. Aps preenchido o formulrio no PDA/celular ele transferido de volta para um banco de dados no computador. Segundo [18] a utilizao da computao mvel para auxiliar no acompanhamento do desempenho dos alunos nos cursos de EAD pode ser uma 47

ferramenta muito til, j que os pequenos equipamentos esto mais tempo com o seu usurio, seja na la do banco, na parada do nibus na sala de reunio etc. O sistema dividido em mdulos(gura 3.8) da seguinte maneira: 1. Mdulo 1 - Responsvel pela criao do formulrio, com o cadastro das questes, seus tipos e respostas; 2. Mdulo 2 - Converter os dados armazenados no banco de dados para um layout aceito pelo dispositivo mvel; 3. Mdulo 3 - Comunicao entre os dispositivos, celular x PC e 4. Mdulo 4 - Interface para o preenchimento do formulrio no dispositivo mvel.

Figura 4.7: Estrutura do Projeto na Universidade Federal da Paraba [18]. A tecnologia empregada no desenvolvimento baseada na plataforma Java. Um sistema web feito em J2EE (Java 2 Entrepise Edition) para ser acessado pelo computador para criao dos formulrios e uma aplicao J2ME (Java 2 Mobile Edition) para rodar em um dispositivo PDA ou um celular. A questo da aceitao superada pelo fato da maioria dos alunos j possurem um celular com suporte Java. As ferramentas que podem ser instaladas nos dispositivos mveis possivelmente tero boa aceitao por parte dos alunos que utilizam essa tecnologia. [18]O mobile learning seria mais uma alternativa do leque de opes para os alunos, e teria a facilidade de poder ser utilizada a qualquer tempo, mesmo no tendo um computador disponvel para realizao da tarefa. No PDA oferecida um interface amigvel ao usurio com poucas informaes e de fcil preenchimento, como pode ser visto no gura 4.8. 48

Figura 4.8: Projeto na Universidade Federal da Paraba - Tela Palmtop [18].

4.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 produo de interfaces grcas e transferncia de dados [5]. Este foco visa facilitar o uso de smartphones para coleta de dados em campo. O sistema operacional escolhido para criao do framework foi o S60, baseado no Symbian, e a linguagem de codicao foi Python. Na gura 4.9 e 4.10 so apresentadas algumas imagens do sistema operacional S60 a partir de um emulador. As caractersticas principais do framework so: Controles de interface com o usurio. Componentes de conectividade, como bibliotecas para comunicao por bluetooth, adaptadores de rede e USB. Esses componentes so usados tanto para importao quanto para exportao de dados. Abaixo apresentado a estrutura dos dois componentes principais do framework.

4.8.1

Componentes de interface com usurio

So controles grcos para o sistema operacional S60, desenvolvidos na linguagem de programao Python. 49

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

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

50

HomerForm: Componente principal do framework. Sua funo receber os controles de interface e de troca de informaes. Para a coleta de dados, o contedo deste formulrio ser transformado em um arquivo de sada atravs do componente HomerOutputDatale. HomerWizardForm: Extenso do HomerForm, preparado para funcionamento como um wizard, trabalhando em vrios passos com comandos para Voltar, Avanar e Finalizar a coleta. HomerGPSPositionCollector: Textbox que coleta a posio corrente atravs do GPS. Depende de disponibilidade de recurso no aparelho. HomerRequiredFieldValidator: Validador de Textbox para campos requeridos. Mostra mensagem de erro para o usurio em caso de input nulo. Ser utilizado em conjunto com o HomerSubmitCommand. HomerRegexValidator: Validador de Textbox contra uma expresso regular. Mostra mensagem de erro para o usurio em caso de input invlido. Ser utilizado em conjunto com o HomerSubmitCommand. HomerRangeValidator: Validador de Textbox numrica para um conjunto de valores. Mostra mensagem de erro caso o nmero no esteja entre os limites impostos. Ser utilizado em conjunto com o HomerSubmitCommand. HomerCompareValidator: Validador de Textbox numrica para comparao com valores. Mostra mensagem de erro caso o nmero no esteja de acordo com o critrio de comparao. Ser utilizado em conjunto com o HomerSubmitCommand. HomerMaskedTextBox: Textbox com mscara para entrada de valores. HomerPhotoCollector: Componente para coleta de fotos. Depende de disponibilidade de recurso no aparelho. HomerSoundCollector: Componente para coleta de sons a partir do gravador de som. Depende de disponibilidade de recurso no aparelho. HomerFilteredGrid: Extenso do grid disponvel na plataforma, com possibilidade de ltragem de contedo. HomerSubmitCommand: Comando que submete o formulrio. Aciona os componentes de validao e apenas submete o formulrio se todas as validaes forem bem sucedidas. Utilizado no menu associado s softkeys. HomerResetCommand: Comando que limpa todos os campos do formulrio. Utilizado no menu associado s softkeys. 51

4.8.2

Componentes de Comunicao

So os componentes utilizados para troca de informaes entre o dispositivo e sistemas externos. Sero desenvolvidos de modo que no futuro suportem novos formatos de arquivo e componentes de conectividade para sada e entrada de informaes. HomerDataSource: Fonte de dados para componentes como ListBox, CheckBoxList, RadioButtonList e HomerFilteredGrid. Inicialmente ser implementado com suporte somente a fontes de dados XML. HomerFormDatale: Componente que transforma um HomerForm em um arquivo de sada que pode ser lido por sistemas externos. Este arquivo de sada ser um arquivo GZip (Algoritmo para compresso de dados), onde h um arquivo XML com o contedo do HomerForm e todos os arquivos binrios que forem coletados pela aplicao desenvolvida. Com a anlise realizada nos estudos de aplicaes, foi vericado que a maioria dos aplicativos possuem uma raz proprietria no permitindo assim que sejam utilizados como base para modelagem e desenvolvimento de novas aplicaes. O caso Home Framework uma soluo interessante pois facilita as tarefas de codicao dos programadores alm de ser uma soluo livre. Mas este herda os problemas da plataforma Symbian, como incompatibilidade de dispositivos, que continuaro sendo um grande obstculo no desenvolvimento de aplicativos. Por ltimo identicamos o software Cinq Sensus, o qual apresenta uma soluo eciente para criao de formulrios de coleta de dados, com um mdulo de criao na web e outro de coleta no Palm. O Cinq Sensus reestringe a criao de formulrios somente pela Web e outro fator negativo o fato do sistema ser proprietrio o que impede a modicao da sua estrutura para atender novas demandas pelos usurios.

4.9

Cinq Census

O Cinq Census uma soluo para desenvolvimento de questionrios e pesquisas para Palmtops. uma ferramenta comercial de propriedade da empresa brasileira Cinq Technologies. Os questionrios so elaborados em um programa em ambiente Windows, ou seja, necessrio o uso de um computador desktop. O questionrio ento transmitido para os Palmtops, onde existe um programa que os executa para coletar as respostas. As respostas so ento transmitidas para o microcomputador para consolidao ou integrao com outros sistemas [9]. 52

possvel personalizar a elaborao de questionrios, pesquisas de opinio, inspees e coletas de informaes em geral e execut-las em um dispositivo Palmtop. Produto de fcil utilizao, composto por dois mdulos, um que elabora questionrios em microcomputador e outro que os executa em Palmtops ou celulares compatveis com J2ME. A soluo direcionada ao usurio nal, facilidade de uso, baixo custo, permite automatizar a coleta de pesquisas de campo, check-lists no cho de fbrica, provas/testes e muitas outras aplicaes de coleta de informaes. Com o uso de celulares possivel, inclusive, transmitir em tempo real estas informaes de coleta em campo para bancos de dados centralizados com publicao simultnea na WEB. Esse aplicativo sugiu aps a Cinq Technologies vericar que vrias empresas clientes tinham uma necessidade comum. Ento foi criado um ambiente de desenvolvimento de questionrios para os prprios usurios criarem as pesquisas e carregarem nos PDAs. Isto evita a necessidade de se acionar uma desenvolvedor para toda vez que houver necessidade de alterar o questionrio (perguntas, respostas, etc). O Cinq Census se destina a qualquer empresa que necessite coletar dados em campo com preciso, exibilidade e agilidade, como companhias que monitoram a satisfao dos clientes e as atividades da concorrncia e empresas especializadas em pesquisas e marketing. Alm disto, esta soluo poder ser utilizada em qualquer empresa ou instituio que queira rapidamente elaborar um questionrio e carreglo em Palmtops para coletar informaes em campo e public-las de forma automatizada, com segurana e rapidez.

53

Captulo 5 O Problema
A maioria dos prossionais que trabalham em campo muitas vezes ao estarem coletando dados se deparam com a situao na qual o software utilizado no comporta as necessidades especcas no momento da coleta e infelizmente devido a incapacidade de customizao do sistema pelo usurio, as informaes no so coletadas da maneira correta. Isso acaba acarretando srios problemas, como por exemplo, perdas de informaes, descentralizao das informaes e diculdade de migrao das informaes para outras plataformas, diculdade de integrao dos dados.

5.1

Solues Proprietrias

Dentre os sistemas levantados podemos destacar na rea de sade o Sistema Simplicado de Pronturio[19], Aplicao HandMed[14], Epocrates Essential[1]. Na rea de Educao temos The m-learning Project e Projeto na Universidade Federal da Paraba. Mesmo com essa grande diversidade de sistemas mveis existentes, nenhum deles citados oferece uma base de desenvolvimento que possa contornar as diculdaddes apresentadas pelos prossionais que trabalham em campo pelo fato de possurem cdigo fechado impedindo que outros programadores possam replicar a soluo em outros setores carentes destas tecnologia. Muitas vezes os desenvolvedores necessitam reescrever cdigos preexistentes que poderiam ser reuutilizados mas devido ao seu licenciamento bloqueiam o seu reaproveitamento em outros projetos. Alm do fato dos sistemas serem proprietrios, os mesmo no oferecem suporte ao usurio nal da aplicao, pois mesmo que seu cdigo fosse aberto obrigaria usurio a ter conhecimento tcnico para modicar o seus sistemas de acordo com suas necessidades.

49

Uma ferramenta para desenvolvimento de aplicativos mveis, denominada Homer Framework, consiste no desenvolvimento de um framework para coleta de dados na plataforma Symbian que fornece recursos para otimizar o desenvolvimento de interfaces com o usurio e facilitar a comunicao atravs de mdulos para importao e exportao de dados. Com essa plataforma podemos superar a diculdade de reutilizao de cdigo pois a mesma oferece uma extensa biblioteca para abstrao de funcionalidades evitando assim a reescrita de cdigo. Entretanto uma soluo somente para o desenvolvedor pois no oferece meios de viabilizar ao usurio nal a manipulao do framework para desenvolvimento de seus prprios programas sem necessidade de conhecimento em programao.

5.2

Recodicao

Com a adoo de uma soluo otimizada como a utilizao do Home Framework, haveria uma reduo expressiva no tempo de entrega das aplicaes facilitando assim as modicaes dos sistemas, mas tal fato no impediria a recodicao a m de contemplar as necessidades especcas de cada sistema, que podem apresentar um dinamismo implicando em gastos desnecessrios. Atualmente o usurio nal de softwares mveis incapaz de efetuar alteraes nos sistemas que gerenciam necessitando recorrer a programadores para que sejam realizadas adaptaes que atendam as novas demandas do domnio da aplicao. Este fator crtico em situaes na qual o usurio nal est em campo e no dispe de tempo e meio de comunicao com desenvolvedores para que seja feita as modicaes desejadas obrigando-o assim a procurar mtodos suplementares que o auxilie na coleta da informao. Tal fato implica na descentralizao dos dados e pode implicar em diculdades de integrao dos dados, perda de informaes e inconsistncia dos dados. A soluo encontrada para o projeto foi o CinqSensus, o qual apresenta uma soluo eciente para criao de formulrios de coleta de dados, com um mdulo de criao na web e outro de coleta no Palm. O Cinq Sensus contorna o problema denido no projeto mas o mesmo reestringe a criao de formulrios somente pela Web e um sistema proprietrio, o que impede a modicao de seu cdigo fonte para aprimoramento de suas funcionalidades de acordo com as necessidades dos usurios.

50

Captulo 6 AndCollector
Para contornar os custos das alteraes em sistemas mveis, necessrio que seja utilizada uma ferramenta mvel que fornea uma interface com usabilidade eciente para que o programa possa ser alterado e at mesmo criado por um usurio leigo em programao de sistemas. Uma soluo eciente que j encontrada no desenvolvimento de sistemas para desktops e para web, so os geradores de aplicativos, esses so ferramentas que proporcionam ao usurio nal uma interface amigvel para que seja gerenciada a criao e a alterao de sistemas da plataforma sem a necessidade de conhecimento tcnico, apenas com a manipulao dos componentes do prprio gerador. Essas ferramentas que foram abordadas no captulo 1, como a Gas Pro e a Maker, fornecem ao usurio a capacidade de criao de sistemas com a utilizao de dispositivos de mdio e grande porte, como notebooks e computadores de mesa, mas no viabilizam a criao de softwares para dispositivos mveis e mesmo que tivessem recursos para implementao de sistemas mveis, o usurio nal caria comprometido a utilizao de dispositivos maiores para desenvolvimento dos programas. O aplicativo AndCollector tem como objetivo oferecer mobilidade a prossionais que necessitam coletar dados em campo. Foi desenvolvido para celulares e smartphones com a plataforma Android. Essa escolha ocorreu devido a plataforma ser baseada na linguagem Java e por ser a primeira plataforma mobile Open Source e totalmente customizvel. O desenvolvimento seguiu o padro de arquitetura MVC (Model-view-controller) e foi disponibilizado para a comunidade sob licena livre com o objetivo de facilitar e estimular o desenvolvimento de aplicaes para dispositivos mveis, permitindo a adaptao da ferramenta para necessidades no previstas. O diferencial do AndCollector permitir que as operaes sejam re51

alizadas diretamente no dispositivo mvel, sem a necessidade de um computador para comunicao. As principais caractersticas so: Criao de frmulrios, com o cadastro das questes, seus tipos e suas possveis respostas; A Coleta de dados dos formulrios. Ferramentas que possam ser instaladas nos dipositivos mveis possivelmente tero boa aceitao por parte dos prossionais envolvidos pelo fato da maioria das pessoas j possuirem celulares ou smartphones e estarem adaptadas a manipularem tais aparelhos. Podemos encontrar uma quantidade signicativa de softwares voltados para coleta de dados em campo, mas esses programas rodam em dispositivos diferenciados, como Palmtops, PocketPC, notebooks, entre outros, sendo solues restritas aos aparelhos dos fabricantes. Por ser livre o Android pode ser executado em aparelhos de diversos fabricantes. O projeto foca no desenvolvimento de recursos que possam ser utilizados na produo de softwares que ampliem os usos para coleta de dados em campo.

6.1

Mdulos

O aplicativo constituido por dois grandes mdulos: Mdulo Construo e Mdulo Coleta de dados, a Figura 6.1 exibe a tela inicial do AndCollector, onde o usurio seleciona o mdulo que deseja trabalhar. Os mdulos da aplicao so descritos a seguir.

Figura 6.1: Tela inicial do AndCollector

52

6.1.1

Mdulo Construo

O mdulo Construo permite ao usurio criar os formulrios que ele necessita para coletar seus dados. Podem ser criados diversos formulrios, e estes podem no ter nenhum tipo de relacionamento. A criao de um novo formulrio ocorre de maneira simples. Toda operao feita atravs de interfaces simples e intuitivas diretamente pelo AndCollector, no sendo necessrio qualquer tipo de programao de cdigo e por isso pode ser feito por pessoas sem conhecimento tcnico. Um formulrio ou Aplicao (como chamado no AndCollector) representado pela entidade Questionrio que est dentro do pacote br.unb.cic.android.dominio. Para criao de um nova aplicao com um questionrio para coleta de dados o usurio deve selecionar o mdulo Construo na tela inicial, ser ento exibida uma lista com todos os questionrios j criados anteriormente e as opes do menu apresentadas so Inserir Novo e Buscar. Ao escolher a opo Inserir Novo, a tela de criao de um novo formulrio exibida e nela preciso informar um nome para o formulrio, uma breve descrio e informar se as respostas que sero coletadas so de carcter annimo ou no. A Figura 6.2 representa este cenrio.

Figura 6.2: Tela de criao de formulrios no AndCollector Uma vez que o usurio aciona o comando salvar, a aplicao criada listada na tela inicial do mdulo Construo juntamente com todas as demais Aplicaes j criadas anteriormente. Cada dado que precise ser coletado em um formulrio deve ser cadastrado como uma entidade questo. Para criao de uma questo o usurio deve acessar sua aplicao na tela inicial do mdulo Construo que exibe a listagem de aplicaes criadas. A tela de edio da aplicao exibida, essa tela tem os mesmos campos ilustrados na Figura 6.2 porm j apresenta os campos preenchidos e no lugar do boto salvar apresenta o boto edi53

tar e as opes do menu so Adicionar Questo e Visualizar Questes. Ao escolher a opo Adicionar Questo apresentado a tela de cadastro de questo. Cada Questo tem uma referncia ao Questionrio ao qual foi adicionada e um tipo, identi?cado pelo enum TipoQuestao e pode assumir os valores SIM OU NAO, MULTIPLA ESCOLHA ou ABERTA. A Figura 6.3 exibe a tela de cadastro de questes no AndCollector.

Figura 6.3: Tela de cadastro de questes no AndCollector Outra entidade do pacote de dominio do AndCollector Resposta, que armazena as possveis respostas de uma determinada questo, no caso de uma Questao do tipo MULTIPLA ESCOLHA, para cada possvel resposta informada pelo usurio salvo um registro Resposta, no caso de uma Questo do tipo SIM OU NAO a aplicao salva automaticamente as duas respostas e para o tipo ABERTA no salva nenhuma Resposta no momento da criao da Questo. Cada Resposta tem referncia a Questao a qual foi adicionada, uma descrio que o texto visvel na tela do programa, um identi?cador de resposta certa para ser usado por Aplicaes do tipo avaliao de conhecimento e ainda um campo justi?cativa. Cada classe de domnio tem uma tabela correspondente no banco de dados que possui uma coluna correspondente a cada atributo.

6.1.2

Mdulo Coleta de Dados

O Mdulo Coleta de Dados possibilita ao usurio a execuo da coleta de dados em si, uma vez criada a Aplicao com o cadastramento dos dados necessrios, no Mdulo Coleta de Dados possvel coletar os dados navegando por todas as questes da Aplicao. Como para cada questionrio podem ser feitas diversas coletas, como no caso de pesquisas de opinio com ?ns estatsticos, existe a entidade ColetaQuestionario, esta possui um identi?cador do Questionrio, o nome 54

do entrevistado para o caso de uma coleta no annima e a data da coleta que salva automaticamente pelo sistema. Para cada dado coletado, ou seja a resposta dada para a questo, salvo no banco de dados um registro na tabela ColetaResposta. Esse registro composto por um identi?cador para o seu ColetaQuestionario e outro identicador para a questo. Um identicador associado a resposta escolhida para o caso de uma questo do tipo MULTIPLA ESCOLHA. Por ltimo, respostaAberta um atributo texto para ser utilizado em questes do tipo ABERTA. A Figura 6.4 exibe uma tela do mdulo coleta de dados para uma questo do tipo certo errado.

Figura 6.4: Tela de coleta de dados no AndCollector Uma vez que os dados referentes a coleta esto salvos no banco de dados possvel utiliz-los para anlise. Para ser possvel ver a consolidao dos dados no prprio AndCollector necessrio o desenvolvimento de um outro mdulo que apresente os resultados de acordo com o desejado, ou ainda pode-se pensar em um sistema externo (web ou desktop) que recebe de alguma forma os dados exportados pelo AndCollector.

6.2

Modelo de dados

A Figura 6.5 representa o MER (modelo entidade relacionamento) denido para o desenvolvimento da aplicao. O banco de dados utilizado o Sqlite3 [7], que o banco de dados relacional embarcado disponvel na plataforma Android. As cinco tabelas armazenam todas as informaes referentes tanto a construo de questionrios e formulrios como a execuo da coleta e obteno das respostas. As tabelas Questionario, Questao e Respostas armazenam os dados 55

cadastrados no momento da construo de um novo fomulrio, enquanto as outras duas tabelas armazenam informaes referentes s coletas em si. Um registro da tabela ColetaQuestionario criada no momento em que um questionrio selecionado no mdulo Coleta de Dados e armazena o nome do entrevistado e a data na qual foi realizada a coleta, possui como chave estrangeira o id do questionrio que est sendo respondido. A tabela ColetaResposta armazena registros referentes s respostas dadas a cada questo de um fomulrio.

Figura 6.5: Modelo Entidade Relacionamento da Aplicao

6.3
6.3.1

Consideraes
Viabilidade Econmica

As demais plataformas mveis existentes (Palms, por exemplo) so sempre limitadas devido a restries impostas pelo ambiente como por exemplo, incompatibilidade de softwares entre as verses do sistemas operacionais dos dispositivos. Uma vez feita a escolha da tecnologia de desenvolvimento, existe o risco de rpida obsolescncia, como o caso da tecnologia J2ME. O Android uma tecnologia mvel em asceno que tem como base um grande acordo comercial para aprimoramento do seu projeto. O sistema operacional da Google j possui vrias ferramentas para desenvolvimento de sistemas, como por exemplo, plugins de codicao e emuladores acoplados ao Eclipse ou NetBeans, e 56

uma grande comunidade de desenvolvedores. Considerando que algumas ferramentas de desenvolvimento so free, como o Eclipse, o projeto apresenta um baixo custo tanto de aperfeioamento do gerador quanto de utilizao pelo fato de ser um sistema livre. Considerando a robustez da plataforma Android, a promessa que esse sistema operacional representa, o cdigo fonte aberto, a utilizao free do gerador e o fato de que os smartphones tm se tornado comuns e relativamente baratos, perceptvil as vantagens econmicas oferecidas pela ferramenta AndCollector.

6.3.2

Viabilidade Tcnica

Alm do desenvolvimento de aplicaes, a plataforma Android possibilita o acesso a funcionalidades do aparelho como recursos de udio e vdeo. Assim possvel criar, alm de formulrios de entrada de dados, componentes que capturem informaes importantes e que no necessariamente estariam vinculadas coleta de dados. Existem vrias comunidades de programdores e uma extensa documentao sobre desenvolvimento na plataforma Android para que mais desenvolvedores venham participar no desenvolvimento de novas funcionalidades para o AndCollecor. Outro fator importante o fato da cdigo ser aberto, pois desta forma os programadores podem estudar o cdigo fonte para modicao do gerador de acordo com as necessidades dos usurios.

6.3.3

Vantagens

A Open Handset Alliance um grupo de empresas de tecnologia liderados pela Google, eles so os responsvel pela criao do Android e investe na melhoria da plataforma; O Android no restrito a nenhum fabricante de celulares; Possuir um banco de dados relacional embarcado, facilitando a persistncia dos dados e a integrao com outros sistemas. Devido ao sistema operacional ser Open Source pode permitir que fabricantes de hardware para dispositivos mveis consigam reduzir o custo de seus produtos. Desta forma principalmente as operadoras de telefonia celular podero cobrar menos e assim oferecer planos e pacotes mais interessantes para diversas empresas que pretendem se automatizar e no o fazem em razo do custo do dispositivo mvel. Para empresas que possuem sua prpria rea de desenvolvimento, trabalhar com o Android proporcionar uma grande reduo no custo das ferramentas de desenvolvimento bem como na reduo 57

na compra de componentes de terceiros j que como o cdigo aberto car mais fcil e acessvel a todos os desenvolvedores as nuances do SO. O sistema operacional do Google para celulares, o Android, aproveitase do software livre e da comunidade de desenvolvedores para obter sucesso. A plataforma tem cdigo aberto baseado em Java e j conta com vrios programas desenvolvidos por terceiros. Cada vez mais celulares de diferentes marcas so lanados (alm de HTC, Huawei e Samsung, pelo menos LG e Motorola tm aparelhos) com o sistema, o que deve impulsionar o uso e as vendas. De acordo com o estudo da Strategy Analytics, num prazo de at trs anos, o Android - que em maro, nos Estados Unidos - empatou com o Palm - estar com uma boa posio no ranking global do mercado de smartphones.

6.3.4

Desvantagens

A tecnologia Android ainda recente e o nmero de aparelhos disponveis no mercado reduzido; Devido a baixa oferta de aparelhos o preo ainda elevado;

58

Captulo 7 Avaliao da ferramenta AndCollector


Este captulo apresenta os resultados obtidos com as pesquisas de aceitao da ferramenta AndCollector nas diversas reas em que foi aplicado. Foram realizadas entrevistas qualitativas para avaliar o grau de aceitao e facilidade de uso do sistema. As entrevistas foram gravadas e as respostas foram analisadas a partir de um roteiro padronizado de perguntas com o propsito de agrupar os fatores positivos e negativos que foram apresentados.

7.1

Roteiro da entrevista

Foram selecionadas reas diversicadas de utilizao para demonstrar o carter genrico da ferramenta, enfatizando o potencial do gerador para contornar problemas de coleta de dados em variadas situaes. As entrevistas foram realizadas com prossionais da rea de medicina, educao fsica, agronomia, biologia e geograa. Os tpicos abordados nas entrevistas foram: Vericar a necessidade de coletar dados em campo e reas de aplicao potencial; Tipos de informaes coletadas nas atividades em campo; Meios utilizados para coletar dados; Diculdades que os meios utilizados apresentam; Vericar se ocorre o uso de tecnologia mvel para coleta de dados; Apresentar a ferramenta AndCollector e fornecer orientao na sua utilizao; Levantar as facilidades e diculdades encontradas no uso do gerador de aplicativos e questionar se o entrevistado a utilizaria; 59

Analisar junto ao entrevistado sobre a aceitao da ferramenta no seu trabalho e Quanticar a usabilidade e utilidade da ferramenta com o prossional entrevistado.

7.2

Entrevistas

Foram realizadas sete entrevistas nas quais foram gravadas todas as respostas dos entrevistados. Um roteiro pr-denido foi padronizado. As reas de atuao prossional dos entrevistados so: Medicina; Agronomia; Biologia; Educao Fsica e Geograa. Nas entrevistas realizadas com as pessoas da rea de sade vericouse que eles necessitam deste tipo de soluo, pois em muitos casos so feitos atendimentos a domiclio e o nico meio atual para registro de dados para o paciente o papel e caneta. Uma diculdade que foi comum para dois entrevistados de medicina o fato do manuseio do pronturio fsico, pois este muitas vezes precisa ser levado para atendimento fora do hospital e no existe uma forma eciente de compartilhamento do mesmo entre os mdicos. Os mdicos entrevistados acharam importante a utilizao desse tipo de ferramenta na rea, pois o uso deste tipo de ferramenta no servio aumentaria a praticidade dos processos e integraria de maneira eciente as informaes. Ambas as entrevistas foram questionadas adversidades quanto ao preo dos aparelhos com o Android e tambm questes de falha operacional do sistema. A entrevista realizada com o prossional da rea Agronomia evidenciou a necessidade deste tipo de tecnologia, pois as atividades de coleta realizadas em campo utilizam o meio bsico, o papel e a caneta, para registrar informaes. Essa coleta de dados com papel extremamente desvantajosa para esses prossionais devido ao seu domnio de aplicao, pois em uma atividade de coleta no solo este material pode ser facilmente danicado o que comprometeria parcialmente ou completamente a anlise do local de estudo. Alguns exemplos interessantes de aplicao da ferramenta AndCollector na Agronomia que foram ressaltados pelo estudante Ricardo so: acompanhamento de melhoramento do solo com a utilizao de determinadas concentraes de 60

qumicos especcos e levantamento de pragas na lavoura. O entrevistado questionou sobre o preo dos aparelhos e tambm sobre a necessidade de um conhecimento prvio para manipulao tanto do sistema operacional quanto do gerador de aplicativos. Apesar dos entraves o entrevistado reconheceu que uma tecnologia de extrema utilidade para sua rea prossional e acredita que as diculdades no so signicativas se comparado as vantagens que tecnologia pode oferecer. Na rea de Biologia foi possvel vericar que existem situaes que a tecnologia mvel seria uma soluo ideal para execuo de determinadas atividades em campo, como por exemplo, o acompanhamento do nmero de representantes de uma espcie em uma determinada rea de anlise. Outro exemplo importante foi a utilizao da ferramenta para anlise da biodiversidade de uma determinada rea. Uma questo importante que foi levantada e que futuramente pode ser implementada a capacidade do sistema no compartilhamento de dados em tempo real, para que os bilogos que estejam trabalhando em campo possam enviar informaes para o laboratrio atravs de alguma rede e com isso seriam feitas anlises aprimoradas para que novos procedimentos fossem repassados em uma margem inferior de tempo. Aspectos negativos importantes com relao a custo e manuseio do aparelho tambm foram novamente levantados demonstrando assim que esta uma complicao comum para todas as reas estudadas. Com relao as vantagens foram observados argumentos comuns como a organizao e digitalizao dos dados. A aceitao da ferramenta uma questo de divulgao da soluo e poltica. Os representantes e lderes conservadores de laboratrios podero ser substitudos por prossionais modernos que valorizem a tecnologia. Na rea de educao fsica uma boa parte das atividades realizadas em campo. Por exemplo, o acompanhamento dos atletas ou alunos envolvidos nos treinamentos. Nessa rea foi identicada a tecnologia mvel com a utilizao de relgios especcos que so capazes de registrar diversos dados para acompanhamento de desempenho de atletas. Esses relgios so muito ecientes, mas ainda so muito caros e apresentam uma interface ruim para insero de dados. Preocupaes demonstradas com relao ao preo de celulares com Adroid e complicaes que poderiam surgir com bateria descarregada foram identicadas. Destacou-se como vantagem principal a questo do sistema ser livre, pois ele j trabalhou em algumas academias nas quais eram utilizados sistemas proprietrios de alto custo para especicar treinamentos e coletar dados de desempenho. Assim como os outros entrevistados avaliou-se positivamente a ferramenta acreditando que esta ser at mais utilizada do que os relgios atuais, pois capaz de modelar formulrios especcos para coleta com a utilizao de questes abertas, opo que no disponvel para os relgios. Ou61

tras vantagens importantes levantadas so: os celulares possuem um teclado que otimizaria a insero de dados pelo treinador; caso existam aparelhos mais baratos que os relgios, estes seriam as solues idias para coleta de dados. Com relao aceitao no mercado o estudante acredita que se a ferramenta tiver custos acessveis, esta ser difundida entre a comunidade de prossionais da rea rapidamente. Na rea de Geograa a ferramenta tambm possui um extenso campo de atuao. Identicou-se que os prossionais necessitam coletar os mais diversicados tipos de informaes possveis devido aos diferentes domnios que esta cincia abrange. Situaes como coleta de dados sobre estrutura do relevo, clima, anlise hidrogrca, entre outros, podem usufruir da ferramenta para digitalizao das informaes que devem ser armazenadas e analisadas. O meio comum utilizado continua sendo o papel e a caneta, o que pode comprometer a informao devido a fragilidade do material. Vantagens como digitalizao dos dados e capacidade de criao instantnea de formulrios foram citadas. A desvantagem levantada consistiu no custo para adquirir um aparelho com Android.

7.3

Anlise das Entrevistas

Das entrevistas realizadas foram selecionadas vantagens e desvantagens comuns para as diferentes reas analisadas com o propsito de vericar o grau de aceitao da ferramenta por prossionais de diversas reas. As desvantagens comuns para a maioria das reas analisadas foram: custo para obteno de smartphones que possuam o Android como sistema operacional; necessidade de conhecimento prvio para manuseio tanto do sistema operacional quanto do aplicativo gerador; risco de interrupo do servio de coleta com o descarregamento da bateria. Com relao ao custo de um aparelho devemos ressaltar que os primeiros aparelhos que esto chegando ao mercado so modelos mais avanados que possuem interface touch screen e ao mesmo tempo possui um teclado retrtil para facilitar a insero de dados, chegando a custar mais de mil reais. O Android um sistema operacional que comporta aparelhos que possuem interface somente com teclado, touch screen ou as duas interfaces. Aparelhos mais simples que compreendem somente uma interface de comando estaro chegando ao mercado e tero valores bem 62

mais acessveis. 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. Como qualquer outro sistema necessrio que seja realizado um treinamento bsico para que a pessoa seja capaz de utilizar os recursos do aparelho e dos aplicativos existentes. Boa parte dos usurios consegue contornar esse problema com apenas alguns dias de reconhecimento dos recursos do dispositivo por se tratar de algo simples. O problema de descarga da bateria pode ser facilmente contornado com a compra de baterias reservas para o aparelho. As vantagens comuns identicadas so: digitalizao das informaes evitando perda de tempo para realizar este procedimento posteriormente; integridade da informao; possvel integrao do sistema com outros aplicativos. Alm das vantagens apresentadas podemos vericar na gura 8.1 o nvel de usabilidade e utilidade atribudo a ferramenta pelos prossionais.

Figura 7.1: Usabilidade e Utilidade da ferramenta AndCollector Apesar das diculdades apontadas podemos supor que essas podero ser minimizadas e quando comparadas com as facilidades que a ferramenta pode oferecer. Nas entrevistas os prossionais identicaram adversidades, mas asseguraram que as vantagens se sobresaem. As aplicaes sugeridas e criadas nas entrevistas com a ferramenta AndCollector conrmaram que usurios leigos podem criar seus aplicativos especcos para coleta de dados em campo mesmo sem conhecimento tcnico de programao. Enfatizamos que o gerador AndCollector uma ferramenta que exige um pequeno conhecimento para manipulao do aparelho e do aplicativo mas, como foi conrmado pelos entrevistados, com uma pequena orientao qualquer indivduo com um simples grau de instruo estar capacitado para criar seus prprios aplicativos de coleta.

63

Captulo 8 Concluso
No que tange a implementao do software gerador de aplicativos no Android, foi concludo o desenvolvimento de um sistema gerador de formulrios na arquitetura Android que se demonstrou ecaz, nos estudos de casos realizados, na capacitao de usurios leigos na criao de aplicativos especcos de coleta de dados. De acordo com a avaliao realizada pelos entrevistados nos casos aplicados vericamos a aceitao da ferramenta pelos prossionais abordados que conrmaram a importncia do software para as necessidades de suas reas de atuao. A avaliao nal da ferramenta vislumbrou a facilidade de incorporao da soluo nas mais diversas reas, conrmando sua utilidade e usabilidade. O AndCollector um software livre sob licenciamento GPL e esperase a sua difuso e aprimoramento devido a quantidade de desenvolvedores do movimento de software livre. O cdigo fonte do gerador pode ser adquirido no Source forge a partir do link https://sourceforge.net/ projects/andcollector. Foram realizadas divulgaes nas seguintes comunidades de desenvolvimento no Android: Android Community, Android Developers, Portal Android, Android Pro e AndroidPT. O projeto tem o intuito de criar uma rede de desenvolvimento, a m de aprimorar suas funcionalidades e contemplar novos mdulos que ofeream componentes de comunicao, integrao com outros sistemas e que possam contribuir com o seu desenvolvimento.

8.1

Trabalhos Futuros

A ferramenta AndCollector apenas um prottipo inicial, necessrio que o mesmo seje aprimorado e que novos mdulos sejam implementados para comtemplar funes importantes que venham oferecer controle maior das informaes coletadas pelos aplicativos criados. Entre 64

os trabalhos importantes que visam aprimorar a ferramenta podemos citar: Mdulo de comunicao para transferncia dos dados coletados para outro ambiente, web ou desktop; Mdulo de anlise estatstica para o AndCollector; Sistema web ou desktop integrado com a ferramenta AndCollector, tanto para anlise das informaes quanto para criao de aplicativos; Mdulo para transferncia de dados em vrias interfaces, USB, bluetooth, wi; Mdulo para controle de verso dos aplicativos criados; Mdulo para recuperao das respostas e edio das mesmas.

65

Referncias Bibliogrcas
[1] Eprocates essencial. http://www.pdamd.com/home, 2006. [2] Blackberry java development environment. http://docs. blackberry.com/pt-br/developers/deliverables/ 8882/BlackBerry_Java_Development_Environment-4.7. 0-PT.pdf, 2009. [3] Developer iphone. http://developer.apple.com/iphone/ gettingstarted/docs/iphoneosoverview.action, 2009. [4] Documentao ocial android. http://code.google.com/ android/intro/index.html, 2009. [5] Homer framework - project home. http://code.google.com/ p/homerframework/, 2009. [6] Intrinsyc. http://www.intrinsyc.com/os_expertise/ symbian.aspx, 2009. [7] Pgina ocial do sqlite. http://www.sqlite.org/, 2009. [8] Windows mobile developer center. http://msdn.microsoft. com/pt-br/windowsmobile, 2009. [9] Cinq census. http://www-304.ibm.com/jct09002c/gsdod/ solutiondetails.do?solution=408&expand=true&lc= pt-BR, Acessado em 22 de janeiro de 2009. [10] Jill Attewell. The m-learning project. Technical report, Technology Enhanced Learning Research Centre, 2004. [11] Ed Burnette. Hello, Android: Introducing Googles Mobile Development Platform. OReilly, 2008. [12] Marcelo Mrack Diego Moreira. Sistemas dinmicos baseados em metamodelos. 2008. [13] Alexandre Rodrigues Gomes. Ubiquitos uma proposta de arquitetura de middleware para a adaptabilidade de servios em sistemas de computao ubqua. Masters thesis, Universidade de Braslia, Braslia, Brasil, 2007. 66

[14] Erika C. Figueiredo F. A. O. Nascimento1 A. F. Rocha1 H. S. Carvalho L. S. S.Castro1, Henrique J. P. Branisso. Handmed um sistema mvel integrado para captura automtica de sintomas. Technical report, Universidade de Braslia, Braslia, Brasil, 2004. [15] Roger Lee. Software Engineering Research, Management and Applications. Springer, 2008. [16] Karen Swan Mark vant Hooft. Ubiquotous Computing in Education. Routledge, 2006. [17] Renato Bonellis Willian Pires da Silva Marlia Pinheiro, Reinaldo A de Carvalho. Sistema de monitorao de pacientes apoiado em web e palmtops. Technical report, Centro de Cincias das Imagens e Fsica Mdica da Faculdade de Medicina de Ribeiro Preto da Universidade de So Paulo, Ribeiro Preto, Brasil, 2004. [18] lvaro Francisco de C Medeiros Nisston Moraes Tavares de Melo. A utilizao da computao mvel para auxiliar na avaliao dos cursos em EAD: Implementao de um subsistema para aplicao de formulrios. 2008. [19] Dr. Daniel Sigulem Paulo Salomo. Utilizao do computador de mo integrado telefonia celular no atendimento mdico: Desenvolvimento de sistema e avaliao. Technical report, Universidade Federal de So Paulo, So Paulo, Brasil, 2004. [20] Cristhian Robottom Reis. Caracterizaco de um processo de software para projetos de software livre. Technical report, Universidade de So Paulo, So Paulo, Brasil, 2003. [21] Amir Mostafa Saleh. Adoo de tecnologia - um estudo sobre o uso de softwares livres na empresa. Technical report, Universidade de So Paulo, So Paulo, Brasil, 2004. [22] Lucas Ortega Daz Sergio Glvez Rojas. Java a Tope: J2me (java 2 Micro Edition). Universidad de Mlaga, 2006. [23] Mark Weiser. Some computer science issues in ubiquitous computing. CACM, 1993. [24] Mark Weiser. The world is not a desktop. Perspectives article for ACM Interactions, 1993. [25] Mark Weiser. Ubiquitous computing. http://www.ubiq.com/ hypertext/weiser/UbiHome.html, 2009. [26] Michael Juntao Yuan. Enterprise J2ME: developing mobile Java applications. Pearson Education Inc., 2004. 67

Você também pode gostar