Você está na página 1de 98

UNIVERSIDADE FEDERAL DO PIAU

BACHARELADO EM CINCIA DA COMPUTAO













ESTUDO E CONSTRUO DE UM SISTEMA
PARA CONTROLE DAS PRESTAES DE SERVIOS
PARA DISPOSITIVOS MVEIS

Vincius Pires de Moura Freire













Teresina, Jul ho de 2007.
2
UNIVERSIDADE FEDERAL DO PIAU
BACHARELADO EM CINCIA DA COMPUTAO








ESTUDO E CONSTRUO DE UM SISTEMA
PARA CONTROLE DAS PRESTAES DE SERVIOS
PARA DISPOSITIVOS MVEIS

Vincius Pires de Moura Freire


Monografia desenvolvida durante a
disciplina de Estgio Supervisionado
II e apresentada ao Curso de Bacha-
relado em Cincia da Computao
da Universidade Federal do Piau,
Campus Petrnio Portela, como pr-
requisito para a obteno do ttulo de
Bacharel em Cincia da Computa-
o.
Orientador: M. Sc. Luiz Cludio De-
mes da Mata Sousa






Teresina, Jul ho de 2007.
3
FOLHA DE APROVAO

Estudo e Construo de um Sistema para Control e das Prestaes de
Servios para Dispositivos Mvei s
Vincius Pires de Moura Freire

Banca Examinadora




Prof . Msc.Luiz Cludio Demes da Mata

Orientador





Prof . Dr. Pedro Alcntara dos Santos Neto

Avaliador





Prof . Dr. Paulo Srgio dos Santos

Avaliador




Prof. Msc. Magno A Santos

Coordenador de Estgi o Supervisi onado


4
FICHA CATALOGRFICA




Freire, Vincius Pires de Moura

Estudo e Construo de um Sistema para Controle das Presta-es de Ser-
vios para Dispositivos Mveis. Teresina-Piau. UFPI. 2007.

Trabalho de Concluso de Curso - Universidade Federal do Piau.

Orientador: Prof. Luiz Cludio Demes da Mata Sousa

1.Introduo 2. Justificativa 3. Sistemas Computacionais Mveis 4. PDAs e Seus
Sistemas Operacionais 5. Ferramentas de Desenvolvimento 6. Estudo de Caso 7.
Estudo de Outras Tecnologias 8. Modelagem 9. Acesso a Dados 10. Desenvolvi-
mento 11. Concluso


5
























S o conhecimento
traz o poder. S a ex-
perincia prpria ca-
paz de tornar sbio o
ser humano.

Sigmund Freud
6




























Dedico este trabal ho a mi-
nha amada me, Maria do
Carmo Pi res de Moura Frei -
re, (In Memori an) pelo e-
xempl o de carter, coragem,
fora, bondade e amor que
me do foras para vencer
todas as barreiras. Al m de
ter me proporci onado in-
contveis momentos de fe-
li cidade e feito de tudo para
que eu estivesse na posi o
em que estou hoje.
7














AGRADECIMENTOS

Agradeo primeiramente a Deus
por ter me proporcionado diversas
oportunidades durante meu curso.
Agradeo Marina Lemos por es-
tar sempre comigo em todos os
momentos, fceis e difceis e por
ter me ajudado sempre que preci-
sei na construo deste trabalho.
Agradeo ao meu amigo Leandro
Santana por suas contribuies e
ao meu orientador, Luz Cludio,
por todo o apoio.
Agradeo a toda minha famlia, que
est sempre do meu lado nas di-
versas ocasies.
8
SUMRIO

NDICE DE FIGURAS 11
NDICE DE TABELAS 12
LISTA DE ABREVIATURASE SIGLAS 13
RESUMO 14
ABSTRACT 15
1 INTRODUO 16
1.1 MOBILIDADE 17
2 JUSTIFICATIVA 19
2.1OBJETIVOS 20
3 SISTEMASCOMPUTACIONAISMVEIS 22
3.1VANTAGENS 22
3.2PROBLEMAS 23
3.3SITUAO ATUAL 24
4.0 PDASE SEUSSISTEMASOPERACIONAIS 26
4.1PALM OS 26
4.2WINDOWSMOBILE 27
5.0 FERRAMENTASDE DESENVOLVIMENTO 31
5.1CONCEITOSBSICOS 31
5.2FERRAMENTAS 32
5.2.1 NSBASIC 33
5.2.2 PDA TOOLBOX 35
5.2.3 POCKETSTUDIO 36
5.2.4 SATELLITE FORMSMOBILEAPP DESIGNER 38
5.2.5 METROWORKSCODE WARRIOR 40
5.2.6 EMBEDDED VISUAL TOOLS 42
5.2.7 O HANDHELD BASIC++2.0 43
9
5.2.8 MICROSOFT VISUAL STUDIO 2005 44
6 ESTUDO DE CASO 47
6.1FUNCIONAMENTO ATUALDO NPD 47
6.2O QUEFOI DESENVOLVIDO PARA MELHORAROFUNCIONAMENTO 51
7 ESTUDO DE OUTRASTECNOLOGIAS 52
7.1A LINGUAGEM C# 52
7.2.NETFRAMEWORK 54
7.3. SQLSERVER2005 57
8 MODELAGEM 59
8.1UML 59
8.2JUDE 59
8.3VISUALSTUDIO CLASSDESIGNER 61
9ACESSO A DADOS 63
9.1ADO.NET 63
10 DESENVOLVIMENTO 71
10.1 NPDDESKTOP 71
10.1.1 USURIO 72
10.1.2 TCNICO 74
10.1.3 SOLICITAO 76
10.1.4 CENTRO ESETORES 77
10.2 NPDMBILE 78
10.2.1 SOLICITAES 79
11 DIFICULDADESE TRABALHOSFUTUROS 86
11.1 DIFICULDADESENCONTRADAS 86
11.2 TRABALHOSFUTUROS 86
CONCLUSO 88
REFERNCIASBIBLIOGRFICAS 89
APNDICES 93
APNDICE A USO DEDIAGRAMASNO SISTEMA 93
DIAGRAMASDECASO DE USO 93
DIAGRAMA DECLASSES 95
10
DIAGRAMA DESEQUNCIA 96
APNDICE B - TABELASDO BANCO DE DADOSDO SISTEMA 97

11
NDICE DE FIGURAS

Figura 1 - Palm OS 5.4 [9] ________________________________________________________________ 27
Figura 2 - Conjunto de Aplicaes Windows Mobile [11] _______________________________________ 29
Figura 3 - Conectividade (GPRS, WIFI) , Internet Explorer e Excel [13] _____________________________ 30
Figura 4 NSBasic [19] __________________________________________________________________ 34
Figura 5 - PDA Toolbox [21] _______________________________________________________________ 36
Figura 6 PocketStudio [19] ______________________________________________________________ 38
Figura 7 - Satellite Forms [23] _____________________________________________________________ 40
Figura 8 CodeWarrior [25] ______________________________________________________________ 41
Figura 9 - Embedded Visual Basic __________________________________________________________ 43
Figura 10 - HB++2.00 [26] ________________________________________________________________ 44
Figura 11 - Microsoft Visual Studio 2005 [27] ________________________________________________ 46
Figura 12 - Caso de Uso - Tcnico resolvendo o problema do Solicitante __________________________ 48
Figura 13 - Caso de Uso - Tcnico atende solicitao, mas no consegue resolver o problema ________ 49
Figura 14- Caso de Uso - Tcnico no encontra o solicitante ____________________________________ 50
Figura 15- Modelo de Execuo do .Net Framework [29] _______________________________________ 56
Figura 16 - Componentes do SQL Server 2005 [30] ____________________________________________ 58
Figura 17 - JUDE Community ______________________________________________________________ 60
Figura 18 - Modelo ADO.NET com acesso nativo [36] __________________________________________ 63
Figura 19 - Acesso nativo ao SGDB (Alto desempenho) [31] _____________________________________ 64
Figura 20 - Modelo de acesso a dados (DataReader e DataSet) [36] _____________________________ 67
Figura 21 - Viso simplificada Data Set [36]__________________________________________________ 68
Figura 22 - Viso simplificada do Data Set [36] _______________________________________________ 69
Figura 23 - TableAdapter Configuration Wizard do Visual Studio 2005 ____________________________ 70
Figura 24 - NPD Desktop - Cadastrar Usurio ________________________________________________ 73
Figura 25 - NPD Desktop - Formulrio para cadastrar novo tcnico ______________________________ 74
Figura 26 NPD Desktop Formulrio para cadastrar o horrio do tcnico _________________________ 75
Figura 27 - NPD Desktop - Formulrio para cadastrar nova solicitao ___________________________ 76
Figura 28 - NPD Desktop - Formulrio que lista todas as Solicitaes _____________________________ 76
Figura 29 - NPD Desktop - Formulrio de cadastro de setores ___________________________________ 77
Figura 30 - NPD Desktop - Formulrio que Lista Centros cadastrados _____________________________ 78
Figura 31 - Tela de Entrada do NPD Mobile __________________________________________________ 79
Figura 32 - Tela Principal do NPD Mobile ____________________________________________________ 80
Figura 33 - Sequncia de aes partindo da tela principal at a tela de solicitaes pendentes por centro
______________________________________________________________________________________ 81
Figura 34 - Sequncia de aes - visualizando em detalhes _____________________________________ 82
Figura 35 - Seqncia de Aes - Alterando os dados __________________________________________ 83
Figura 36- Interface principal depois de terem sido feitas as modificaes na solicitao da Figura 35 -
Seqncia de Aes - Alterando os dados ___________________________________________________ 84
Figura 37 - Caso de Uso Controle de Solicitaes ______________________________________________ 93
Figura 38 - Caso de uso detalhado do sistema ________________________________________________ 94
Figura 39 - Diagrama de classes do sistema _________________________________________________ 95
Figura 40 - Diagrama de Sequncia do sistema _______________________________________________ 96
Figura 41 - Tabelas do Banco de Dados do Sistema ___________________________________________ 97

12

NDICE DE TABELAS


Tabela 1 NSBasic [19] [20] ______________________________________________________________ 33
Tabela 2- PDA Toolbox ___________________________________________________________________ 35
Tabela 3 - PocketStudio __________________________________________________________________ 37
Tabela 4 - Satellite Forms_________________________________________________________________ 39
Tabela 5 - CodeWarrior __________________________________________________________________ 41
Tabela 6 - Embedded Visual Tools __________________________________________________________ 42
Tabela 7 - Visual Studio 2005 _____________________________________________________________ 45
Tabela 8 - -Comparativo DataSet x DataReader [31] __________________________________________ 65
Tabela 9 - Detalhamento do DataReader (Conectado) _________________________________________ 66
Tabela 10 - Detalhamento DataSet (Desconectado) [31] _______________________________________ 66

13

LISTA DE ABREVIATURAS E SIGLAS



Wi-Fi - Wireless Fidelity
TI - Tecnologia da Informao
NPD - Ncleo de Processamento de Dados
UFPI - Universidade Federal do Piau
PDA - Personal Digital Assistant
CPU - Central Processing Unit
GSM - Global System for Communication
CDMA - Code Division Multiple Access
gps - Global Positioning System
gprs - General Packet Radio Services
CE - Compact Edition
PC - Persolnal Computes
TV - Televiso
DVD - Digital Video Disc
API - Application Program Interface
PDB - Palm DataBase
PRC - Palm Resource
XML - eXtensible Markup Language
IDE - Integrated developmemt environment
IBM - Industrial Business Machines Company
ASP - Active Server Pages
SQL - STRUCTURED QUERY LANGUAGE
COM+ - Component Object Model
CLR - Comon Language Runtime
DLL - Dymanic Link Library
JIT - Just In Time
VB.NET - Visual Basic .NET
UML - Unified Modeling Language
HTML - Hipertext Markup Language
JPG - Joint Photographic Group
PNG - Portable Network Graphics
ADO - ActiveX Data Objects
SGBD - Sistema de Gerenciamento de Banco de Dados
OLEDB - Object Linking and Embedding for Databases
ODBC - Open DataBase Connectivity
SOAP - Simple Object Access Protocol
CCA - Centro de Cincias Agrrias
CCN - Centro de Cincias da Natureza
CCHL - Centro de Cincias Humanas e Letras
CT - Centro de Tecnologia
CCS - Centro de Cincias da Sade
ADM - Administrao
14






