Professional Documents
Culture Documents
LAGES (SC)
2013
SERGIO ANTONIO FONTANA JUNIOR
LAGES (SC)
2013
SERGIO ANTONIO FONTANA JUNIOR
BACHAREL EM SISTEMAS DE
INFORMAO
BANCA EXAMINADORA:
QUADRO 1-
Cronograma do TCC ................................................................................ 17
QUADRO RF 001 Permitir empresas enviar Feedbacks para o Administrador34
2-
QUADRO RF 002 Validar usurio e senha........................................................... 34
3-
QUADRO RF 003 Permitir o filtro de informaes ............................................ 35
4-
QUADRO RF 004 Verificar conexo com o WebService .................................. 35
5-
QUADRO RF 005 Verificar conexo com a Internet .......................................... 35
6-
QUADRO RF 006 Validar Cep .............................................................................. 35
7-
QUADRO RF 007 Validar token de acesso do usurio ....................................... 35
8-
QUADRO RF 008 Processar Informaes de Localizao ................................. 36
9-
QUADRO RF 009 Aprovar/Cancelar Pedidos.................................................... 36
10 -
QUADRO RF 010 Enviar Pedido......................................................................... 36
11 -
QUADRO RF 011 Gerar relatrios de bebidas e lanches mais pedidos.......... 36
12 -
QUADRO 13 -
RNF 001 - Trafegar informaes com o WebService no formato Json
................................................................................................................... 36
QUADRO 14 - RNF 002 - Mdulos restritos a tipos especficos de usurios ........... 37
QUADRO 15 - RNF 003 - Funcionar em todas as verses do Android ..................... 37
QUADRO 16 - RNF 004 Validar Informaes Digitadas ......................................... 37
QUADRO 17 -
Cdigo fonte do mtodo CreateSessionFactory................................. 77
QUADRO 18 -
Cdigo fonte do mtodo SendCrossTalkToWebService ................... 78
QUADRO 19 -
Cdigo fonte do mtodo SendEmail. ................................................... 79
QUADRO 20 -
Cdigo fonte da classe CityMap ........................................................... 80
QUADRO 21 -
Cdigo fonte do mtodo de Insero e Alterao de dados na base de
dados. ................................................................................................................... 81
QUADRO 22 - Cdigo fonte do mtodo Delete. ........................................................... 82
QUADRO 23 - Cdigo fonte do mtodo GetById ......................................................... 83
QUADRO 24 - Cdigo fonte do mtodo SignIn............................................................ 84
QUADRO 25 - Cdigo fonte do mtodo de Auto Mapeamento entre Objetos ......... 85
QUADRO 26 - Cdigo fonte do trecho de cdigo do componente de Grid do Telerik.
................................................................................................................... 86
QUADRO 27 - Cdigo fonte do mtodo userAuthentication que retorna se as
credncias (usurio e senha) so vlidos. ........................................................................... 87
QUADRO 28 - Cdigo fonte da classe para validao de informaes do Sistema . 89
QUADRO 29 - Cdigo Fonte do Mtodo GetSnacksByEnterprise............................. 90
QUADRO 30 - Xml do Layout da interface inicial do prottipo do aplicativo
Android ................................................................................................................... 92
QUADRO 31 - Cdigo fonte do mtodo getAddressByPostalCode ........................... 93
QUADRO 32 - Cdigo fonte do mtodo getAddressByGps ........................................ 95
QUADRO 33 - Cdigo fonte do mtodo LoadAndSendRequest ................................. 97
LISTA DE ABREVIATURAS E SIGLAS
Atualmente as pessoas desejam e optam por usufruir de servios que lhe tragam mais
facilidade, flexibilidade e qualidade em suas atividades em geral, atravs da alta
capacidade tecnolgica disponvel para desenvolvimento de aplicativos e softwares com
uma elevada reduo de tempo e transparncia nas atividades realizadas. Quando uma
pessoa deseja realizar um pedido alimentcio, devido ao crescimento exorbitante pela
busca de servios de delivery de empresas alimentcias, por muitas vezes a mesma
encontra-se com dificuldades por questes de transito, congestionamento, linhas
telefnicas ocupadas e alto fluxo de pessoas concorrendo com as mesmas vontades. Com
isso o objetivo deste trabalho consiste no desenvolvimento de na implementao de um
prottipo de aplicativo mvel na plataforma Android com a linguagem de programao
JAVA, para realizao do pedido por parte do cliente e um portal Web com a tecnologia
ASP.NET MVC3 e a linguagem de programao .NET C# para a anlise, gesto e
monitoramento e auxlio na tomada de deciso, por parte dos funcionrios da empresa.
Aps a concluso do desenvolvimento deste trabalho, o cliente poder realizar pedidos
de lanches de forma mais simplifica, gil e transparente, possuindo apenas um
smartphone com conexo de internet, sem a necessidade direta de contato fsico ou
telefnico e por parte da empresa, a mesma precisar possuir apenas um computador
com acesso internet, que atravs de uma pgina web moderna e simplificada,
possibilitar controle e gesto de seus pedidos, inclusive auxilio a tomada de deciso,
tais como quais as preferncias do cliente, podendo assim, focar em suas preferncias .
Palavras-chave:
Aplicativo Android; Portal Web; ASP.NET MVC3.
ABSTRACT
Nowadays people want and choose to make use of services that bring greater ease,
flexibility and quality in their activities in general, through high technological capacity
available for application development and software with a high reduction of time and
transparency in the activities. When a person wishes to make a request for food, due to
the exorbitant growth by seeking services delivery food companies, often by the same
meets with difficulties for reasons of traffic congestion, busy telephone lines and high
flow of people competing with the same desires. Therefore, the objective of this work
is the development of the implementation of a prototype mobile application on the
Android platform with the JAVA programming language, to perform the request from
the client and a Web portal with technology ASP.NET MVC3 and language
programming. NET C # for the analysis, management and monitoring and aid in decision
making on the part of employees. Upon completion of the development of this work, the
client can make requests for snacks in a more simplified, streamlined and transparent,
having only a smartphone with internet connection, without direct physical contact or
by telephone, and the company, the same just need to have a computer with internet
access that through a modern, streamlined website, enable control and management of
their applications, including aid decision making, such as which customer preferences
and can thus focus on your preferences .
Keywords:
Android Application; Web Portal; ASP.NET MVC3.
SUMRIO
1 INTRODUO ................................................................................................................ 13
1.1 Apresentao ................................................................................................................... 13
1.2 Descrio do problema................................................................................................... 14
1.3 Justificativa ...................................................................................................................... 14
1.4 Objetivo Geral ................................................................................................................. 15
1.5 Objetivos especficos...................................................................................................... 16
1.6 Metodologia..................................................................................................................... 16
1.7 Cronograma ..................................................................................................................... 17
2 ANDROID E PEDIDOS DE LANCHES NO BRASIL ........................................... 18
2.1 Preferncias dos Brasileiros .......................................................................................... 18
2.2 Crescimento nas redes de Fast-Foods.......................................................................... 18
2.3 Formas Atuais de Pedidos ............................................................................................. 19
2.3.1 Pedido indo ao Local ....................................................................................................... 19
2.3.2 Pedido via Telefone ......................................................................................................... 20
2.3.3 Pedido via Internet atravs de um Celular ....................................................................... 20
2.4 Gesto dos Pedidos por parte dos Estabelecimentos .................................................. 20
2.4.1 Comanda de Papel ........................................................................................................... 20
2.4.2 Comanda com Carto ...................................................................................................... 21
2.4.3 Comanda em Softwares ................................................................................................... 21
2.4.4 Portal de Gesto e Estatsticas na Web para os administradores das Empresas .............. 21
2.5 Android ............................................................................................................................ 22
2.5.1 Utilizao do Android no Brasil ...................................................................................... 22
2.5.2 Arquitetura Android......................................................................................................... 23
2.6 Vantagens da utilizao de dispositivos mveis ......................................................... 24
2.6.1 Mobilidade ....................................................................................................................... 24
2.6.2 Portabilidade .................................................................................................................... 24
2.7 Concluso......................................................................................................................... 25
3 COMRCIO ELETRNICO E OFERTAS ON-LINE.......................................... 26
3.1 Comrcio eletrnico ....................................................................................................... 26
3.1.1 Crescimento do comrcio eletrnico no mercado Brasileiro ........................................... 26
3.1.2 Vantagens do comrcio eletrnico................................................................................... 27
3.1.3 Segurana......................................................................................................................... 27
3.2 Formas de pagamento utilizadas no comrcio eletrnico .......................................... 28
3.2.1 Dinheiro ........................................................................................................................... 28
3.2.2 Boleto bancrio ................................................................................................................ 29
3.2.3 Carto de crdito / dbito................................................................................................. 29
3.2.4 Paypal / PagSeguro .......................................................................................................... 29
3.3 Cardpio e ofertas online no ramo alimentcio ........................................................... 30
3.3.1 Cardpio online personalizado ........................................................................................ 30
3.3.2 Agendamentos de pedidos on- line ................................................................................... 30
3.3.3 Ofertas e promoes atualizadas em tempo real.............................................................. 31
3.4 Concluso......................................................................................................................... 31
4 MODELAGEM DO SISTEMA .................................................................................... 32
4.1 UML ................................................................................................................................. 32
4.1.1 Processo Unificado UP ................................................................................................ 32
4.1.2 Casos de Uso ................................................................................................................... 33
4.1.3 Levantamento de Requisitos ............................................................................................ 34
4.1.4 Diagrama de Classes ....................................................................................................... 37
4.2 Mdulos ........................................................................................................................... 41
4.2.1 Mdulo Cliente ................................................................................................................ 41
4.2.2 Mdulo Empresarial ........................................................................................................ 52
4.3 Concluso......................................................................................................................... 61
5 IMPLEMENTAO DO SISTEMA .......................................................................... 62
5.1 Tecnologias utilizadas .................................................................................................... 62
5.1.1 Plataforma .NET.............................................................................................................. 62
5.1.2 Plataforma Android SDK ................................................................................................ 62
5.1.3 Padro MVC .................................................................................................................... 64
5.1.4 nHibernate ORM ............................................................................................................. 66
5.1.5 Web Service ..................................................................................................................... 67
5.1.6 XML ................................................................................................................................. 69
5.1.7 JSON ................................................................................................................................ 70
5.2 Ferramentas utilizadas.................................................................................................... 70
5.2.1 Visual Studio .................................................................................................................... 70
5.2.2 Eclipse IDE ...................................................................................................................... 71
5.2.3 SQL Server ....................................................................................................................... 72
5.3 Implementao do sistema............................................................................................. 76
5.3.1 Criao de Sesso do nHibernate ................................................................................... 76
5.3.2 Serializao e Deserializao Json ................................................................................. 77
5.3.3 Enviar E-Mail .................................................................................................................. 78
5.3.4 Criar classe de Mapeamento ........................................................................................... 80
5.3.5 Manipular Dados na Base de Dados ............................................................................... 81
5.3.6 Controle de Login MemberShip.................................................................................... 83
5.3.7 Auto Mapeamento entre Objetos ..................................................................................... 85
5.3.8 Componente Grfico Telerik Grid ................................................................................... 85
5.3.9 Autenticao de Credncias de Usurio ......................................................................... 87
5.3.10 Validao de Informaes do Sistema........................................................................... 88
5.3.11 Busca de Lanches de Acordo com determinada Empresa ............................................. 90
5.3.12 Validao de Informaes do Sistema........................................................................... 92
5.3.13 Busca de Localizao do usurio (cliente) via Cep ...................................................... 93
5.3.14 Busca de Localizao do usurio (cliente) via Gps ...................................................... 95
5.3.15 Carregamento e Envio de Pedido de Lanche ................................................................ 96
5.4 Apresentao do sistema ................................................................................................ 98
5.4.1 Portal Web para Gesto e Monitoramento ..................................................................... 98
5.4.2 Prottipo do aplicativo Android para realizao dos pedidos ..................................... 104
5.5 Concluso....................................................................................................................... 109
6 CONSIDERAES FINAIS....................................................................................... 110
REFERENCIAS BIBLIOGRAFICAS ......................................................................... 112
APNDICES ...................................................................................................................... 118
13
1 INTRODUO
1.1 Apresentao
1.3 Justificativa
mundo esto adotando o dispositivo mvel como um ponto de acesso chave para acessar
contedos e satisfazer as suas necessidades do comrcio, afirmou BUD (2012), presidente
global da MEF. Ela tambm ilustra que o telefone mvel uma plataforma essencial para
empresas que desejam satisfazer as demandas dos consumidores e faturar com a venda de
seus bens, servios e produtos digitais.
Baseado nas pesquisas acima descritas e chega-se concluso que uma empresa
que oferea maior agilidade e qualidade em seus servios abranger uma maior fatia do
mercado deixando seus concorrentes para trs.
SILVINO (2012), presidente da Liquigs Distribuidora, destacou o seguinte:
Proximidade a palavra-chave para conquistar a preferncia dos clientes e depois poder
fideliz-los.
Para ter uma maior proximidade entre o cliente e as empresas alimentcias,
necessrio desenvolver um sistema capaz de englobar boa parte das empresas, atravs de
filtros, trazer os estabelecimentos dentro dos filtros, com seus cardpios e lanches mais
solicitados, possibilitando efetuar pedidos e pagamentos atravs de apenas um dispositivo
mvel (celular, tablet) ou portal web, sem precisar do contato fsico ou telefnico, como
acontece atualmente.
Segundo a empresa Agncia Estado As vendas on-line feitas por meio de
aparelhos mveis (mobile commerce, ou m-commerce) devem apresentar um crescimento
expressivo no Brasil nos prximos meses. A estimativa que esse segmento movimente
cerca de 2 bilhes de reais em 2013 (no primeiro semestre de 2012, foram 1 32 milhes de
reais). As grandes varejistas j comeam a se adaptar a essa migrao de plataforma..
Um sistema desta forma facilitaria em agilidade e qualidade de servio,
possibilitando planejamento, histrico e relatrios por parte da empresa, trazendo conforto
ao cliente final para realizao de seus pedidos e diminuindo o fluxo de carros e poluio
nos grandes polos.
1.6 Metodologia
A primeira etapa deste trabalho ser iniciada atravs de estudos sobre a rea de
estabelecimentos alimentcios, como seus problemas e necessidades, alm de estudos sobre
a tecnologia jQuery, para futuro desenvolvimento de um Portal Web mais dinmico.
Aps isso ser realizado estudos de caso, criao da modelagem do sistema
utilizando a linguagem UML.
A prxima etapa ser a implementao de um portal para cadastro dos produtos,
central de pedidos com grficos e relatrios por parte do estabelecimento contratado.
Em seguida ser implementado um WebService para integrao dos dados do
portal com um aplicativo mvel. Posteriormente ser implementado uma aplicao mvel
com a plataforma Android, para o usurio realizar pedidos via celular/tablet.
Para a implementao deste software ser utilizada a ferramenta Microsoft Visual
Studio 2010, com a linguagem C#, no padro MVC utilizando ASP.NET e o Banco de Dados
o Microsoft SQL Server 2008 alm do Eclipse e SQLite Mobile.
Ao final de cada etapa, o sistema ser disponibilizado para os testes necessrios,
tanto de carga, quanto de funcionalidades, a fim de identificar possveis erros que devero
ser corrigidos.
17
1.7 Cronograma
Esta forma a que mais tem fora no mercado atualmente, pois apenas com o
auxlio de um telefone fixo, ou mesmo um telefone celular. O cliente atravs do servio
telefnico liga para o estabelecimento e efetua seu pedido, porm, em muitas vezes encontra-
se linhas telefnicas ocupadas por parte dos estabelecimentos, devido grande demanda.
Em outras situaes, acabam sendo enviados pedidos de forma errnea, ou entregues em
lugares errados, devido falha de comunicao telefnica, que pode se encontrar com
chiados e rudos, trazendo prejuzos para o estabelecimento e descontentamento por parte
do cliente.
a forma mais simples e antiga de controle do que foi consumido pelo cliente.
Podendo a mesma, ficar com o cliente ou o caixa do estabelecimento, variando de um para
o outro.
constrangimento em caso de perda da comanda bem alta. De acordo com a Lei Federal n.
8.079, de 11 de setembro de 1990, do Cdigo de Defesa do Consumidor a cobrana da taxa
sobre a perda da comanda um abuso e considerada ilegal.
2.4.4.2 Relatrios
2.5 Android
bolha, na dcada de 90, e 3 vezes mais rpido que a adoo recente das redes sociais.
No geral, a Flurry estima que havia mais de 640 milhes de dispositivos iOS e
Android em uso durante o ms de julho de 2012. Ainda segundo a anlise, a adoo dos
dispositivos mveis cresce rapidamente para alm dos mercados iniciais, como Amrica do
Norte e Europa Ocidental. Ou seja, com as tecnologias smart, foi criado "um verdadeiro
mercado mundial", segundo disse Peter Farago, no blog da empresa. (IDGNOW, 2012)
2.6.1 Mobilidade
2.6.2 Portabilidade
25
2.7 Concluso
3.1.3 Segurana
pginas confiveis.
As empresas atualmente focam muito em segurana, utilizando-se da criptografia
nos dados trafegados na pgina, dificultando a atividade de hackers com a inteno de
capturar informaes sigilosas dos usurios.
3.1.3.1 Criptografia
Segundo Alecrim (2009), O termo criptografia surgiu da fuso das palavras gregas
"krypts" e "grphein", que significam ocultos e "escrever", respectivamente. Trata-se de
um conjunto de conceitos e tcnicas que visa codificar uma informao de forma que
somente o emissor e o receptor possam acess-la, evitando que um intruso consiga
interpret-la. Para isso, uma srie de tcnicas usada e muitas outras surgem com o passar
do tempo.
Na computao, a tcnica usada so a de chaves, as chamadas CHAVES
CRIPTOGRFICAS, trata-se de um conjunto de bits baseado em um algoritmo capaz de
codificar e de decodificar informaes. Se o receptor da mensagem usar uma chave diferente
e incompatvel com a do emissor ela no conseguira ter a informao. (ROMAGNOLO,
2013)
3.2.1 Dinheiro
A forma mais primitiva, porm ainda muito utilizada, desta maneira o cliente, no
momento da recepo de seu produto, realiza o pagamento em dinheiro vivo empresa
prestadora do servio.
Apesar do crescimento dos cartes, o dinheiro continua sendo o principal meio de
pagamento para transaes de pequeno valor. Nas compras de valores entre R$ 20 a R$ 50,
o dinheiro responsvel por 61% dos pagamentos, ante 39% dos cartes. Entre R$ 10 e R$
20, o dinheiro chega a 83% e abaixo de R$ 10, a 91%, segundo a quarta edio da pesquisa
nacional de uso de meios eletrnicos, realizada pelo Instituto Datafolha a pedido da Abecs
(Associao Brasileira das Empresas de Cartes e Servios) (JNIOR, 2011).
29
Desta forma o cliente imprime boleto ao finalizar a compra e paga no banco de sua
preferncia ou por meio do Internet Banking.
O boleto bancrio ainda um meio de pagamento utilizado por muitos no e-
commerce, uma vez que nem todos os compradores possuem carto de crdito e alguns ainda
tm receio de utilizar o carto na Internet.
Cerca de 12% dos clientes, optam por esta forma de pagamento, sendo minoria
dentre as formas disponveis.
O Pay-Pal / PagSeguro, transfere o valor para a conta do lojista virtual. O clie nte
pode utilizar a sua conta tanto para pagar quanto para receber. A vantagem deste sistema
que relativamente barato e utilizado no mundo todo. Uma desvantagem que representa
uma etapa a mais para os clientes no processo de compra.
3.4 Concluso
4 MODELAGEM DO SISTEMA
4.1 UML
Um caso de uso bem escrito fcil de ler. O caso de uso contm sentenas em uma
nica forma gramatical um passo de ao simples na qual um ator alcana um resultado
ou transmite informao para outro ator. Aprender a ler casos de uso no deve tomar mais
do que poucos minutos. Aprender a escrever um bom caso de uso difcil. (COCKBURN,
34
2005)
Segundo COCKBURN (2005), os casos de uso so fundamentalmente uma forma
textual, embora possam consistir em fluxogramas ou diagramas de sequncia. Servem como
meio de comunicao entre pessoas que muitas vezes no possuem treinamento especial e,
portanto, texto simples geralmente a melhor escolha.
Os casos de uso com o esteretipo CRUD so casos de uso que, conforme
COCKBURN (2005) representam operaes em ingls Create, Retrieve, Update e Delete
ou Criar, Recuperar, Atualizar e Deletar.
O segundo o grupo das Empresas, pode ser definida como o mais complexo, pois
quase todas as outras entidades, possuem alguma ligao que se no direta, indireta, por
vnculos com outras tabelas. Entre suas entidades bsicas, esto: Enterprise, CookeryType,
EnterprisePaymentForm, PaymentForm, EnterpriseSnackTypeType, SnackType e
Feedback. Conforme apresentadas na Figura 04.
39
O terceiro grupo subdividido o grupo dos Itens, que podem ser definidos, como
as entidades relacionadas aos produtos - lanches, bebidas e ingredientes - disponveis para
cada estabelecimento. Dentre as entidades deste grupo, so: Snack, SnackIngredient,
SnackType, Drink, DrinkEnterprise e Ingredient, conforme apresentados na Figura 05.
40
O quarto e ltimo o grupo dos Pedidos, que consiste nas entidades relacionadas
a realizao de pedido. Dentre suas entidades esto: Request, RequestDrink e RequestSnack,
conforme apresentados na Figura 06.
41
4.2 Mdulos
4.2.1.1 Apresentao
Este caso de uso tem o objetivo de possibilitar ao cliente alterar suas informaes
de usurio.
Inicio
Selecionar Usurio
Preencher Informaes
Informaes Vlidas?
No
Env iar Mensagem de Erro
Sim
Sistema Grav a
Informaes
Final
Este caso de uso tem o objetivo de possibilitar ao cliente Efetuar Login no Sistema
de diferentes formas.
Este caso de uso tem o objetivo de possibilitar ao cliente Efetuar Login no Sistema,
informando as credencias de sua conta no Facebook.
45
Ini ci o
Usuri o Correto?
No
Env iar Mensagem de Erro
Si m
Acesso ao Aplicativ o
Fi nal
Este caso de uso tem o objetivo de possibilitar ao cliente Efetuar Login no Sistema
atravs da informao de suas credencias do Sistema.
46
Inicio
Possui Usurio?
Registrar Usurio
No
Sim
Usurio Correto?
No
Env iar Mensagem de Erro
Sim
Acesso ao Aplicativ o
Final
Inicio
Confirmar Logout?
No Sim
Cancelar Ao de Logout Executar Ao de Logout
Final
Fluxo Principal
o O cliente clicar em logout, o sistema ir enviar uma mensagem de
confirmao e executar a ao de logout.
Fluxo Alternativo
o O cliente clicar em logout, o sistema ir enviar uma mensagem de
confirmao e o mesmo no confirmar, e o sistema cancelar a ao
de logout.
Inicio
Obter Endereo
Final
Inicio
Informar o CEP
CEP Vlido?
No
Env iar Mensagem de Erro
Sim
Consultar o Cep
Obter o Retorno
Retorno Vlido?
No
Sim
Informar Nmero e
Observ aes do Endereo
Final
Inicio
Serv io de Localizao
Processa as Informaes
Final
4.2.2.1 Apresentao
Este mdulo compreende em um Portal Web para utilizao das empresas, para
cadastro de seus produtos (itens do cardpio), para avaliao dos pedidos, visualizao de
relatrios e avaliaes realizadas pelos clientes, para que atravs disso os mesmos possam
tomar decises.
Inicio
Preencher Informaes
Informaes Vlidas?
Final
Inicio
Selecionar Pedido
Aprovar ou Rejeitar?
No
Sim
Final
Inicio
Usurio Correto?
No
Env iar Mensagem de Erro
Sim
Acessar o Sistema
Final
Inicio
Confirmar Logout?
No Sim
Cancelar Ao de Logout Executar Ao de Logout
Final
Inicio
Preencher Formulrio de
Contato
Informaes Vlidas?
No
Env iar Mensagem de Erro
Sim
Final
Fluxo Alternativo
o O funcionrio da empresa ir preencher o formulrio de contato e
escolher qual a forma de contato que o mesmo deseja, o sistema ir
identificar que as informaes no so vlidas e retornar a primeira
etapa, seguindo seu fluxo normalmente.
Este caso de uso tem o objetivo de possibilitar ao operador visualizar os itens mais
pedidos.
Inicio
Processar Informaes
Apresentar o Grfico
Final
4.3 Concluso
5 IMPLEMENTAO DO SISTEMA
Resumidamente a Microsoft .NET pode ser definida como uma plataforma nica
para desenvolvimento e execuo de sistemas.
uma verso do Eclipse IDE com built-in ADT para agilizar o desenvolvimento de aplicativos
Android. O pacote inclui tudo que necessrio para comear a desenvolver aplicativos, tais
como:
Eclipse + ADT Plugin
Android SDK Tools
Android Platform-tools
A mais recente plataforma Android
A imagem mais recente do sistema Android para o emulador
FIGURA 26 - Android SDK e AVD Manager
5.1.3.1 Model
5.1.3.2 View
e botes para entrada e sada de dados, com base nisso pode-se dizer que camada de viso
responsvel por mostrar os dados de uma maneira que o usurio possa entender e pelos
inputs de entrada de dados (BAPTISTELLA, 2009).
5.1.3.3 Controller
Basicamente tem-se a aplicao com seus objetos persistentes que so usados pelo
NHibernate, mapeados por XML (ou Atributtes) onde relaciona-se a classe e seus atributos
com a tabela e suas colunas. O NHibernate precisa de alguns arquivos de configurao para
funcionar e conectar no banco de dados (EMILIO, 2010).
pelo W3C, no requerem configuraes especiais nos firewalls, pois o protocolo HTTP, o
qual o mais utilizado, atua como transporte na comunicao entre cliente e Web Service.
Possuem independncia de plataforma, devido a ser baseado em XML, o qual pode gerar
documentos complexos (RECKZIEGEL, 2006).
A arquitetura do Web Service baseada na interao de trs personagens:
Provedor de Servios, Consumidor de Servios e Registro dos Servios. A interao destes
personagens envolve as operaes de publicao, pesquisa e ligao. (KREGER, 2001).
A Figura 29 ilustrada abaixo representa a arquitetura do Web Service descrito
anteriormente.
FIGURA 29 - Web Service Roles
Web por ela fornecidos e detalhes sobre cada servio Web, detalhes tcnicos, so
armazenados no registro do servio (BASHA, et. 2002).
Segundo OFICINADANET (2007), as bases para a construo de um Web service
so os padres XML e SOAP. O transporte dos dados realizado normalmente via protocolo
HTTP (o padro no determina o protocolo de transporte). Os dados so transferidos no
formato XML, encapsulados pelo protocolo SOAP.
5.1.6 XML
Segundo PEREIRA (2009), o XML traz uma sintaxe bsica que pode ser utilizada
para compartilhar informaes entre diferentes computadores e aplicaes. Quando
combinado com outros padres, torna possvel definir o contedo de um documento
separadamente de seu formato, tornando simples para reutilizar o cdigo em outras
aplicaes para diferentes propsitos. Uma das suas principais caractersticas sua
portabilidade, pois, por exemplo, um banco de dados pode escrever um arquivo XML para
que outro banco consiga l-lo.
Alguns dos propsitos do XML so: auxiliar os sistemas de informao no
compartilhamento de dados (especialmente via internet), codificar documentos e inserir
seriais nos dados comparando o texto com o de outras linguagens baseadas em serializao
(PEREIRA, 2009).
Ainda de acordo com GTA (2013), o XML no uma simples linguagem de
marcao pr-definida: ela uma metalinguagem - uma linguagem usada para descrever
outras linguagens - que permite que o seu usurio defina a sua prpria marcao. Uma
linguagem de marcao pr-definida como o HTML especifica um modo de descrever
70
informao em apenas uma classe especfica de documento. O XML permite que o usurio
defina as suas prprias linguagens de marcao para atender inmeras classes de
documentos diferentes. Isto possvel porque o XML escrito em SGML, a metalinguagem
padronizada internacionalmente para sistemas de marcao de texto.
5.1.7 JSON
JSON (JavaScript Object Notation) pode ser definido como uma estrutura de dados
em Javascript, alm de o Javascript no ser requerido para seu funcionamento.
Segundo AUGUSTO (2009), o JSON pode substituir o XML, e faz isso muito bem
na hora de trabalhar com respostas em AJAX. A estrutura de dados fica mais simples de
trabalhar e o tempo de execuo de um script lendo dados em JSON dezenas de vezes mais
rpido do que ler um contedo XML.
O JSON um formato de troca de dados que tambm serve para serializar objetos.
Um objeto na memria poder ser transformado em um formato independente da linguagem
e ser transportado por qualquer meio at o seu destino, de maneira semelhante ao SOAP
(SAMPAIO, 2007).
Dentre as principais vantagens do JSON, de acordo com GAMA, so:
Leitura mais simples
Suporte a objetos
Velocidade maior na execuo e transporte de dados
Arquivo com tamanho reduzido
O JSON bastante utilizado para auxiliar a execuo de chamadas AJAX onde o
retorno obtido da execuo no servidor obedece aos padres de criao de objetos JSON
para que os dados retornados possam ser lidos em JavaScript (JACONETE, 2013).
A Figura 30 demonstra a tela inicial do Visual Studio 2010, logo ao ser executado.
FIGURA 30 - Tela inicial Visual Studio 2010
A classe CityMap tem como objetivo mapear o objeto City, que ir definir como
ser a tabela no banco de dados.
Na linha 1 a classe CityMap herdade de ClassMap que uma classe pertencente
ao nHibernate, que o mesmo, na criao da sesso, ir ler as classes que herdam da ClassMap
e assim poder trabalhar.
Na linha 3 criado o construtor da classe CityMap, que por padro todas as classes
herdadas da mesma devem ser criados com seus respectivos construtores.
Na linha 5 informado que o campo Id do objeto City, ser um campo identity na
tabela do banco de dados.
Na linha 6 informado que o campo ter tamanho de 100 caracteres e no poder
receber nulo nos registros.
Na linha 7 informado que o campo IdState ser uma chave estrangeira de outra
tabela e no poder receber nulo nos registros.
81
Para inserir ou alterar dados na base de dados via nHibernate possvel com a
chamada de apenas um mtodo, que serve para as duas situaes.
No Quadro 21, ser apresentado como inserir ou alterar dados na base de dados.
Para remover dados na base de dados via nHibernate possvel apenas enviando
o objeto de forma genrica, que o mesmo, atravs de reflection, verifica qual sua respectiva
tabela e executa a remoo.
No Quadro 22, ser apresentado como remover dados na base de dados.
Para buscar dados na base de dados via nHibernate possvel apenas enviando o
objeto de forma genrica, com o campo id preenchido.
No Quadro 23, ser apresentado como buscar dados na base de dados.
O mtodo SignIn tem como objetivo prover o controle de acesso ao portal web,
utilizados por os funcionrios da empresa.
Na linha 1 passado 3 parmetros, o usurio e senha do funcionrio da empresa,
alm, do objeto de instancia da sesso nHibernate.
Na linha 5 verificado se a instancia do repositrio da tabela de usurios est nula.
Na linha 6 inicializada a instancia do repositrio da tabela de usurios, passando
como parmetro a instancia da sesso, passada por parmetro do mtodo.
Na linha 8 de criptografada a senha passada por parmetro no mtodo e salvo na
varivel password.
Na linha 10 chamado o mtodo GetUserByLoginAndPassword, passando como
parmetro, o usurio e senha, salvando o resultado na varivel user.
Na linha 12 verificado se a varivel user, consequente do passo anterior nulo.
Na linha 13 retornado nulo no mtodo.
Na linha 15 salvo o tipo do usurio na propriedade global da classe.
Na linha 17 verificado se o id do usurio da varivel user, criado na linha 10,
ainda no est no dicionrio de usurios logados.
Na linha 18 adicionado no dicionrios de usurios logados o usurio corrente,
85
Para realizar o auto mapeamento entre objetos, foi utilizada a dll AutoMapper.dll,
no qual de uma forma bem simplificada, facilita o trabalho imensamente.
No Quadro 25, ser apresentado um mtodo utilizado, que utiliza estes recursos.
seus tamanhos, ttulos das colunas, e at qual a forma de apresentao das colunas, podendo
ser inclusive um boto.
Na linha 25 at a linha 27 definido que a grid ser paginada e possuir uma barra
de rolagem, caso possua muitos registros.
Na linha 28 definido que a grid ser ordenada pelo campo Id do objeto Ingredient
de forma descendente.
Na linha 29 definido que esta grid possvel ser selecionado registros, par a
edio, excluso de registros j existentes.
para validao.
Na linha 14 invocado o mtodo matcher da varivel ipValidate, passando como
parmetro o parmetro password que veio como parmetro do mtodo, retornando true ou
false de acordo com a validao efetuada.
Na linha 17 declarado o mtodo VerifyPinSecure, passando o pinIDSecure como
parmetro.
Na linha 18 criado uma instancia da classe Pattern, salvando na varivel
ipValidate, invocando o mtodo compile e passando como parmetro a expresso regular
para validao.
Na linha 20 invocado o mtodo matcher da varivel ipValidate, passando como
parmetro o parmetro pinIDSecure que veio como parmetro do mtodo, retornando true
ou false de acordo com a validao efetuada.
Este mtodo tem como objetivo, atravs do cdigo postal (cep), efetuar uma
chamada a um servio externo, buscar as informaes e dar progresso as aes durante o
processamento.
Na linha 1 declarado o mtodo getAddressByPostalCode que retorna um objeto
do tipo DeliveryAddress, passando o parmetro postal_code do tipo texto, alm de iniciar a
tratativa de exceo para caso de erro de parser durante a execuo do mtodo.
Na linha 2 e 3 criado um objeto do tipo DeliveryAddress com o nome de
deliveryAddress e atribudo o valor do postalCode, com o valor passado por parmetro no
mtodo.
Na linha 4 e 5 criado um objeto do tipo StringBuffer e concatenado a ele, o valor
da url do servio localizador de cep, com o cep e um atributo atribuindo seu tipo de formato
de retorno como xml.
Na linha 6 passado o valor do objeto StringBuffer, para a varivel do tipo texto,
nomeada de url.
Na linha 7 at a linha 18, criado um objeto do tipo HttpClient, no qual conectar
com a url presente na varivel, pegar o retorno e salva-lo na varivel nomeada
responseData.
Na linha 19 e 20, o catch onde so tratadas as excees geradas durante a
execuo do passo anterior.
Na linha 21 at a linha 24, criado um objeto do tipo KXmlParser, que tem a
funo de interpretar xmls, com isso, passado o contedo da resposta da url e verificado
se a tag root do xml webservicecep.
Na linha 26 at a linha 41, percorrido linha a linha o contedo da resposta da url,
verificando quais as tags correntes e caso sejam as esperadas nas validaes, so atribudas
a varivel deliveryAddress, caso no seja, segue para a prxima linha.
Na linha 42 at a linha 44, verificado se a ltima tag do xml webservicecep e
atribudo ao final do documento.
Na linha 45 retornado a varivel deliveryAddress do tipo DeliveryAddress,
preenchida durante o processamento do componente.
95
Este mtodo tem como objetivo, atravs do cdigo postal (cep), efetuar uma
chamada a um servio externo, buscar as informaes e dar progresso as aes durante o
processamento.
Na linha 1 declarado o mtodo getAddressByGps que retorna um objeto do tipo
DeliveryAddress, passando dois parmetros tipo texto, sendo a latitude a longitude do local,
capturadas pelo Gps do aparelho.
Na linha 2 criado um objeto do tipo DeliveryAddress com o nome de
deliveryAddress, que ser preenchido durante o processamento e retornado no fim das
96
atividades.
Na linha 4 e 5 criado um objeto do tipo StringBuffer e concatenado a ele, o valor
da url do servio do Google Maps, a latitude, longitude e um atributo informando que o tipo
do mesmo de dispositivo mvel (&sensor=true).
Na linha 6 passado o valor do objeto StringBuffer, para a varivel do tipo texto,
nomeada de url.
Na linha 7 at a linha 18, criado um objeto do tipo HttpClient, no qual conectar
com a url presente na varivel, pegar o retorno e salva-lo na varivel nomeada
responseData.
Na linha 19 at a linha 23, os catchs onde so tratadas as excees geradas
durante a execuo do passo anterior.
Na linha 25 at a linha 27, capturado o contedo da resposta do Google Maps no
formato Json, salvo numa varivel para aps isso, deserializ-la para um objeto do tipo
Metadata atravs da biblioteca Gson.
Na linha 29 at a linha 42, percorrido linha a linha o contedo da resposta do
Google Maps, verificando quais os campos correntes e caso sejam os esperados nas
validaes, so atribudas a varivel deliveryAddress, caso no seja, segue para a prxima
linha.
Na linha 44 retornado a varivel deliveryAddress do tipo DeliveryAddress,
preenchida durante o processamento do componente.
Aps o usurio efetuar o login no sistema, o mesmo estar com acesso total a
99
.
109
5.6 Concluso
6 CONSIDERAES FINAIS
Para chegar a este objetivo foi necessrio pesquisar sobre tecnologias web e movl,
at o ponto de aprender formas e tcnicas para desenvolvimento de um portal web e
aplicao mvel, rpida, com boa usabilidade e principalmente de qualidade. Porm a etapa
de desenvolvimento do portal web foi a mais complicada, devido a grande complexidade de
linguagens para deixar com o portal com mais interatividade e tambm por no tido
experincia alguma em desenvolvimento web anteriormente ao desenvolvimento deste
projeto.
Durante o desenvolvimento foi necessria a utilizao dos componentes grficos
Telerik e jQuery UI para desenvolvimento do portal web e a plataforma Android SDK para
desenvolvimento do aplicativo mvel, de forma mais simplificada, alm de ser, mais
sofisticada e de qualidade.
Em relao aos trs objetivos especficos, pode-se afirmar, que os mesmos foram
100% atingidos, o primeiro foi, atravs do desenvolvimento de um aplicativo mvel para
realizao de pedidos, o segundo atravs do desenvolvimento de um portal Web para gesto
e monitoramento e o terceiro est envolvido na arquitetura do projeto e base de dados onde
as informaes esto plenamente organizadas e distribudas, sendo cadastradas pelo portal
Web e apresentadas no aplicativo mvel.
Dentre as limitaes do aplicativo mvel, o que se pode destacar que o mesmo
depende de um Web Service para seu pleno funcionamento, caso este, encontra-se off-line,
o aplicativo se torna inoperante.
Sugere-se para trabalhos futuros a criao de novas funcionalidades como:
realizao de pedidos via um portal web, criao de um aplicativo mvel para outros
sistemas operacionais dos smartphones, tais como: iOS e Windows Phone.
112
REFERENCIAS BIBLIOGRAFICAS
BOOCH, G., et. al. UML - Guia Do Usurio - 2 Edio. Rio de Janeiro: Campus, 2006.
CARNEIRO, Mariana. Alimentao fora de casa cresce 15% em dez anos. 22/09/2012.
Disponvel em: <http://www1.folha.uol.com.br/fsp/mercado/67574-alimentacao-fora-de-
casa-cresce-15-em-dez-anos.shtml>. Acessado em 23 de Maro de 2013.
G1. Mundo ter mesmo nmero de celulares quanto de pessoas em 2013. Disponvel
em <http://g1.globo.com/tecnologia/noticia/2013/02/mundo-tera-mesmo-numero-de-
celulares-quanto-pessoas-em-2013.html>. Acessado em 13 de Maio de 2013.
G1. Vendas do comrcio eletrnico do Brasil devem crescer 24% em 2013 . Disponvel
em <http://g1.globo.com/tecnologia/noticia/2013/03/vendas-do-comercio-eletronico-do-
brasil-devem-crescer-24-em-2013.html>. 20/03/2013. Acessado em 30 de Maro de 2013.
HIRT, Alan. Pro SQL Server 2008: Failover Clustering. New York, NY: Apress, 2010.
os3hvPwMjIw93IwMDFzcjA6OgoADLQA8XQ-
cAE_2CbEdFABkXeDQ!/?PC_7_KN022HG20OVI40270TOD3A1OE7_WCM_CONTE
XT=/wps/wcm/connect/Web%20Content/liquigas/menu/comunicacao/noticias/liquigas+m
arcou+presenca+no+conarec+2012. Acessado em 28 de Agosto de 2012.
TEMPLEMAN, J.; VITTER, D. Visual Studio .NET: The .NET Framework Black
Book. Scottsdale, Arizona: Coriolis, 2007.
APNDICES
APNDICE A ARTIGO
sergiofontana1903@gmail.com, rech@gmail.com
Abstract. Nowadays people want and choose to make use of services that bring greater ease,
flexibility and quality in their activities in general. When a person wishes to make a request for
food, often by the same meets with difficulties for reasons of traffic congestion, busy telephone
lines and high flow of people competing with the same desires. Therefore, the objective of this
work is the development of the implementation of a prototype mobile application on the Android
platform, to make orders of snacks by the client and a Web portal for the analysis, management
and monitoring and aid in decision making, by employees of the company.
Resumo. Atualmente as pessoas desejam e optam por usufruir de servios que lhe tragam mais
facilidade, flexibilidade e qualidade em suas atividades em geral. Quando uma pessoa deseja
realizar um pedido alimentcio, por muitas vezes a mesma encontra-se com dificuldades por
questes de transito, congestionamento, linhas telefnicas ocupadas e alto fluxo de pessoas
concorrendo com as mesmas vontades. Com isso o objetivo deste trabalho consiste no
desenvolvimento de na implementao de um prottipo de aplicativo mvel na plataforma
Android, para realizao de pedidos de lanches por parte do cliente e um portal Web para a
anlise, gesto e monitoramento e auxlio na tomada de deciso, por parte dos funcionrios
da empresa.
1. Introduo
Nos ltimos anos o crescimento de empreendimentos como restaurantes, bares,
lanchonetes e outros estabelecimentos de produo de alimentos tem sido maior que a capacidade
de atendimento da Agncia Nacional de Vigilncia Sanitria (Anvisa) e de instituies que
qualificam esse tipo de atividade (AGNCIA SEBRAE, 2008).
Com o aumento do nmero de estabelecimentos alimentcios, aumenta o nmero de opes
e possibilidades de escolha do cliente de acordo com sua vontade no momento, mesmo no tendo
muitas formas para realizao de seus pedidos (celulares, telefones e computadores), sendo os
celulares, os campees no quesito crescimento atualmente.
Conforme a reportagem publicada por G1 (2013), de acordo com as estimativas sobre a
penetrao do servio de telefonia mvel no planeta, at o fim de 2013, o mundo ter quase sete
bilhes de linhas ativas. Isso representa praticamente um celular por pessoa, mesmo que a taxa
utilizao seja muito maior em determinados locais e menor em outros.
120
relatrios que fazem uma grande diferena para os estabelecimentos, por possuir informaes
detalhadas e minuciosas sobre os gostos e preferncias dos clientes.
3. Comrcio Eletrnico e Ofertas On-Line
Segundo LOGISTA ONLINE (2013), o comrcio eletrnico ou e-commerce a compra e
venda de mercadorias ou servios por meio da Internet, onde as chamadas Lojas Virtuais oferecem
seus produtos e formas de pagamento online. O comrcio eletrnico um meio facilitador dos
negcios, tornando o processo de venda fcil, seguro, rpido e transparente, reduzindo os custos
das empresas que atuam neste segmento e estimulando a competitividade.
As vendas no comrcio eletrnico brasileiro devem atingir R$ 28 bilhes neste ano,
quando o segmento pode superar 50 milhes de consumidores, conforme projees traadas pela
empresa especializada em dados do setor, e-bit (G1, 2013).
Em 2012, foi realizado ao longo do ano 66,7 milhes de pedidos, um volume 24,2% maior
do que o registrado no ano anterior. Conforme a e-bit, 42,2 milhes de pessoas j fizeram, ao
menos, uma compra on-line no Brasil. O tquete mdio em 2012 fechou em R$ 342 (G1, 2013).
Sobre os principais benefcios disponibilizados para as empresas, segundo Castro (2011),
so custos mais baixos para alcanar um pblico maior, aberto 24 horas por dia, novos mtodos
de distribuio, contato direto com o cliente, mais informaes sobre os consumidores e marketing
personalizado.
O e-commerce traz grandes benefcios para os clientes, para os consumidores e tambm
para os fornecedores. Os grandes ganhos para os consumidores proporcionar compras mais
eficientes, oferecendo um maior leque de escolhas, preos mais baixos e um alto nvel de servios
personalizados. Tambm oferece novos tipos de produtos e servios com novas maneiras de
adquiri-los (CASTRO, 2011).
Dentre as formas de pagamento utilizadas no comrcio eletrnico, podem ser destacadas, o
dinheiro, que no momento da entrega do pedido realizado o pagamento feito em dinheiro vivo,
boleto bancrio, que aps ser pago o pedido entregue, carto de crdito/dbito, um dos mais
utilizados mundialmente, alm do Pay-Pal e PagSeguro que so plataformas de pagamento online.
Os cardpios e ofertas no ramo alimentcio so divididos em 3 mdulos, um cardpio
online personalizado, que as prprias empresas montam seus cardpios de forma totalmente
exclusiva, possuindo um design limpo e personalizvel, o segundo o mdulo de agendamento de
pedidos on-line, responsvel por aproximar empresa-cliente atravs de um portal web ou aplicao
mvel para realizao de pedidos de forma instantnea, e por ltimo o mdulo para ofertas e
promoes atualizadas em tempo real, que atravs de um aplicativo mvel ou portal web,
apresente quais so as principais promoes e ofertas de diversas empresas ao mesmo tempo.
4. Modelagem do sistema
4.1 Viso Geral
O objetivo do sistema possibilitar a realizao de pedidos de lanches por parte dos clientes
e a gesto dos pedidos por parte das empresas. Dentre estas caractersticas foram divididos em 2
mdulos, sendo o aplicativo mvel e o portal web.
4.2 Requisitos
Para a construo deste sistema, foram nescessrias as implementaes dos seguintes
requisitos funcionais e no funcionais, apresentados abaixo.
RF 001 Permitir empresas enviar feed-back para o Administrador
RF 002 Validar usurio e senha
RF 003 Permitir o filtro de informaes
122
O Quadro 4 apresenta o mtodo para busca de endereo via GPS, que atravs da api
do google, consegue exatamente qual a localizao do cliente.
Quadro 4. Cdigo fonte do mtodo GetAddressByGPS
6. Apresentao do Sistema
O sistema foi dividido em 2 mdulos, onde sero apresentadas as principais telas do
sistema.
6.1 Aplicativo Android
No prottipo do aplicativo Android a tela inicial bastante simples e intuitiva, possuindo
apenas duas opes visveis, que possuem o objetivo de buscar a localizao do usurio (cliente)
para realizao da busca de estabelecimentos para sua respectiva localizao.
A Figura 3 representa a interface inicial onde o usurio pode escolher se quer informar sua
localizao via GPS ou via Cep.
O usurio pode manipular os lanches e vincular os ingredientes includos nos lanches, para
que na realizao de um pedido, o cliente possa escolher quais os ingredientes no so de seu
gosto.
A Figura 8 representa a tela de cadastros de Lanches, onde o usurio pode realizar as aes
de Crud, manipulando seus lanches juntamente com seus ingredientes vinculados.
7.0 Concluso
Este trabalho de concluso de curso teve como objetivo principal criar um prottipo de um
aplicativo Android para pedidos de lanches e um Portal e Aplicativo para Gesto e
Monitoramento.
Atualmente a utilizao da internet, seja para visualizao de um portal web ou para a
utilizao de um aplicativo mvel, vem crescendo a nveis altssimos, sendo um mercado com
grande potencial econmico.
Como a demanda de pedidos as empresas, torna-se muito difcil as mesmas gerenciarem
seus produtos, clientes, pedidos e estatsticas, alm dos clientes possurem alguns obstculos para
realizao de seus pedidos, como j citados no decorrer deste trabalho.
O objetivo deste trabalho de vem encontro justamente para que se no acabar com estes
problemas, ou ao menos melhor-los consideravelmente, por parte das empresas um portal
gerenciador de pedidos, controle de produtos, alm da possibilidade de gerao de relatrios e
avaliaes sobre a mesma e por parte dos clientes um aplicativo Android que possibilite ao mesmo
visualizar os cardpios e realizar seus pedidos, de acordo com a empresa desejada.
Para chegar a este objetivo foi necessrio pesquisar sobre tecnologias web e movl, at o
ponto de aprender formas e tcnicas para desenvolvimento de um portal web e aplicao mvel,
rpida, com boa usabilidade e principalmente de qualidade. Porm a etapa de desenvolvimento do
portal web foi a mais complicada, devido a grande complexidade de linguagens para deixar com o
portal com mais interatividade e tambm por no tido experincia alguma em desenvolvimento
web anteriormente ao desenvolvimento deste projeto.
8.0 Referncias
ABRASEL. 74% dos brasileiros preferem fast-food a restaurantes tradicionais.
14/12/2011. Disponvel em <http://www.abrasel.com.br/index.php/atualidade/noticias/946-
141211-74-dos-brasileiros-preferem- fast- food-a-restaurantes-tradicionais.html> Acessado em 02
de Fevereiro de 2013.
131