RESUMO




O mercado corporativo, de olho na revoluo dos computadores por-
tteis, entendeu que eles poderiam proporcionar-lhes um ganho de produtivi-
dade em atividades onde a coleta externa de informaes, aliada necessida-
de de permanecer em contato com o escritrio central era demorada ou repleta
de falhas, pois utilizavam processos manuais como papel, fax ou uso constante
do telefone.
O Ncleo de Processamento de Dados da Universidade Federal do
Piau continua utilizando processos manuais para controle de prestaes de
servios. No intuito de acompanhar a tecnologia e aumentar a produtividade, foi
desenvolvido, neste trabalho, um sistema que automatiza esse controle. Para
isso foi necessrio um estudo das tecnologias necessrias para o seu desen-
volvimento e ao final, a implementao de duas aplicaes chamadas de NPD
Desktop e NPD Mbile, que executam, respectivamente, em Windows XP e
Windows Mobile 5.0.

Palavras-chave: Mobilidade, Computao Mvel, Windows Mobile,
Pocket Pc, .Net Framework, .Net Compact Framework, SQL Server 2005, Vi-
sual Studio 2005, NPD, UFPI.
15






ABSTRACT




The corporative market, of eye in the revolution of the portable com-
puters, understood that they could provide a profit to them of productivity in ac-
tivities where the external collection of information, allied to the necessity to re-
main in contact with the central office was delayed or full of imperfections,
therefore they used manual processes as paper, fax or constant use of the tele-
phone.
The Ncleo de Processamento de Dados of the Universidade Feder-
al do Piau continues using manual processes for control of renderings of ser-
vices. In intention to follow the technology and to increase the productivity, it
was developed, in this work, a system that automatizes this control. For this it
was necessary a study of the necessary technologies for its development and to
the end, the implementation of two applications called NPD Desktop and NPD
Mobile that they execute, respectively, in Windows XP and Windows Mobile 5.0.

Keywords: Mobility, Mobile Computation, Windows Mobile, Pocket Pc, .Net
Framework, .Net Compact Framework, SQL Server 2005, Visual Studio 2005,
NPD, UFPI.
16

1 INTRODUO


Desde o incio da dcada de 80, o mundo tecnolgico vem evoluindo
constantemente. As necessidades vo surgindo e o homem procurando solu-
es. J no basta apenas o trabalho humano, a necessidade do uso de m-
quinas aumenta todos os dias. O mundo atual depende inteiramente do compu-
tador, ele est presente nas empresas, instituies de ensino, residncias e em
qualquer lugar que imaginarmos.
Nesta primeira dcada do sculo XXI, um novo tipo de tecnologia es-
t em ascenso no mercado - a tecnologia mvel. A sua exploso nos ltimos
anos abriu um universo de possibilidades para os desenvolvedores de aplicati-
vos. Entretanto, apesar dos recursos estarem disponveis, o mercado para apli-
caes mveis ainda no foi devidamente explorado. Alm disso, a diversi-
dade de plataformas a ser integradas, a preocupao com o desempenho e os
custos de implementao e operao so desafios a serem considerados [1].
A tecnologia mvel usada no ambiente organizacional fornece agili-
dade, economia e inovao na integrao entre a empresa e o seu cliente. Po-
de ser incorporada em diversos setores da empresa desde vendas, prestao
de servios e logstica at relacionamento e marketing.
17
1.1 MOBILIDADE


Uma das demandas para TI (tecnologia da informao) disponibili-
zar informaes e servios atravs de diversos canais e dispositivos, ou seja,
cada vez mais existem usurios que esto conectados, que tm um telefone
com acesso a internet, com memria para fazer processamento. Eles querem
utilizar essa capacidade, que na maior parte do tempo desperdiada, e apro-
veitar para usar aplicaes. E o que se constata que boa parte do tempo es-
sa capacidade de processamento dos dispositivos mveis no bem aprovei-
tada e os desenvolvedores acabam fazendo os tradicionais tipos de sistemas,
cliente-servidor, web, etc. para computadores pessoais. interessante
aproveitar essa possibilidade de negcio, colocar em prtica e criar novas
aplicaes.
Mobilidade muito importante, na medida em que o tempo passa, os
negcios esto globais [2]. H uma necessidade de troca de informao e de
seu acesso de qualquer lugar, conseqentemente, o aumento de receitas e a
reduo de custos, porque toda vez que um usurio no pode atuar em alguma
informao por ele no estar na empresa ou no ter acesso, isso significa mais
tempo que est levando para realizar alguma operao e mais tempo, conse-
qentemente, significa um gasto maior de dinheiro. Portanto, as empresas es-
to se preocupando com isso cada vez mais.
No s as empresas, mas no mercado est ocorrendo o nascimento
de servios de acessos informao sem fio. Os aeroportos, shoppings, cy-
bercafs j tm acesso Internet sem fio. Wi-Fi uma realidade nos escrit-
rios, e todos os dias novas infra-estruturas sem fio esto sendo disponibilizada.
Isso mostra que a mobilidade uma necessidade grande.
Essa realidade vai impactar a maneira que os usurios trabalham,
pois comea a se tornar possvel a entrega de novos tipos de aplicativos para
o usurio, onde ele no tinha como usar um computador. Alguns exemplos po-
dem ser citados:
Profissionais que fazem entregas;
18
Mdicos dentro de hospitais;
Garons de restaurantes;
Vendedores e representantes comerciais;
Para esses tipos de usurios, utilizar um notebook complicado,
pois um equipamento muito grande que corre o risco de cair e sofrer um im-
pacto, logo pode ser danificado. Alm disso, a bateria no tem grande durao,
e s vezes possvel colocar na mo deste usurio um dispositivo mvel ou
um telefone celular, que so dispositivos mais compatveis com o tipo de ativi-
dade que o usurio faz no dia-a-dia, e carregar as aplicaes l dentro. Est
ocorrendo uma proliferao dos novos dispositivos digitais, desde tocadores
portteis de msica at celulares de ultima gerao com capacidades grficas,
acesso a internet, e esses dispositivos podem se tornar uma plataforma para
nossas aplicaes. Essa mais uma oportunidade de negcios.
A ultima dcada (1990-1999) foi a dcada da infra-estrutura. O que,
de fato, ocorreu, foi a introduo da computao na empresa, na escola, em
casa. Foi estabelecida, tambm, uma interface grfica para fazer o computador
mais amigvel e a internet como meio de comunicao. Tudo isso instituiu o
acesso mais fcil tecnologia.
A dcada atual pode ser considerada como a dcada digital (2000-
2009). Nos ltimos anos ocorreu uma proliferao dos dispositivos inteligentes,
dando oportunidades aos usurios de novas experincias, com nfase em co-
nectividade, e aos desenvolvedores, novas oportunidades de negcio [3].







19
2 JUSTIFICATIVA


O mercado de trabalho exige cada vez mais agilidade e organizao
por parte das empresas. A tecnologia ajuda s empresas a cumprirem a grande
demanda do trabalho apresentando solues para essa exigncia do mercado.
O mercado corporativo, de olho na revoluo dos computadores por-
tteis, entendeu que eles poderiam proporcionar-lhes um ganho de produtivi-
dade em atividades onde a coleta externa de informaes, aliada necessida-
de de permanecer em contato com o escritrio central era demorada ou repleta
de falhas, pois utilizavam processos manuais como papel, fax ou uso constante
do telefone. Quem nunca viu um vendedor externo passando pedidos por tele-
fone sua central, ou ainda aquela pilha de fax para a o seu processo de pres-
tao de servios, pois teve um aumento significativamente grande das mes-
mas, dificultando sua organizao e agilidade. Alm disso, visa buscar um mai-
or controle sobre as informaes que trafegam junto ao seu corpo tcnico, e ao
mesmo tempo, propiciar uma reduo no tempo de atendimento de cada re-
quisio de servio em relao ao modelo tradicional (manual) utilizado atual-
mente. Visa, desta forma, acelerar o processo de envio de informaes, dos
pontos mais distantes da Universidade Federal para o NPD (Ncleo de Proces-
samento de Dados) e vice-versa.
O projeto, alm de atingir uma necessidade do Setor, teve ainda
como proposta de igual significncia, o de satisfazer a exigncia acadmica do
curso de Bacharelado em Cincia da Computao da UFPI. Demonstramos
assim, os conhecimentos adquiridos ao longo do curso e das atividades aca-
dmicas realizadas no decorrer deste, conhecimentos estes, imprescindveis
para guiarmos o sucesso no exerccio efetivo de nossas aes profissionais.
Trata-se de um trabalho construdo a partir da orientao de um professor ori-
entador e com o apoio dos colegas, que o enriqueceram com sugestes.
20
2.1 OBJETIVOS


O objetivo geral deste trabalho o estudo de desenvolvimento para
dispositivos mveis aplicado a uma soluo do controle dos servios do Ncleo
de Processamento de Dados da Universidade Federal do Piau, em substitui-
o do trabalho manual l existente.
Os objetivos especficos so:
Anlise de Sistemas Operacionais de dispositivos
mveis;
Analisar as principais ferramentas disponveis para
implementao de aplicaes para PDAs;
Pesquisar sobre as linguagens suportadas no de-
senvolvimento;
Escolher a ferramenta e o sistema operacional que
melhor se adequarem implementao do que proposto no ob-
jetivo geral deste Projeto;
Construir aplicaes mveis;
Implementar armazenamento local de dados em ser-
vidores.
Implementar operaes de dados entre dispositivos
mveis e servidores atravs de conexes de rede sem fio.
Elaborar um estudo de caso do funcionamento da
prestao de servios do NPD;
Implementar o sistema como um todo.
Para alcanar os objetivos propostos, este trabalho apresenta o pro-
jeto e a implementao de duas aplicaes, uma aplicao para um computa-
dor desktop, que ser utilizada como servidor, e uma aplicao para um dispo-
sitivo mvel, que far as transaes de dados via rede sem fio. Os sistemas
sero mais bem detalhados nos prximos captulos.
O captulo 3 faz um apanhado dos sistemas computacionais mveis,
suas vantagens, problemas e situao atual de mercado. O captulo 4 fala dos
21
dispositivos mveis e faz uma breve descrio de seus sistemas operacionais.
O captulo 5 descreve vrias ferramentas de desenvolvimento para os devices,
destacando suas principais caractersticas. O captulo 6 apresenta o estudo de
caso feito para iniciar o desenvolvimento do sistema. O captulo 7 contm o
estudo de novas tecnologias necessrias para a implementao das aplica-
es. O captulo 8 contm as caractersticas das ferramentas utilizadas para a
modelagem. O captulo 9 contm um estudo das tecnologias utilizadas para
acesso a dados neste trabalho. No captulo 10, os sistemas implementados so
descritos detalhadamente, bem como seus mdulos. Finalmente, no captulo
11 so feitas as consideraes finais e sugeridos trabalhos futuros. No final do
trabalho monogrfico, esto os anexos descrevem o funcionamento do sistema
atravs de diagramas e tabelas.
22
3 SISTEMAS COMPUTACIONAIS MVEIS



Segundo Mendona [4], Sistemas Computacionais Mveis so sis-
temas computacionais que podem facilmente ser transportados no espao fsi-
co ou cujos recursos podem ser utilizados enquanto eles esto sendo movidos.
Como estes sistemas prevem tal mobilidade, eles normalmente oferecem re-
cursos e caractersticas que no encontramos em sistemas comuns, como por
exemplo, [4]:
Monitoramento do nvel de energia e preveno de perda de dados em
caso de pane de energia;
Armazenamento de dados local e/ou remoto, atravs de conexo com
ou sem fio;
Sincronizao de dados com outros sistemas;
Entre outros;
O objetivo principal da tecnologia sem fio prover mobilidade aos
seus usurios, tornando mais simples e rpido o acesso s informaes.


3.1 VANTAGENS


Segundo Mendona [5], a idia bsica da mobilidade em TI (Tecno-
logia de informao) disponibilizar a informao em qualquer lugar, em qual-
quer dispositivo, no momento em que o usurio necessitar, de forma que ele
produza de forma mais eficiente, com menos erros e com processos mais -
geis. Para as empresas, isto significa no s o aumento da produtividade, mas
o aumento do faturamento e a reduo de custos.
A maior vantagem do uso de aplicaes mveis vem da prpria defi-
nio de mobilidade. Num cenrio onde os colaboradores das empresas preci-
sam enfrentar viagens, engarrafamentos e deslocamentos constantes, a possi-
23
bilidade de acessar relatrios de vendas, agenda de compromissos, entre ou-
tras informaes relevantes ao desempenho de suas funes, a qualquer mo-
mento, vital para o crescimento das organizaes [1].
Segundo Amorim [1], uma outra vantagem muito importante que
no preciso necessariamente criar aplicaes novas, pode-se simplesmente
adicionar mdulos de mobilidade s solues convencionais existentes.
Desta forma, o desenvolvedor pode projetar solues mveis com-
pletamente integradas aos recursos j em operao na organizao do cliente.
Esta prtica permite agregar valor s ferramentas pr-existentes evitando o
descarte de tecnologia e os custos desta operao. O desenvolvedor ganha
flexibilidade ao negociar novos projetos contornando a resistncia natural dos
clientes a mudanas drsticas.


3.2 PROBLEMAS


De acordo com Mendona [4], apesar de todos os benefcios que a
mobilidade pode trazer, existem desafios e barreiras que precisam ser trans-
postos para viabilizar certas solues deste tipo. Alguns deles podem ser enu-
merados aqui:
Custo de hardware - Para certas aplicaes, so demandados certos
dispositivos que tm um custo ainda relativamente elevado.
Baixo poder de processamento - Como os dispositivos mveis tem re-
serva de energia limitada, para garantir uma autonomia de uso razovel,
a sada cortar em poder de processamento das CPUs (Central Pro-
cessing Unit). Isto faz com que no seja prtico realizar certos proces-
samentos mais pesados nos dispositivos mveis.
Mo-de-obra insuficiente - Ainda h uma cultura na rea de TI de que
desenvolver para dispositivos mveis a mesma coisa de desenvolver
para desktop. O fato que h pouca gente no mercado preparada para
desenvolver solues mveis.
24
Interoperabilidade - A comunicao de aplicaes mveis com sistemas
j existentes nas empresas um grande desafio, principalmente porque
tais sistemas no foram construdos considerando este tipo de interao.
Cultura. Tanto as empresas de desenvolvimento quanto os usurios ain-
da no tm uma cultura de acessar informaes de forma mvel.


3.3 SITUAO ATUAL



A tecnologia mvel, considerando o celular, cresceu de tal forma,
que est presente na grande maioria das famlias brasileiras, mas a cultura do
uso de computadores portteis, conhecidos como handlhelds, ainda encontra-
se em fase de ascenso. O Nmero de empresas que trabalham com desen-
volvimento de solues mveis ainda pequeno, algumas podem ser destaca-
das:
Amsyst Solues Mveis: Situada em Recife, a Amsyst uma em-
presa inovadora e ousada que tem como foco principal o desenvol-
vimento de aplicaes para dispositivos portteis, desenvolvendo
tambm solues corporativas e prestando consultorias especializa-
das. A mobilidade das solues desenvolvidas viabiliza o acesso a
informaes precisas no momento certo e em qualquer lugar.
Dentro do universo de dispositivos com os quais a Amsyst trabalha
encontram-se: PDAs (Personal Digital Assistent), Handhelds, Celula-
res, SmartPhones, TabletPCs, alm de quaisquer outros equipamen-
tos que possibilitem a realizao de tarefas de forma mvel. Alm de
desenvolver solues para estes equipamentos, a Amsyst tambm
desenvolve outros sistemas de suporte para tais solues mveis
como sistemas servidores, web, web services, entre outros [6].
Tronsoft Solues em Software: Fundada em Outubro de 1997 e
sediada em Vitria, nasceu para suprir uma grande carncia no mer-
25
cado de desenvolvimento de softwares de qualidade no Estado do
Esprito Santo.
Hoje a TronSoft lder regional do mercado de softwares para res-
taurantes e casas noturnas. Conta ainda com forte presena nas
principais casas noturnas do Brasil. Em seus sistemas utiliza Pocket
PC, aparelhos Celulares, coletores de rdio-freqncia, terminais to-
que-tela e ainda interface de rpida operao em microcomputadores
PC [7].
Cialgica Tecnologia em Informtica - empresa formada por desen-
volvedores experientes em desenvolvimento de solues mveis,
com especial nfase na plataforma PalmOS.
A Cialgia est situada em Bragana Paulista e atua no desenvolvi-
mento de aplicaes para plataformas mveis desde 1998 [8].

26
4.0 PDAS E SEUS SISTEMAS OPERACIONAIS


Um PDA (Personal Digital Assistent) pode ser visto como um compu-
tador de mo, com diversas funcionalidades equivalentes s de um computador
desktop, com a vantagem adicional de possibilitar mobilidade ao usurio. Ele
est inserido na categoria dos dispositivos mveis ou handhelds.
A liderana do mercado de PDAs no Brasil est dividida entre equi-
pamentos que utilizam os sistemas operacionais Palm Os e Windows Mobile.
Segue abaixo uma anlise destes sistemas operacionais e de algumas ferra-
mentas de desenvolvimento para os mesmos.


4.1 PALM OS


Palm OS um sistema operacional desenvolvido pela PalmSource,
Inc. para os Assistentes Pessoais Digitais (PDA), ver Figura 1 - Palm OS 5.4 [9].
Um sistema monotarefa que fcil de ser utilizado e possui uma grande
quantidade de aplicativos disponveis. Possui APIs (Application Program Inter-
face) e drivers para suporte ao padro de comunicao wireless 802.11b, alm
de trabalhar com Bluetooth, GSM, CDMA, e 2.5G/3G [10].
27


Figura 1 - PalmOS5.4 [9]


4.2 WINDOWS MOBILE


O Windows Mobile um sistema operacional de 32 bits, multitarefa e
desenvolvido para rodar em dispositivos mveis como Pocket PCs,
smartphones, aparelhos de multimdia em geral. Ele proporciona uma interface
intuitiva e de fcil aprendizado, incorporada de muitos elementos dos familiares
Windows [11].
Em termos de hardware, existem basicamente trs tipos de disposi-
tivos. O primeiro o Pocket PC, um dispositivo robusto, com tela sensvel ao
toque e que utiliza um tipo de caneta como meio de entrada de dados.
O outro o Smartphone, que o device mais popular hoje em dia.
Alm de ser um PDA, possui funes de telefonia. Sua aparncia semelhante
de um telefone celular, alm disso, ele tem todos os recursos de um PDA,
exceto a tela sensvel ao toque. No possvel trabalhar com a caneta, as te-
clas do Smartphones so os principais meios de entrada de dados.
Um outro dispositivo, tambm bastante popular hoje em dia o Poc-
ket PC Phone Editon. um device que um PDA, tem as mesmas funcionali-
dades do Pocket PC, inclusive a tela sensvel ao toque, mas acrescidos de fun-
cionalidades de um telefone. Existem modelos TDMA [12] e GSM [12] e eles
28
podem, tambm, ter acesso a GPRS [12]. recomendado pra quem quer as
funcionalidades de um Pocket PC, porm no quer perder a conectividade.
Existem outros modelos interessantes, como os modelos industriais.
Eles so dispositivos mais robustos, que agentam pancadas, altas temperatu-
ras e trabalham sobre altos efeitos de radiao, mas tambm funcionam como
PDAs. Ele executa exatamente o mesmo Windows Mobile, somente o hardwa-
re diferente. Existem dispositivos deste tipo que so usados pelo exrcito
americano, para isso so feitos testes como, por exemplo, colocar o dispositivo
no cho e jogar uma bomba em cima. Se ele continuar funcionando normal-
mente, um PDA que pode ser usado pelo exrcito americano.
O Windows Mobile baseado no Windows CE, que pode ser enten-
dido como a verso reduzida ou compactada do Windows. Ou seja, ele o
mesmo Windows j conhecido pelos usurios: janelas, botes, sistema de ar-
quivos, etc., s que de forma reduzida. O Windows CE d origem s verses
do Windows Mobile para Smartphone, Pocket PC, Pocket PC Phone Edition
etc.. O Windows CE no usado s para Windows Mobile, , tambm, para
vrios tipos de dispositivos como, relgio, aparelhos de DVD, de TV a cabo,
etc. Muitos aparelhos que tm uma interface mais rica rodam Windows CE.
No vai ser encontrado o logo do Windows, ou o boto iniciar, mas os servios
oferecidos so fornecidos pelo Windows CE.
importante frisar que o Windows CE tem uma API comum a qual-
quer dispositivo, ou seja, seja uma verso em PDA com Windows Mobile, seja
Windows CE rodando em aparelhos de DVD, a API a mesma. Isso interes-
sante, pois permite que o cdigo seja portado para diferentes dispositivos sem
muito custo, quando comparado API.
O Windows Mobile tem outra caracterstica muito importante: ele pa-
droniza o acesso ao hardware. Existem diversos hardwares, de diversos fabri-
cantes, que executam o mesmo sistema operacional. Quando uma aplicao
desenvolvida, no h preocupao quanto a este aspecto. Se um desenvolve-
dor quiser, por exemplo, acessar a cmera, ele possui uma API para acess-la,
no importa em qual dispositivo, qual hardware o fabricante utilizou ou qual
software ele implementou para acessar a cmera.
29
O sistema operacional Windows Mobile tem a API para acessar re-
cursos desse tipo. No s a cmera, mas tambm GPS, recursos de telefone e
rede GPRS [12], leituras de portas, etc. Todos esses acessos so servios do
Windows Mobile que trata diretamente com o hardware. Isso acaba tornando o
desenvolvimento para Windows Mobile muito mais fcil que um desenvolvimen-
to orientado a outra plataforma. Diminuindo, assim, o trabalho na implementa-
o e possibilitando a criao de um software que rode em qualquer dispositivo
com Windows Mobile, mesmo que sejam de diferentes fabricantes. [2]
A plataforma Windows Mobile lder de mercado. At o ano de
2006, havia concorrncia entre equipamentos que vinham com Palm Os no
mercado de PDAs, mas com o encerramento da produo do Palm OS pela
PalmSource, o Windows Mobile tornou-se padro de mercado intacto. Quanto
a termos de hardware, os dispositivos com Windows Mobile contm a maior
gama de fabricantes na rea de PDAs e smartphones, entre eles esto a HP,
Dell, Compac, Motorola, etc.
O Windows Mobile permite o acesso s verses de bolso de pro-
gramas Microsoft que em sua interface so naturalmente familiares. Alguns dos
aplicativos inclusos nos portteis so [11]:
Pocket Word
Pocket Excel
Pocket Outlook
Pocket PowerPoint
Pocket Internet Explorer
MSN Messenger
Microsoft Reader
Windows Media Player

Figura 2 - Conjunto de Aplicaes Windows Mobile [11]

30

Figura 3 - Conectividade (GPRS, WIFI) , Internet Explorer e Excel [13]


31
5.0 FERRAMENTAS DE DESENVOLVIMENTO


Neste captulo ser feita uma anlise de vrias ferramentas de de-
senvolvimento de aplicaes mveis, dando nfase para o desenvolvimento
para os sistemas operacionais Palm Os e Windows Mobile.


5.1 CONCEITOS BSICOS


Antes de iniciar a apresentao das linguagens e ferramentas mais
conhecidas, trs conceitos bsicos que ajudaro na avaliao das ferramentas
disponveis, devem ser apresentados. Estes conceitos so [14]:
PDB: o banco de dados nativo do sistema operacional PalmOS.
Tambm pode ser utilizado em outros sistemas operacionais, uma vez que seu
formato conhecido. A linguagem de programao deve ser capaz de prover
acesso aos dados deste banco de dados de maneira fcil e eficiente
PRC: PRC a extenso do aplicativo desenvolvido para executar
no sistema operacional PalmOS. Em linguagem simplificada, equivalente ao
EXE to famoso no ambiente Windows [14].
Algumas ferramentas simplesmente geram um PRC ou um EXE, a-
ps o processo de compilao, que pode ser instalado diretamente no disposi-
tivo. Outras trabalham com runtime, ou seja, em modo interpretado. Geralmen-
te o runtime instalado no aparelho durante o processo de instalao da pr-
pria ferramenta. Neste caso, ao se desenvolver aplicaes na ferramenta estas
no iro funcionar diretamente no aparelho. Para que elas funcionem devem
ser executadas sobre o interpretador ou o runtime, pois os arquivos gerados
pelas ferramentas s so reconhecidos por eles. Ao ser executado, o runtime
aciona o aplicativo, interpretando os comandos e executando-o [14]. Assim,
pode-se comear a avaliar as ferramentas existentes pela eficincia que elas
provem no acesso a banco de dados e tambm com relao ao formato de
32
arquivos que elas geram, ou seja, arquivos nativos para uma plataforma espe-
cfica ou arquivos em um formato intermedirio que so reconhecidos por um
ambiente de runtime.
.Net Compact Framework: O .Net Compact Framework uma
framework que disponibiliza um conjunto de funcionalidades que facilitam o
desenvolvimento de aplicaes para dispositivos mveis. A verso inicial do
framework foi lanada em meados de 2002/2003 e basicamente foi desenvol-
vido para trazer o mundo gerenciado do .NET Framework para o desenvolvi-
mento de aplicativos mveis, j que antigamente, quem programava para dis-
positivos mveis era obrigado a usar cdigo nativo, como C++ou Visual Basic,
acarretando todos os problemas que tm no cdigo nativo [15].
O uso deste framework permite que as aplicaes criadas possam
correr numa gama alargada de dispositivos que tenham por base o sistema
operacional Windows Mobile.
O .Net Compact Framwork permite que os programadores de aplica-
es tenham acesso a um vasto conjunto de funcionalidades, como por exem-
plo, os web services [16], XML [17], Windows Forms [18].


5.2 FERRAMENTAS


Agora que j so conhecidos os conceitos bsicos, possvel des-
crever cada ferramenta em particular. Os tpicos abaixo referem-se a estas
ferramentas.

33
5.2.1 NSBASIC



O NSBasic (ver Figura 4 NSBasic [19]) uma ferramenta simples pa-
ra o desenvolvimento de aplicaes para os PDAs. Apesar de ser uma ferra-
menta baseada na linguagem Basic, ela no obsoleta ou indicada a novatos.
Alm de muitas funes contidas na linguagem, o NSBasic permite a utilizao
de Shared Libraries escritas em C, acesso s rotinas da API do PalmOS e
tambm que se adicione novas funes linguagem, inclusive escritas em C. A
Tabela 1 NSBasic [19] [20]detalha esta ferramenta.

Tabela 1 NSBasic [19] [20]
NSBASIC
Sistema Operacio-
nal

PalmOS, Windows CE e Apple Newton
Custo
Uma verso demo do produto pode ser adquirida com
validade por 30 dias. A verso registrada custa $
150,00 (cento e cinqenta dlares).
Caractersticas




Apesar de possuir um Runtime de aproximadamente
85K, as aplicaes rodam com um desempenho muito
bom e no h custo para distribuio deste Runtime.
possvel tambm gerar executveis nativos, onde o
runtime adicionado ao executvel. Isto ideal para o
caso de se estiver distribuindo uma aplicao comerci-
almente, mas quando se estiver rodando duas ou mais
aplicaes desenvolvidas com o NSBasic o ideal ins-
talar o runtime para que ele seja compartilhado pelas
duas aplicaes. Outra caracterstica importante que
o desenvolvimento de programas no NSBasic basea-
do em um nico ambiente visual.

34


Figura 4 NSBasic [19]


35
5.2.2 PDA TOOLBOX


O PDA Toolbox proporciona uma flexibilidade muito pequena, mas
tem o poder de desenvolver aplicativos simples e funcionais. A Tabela 2- PDA
Toolbox mostra as caractersticas da ferramenta e a Figura 5 - PDA Toolbox [21]
apresenta sua interface.


Tabela 2- PDA Toolbox
PDA TOOLBOX
Sistema Operacio-
nal

PalmOS
Custo
Custa $25,00 (vinte e cinco dlares)
Caractersticas




As aplicaes desenvolvidas apresentam executveis
extremamente pequenos e rpidos. O desenvolvimento
realizado em um ambiente visual, ou seja, no ne-
cessrio escrever nenhuma linha de cdigo para obter
bons resultados [20].
Onde encontrar Disponvel em http://www.pdatoolbox.com



36

Figura 5 - PDA Toolbox [21]



5.2.3 POCKETSTUDIO


Construda pela Pocket-Technologies, uma empresa localizada no
Estado de Minnesota nos Estados Unidos e formada por desenvolvedores ex-
perientes e profissionais, o PocketStudio (apresentado na Figura 6 PocketStu-
dio [19] muito mais que uma simples IDE, conta com um compilador rpido,
que gera aplicaes nativas PalmOS com velocidade e tamanho comparveis
s geradas por compiladores C e sem a necessidade de runtime. Possui supor-
te aos mais diversos perifricos e equipamentos como impressoras, equipa-
mentos Symbol com leitor de cdigos de barras e celulares. A Tabela 3 - Pock-
etStudio mostra as caractersticas da ferramenta.





37
Tabela 3 - PocketStudio
POCKETSTUDIO
Sistema Operacional
PalmOS
Custo A verso mais completa vendida por $249,99 (duzentos e qua-
renta e nove dlares e noventa e nove centavos de dlar), enquan-
to a mais simples pode ser comprada por $69,99 (sessenta e nove
dlares e noventa e nove centavos de dlar).
Caractersticas [19]



Acesso a toda API do Sistema Operacional PalmOS.
Gera executveis nativos PalmOS sem necessidade de runtime.
Permite instrues assembler no meio do cdigo (inline assem-
bler).
Suporte a PalmOS 2.0 a 5.0.
Suporte a HandEra, Kyocera, HandSpring, Sony, etc.
Acesso Bancos de Dados mveis como o Oracle Lite e IBM DB2.
Suporte a impressoras de qualquer tipo atravs do acesso aos
gerenciadores de impresso mais poderosos do mercado, como o
IRPrint, PrintBoy e PalmPrint.
Faz o desenvolvimento pelas units PSLibrary (interface de acesso
objetos visuais do formulrio e tambm bancos de dados) que
facilitam bastante o trabalho do desenvolvedor;
Database Wizard, cria uma aplicao bsica de entrada de dados
em segundos, com criao visual do banco de dados.
Aceita plugins no IDE para expanso das caractersticas da ferra-
menta.
Conduit Wizard, auxilia na criao dos conduits para seus bancos
de dados. Conduits so aplicaes que permitem a sincronizao
de dados dos sistemas PalmOS com o computador desktop.
Web Update, atualizao da ferramenta diretamente pela Internet.
Integrao com o emulador do PalmOS, inclusive para depurao
da aplicao.
Ambiente similar ao do Delphi.
Ferramenta baseada na linguagem Pascal;
Depurao passo-a-passo.
Editor de texto que destaca a sintaxe da linguagem. [20]


38

Figura 6 PocketStudio [19]



5.2.4 SATELLITE FORMS MOBILEAPP DESIGNER


Ferramenta criada pela Pumatech que tem adequado bastante des-
taque no desenvolvimento de aplicaes para o mercado corporativo. Este des-
taque ocorreu devido ao fato de ele ser uma ferramenta de desenvolvimento
rpido (RAD), com vrias extenses que podem ser adquiridas para estender a
sua funcionalidade e com suporte aos mais famosos sistemas operacionais
para PDAs, ou seja, PalmOS e Windows CE. A Tabela 4 - mostra as caracte-
rsticas da ferramenta e a Figura 7 - Satellite Forms [23] apresenta sua interface.
39


Tabela 4 - Satellite Forms
SATELLITE FORMS
Sistema Operacio-
nal

PalmOS e Pocket PC 2002
Custo
A verso completa pode ser adquirida por $795,00 (se-
tecentos e noventa e cinco dlares).
Caractersticas



Linguagem Semelhante ao Visual Basic;
Possui recursos drag-and-drop, de fcil utilizao e cur-
va de aprendizagem rpida;
Possui bibliotecas para a criao de interfaces avana-
das;
Os aplicativos desenvolvidos por ela so baseados em
runtime; [20]
Onde encontrar Disponvel em http://www.satelliteforms.net/


40

Figura 7 - Satellite Forms [23]

5.2.5 METROWORKS CODE WARRIOR


Descrio: Segundo Alexandroni [24], CodeWarrior o ambiente de
desenvolvimento oficial da Palm e o mais famoso ambiente integrado (IDE)
para a linguagem C. A Tabela 5 - CodeWarrior mostra as caractersticas da fer-
ramenta e a Figura 8 CodeWarrior [25] apresenta sua interface.
41

Tabela 5 - CodeWarrior
CODE WARRIOR
Sistema Operacio-
nal

PalmOS
Custo
$499,00 (quatrocentos e noventa e nove dlares)
Caractersticas



O CodeWarrior uma aplicao que oferece suporte
para a criao, compilao e debugging de aplicaes
para o Palm Os, incluindo o Metroworks Constructor que
consiste numa aplicao que ajuda a criao dos obje-
tos da interface e a alterao aos seus atributos.
A documentao relevante s chamadas de funes do
PalmOS, documentao de ajuda, um tutorial , exem-
plos e o ultimo emulador POSE para testar as aplica-
es encontram-se includos nesta ferramenta.


Figura 8 CodeWarrior [25]

42

5.2.6 EMBEDDED VISUAL TOOLS


Conjunto de ferramentas distribudas gratuitamente pela Microsoft
para o desenvolvimento de aplicaes completas para dispositivos baseados
em Windows CE, ver Figura 9 e Tabela 6.
Tabela 6 - Embedded Visual Tools
EMBEDDED VISUAL TOOLS
Sistema Operacio-
nal
Windows CE e variaes
Custo Gratuito
Caractersticas



O Embedded Visual Tools prov duas ferramentas para
o desenvolvimento das aplicaes: o Embedded Visual
C++, baseado no Visual C++ para desktops, e o Em-
bedded Visual Basic, baseado no Visual Basic para
desktops. Alm destas, tambm so disponibilizados
emuladores para o teste de aplicaes [20].

43

Figura 9 - Embedded Visual Basic


5.2.7 O HANDHELD BASIC ++ 2.0


Sistema para desenvolvimento rpido de aplicaes para o sistema
Palm OS, incluindo os modelos com o Palm OS 3.0 at o recente Palm OS 6.1.
Algumas caractersticas da ferramenta [26]:
- Compilador em cdigo 68000, fazendo com que seu projeto seja
compilado em um arquivo .prc, sem a necessidade de runtime para que seja
executado. Seu programa pode chegar a rodar 10 vezes mais rpido do que se
fosse utilizado um runtime;
- Linguagem basic estruturada e orienta por objetos, incluindo vali-
daes, clculos, e controles diversos. Coloque rotinas mais especficas em
mdulos, e classes. Para os usurios acostumados com o Visual Basic muito
fcil aproveitar o cdigo, com poucas mudanas;
- Referncia para a linguagem online e offline, com forum, newslet-
ter, e outros recursos para a troca de dicas;
44
- Fcil de aprender e fcil de utilizar, sem a necessidade de conhe-
cer API's de baixo nvel do Palm OS, diminuindo bastante a curva do aprendi-
zado;
- Suporte a banco de dados e conectividade;
- Suporte nativo para XML. O HB++utiliza o padro XLM para arma-
zenar os dados utilizados em sua aplicao.


Figura 10 - HB++2.00 [26]



5.2.8 MICROSOFT VISUAL STUDIO 2005


O Microsoft Visual Studio 2005 traz um grande nmero de novos re-
cursos na rea de desenvolvimento de dispositivos mveis, que preenchem
uma deficincia que existia anteriormente entre as ferramentas do sistema de
desenvolvimento do Microsoft eMbedded Visual C++. A Tabela 7 mostra as
caractersticas da ferramenta e a Figura 8 CodeWarrior [25]apresenta sua in-
terface.
45
Tabela 7 - Visual Studio 2005
VISUAL STUDIO 2005
Sistema Ope-
racional
Windows XP, Windows CE, Windows Mobile
Custo R$ 1800,00 (um mil e oitocentos reais) verso Professional.
Caractersticas



O Visual Studio permite o desenvolvimento de vrios tipos
de aplicaes, tanto aplicaes para PC, quanto para
Smartphone, Pocket PC e Windows CE;
Suporta as linguagens Microsoft Visual Basic .NET, Visual
C#, Visual C++ e ASP.NET, permitindo a utilizao de
mais de uma linguagem em uma nica aplicao;
Utiliza o Microsoft .NET Compact Framework, Microsoft
Foundation Class Library, active template library, Win32, e
os controles de mobilidade ASP.NET;
Utiliza XML, Web services e Microsoft SQL Server;
Oferece aos usurios a escolha do hardware escrevendo as
aplicaes que funcionam facilmente atravs de toda a linha
dos dispositivos Windows Mobile, so mais de 100 telefo-
nes utilizados por 93 operadoras, em 55 pases e usado por
milhes de pessoas no mundo inteiro;
Acesso s rotinas da API do Windows Mobile;
Prov acesso consistente a uma vasta gama de dispositivos
mveis, incluindo recursos de telefonia, messaging, admi-
nistrao de dados pessoais, trabalho em redes, data Ac-
cess, cmeras, posio, grficos, meios, e centenas de noti-
ficaes do estado e do evento do dispositivo;
Integrao com o SQL Server 2005 Mobile Edition e Micro-
soft BizTalk Server 2006;
Possui emuladores dos dispositivos integrados e podem ser
facilmente utilizados no debbuging;
Com todas as suas facilidades, permite reduo no tempo
de desenvolvimento; [27]
46



Figura 11 - Microsoft Visual Studio 2005 [27]


47
6 ESTUDO DE CASO


O presente trabalho tem como um de seus objetivos, a utilizao na
prtica dos conhecimentos adquiridos com os estudos de desenvolvimento de
aplicaes mveis. Para isto foi feito um estudo de caso do trabalho de presta-
es de servios do Ncleo de Processamento de Dados da Universidade Fe-
deral do Piau. Abaixo segue a descrio do atual funcionamento deste servio,
e, logo depois, prope-se uma soluo para o mesmo, utilizando tecnologia
mvel.


6.1 FUNCIONAMENTO ATUAL DO NPD


A Universidade dividida em vrios centros de ensino e administra-
o. vrios tcnicos atendem aos diversos centros de forma aleatria, depen-
dendo de onde aparecem os problemas. Os funcionrios de cada Centro tele-
fonam ao NPD requisitando um servio, a secretria anota em vrios pedaos
de papis o problema a ser verificado e a sala correspondente. Chegando o
tcnico no seu expediente, ele pega alguns papeis referentes ao centro que
atende e passa em cada sala escrita nos papis para solucionar os problemas.
Ocorre que s vezes o problema no resolvido, ou porque a sala est fecha-
da ou por qualquer outro motivo e, muitas vezes, essa solicitao nunca mais
atendida, pois perde-se facilmente os papeizinhos que vo carregando. Tam-
bm no existe uma forma de dar baixa nas solicitaes e nenhuma previso
de quando elas sero atendidas. Esse conjunto de fatores acaba gerando o
descontentamento por parte de quem solicita os servios. Para uma melhor
compreenso do cenrio, os diagramas de casos de uso mostrados nas figuras
Figura 12, Figura 13 e Figura 14, a seguir, explicam o funcionamento do NPD.

48

Figura 12 - Caso de Uso - Tcnico resolvendo o problema do Solicitante

49

Figura 13 - Caso de Uso - Tcnico atende solicitao, mas no consegue resolver o problema
50

Figura 14- Caso de Uso - Tcnico no encontra o solicitante
51
6.2 O QUE FOI DESENVOLVIDO PARA MELHORAR O FUNCIONA-
MENTO


Durante o decorrer deste Estgio Supervisionado, foi desenvolvido
um sistema que substitui o sistema atual com um ganho considervel na produ-
tividade. A soluo consiste em duas aplicaes que funcionam a partir de uma
rede sem fio Wi-Fi: uma para o servidor (localizado em um computador no
NPD) e; outra para vrios clientes (PDAs em mos dos tcnicos espalhados
pela Universidade). A primeira uma central que ficar monitorando as requisi-
es feitas ao NPD. Em geral, nessa aplicao so cadastradas as solicita-
es, estas so divididas por centro e guardadas no banco de dados, podendo
o cliente, a qualquer momento, acess-las. Alm disso, os clientes podem con-
firmar a soluo de cada problema. O captulo 10 contm uma descrio mais
detalhada do sistema supra citado.

52
7 ESTUDO DE OUTRAS TECNOLOGIAS


Depois de pesquisar sobre vrias ferramentas de desenvolvimento,
decidiu-se desenvolver a aplicao utilizando a linguagem de programao C#
no ambiente Microsoft Visual Studio 2005, tanto a verso desktop quanto a
verso mvel para Pocket PCs. Essa escolha deveu-se, principalmente, inte-
grao do Visual Studio com o desenvolvimento de aplicaes para Windows
XP e Windows Mobile 5.0, e com o Microsoft SQL Server 2005, alm de inme-
ros recursos presentes nesta plataforma, desde funcionalidades e bibliotecas.
Para o desenvolvimento deste trabalho, foram realizados estudos de
vrias tecnologias para um melhor aproveitamento deste conjunto de conheci-
mentos. Estas pesquisas foram efetivadas atravs de solues prticas e tam-
bm tericas, para um maior enriquecimento e esclarecimento desse trabalho
monogrfico.


7.1 A LINGUAGEM C#



A linguagem C#[28] a linguagem mais usada da plataforma .NET
e vai ser utilizada no desenvolvimento do estudo de caso. O C# uma lingua-
gem de programao desenvolvida pela Microsoft, baseada em C/C++, e que
tem grandes similaridades com o J ava. A Microsoft descreve o C#da seguinte
maneira: C# uma linguagem simples, moderna, orientada a objetos e segura,
derivada do C e do C++. C# (pronuncia-se C Sharp') est firmemente implan-
tada na rvore da famlia do C/C++ e familiar aos programadores destas duas
linguagens. O C# tem por objetivo combinar a alta produtividade e simplicidade
do Visual Basic com o potencial do C++.
53
O principal objetivo no ponto de vista do C#foi a simplicidade em de-
trimento da fora bruta. Esta linguagem permite, de um modo geral, tornar o
cdigo mais produtivo e estvel. Suas principais vantagens so [28]:
Simplicidade: Para manter a simplicidade, tudo nesta linguagem
representado por um ponto (.). Mesmo que estejamos diante de classes, refe-
rncias ou qualquer outro tipo de dados, no necessrio nos preocuparmos
com qual operador utilizar. Outro exemplo de simplicidade se d nos tipos de
dados. Em C#, um caracter unicode no mais um wchar_t , mas sim um char
como acontecia no C++. Assim, acaba-se com os tipos unsigned char, signed
char e o wchar_t . Uma terceira prova de simplicidade consiste no fato dos in-
teiros no serem usados como booleanos, o que evita confuses quando se
utiliza os operadores =e ==. Para tal, o C#separa claramente estes dois tipos
de dados, existindo um tipo de dados bool, que apenas pode assumir os valo-
res true ou false e no podem ser convertidos em nenhum outro tipo de dados.
Consistncia: Na linguagem C#, todos os tipos so vistos como
objetos. Pode ser uma classe, uma estrutura ou um vetor, temos a possibilida-
de de tratarmos cada um deles como um objeto. Isto quer dizer que em vez de
colocarmos os conhecidos includes do C (includes de sistema stdlib.h, stdio.h
e string.h ) usamos simplesmente uma declarao que nos d acesso a todos
os objetos e classes contidos nele: using System.
Modernidade: Possui um coletor de lixo (garbage collection) im-
plementado. Tudo o que no referenciado automaticamente removido. O
C#possui tipos de dados seguros para garantir a estabilidade da aplicao.
Ori entao a objetos: Modelo de orientao a objetos, onde toda
classe herda as caractersticas da classe Objetct. Em C#, as propriedades do
polimorfismo, encapsulamento e herana so conservadas. No possvel tra-
balhar com variveis, constantes e funes globais. Ao invs disso, possvel
criar membros de classes estticas, facilitando a leitura e diminuindo a confu-
so de nomes. As classes podem ser definidas como private, protected, public
ou internal. o programador quem detm o controle total do encapsulamento
do cdigo.
54
Suporte de Verso: O C#torna mais fcil a atualizao de verso,
retendo a compatibilidade binria com as classes derivadas j existentes.
Quando introduzido um novo membro na classe pai que igual a outro j
existente numa classe derivada (filha), no resulta qualquer erro. Entretanto,
necessrio saber que a classe deve indicar que o novo mtodo se refira a
uma reescrita ou a um novo mtodo que apenas esconde o mtodo anterior.
Compatibilidade: A linguagem possui total compatibilidade com o
Windows, pois ela possui as quatro APIs mais comuns do Windows.
Flexibil idade: O C#e o COM+criam um ambiente de tipos de da-
dos livres e de gesto. No entanto, tambm verdade que algumas das aplica-
es precisam utilizar o cdigo nativo (cdigo de mquina) por questes de
desempenho ou para usarem APIs mais antigas de outros programas. O C#
permite a declarao no segura das classes e dos mtodos que contm pon-
teiros, estruturas e vetores estticos. Esses mtodos no sero type-safe mas
vo executar dentro do espao de gesto e, no existe, por esta razo, neces-
sidade de impor fronteiras entre cdigo seguro e no seguro.
Unificao do sistema de tipos: Em C# possvel atribuir todos
os valores a uma varivel do tipo object.
Os recursos acima fazem do C#uma linguagem fcil de aprender e
de usar, robusta e com boa performance. Em conjunto com os demais recursos
da arquitetura .NET. Com o C#, possvel criar aplicaes para computadores,
dispositivos mveis, vdeo games, entre outros. [28]


7.2 .NET FRAMEWORK


.Net Framework [29] uma plataforma nica para desenvolvimento e
execuo de sistemas e aplicaes, onde qualquer cdigo gerado para .NET,
pode ser executado em qualquer plataforma ou dispositivo que contenha o .Net
Framework. Como acontece com a plataforma J ava, o programador no preci-
55
sa saber programar para um dispositivo ou sistema operacional especfico. Ele
precisa apenas saber programar para .NET.
A plataforma .NET executada sobre uma CLR (Common Language
Runtime Ambiente de Execuo Independente de Linguagem) interagindo
com uma vasta Coletnea de Bibliotecas. Atualmente, a CLR pode executar
mais de vinte linguagens de programao, interagindo entre si como se fossem
uma s linguagem.
Os programas desenvolvidos para a plataforma .NET so compilados duas ve-
zes, uma na distribuio e outra na execuo, assim como acontece na tecno-
logia J ava (compiladores J IT). Depois de um programa ser escrito (pode ser
escrito em mais de vinte linguagens de programao que esto disponveis
para a plataforma), ele compilado e gerado um cdigo intermedirio em
uma linguagem conhecida como MSIL (Microsof Intermediate Language). Este
novo cdigo gera um arquivo conhecido como Assembly, de acordo com o tipo
de projeto:
EXE - Arquivo Executvel
DLL - Biblioteca de Funes
ASPX - Pgina Web
ASMX - Web Service
Em tempo de execuo do programa, ele compilado novamente, agora pelo
J IT (Just In Time Compiler). A primeira vez que o programa for utilizado, o J IT
compilar, a partir da segunda no ser mais preciso, pois ele usar a mesma
compilao.
Tambm possvel, atravs de algumas ferramentas, compilar o cdigo antes
do tempo de execuo, para que no seja pago o preo do J IT em tempo de
execuo.

56

Figura 15- Modelo de Execuo do .Net Framework [29]
57
7.3. SQL SERVER 2005


O MS SQL Server 2005 [30] um gerenciador de Banco de dados
relacional desenvolvido pela Microsoft. um Banco de dados robusto para a
plataforma Microsoft Windows e a preferncia, em termo de banco de dados,
de muitas empresas e programadores para seus sistemas. Entre os novos re-
cursos est a integrao com .Net Framework, que possibilita a construo de
rotinas utilizando as linguagens do .Net como VB.Net e C#.
O SQL Server oferece uma plataforma eficiente e flexvel suportando
banco de dados com enorme volume de informaes, ele se adapta perfeita-
mente a aplicativos existentes e fornece um ambiente de baixo custo para per-
sonalizar e desenvolver novos aplicativos criados exclusivamente para atender
s necessidades de uma corporao [31].
A total integrao com o Microsoft Visual Studio, o Microsoft Office
System e um conjunto de novas ferramentas de desenvolvimento, incluindo o
Business Intelligence Development Studio, tornam o SQL Server 2005 nico.
Ele fornece solues inovadores, seja para um desenvolvedor, administrador
de banco de dados, operador de informaes ou tomador de decises.
A figura a seguir ilustra os principais componentes do SQL Server
2005, mostrando como ele se integra plataforma Microsoft Windows inclu-
sive ao Microsoft Office System e ao Visual Studio para oferecer solues
que disponibilizam dados em todos os cantos da sua organizao. [30]
58

Figura 16 - Componentes do SQL Server 2005 [30]

Uma das caractersticas muito interessantes para o desenvolvimento
deste trabalho que o SQL Server 2005 possibilita ao usurio o acesso aos
dados de qualquer lugar e em vrios dispositivos. Ele possui recursos de repli-
cao, para que sejam utilizados em sincronizaes, onde as alteraes feitas
no sistema quando operava off-line, sejam copiadas ao banco quando estiver
operando on-line.


59
8 MODELAGEM

Para uma melhor viso do funcionamento de todos os processos dos
sistemas, foi utilizada a UML (Unified Modeling Language) para a modelagem
das aplicaes. Adotou-se as ferramentas de modelagem Class Designer do
Visual Studio .NET 2005 e a ferramenta case JUDE Community.


8.1 UML


A utilizao da UML [32] (Linguagem de Modelagem Unificada) facili-
ta a troca de informaes de todas as pessoas que esto trabalhando para o
desenvolvimento do sistema, sejam programadores, analistas e gerentes.
A linguagem tem a finalidade de visualizar, especificar e documentar
a construo de sistemas orientados a objeto, ou seja, serve para desenhar
softwares atravs de diagramas e elementos para montagem. composta por
vrios elementos para especificar todas as partes dos sistemas. Seus diagra-
mas demonstram o sistema, evitando assim, muitos erros de construo do
aplicativo. [33]


8.2 JUDE


JUDE [34] uma ferramenta case desenvolvida em Java que auxilia
na modelagem de softwares utilizando a UML. Atravs dela, possvel criar
vrios tipos de diagramas, so eles: diagramas de classes, caso de uso, se-
qncia, colaborao, atividade, entre outros.
60
O J UDE fornecido em diversos tipos de verses, pagas ou gratui-
tas. A verso utilizada para modelagem deste projeto a verso gratuita, de-
nominada JUDE Community, cuja a interface mostrada na Figura 17. Dentre
as ferramentas grtis existentes para UML, o JUDE Community uma das que
podemos tirar melhor proveito, devido s suas diversas funcionalidades, entre
elas esto a diferenciao de objetos atravs de cores, a exportao de dia-
gramas para os formatos jpg, png e HTML, alm da possibilidade de gerao
de cdigo para ferramentas J ava.




Figura 17 - JUDE Community
61
8.3 VISUAL STUDIO CLASS DESIGNER


O Visual Studio Class Designer uma ferramenta de design para
cdigo visual, trata-se de uma experincia de design integrada para .NET Fra-
mework e .NET Compact Framework. A experincia visual do Class Designer
integrada particularmente ao common language runtime. Modelos da CLR co-
mo classes, estruturas, e interfaces so representadas por formas visualmente
distintas que indicam suas identidades.
Alm disso, a terminologia no diagrama especfica por linguagem
por exemplo no Visual Basic, possvel trabalhar com nvel de acesso Public,
Private e Friend, enquanto que em C#eles sero mostrados como public, pri-
vate e internal. A forte integrao do Class Designer com o CLR faz dele uma
ferrramenta modelo para criao de classes usando .NET Framework.
O Visual Studio Class Designer importante em todas as etapas do
ciclo de desenvolvimento, provendo funcionalidades para todos os elementos
chaves mencionados acima. Por exemplo [35]:
Entendendo o cdigo existente: O Visual Studio Class De-
signer permite a rpida visualizao de como as classes es-
to associadas umas com as outras. possvel examinar no
somente a herana existente no cdigo, mas tambm tipos re-
ferenciados e .NET assemblies podem ser averiguados facil-
mente.
Cl ass Design: O Visual Studio Class Designer facilita o de-
sign rpido de classes e herana. Usando a funcionalidade
drag-and-drop, possvel diagramar suas classes enquanto
elas so sincronizadas com o editor de cdigo. Mudanas fei-
tas no diagrama de classes so imediatamente refletidas no
cdigo, e vice-versa. O diagrama de classes sempre mostra
uma viso viva do cdigo.
Revisando e refatorando o Cdi go: O Visual Studio Class
Designer uma ferramenta poderosa para reviso e refato-
62
rao de cdigo. possvel adicionar comentrios para o c-
digo do diagrama existente para uma ao posterior e a ca-
pacidade de refatorao integrada permite tarefas como re-
nomear classes ou os tipos de variveis encapsuladas nas
propriedades para serem concludas rapidamente e sem es-
foro.
Di agrama de Classes para a documentao: mostra dia-
gramas de classe existentes de vrias maneiras, tanto impri-
mindo ou salvando como imagens para mostrar em paginas
HTML ou apresentaes do Microsoft PowerPoint [35].


63
9 ACESSO A DADOS


Para acesso a dados no projeto, utilizamos os recursos do Visual
Studio 2005 e do SQL Server 2005. Essa escolha se deu devido a grande in-
tegrao entre ambos, o que gera uma tima produtividade. Eles possuem um
bom relacionamento dado pelo ADO.NET, utilizando uma interface amigvel de
acesso a dados para as aplicaes de forma a se obter os melhores recursos.



9.1 ADO.NET




Figura 18 - Modelo ADO.NET com acesso nativo [36]


O ADO.NET completamente integrado ao .NET Framework e ofe-
rece um amplo nmero de classes resultando em uma comunicao fcil e efi-
ciente com o SGBD permitindo todas as operaes necessrias.
Por ser integrado ao .NET tem o mesmo suporte a Programao O-
rientada a Objetos, Compilao, Linguagens, Gerenciador, Coletor de lixo e
principalmente acesso nativo ao banco de dados sem intermedirios "OLEDB"
64
ou "ODBC", resultando em um acesso muito mais rpido como se estivesse
implementando diretamente as APIs nativas do SGDB, ver Figura 18 e Figura
19. As principais classes esto organizadas nos Namespaces (Espao de no-
mes, destinado a organizar classes) abaixo [36]:

System.data.SqlClient (SQL Server 7.x ou superior) (Nativo)
System.data.OracleClient (Oracle) (Nativo)
System.data.OleDb (Access e todos outros banco de dados
do mesmo padro)
System.data.ODBC (Todos bancos do padro)

Figura 19 - Acesso nativo ao SGDB (Alto desempenho) [31]

O ADO.NET pode ser dividido em duas partes: Conectado (DataRe-
ader) e Desconectado (DataSet). As diferenas entre os dois esto mostradas
na Tabela 8 [36]:
65
Tabela 8 - -Comparativo DataSet x DataReader [31]
DataSet DataReader
- Desconectado
- Conectado, Precisa ser aber-
to/fechado
- Leitura / Escrita - Leitura
- Baseado em coleo, pertime nagevao para frente e para trs
- Apenas num sentido sem retor-
no (Forward only)
- Permite fazer bind para vrios controles Xml - No usa cursor
Permite ser serializado e utilizado em webservices. - Acesso rpido
- Permite ser criado de forma automtica usando visual studio .net Tools (arras-
tando pelo Server Explorer) ou programtica via cdigo
-Semelhante ao velho recordset
- Acesso mais lento - Somente via forma programtica
- Inclui varias tabelas, relacionamento, chave primeira,etc. - S faz bind de um controle


66

As partes do ADO.NET esto detalhados nas Tabelas Tabela 9 [36]
e Tabela 10 [36].
Tabela 9 - Detalhamento do DataReader (Conectado)
DataReader (Co-
nectado)

Connection
Fornecesse o acesso ao banco de dados, nessa classe que voc informa os
dados de acesso ao banco de dados como usurio e senha. ConnString
Command
Nesta classe voc fornece a query sql (select,delete,insert,update, procedure)
para processar no banco de dados
DataReader Faz a leitura dos registros no banco de dados.

Tabela 10 - Detalhamento DataSet (Desconectado) [31]
Data-
Set (Desconect ado)

Connection
Fornecesse o acesso ao banco de dados, nessa classe que voc informa
os dados de acesso ao banco de dados como usurio e senha.
ConnString
Command
Nesta classe voc fornece a query sql (select , procedure) para processar
no banco dedados
DataAdapter
Faz a leitura do banco de dados, extrai todos os dados de acordo com o
command e preenche o DataSet
DataSet
Repositrio de dados baseado em XML que pode ser transportado pelos
webservices.

67

Figura 20 - Modelo de acesso a dados (DataReader e DataSet) [36]


A classe Connection utilizada em qualquer tipo de acesso ao
SGBD, seja ela conectado ou no. Ela recebe parmetros que diferem de a-
cordo com o tipo de banco de dados utilizado, a chamada Connection String,
ou String de Conexo. O sistema desenvolvido nesse trabalho, utiliza uma S-
tring de Conexo que referencia uma conexo remota ao Banco. A estrutura
dessa String :
Data Source=192.168.0.153;Initial Catalog=vini;User Id=sa;Password=senha;
Onde 192.168.0.153 o endereo do servidor na rede, vini o nome do Banco
de Dados.
Para que ela funcione, preciso realizar uma srie de procedimen-
tos para configurar o SQL Server 2005 para receber conexes remotas. Muitos
casos de problemas com conexo ao servidor de Banco de Dados ocorrem por
uma limitao que o SQL Server 2005 possui por padro. Porm no faz parte
do foco desta monografia, existem vrios tutoriais na Internet mostrando como
configurar conexes remotas no SQL Server 2005.
As aplicaes frutos deste trabalho utilizam o DataSet como forma
de acesso a dados.
68


O DataSet uma das grandes inovaes do ADO.NET. Ele trabalha
totalmente desconectado do banco de dados, baseado em XML e armazena
na memria todos os dados recebidos da base de dados. Garantindo assim,
toda uma manipulao fora do banco para devolver os dados somente aps as
modificaes. O DataSet parece muito com um banco de dados pois ele arma-
zena as informaes em uma estrutura semelhante, sendo possvel alm da
criao de tabelas com vrias colunas e dados, a criao de relacionamento
entre as mesmas, utilizando tabelas de origem de dados diferentes. Tambm
possvel haver o percorrimento dos registros a qualquer momento, alm de
transportar essa estrutura de um ponto para outro utilizando web services
(Componentes web baseados em XML e SOAP).


Figura 21 - Viso simplificada Data Set [36]

69

Figura 22 - Viso simplificada do Data Set [36]




Aps criar um DataSet no projeto NPDMobile, foi necessrio criar os
TableAdapters, que, como o prprio nome diz, adapta as tabelas do banco de
dados no DataSet, ou seja, cria as mesmas tabelas, com os mesmos relacio-
namentos do banco de dados no DataSet. Para isso, foi preciso definir os da-
dos de conexo para ter acesso ao BD. Pela figura vemos que foi definida uma
conexo remota atravs do endereo IP do servidor.
Depois de definido o TableAdapter, quando quisermos fazer uma re-
ferencia a alguma tabela, a comunicao ser feita diretamente ele. Para dei-
xar disponveis os dados de uma tabela, (neste caso a TabelaUsuro) em um
formulrio (preencher o DataSet), devemos utilizar a chamada
this.tabelaUsuariosTableAdapter.Fill(this.viniDataSet.TabelaUsuarios); Onde
TabelaUsuariosTableAdapter o nome definido do TableAdapter da TabelaU-
suarios e viniDataSet o nome do DataSet utilizado no projeto.
70

Figura 23 - TableAdapter Configuration Wizard do Visual Studio 2005



71
10 DESENVOLVIMENTO


Esse projeto tem como finalidade a implementao de dois sistemas
que se comuniquem diretamente com o mesmo banco de dados. O primeiro
sistema NPD Desktop, que deve ser instalado em uma mquina que ser
utilizada como servidor de banco de dados. E o segundo denominado NPD
Mvel, que rodar em um dispositivo chamado Pocket PC. Cada tcnico ter o
seu, para que seja feito o controle das informaes de forma bastante interativa
e rpida.


10.1 NPD DESKTOP


A aplicao desktop tem o objetivo de gerar e gerenciar as informa-
es que so enviadas para a equipe de tcnicos, e sua principal caracterstica
ser o elo de ligao entre a soluo implementada para Pocket PC e o banco
de dados. Foi implementado usando orientao a objetos, com classes espec-
ficas para um melhor aproveitamento desta tcnica de programao.
Somente os usurios cadastrados no sistema podem fazer altera-
es no banco. Eles so responsveis por todo o andamento do conjunto (Sis-
tema Desktop e Pocket PC).
Os prximos tpicos se referem a cada tipo de cadastro do sistema
em especfico.

72
10.1.1 USURIO


O sistema possui um classe pra gerenciar todas as atividades que
ocorrem envolvendo o usurio. Ele ser o responsvel pelo bom andamento do
sistema, pois ser responsvel pelo controle das informaes que iro passar
pelo sistema.
O Usurio do sistema tem algumas tarefas a serem executadas:
Criao de novos Usurios, para que mais de uma pessoa
possa fazer o controle do sistema;
Criao de novos Tcnicos, para que estes possam aten-
der aos chamados de servios;
Criao de novas Solicitaes, para que estas estejam dis-
ponveis aos tcnicos e assim, serem resolvidas o mais rpido possvel;
Incluso, edio e remoo de Centros da Universidade;
Incluso, alterao e remoo de Setores da Universidade;
Incluso e alterao de alguma informao caso seja ne-
cessrio;
Solicitar ao sistema o clculo de produtividade dos tcnicos
cadastrados;
nico que possui autorizao de utilizar o sistema Desktop,
para isso, ser necessrio logar-se com login e senha;


73

Figura 24 - NPD Desktop - Cadastrar Usurio


74
10.1.2 TCNICO


A classe Tcnico gerencia as atividades do tcnico, controlando seu
cadastramento e seu horrio de trabalho. Somente os tcnicos cadastrados no
sistema podem preencher a soluo de uma requisio de servios. Cada tc-
nico cadastrado acessa o banco de dados somente atravs do pocket PC digi-
tando seu login e senha. A nica tabela disponvel para o tcnico editar a Ta-
bela Solicitao.

.
Figura 25 - NPD Desktop - Formulrio para cadastrar novo tcnico
75

Figura 26 NPD Desktop Formulrio para cadastrar o horrio do tcnico
76
10.1.3 SOLICITAO


As solicitaes so controladas pela classe Solicitao. Elas s po-
dem ser cadastradas pelo usurio e resolvidas pelos tcnicos. As mesmas po-
dem ser classificadas quanto ao tipo de problema (rede, software, hardware,
internet e etc.), sua prioridade (alta, normal ou baixa), ao centro que ela est
relacionada (CCA, CCN, CCHL, CT, CCS, ADM) e ao seu estado (Pendente ou
resolvido).


Figura 27 - NPD Desktop - Formulrio para cadastrar nova solicitao


Figura 28 - NPD Desktop - Formulrio que lista todas as Solicitaes

77

10.1.4 CENTRO E SETORES


Estas classes tm por obrigao controlar os cadastramentos de
centros e setores na aplicao. Eles s podem ser inseridos, alterados e dele-
tados por usurios logados no sistema. Todo setor cadastrado deve pertencer
a um centro, ento para cadastrar um setor, seu centro j deve estar previa-
mente cadastrado.


Figura 29 - NPD Desktop - Formulrio de cadastro de setores


78

Figura 30 - NPD Desktop - Formulrio que Lista Centros cadastrados

10.2 NPD MBILE


O Sistema Mvel, chamado de NPD Mobile, consiste em uma apli-
cao que roda em um computador de mo que tenha o sistema operacional
Microsoft Windows Mobile e acesso a redes sem fio 802.11 a/b/g, estes apare-
lhos so conhecidos como Pocket PCs. Essa soluo tem como funo auto-
matizar o processo de baixas em requisies de servios feitos pelos funcion-
rios da Universidade Federal do Piau, facilitando assim a manipulao das in-
formaes que giram em torno deste trabalho, para, com isso, aumentar a pro-
dutividade nessa rea. Com isso, o tcnico responsvel pelos atendimentos
tem na tela do seu Pocket PC todos os dados necessrios para o desenvolvi-
mento do seu trabalho, ganhando, assim, maior agilidade nos atendimentos,
no sendo mais necessrio um solicitante fazer novamente a solicitao devido
perda dos pedidos (antes anotados em pedaos de papis), nem mesmo um
tcnico ter que voltar ao seu local de trabalho para ver novas requisies.
O sistema foi implementado usando orientao a objetos, com clas-
ses especficas para um melhor aproveitamento desta tcnica de programao.
79
Somente os tcnicos cadastrados atravs da verso Desktop do Sis-
tema tero acesso a aplicao Mvel, logo na tela de entrada so requisitados
o login e senha do tcnico, conforme Figura 28. Vale ressaltar que o sistema s
funciona on-line, ser preciso o usurio da aplicao estar localizado em uma
rea que seja coberta por uma rede sem fio.


Figura 31 - Tela de Entrada do NPD Mobile


10.2.1 SOLICITAES


O mdulo de solicitaes tem a finalidade de visualizao das infor-
maes de cada solicitao registrada no banco de dados do servidor. Permite
fazer uma busca para que sejam selecionados os registros que desejamos
consultar e tambm permite fazer algumas alteraes nos dados cadastrais. A
principal alterao e a que com freqncia ser feita pelo tcnico ser a de
mudana do valor do campo Estado de "Pendente" para "Resolvido" na Tabe-
laSolicitacao. Essa operao conhecida como a baixa de requisies.
80
A principal tela do sistema contm todos os centros cadastrados e o
nmero de solicitaes marcadas com o Estado Pendente de cada Centro
presente no Banco de Dados do servidor, conforme Figura 32. A tela foi organi-
zada de modo a agilizar o manuseio da ferramenta pelo tcnico que a usar.
Ao clicar na figura correspondente ao respectivo Centro, o usurio da ferramen-
ta ser direcionado para a tela com a lista de todas as solicitaes pendentes
referentes a este Centro, veja a seqncia de aes na Figura 33. A interface
principal contm o Centro e suas respectivas quantidades de solicitaes pen-
dentes, representadas entre parntesis. As solicitaes j resolvidas no po-
dem ser visualizadas atravs desse sistema. Os parntesis vazios (sem nme-
ros dentro) tm por funo informar que no existem pendncias para o deter-
minado Centro.


Figura 32 - Tela Principal do NPD Mobile

81

Figura 33 - Sequncia de aes partindo da tela principal at a tela de solicitaes pendentes por cen-
tro
82
De acordo com a Figura 33, ao clicar na ilustrao referente ao
CCN, que possui duas pendncias, o tcnico direcionado para a tela que
lista as solicitaes pendentes referentes ao CCN. Em cada solicitao,
possvel ver seu cdigo, solicitante, centro, setor, ramal, tipo de problema, re-
sumo do problema, descrio do problema, prioridade, estado, data de entrada
e o tcnico que fez a ltima modificao atravs da lista mostrada em um Da-
taGrid Para visualizar de forma mais clara a solicitao, deve-se clicar no es-
pao que ela ocupa na tabela. Este espao est destacado de vermelho na
Figura 34.


Figura 34 - Sequncia de aes - visualizando em detalhes

83

Figura 35 - Seqncia de Aes - Alterando os dados



A Figura 35 mostra a seqncia de passos a fazer para alterar os
dados de uma solicitao. Estando o tcnico visualizando o formulrio que faz
a descrio da solicitao, ele deve clicar no boto inferior direto da tela - Edi-
tar. Logo aps, ele pode fazer modificaes na solicitao, os campos que so
possveis de editar so: o nome do solicitante, o setor em que ele trabalha, o
tipo de problema, o estado, resumo, descrio e soluo do problema, Para
confirmar as alteraes, deve-se clicar em Salvar
Na Figura 35, o tcnico mudou o estado da solicitao de Penden-
te para Resolvido, alm de registrar a descrio da soluo, dando baixa,
assim, no banco de dados do NPD Desktop. Dado a baixa no sistema, o tcni-
co pode partir para a prxima solicitao correspondente ao centro em que es-
t localizado, sem precisar ir at a sede para saber sobre novas requisies,
bastando apenas consult-las em seu NPD Mbile.
84

Figura 36- Interface principal depois de terem sido feitas as modificaes na solicitao da Figura 35 -
Seqncia de Aes - Alterando os dados
85
A Figura 36 mostra a tela principal do sistema depois de terem sido
feitas as modificaes citadas anteriormente e aps ter clicado no boto Atuali-
zar (canto inferior direito da tela principal). interessante observar que agora o
nmero de solicitaes pendentes do CCN passou a ser 1 (um) e no mais 2
(dois) como na Figura 32. Isso aconteceu, devido baixa de solicitao feita na
seqncia de aes da Figura 33, Figura 34 e Figura 35.
86
11 DIFICULDADES E TRABALHOS FUTUROS



11.1 DIFICULDADES ENCONTRADAS


Durante o processo de desenvolvimento das solues propostas fo-
ram encontradas diversas dificuldades. A maior delas foi localizar material so-
bre o desenvolvimento de aplicaes para computao mvel, Pocket PC e
Palm, pois hoje, ainda h pouca literatura para estes dispositivos no mercado.
Para desenvolver a soluo, a primeira dificuldade encontrada foi na
formulao da arquitetura do sistema, a dvida era se deveria ser implementa-
do um programa com um banco de dados off-line no Pocket PC e que pudesse
ser sincronizado quando conectado ou se deveria ser utilizado apenas um ban-
co de dados no servidor e o Pocket Pc s o acessaria quando estivesse on-
line. A outra dificuldade foi na configurao do Banco de Dados no servidor e
na string de conexo para que ele pudesse ser acessado remotamente.



11.2 TRABALHOS FUTUROS


Como trabalhos futuros, pode-se sugerir a criao de mdulos para
o agendamento automtico das visitas dos tcnicos aos solicitantes, de acordo
com o seu horrio cadastrado, obrigando, assim, sempre o tcnico visitar cada
solicitante programado e se no puder, ser preciso que digite uma justificativa.
Outra sugesto, seria a criao de um mdulo de troca de mensa-
gens de texto, ou de voz, entre o tcnico do NPD Mbile e o usurio do NPD
Desktop, facilitando assim a comunicao entre os dois. Seria possvel tam-
bm, a implementao de uma classe que reconheceria a rede sem fio que o
87
tcnico estaria conectado e diria ao NPD Desktop onde este tcnico seria loca-
lizado.
E Finalmente, como sugesto final, a forma como o banco de dados
foi projetado permite criar um mdulo que calcula a produtividade de cada tc-
nico, podendo gerar relatrios dirios, semanais, mensais, etc.


88
CONCLUSO

O desenvolvimento deste trabalho proporcionou o conhecimento de
tecnologias que ainda no so, ou raramente so, utilizadas pela comunidade
acadmica da Universidade Federal do Piau, mergulhando, assim, no mundo
da computao mvel.
Ao final deste trabalho, pode-se concluir que grande o nmero de
recursos e ferramentas disponveis no mercado para o desenvolvimento de
aplicaes mveis. Como a computao mvel cresceu e continua crescendo
bastante, esses tipos de desenvolvimento se tornaro uma tendncia para a
comunidade de TI.
Com o desenvolver das solues, pode-se constatar a viabilidade da
utilizao de tecnologias como o DataSet e do Sql Server para acesso a dados
remotos e da automao das prestaes de servios do Ncleo de Processa-
mento de Dados da Universidade Federal do Piau.
89
REFERNCIAS BIBLIOGRFICAS

1. Amorim, Andra Rodrigues de. Desenvolvimento de Aplicaes Mveis com J2ME.
[Monografia (Bacharelado em Sistemas de Informao)] Canoas : ULBRA, 2005. 73p.
2. Farias, Jos Antnio. Compact Framework 2.0 para desenvolvedores desktop. Maio
de 2007.
3. Mendes, Ricardo. .Net Compact Framework - Desenvolvendo para dispositivos
mveis. [Webcast] s.l. : Microsoft Brasil, 2004.
4. Mendona, Aderval. Mobilidade em Anlise. DevMedia. [Online] [Citado em: 19 de
Fevereiro de 2007.]
http://www.devmedia.com.br/articles/viewcomp.asp?comp=3309&hl=Mobilidade%20
em%20Anlise.
5. Mendona, Aderval.. Aplicaes da mobilidade do ponto de vista do usurio.
DevMedia. [Online] [Citado em: 19 de Fevereiro de 2007.]
http://www.devmedia.com.br/articles/viewcomp.asp?comp=4025.
6. Amsyst. Amsyst Solues Mveis. [Online] [Citado em: 22 de Fevereiro de 2007.]
http://www.amsyst.com.br.
7. Tronsoft. Tronsoft Solues em Software. [Online] [Citado em: 22 de Fevereiro de
2007.] http://www.tronsoft.com.br.
8. Cialgica. Cialgica Tecnologia em Informtica. [Online] [Citado em: 22 de Feveiro
de 2007.] http://www.cialogica.com.
9. Heise. Palm OS 5.4 mit Virtual Graffiti. [Online] 29 de Janeiro de 2004. [Citado em:
15 de Julho de 2007.] http://www.heise.de/newsticker/meldung/print/44119.
10. PalmBrasil. Palm OS 5 Preview. [Online] [Citado em: 01 de Maro de 2007.]
http://www.palmbrasil.com.br/materias/art-palmos5-2.html.
11. WinCeBrasil. Windows CE Uma viso Geral. WinCeBrasil. [Online] [Citado em: 01
de Maro de 2007.] http://www.wince.com.br/cgi-bin/windowsce/03.idc?ID=1.
12. Tanenbaum, Andrew S. Redes de Computadores. 4 Edio. s.l. : Campus, 2003.
13. Windows Mobile 5.0 for Pocket PC. WinCeBrasil. [Online] [Citado em: 01 de Maro
de 2007.] http://www.wince.com.br/cgi-bin/windowsce/03.idc?ID=45.
90
14. Berstein, Ricardo Gruber. Iniciando o Desenvolvimento na Plataforma PalmOS.
Clube Palm. [Online] [Citado em: 02 de Novembro de 2006.]
http://www.clubepalm.com.br.
15. Reis, J. e Pires, F. Mobile Data Mining. s.l., 2005 : Instituto Superior Tcnico, 2005.
16. MSDN. Web Services - Developer Center. Msdn Brasil. [Online] Microsoft. [Citado
em: 22 de Junho de 2007.]
http://www.microsoft.com/brasil/msdn/webservices/default.mspx.
17. Quin, Liam. Extensible Markup Language (XML). W3C. [Online] [Citado em: 25 de
Junho de 2007.] http://www.w3.org/XML/.
18. Sells, Chris. .NET Framework 1.1 Provides Expanded Namespace, Security, and
Language Support for Your Projects. MSDN. [Online] [Citado em: 04 de Janeiro de
2007.]
http://msdn.microsoft.com/msdnmag/issues/03/03/WindowsForms/default.aspx.
19. Alexandroni, Mrcio. Introduo ao NSBASIC. Clube PDA. [Online] Trade
Consultoria de Informtica, RGBSys Consultoria de Informtica. [Citado em: 13 de
Janeiro de 2007.] http://www.clubepda.com.br.
20. Souza, Mariane Moreira de. SisCompPM: Uma Proposta de Comunicao entre
Copom e Viaturas policiais militares utilizando comunicao wireless. [ Monografia
(Bacharelado em Cincia da Computao) ] Lavras : Universidade Federal de Lavras,
2005. 102p.
21. Toolbox. Pda Toolbox. [Online] [Citado em: 19 de Fevereiro de 2007.]
http://www.pdatoolbox.com.
22. Alexandroni, Mrcio. PocketStudio: Poder, Produtividade e Facilidade de Uso.
Clube PDA. [Online] [Citado em: 14 de Janeiro de 2007.] http://www.clubepda.com.br.
23. Belmonte, Danilo Guerra. Satellite Forms. Clube Pda. [Online] [Citado em: 10 de
Janeiro de 2007.] http://www.clubepda.com.br/tutoriais2.asp?pid=16.
24. Alexandroni, Mrcio. Tutorial de Programao em C, Parte 1 ,Introduo. Clube
PDA. [Online] [Citado em: 13 de Janeiro de 2007.] http://www.clubepda.com.br.
91
25. Faivre, Denis. Quelle solution de dveloppement choisir pour le Palm? Ablivio.
[Online] [Citado em: 02 de Janeiro de 2007.]
www.ablivio.com/fr/articles/01/index.html.
26. PalmBrasil. HB ++2.00 . PalmBrasl. [Online] [Citado em: 02 de Novembro de 2006.]
http://www.palmbrasil.com.br/programas/programacao1.html.
27. Microsoft. You already know how. Want to develop on Windows Mobile? [Online]
[Citado em: 13 de Janeiro de 2007.] http://msdn.microsoft.com/mobility/.
28. Sousa, Emanuel, Santos, Ftima e Rodrigues, Jos. Telemetria Automvel.
Portugal : Universidade do Minho, 2005.
29. Haddad, Renato. .NET Framework 2.0 e Introduo ao Visual C#.NET 2005.
[Treinamento on-line (Desenvolvedor Cinco Estrelas)] s.l. : Microsoft Corporation,
2005.
30. Corporation, Microsoft. O que o SQL Server 2005? Microsoft Sql Server. [Online]
[Citado em: 10 de Julho de 2007.]
http://www.microsoft.com/brasil/servidores/sql/prodinfo/overview/what-is-sql-
server.mspx.
31. Morais, Flvio Aurelio de. Diferenas entre Oracle e o Sql. Portal da Programao.
[Online] [Citado em: 13 de Julho de 2007.]
http://www.portaldaprogramacao.com/artigos2.asp?n=851.
32. Booch, Grady, Rumbaugh, James e Jacobson, Ivar. UML, Guia do Usurio. [trad.]
Fbio Freitas da Silva. Rio de Janeiro : Campus, 2000.
33. Coletti, Cleber e Hirschfeld, Kleber Ricardo. Estudo e contruo de um sistema
para automao de fora de vendas para dispositivos mveis. [Monografia (Sistemas
de Informao)] Canoas : Universidade Luterana do Brasil, 2005.
34. JUDE. Jude on the web. [Online] [Citado em: 20 de Julho de 2007.]
http://jude.change-vision.com/jude-web/index.html.
35. Stoecker, Matthew A. Visual Studio 2005 Class Designer. MSDN Library. [Online]
Microsoft Corporation, Maio de 2004. [Citado em: 22 de Maio de 2007.]
http://msdn2.microsoft.com/en-us/library/aa288743(VS.71).aspx.
92
36. Dures, Ramon. .NET: ADO.NET para iniciantes . Linha de Cdigo. [Online] [Citado
em: 29 de Junho de 2007.]
http://www.linhadecodigo.com.br/artigos.asp?id_ac=296&pag=2.

93
APNDICES

APNDICE A USO DE DIAGRAMAS NO SISTEMA

DIAGRAMAS DE CASO DE USO


Demonstram quais casos que usurios e vendedores utilizam.

Figura 37 - Caso de Uso Controle de Solicitaes
94

Figura 38 - Caso de uso detalhado do sistema
95
DIAGRAMA DE CLASSES


Descreve classes que esto sendo implementadas no desenvolvimento.

Figura 39 - Diagrama de classes do sistema
96
DIAGRAMA DE SEQUNCIA

Demonstra a maneira de utilizao da ferramenta criada.

Figura 40 - Diagrama de Sequncia do sistema
97
APNDICE B - TABELAS DO BANCO DE DADOS DO SISTEMA


TabelaCentro
Nome
Sigla
TabelaSolicitacao
Codigo
Solicitante
Centro
Setor
Ramal
TipodeProblema
ResumoProblema
DescricaodoProblema
Prioridade
Estado
DescricaodaSolucao
DataEntrada
LoginTecnico
DataResolucao
TabelaTecnicos
Nome
Login
Senha
Horario
TabelaUsuarios
Nome
Funcao
Login
Senha
FK_TabelaSolicitacao_TabelaTecnico
FK_TabelaSetor_TabelaCentro
TabelaSetor
Nome
Centro
Ramal

Figura 41 - Tabelas do Banco de Dados do Sistema

A Figura 41 mostra as tabelas criadas para o sistema em questo
neste trabalho. As linhas que seguem detalham melhor cada tabela.
TabelaUsuarios: Tabela responsvel por guardar todos os usurios
do sistema. A chave-primria da tabela o Login, portanto, no possvel exis-
tir dois usurios com o mesmo Login.
TabelaTecnicos: responsvel por guardar todos os tcnicos cadas-
trados no sistema. Possui o Login como chave primria, logo, no possvel
inserir um tcnico com o mesmo Login de outro inserido anteriormente.
TabelaSetor: contm os dados referentes a todos os setores da Uni-
versidade. No podem existir setores com nomes iguais, pois o Nome a cha-
ve primria da tabela.
98
TabelaCentro: armazena informaes sobre os Centros presentes
na Universidade. No possvel a existncia de dois ou mais centros com a
mesma sigla, pois esta a chave primria da tabela.
TabelaSolicitao: encarregada de guardar todas as solicitaes de
prestao de servios feitas ao Ncleo de Processamento de dados. Cada soli-
citao tem um cdigo e este no pode ser repetido, pois funciona como chave
primria.

Você também pode gostar