MARCO ANTONIO GOMES UNISA UNIVERSIDADE DE SANTO AMARO CURSO BACHARELADO EM SISTEMAS DE INFORMAO
CHRISTIAN SOUSA LCIO LIMA MARCELO FELIPE
APLICATIVO ANDROID BOHEMIAN
So Paulo 2013
CHRISTIAN SOUSA LCIO LIMA MARCELO FELIPE
APLICATIVO ANDROID BOHEMIAN
Monografia apresentada para obteno do ttulo de Bacharel em Sistemas de Informao a Curso de Sistemas de Informao da Universidade de Santo Amaro UNISA sob orientao da (Eugnio Akihiro Nassu).
So Paulo 2013
CHRISTIAN SOUSA LCIO LIMA MARCELO FELIPE
APLICATIVO ANDROID BOHEMIAN
Monografia apresentada para obteno do ttulo de Bacharel em _______________________ao Curso de __________________________da Universidade de Santo Amaro UNISA sob orientao da rea de Concentrao__________________________.
Data de Aprovao: ____/____/____
BANCA EXAMINADORA
_____________________________________________________________________________ ______ (nome do orientador e Titulao)
_____________________________________________________________________________ ______ (nome do professor e Titulao)
Trabalho dedicado a todos os nossos familiares, esposas e filhos, que acreditam em nossos potenciais, nos motivando a ir sempre alm de todas as expectativas, e nos tornarmos pessoas realizadas, informadas e sempre dispostas a fazer o melhor, buscando sempre os caminhos corretos para o nosso desenvolvimento que tambm ser o melhor para eles, sempre seguindo os nossos coraes orientados pela fora de Deus.
AGRADECIMENTOS A todos os professores, que nos apoiaram para que hoje possamos apresentar esse trabalho muito importante, feito atravs de muitas pesquisas, estudos e a ajuda diretamente deles tirando as nossas dvidas, aconselhando, mostrando sempre os melhores caminhos a serem seguidos para o nosso desenvolvimento pessoal e acadmico.
A maior inveno do mundo no a minha tecnologia! a morte! pois atravs dela, o velho sempre dar lugar para o novo! Steve Jobs
RESUMO Com o grande avano da tecnologia, a cada dia temos novidades nesse vasto mercado, uma das novidades so os aplicativos para dispositivos mveis, que a cada dia ganham mais funcionalidades teis para o usurio, aplicativos so desenvolvidos e disponibilizados a todo o momento, e para todas as reas de conhecimento, como sade, diverso, informao, e muito mais. Com base nessa situao desenvolvemos um prottipo de aplicativo na plataforma Android com o nome Bohemian, a fim de ajudar usurios que tenham necessidades especficas, nosso aplicativo simula uma comanda, mas em tempo real, voc no faz o pedido diretamente ao garom, voc usa o Bohemian para fazer pedido, o garom apenas serve, evitando assim que seja marcado em sua comanda um item que voc no solicitou, para quem frequenta bares muito comum acontecer e pode causar constrangimentos. Usaremos a tecnologia Java e Android para desenvolver nosso aplicativo que simples, porm muito objetivo na tarefa que executa.
Palavras-chaves: Android, Bohemian, Java.
ABSTRACT With breakthrough technology, we have news every day from this vast market, one of those are the mobile device applications, that every day earn more useful features for the uses, applications are developed and made available every moment, and for all areas of knowledge, like health, entertainment, information, and a lot more. Based on this situation we developed an Android Plataforms prototype application called Bohemian, to help users that have specific needs, our application simulates an order, but in real time, you dont do the order directly to the waiter, you use the Bohemian to make that order, and the waiter only deliveries that request, avoiding some item that you did not asked for it, to be marked on your order, for those who uses to frequent bars it is specially likely to occur and can cause embarrassment . We will use Java and Androids technology to develop our application that it is simple, but very purpose on the tasks that executes. Keywords: Android, Bohemian, Java
LISTA DE FIGURAS
FIGURA 1 Diagrama de Classe do software...................................pg 21 FIGURA 2 Tela Principal................................................................pg 25 FIGURA 3 Tela de Instrues..........................................................pg 26 FIGURA 4 Tela Pedidos..................................................................pg 27 FIGURA 5 Tela Pedidos com erro...................................................pg 28 FIGURA 6 Tela Pedidos preenchida................................................pg 29 FIGURA 7 Tela Listar enviados.......................................................pg 30 FIGURA 8 Tela Listar Pedidos........................................................pg 31 FIGURA 9 Tela Total.......................................................................pg 32 FIGURA 10 Sqlite............................................................................pg 34
Sumrio Introduo .............................................................................................. 13 Organizao do Trabalho ...................................................................... 13 1 - Histria da Programao .................................................................. 14 1.2 Histria do Java ............................................................................... 14 1.3 Histria do Android .......................................................................... 15 O que Android? ................................................................................... 15 2 - Vantagens do Android ...................................................................... 17 2.1 Cdigo aberto (Open Source) .......................................................... 18 3 - Caso de Uso Bohemian (Use Case) ................................................. 19 3.1 Principais objetivos do Caso de Uso................................................ 19 3.2 Componentes do caso de Uso ......................................................... 19 3.3 - Diagrama de Classes .................................................................... 21 4 - Anlises de Requisitos ..................................................................... 22 4.1 Requisitos do projeto ....................................................................... 22 4.2 Requisitos Funcionais ...................................................................... 22 4.3 Requisitos no funcionais ................................................................ 22 4.4 Requisitos do produto ...................................................................... 22 5 - Anlise dos requisitos Bohemian ...................................................... 23 5.1 Requisitos do projeto Bohemian ...................................................... 23 5.2 Requisitos funcionais do Bohemian ................................................. 23 5.3 Requisitos no funcionais do Bohemian .......................................... 23 5.4 Requisitos do produto Bohemian ..................................................... 23 6 - Desenvolvimento do Bohemian ........................................................ 24 6.1 Tela Principal ................................................................................... 25 6.2 Tela Instrues ................................................................................ 26
6.3 Tela de Pedidos ............................................................................... 26 6.4 Erro Tela Pedidos ............................................................................ 27 6.5 Tela Pedidos preenchida ................................................................. 28 6.7 Pedidos Enviados ............................................................................ 30 6.8 Tela Listar ........................................................................................ 31 6.9 Tela Total ......................................................................................... 32 7 - Desenvolvimento do software ........................................................... 33 7.1 Banco de dados ............................................................................... 33 7.2 Tela de criao de bancos de dados. .............................................. 34 7.3 Android/Java .................................................................................... 35 7.4 Styles ............................................................................................... 36 7.5 Tela principal ................................................................................... 36 7.6 Tela pedidos .................................................................................... 36 7.7 Tela DB (Banco de Dados) .............................................................. 37 7.8 Design Patterns ............................................................................... 38 7.9 Tela PedidosPojo ............................................................................. 38 7.10 Tela PedidosDao ........................................................................... 38 7.11 Tela PedidosAdapters .................................................................... 39 7.12 Tela Listar ...................................................................................... 39 7.13 Tela Fechamento ........................................................................... 39 8 - Concluso ......................................................................................... 40 9 - Referncias Bibliogrficas ................................................................ 41 10 - Codificao do projeto Bohemian ................................................... 42 9 - Referncias Bibliogrficas ................................................................ 40 10 - Codificao do projeto ..................................................................... 41
13
Introduo Nesse trabalho temos o objetivo de propor uma soluo para um problema que apesar de simples, causa constrangimentos em frequentadores de bares e pequenos restaurantes, algumas vezes aparecem itens que no consumimos em nossa conta, pensando em como resolver isso criamos um o prottipo de aplicativo que funciona como uma comanda o Bohemian, onde o cliente que envia os seus pedidos para o garom ou atendente abordaremos um tipo de tecnologia a que cada dia cresce mais, as plataformas Mobile, especificamente o sistema operacional da Google, o Android, que hoje em dia utilizada por 75% dos smartphones no mundo, e por isso est em evidncia no mercado h anos. Levando em considerao a grande evidncia de tal tecnologia, e atravs de muito empenho, dedicao e estudos sobre a linguagem, nosso grupo resolveu criar um aplicativo prottipo utilizando Android/Java com o sugestivo nome de Bohemian. Bohemian uma comanda que permite a iterao em tempo real entre o garom e o cliente, assim que o cliente faz o pedido, o garom pode listar a informao do pedido identificado pela mesa e os produtos solicitados, assim o cliente {www.tenhasucessonavida.com.br} {www.tenhasucessonavida.com.br} {Facebook.com} {Facebook.com} {www.tenhasucessonavida.com.br} {www.tenhasucessonavida.com.br} no pagar pelo o que no pediu, j que {www.tenhasucessonavida.com.br} {www.tenhasucessonavida.com.br} ele que controla o pedido. J existem aplicativos similares no mercado, o Bohemian relativamente simples, mas bem funcional e com boas prticas de programao e escolhemos como Design Patterns o (Dao) para melhor controle do banco de dados. Organizao do Trabalho O trabalho est dividido em oito partes, no captulo 1 abordaremos a histria da programao Android e Java, captulo 2, as vantagens do Java sobre o principal concorrente, captulo 3, apresentao dos diagramas de classe e diagrama de Uso, captulo 4, mostraremos a anlise de requisitos do software, captulo 5, anlise de requisitos do Bohemian, captulo 6, apresentao do software, captulo 7, desenvolvimento do software, captulo 8, captulo 9, referncias bibliogrficas, captulo 10, codificao do software. 14
Antes de comearmos com o trabalho, importante falar um pouco da histria da programao, um breve resumo de como tudo comeou at os dias de hoje.
1 - Histria da Programao Comeamos falando sobre Ada Augusta Byron King ser que voc a conhece? E Ada Lovelace? - Provavelmente no, mas saiba que muitos a consideram a me da programao, graas a um projeto em que Ada trabalhou, ela escreveu um programa para ser utilizado na mquina analtica de Charles Babbage, tal mquina considerada o marco inicial da programao de computadores, o algoritmo que Ada escreveu calculava a sequncia de Bernoulli, tambm conhecida como a Lei dos Grandes Nmeros. Ada na verdade no implementou o algoritmo ela apenas o traduziu e o estudou, tambm conheceu a fundo a mquina de Babagge. Com esse estudo em mos, Ada foi capaz de escrever um artigo com o passo a passo de como calcular os nmeros de Bernoulli, esse seu artigo considerado o primeiro programa de computador, mas pesquisadores apontam possveis pais da programao bem antes de Ada, Joseph-Marie Jacquard, um francs que inventou o Tear Mecnico um deles, mas Ada foi a primeira a registrar academicamente e conceber um algoritmo, alm de tratar implantar realmente em uma mquina de fato.
1.2 Histria do Java Java uma linguagem de programao orientada a objetos que foi criada em 1991, pela empresa Sun Microsystems, os programadores da Sun trabalhavam no desenvolvimento de um programa para set-top Box. No incio do projeto escolheram a linguagem C/C++ para o projeto, mas logo perceberam que com essa linguagem, seu sistema no poderia ser porttil. Com base no que precisavam, decidiram tirar alguns recursos da plataforma e acabaram quase que acidentalmente criando uma nova linguagem de programao. Que 15
tinha como nome OaK (Carvalho em portugus) em homenagem ao desenvolvedor que criou os cdigos de baixo de uma rvore de carvalho, mesmo sendo uma grande novidade no mercado, a linguagem no foi aceita. Mas cinco anos depois com o grande crescimento da internet, a Oak passou a ser a melhor opo para a web, j que a internet precisava de uma linguagem de programao porttil e que pudesse ser usada para escrever programas que funcionasse em diferentes plataformas, o que a principal caracterstica do Java. Pensando no futuro e com a aceitao imediata da linguagem, a empresa Sun decidiu no mesmo ano renomear a linguagem para JAVA aps mais algumas alteraes na plataforma, foi relanada no mercado. Os desenvolvedores de todo o {Facebook.com} {Facebook.com} mundo descobriram o potencial da tecnologia Java, que virou febre e entre os programadores, e hoje em dia estima se que aproximadamente 800 milhes de computadores e 3,5 bilhes de cartes magnticos inteligentes usam Java. 1.3 Histria do Android O que Android? Segundo o site www.areadecobertura.com O Android um Sistema Operacional de Cdigo aberto desenvolvido pela Open Handset Alliance, ou como define o site oficial do Android a primeira plataforma totalmente personalizvel, gratuita e de cdigo aberto. Deixando em panos limpos, dizer que o Android um Sistema Operacional, dizer que ele est para os telefones assim como o Windows est para os computadores. Assim, criado o Android, fabricantes esto construindo inmeros telefones capazes de funcionar com ele. importante afirmar que sabendo todos que o Android um sistema operacional, muito errado dizer "Celular Android", mas tudo bem vai, vamos deixar o mercado falar assim para ficar mais fcil. Quando se fala em Android, todos associam o nome imediatamente ao Google, mas a histria do Android comeou muito antes, em outubro de 2003, na cidade de Palo Alto na Califrnia, quando Andy Rubin , Rich Miner, Nick Sears e Chris White fundaram a Android Inc. O foco era em desenvolvimento de sistemas operacionais para celulares, baseados no sistema operacional do ncleo Linux para dispositivos mveis, o 16
desenvolvimento tinha por objetivo ser uma plataforma flexvel, aberta e de fcil migrao para outros fabricantes, todos os projetos eram secretos, o primeiro sistema Android criado por eles foi o Android 1.5 chamado de Cupcake. S em outubro de 2005 a Google comprou a Android, fazendo uma subsidiria e investiu pesado em desenvolvimento para que a linguagem fosse realmente bem difundida e que posteriormente se tornasse a principal tecnologia nos dispositivos mveis, os fundadores Andy Rubin, Rich Miner e Chris White foram mantidos na equipe. Em dezembro de 2006 saiam as primeiras notcias no canal (BBC), e (The Wall Street Journal), ambos publicaram que a Google estava entrando para o mercado de telefones mveis, tecnologia que era desenvolvida com uma parceria da empresa de software Sun Corp. O primeiro telefone mvel comercializado e disponvel a rodar com o sistema Android foi o HTC Dream com a verso 1.5 na data de 22 de outubro de 2008. Segundo o Google, mais de um milho e 300 mil aparelhos com este sistema operacional so ativados todos os dias utilizados por fabricantes de diversas empresas como: HTC, Samsung, Sony, Motorola, LG e recentemente a Positivo Informtica. Atualmente a verso do Android est na 4.2.2 chamada Jelly Bean.
17
2 - Vantagens do Android Fazendo algumas comparaes com ao principal concorrente (Iphone) segundo o http://www.bspcn.com temos uma lista 10 vantagens do Android sobre o Iphone, so elas: 1- Permite executar mais de um programa ao mesmo tempo, seja nativo ou oriundo do Android Market, {www.tenhasucessonavida.com.br} {www.tenhasucessonavida.com.br} {Facebook.com} {Facebook.com} enquanto o da Apple s permite aplicaes do prprio {Facebook.com} {Facebook.com} telefone rodando no background. 2- O uso dos widgets (atalhos rpidos para servios web) bem dinmico no Android, e a informao que eles apresentam est sempre visvel e ao alcance de interao. Assim fica mais fcil checar o email, as redes sociais e o tempo.
3- Como baseado em ferramentas de cdigo aberto, o Android Market, embora ainda menor que o App Market do Iphone, floresce a olhos vistos e traz muitas alternativas gratuitas. 4- As notificaes do Android so mais organizadas, e contam com uma barra com cones diferenciados para melhor identificao dos avisos, alm de o sistema permitir aos programadores a insero de notificaes diretamente na lock screen (a rea de trabalho inicial do telefone). 5- O sistema do Google est em vrias marcas de celulares diferentes - Motorola,Samsung, HTC, Samsung, LG, enquanto o iPhone, iPhone. . 6- Embora aqui o Iphone esteja em diferentes operadoras, nos EUA ele exige contrato com a AT&T, enquanto o Android se espalha por Sprint, Verizon, T-Mobile.
7- O Android permite programao mais personalizada, inclusive portando interfaces customizadas de um aparelho a outro. 8- A mudana de configurao (por exemplo, mudar a conexo de WiFi para 3G) do sistema do Google mais rpida. 9- A integrao com servios do Google e redes sociais a melhor parte do Android, que permite uma conexo rpida e transparente com os sites. 18
10- Os preos - ao menos nos EUA - so mais convidativos. L, as operadoras j oferecem smartphones com Android gratuitamente se ligados a um plano de dois anos. (Aqui, j h ofertas semelhantes, mas com mensalidades polpudas).
Essas so vantagens citadas por usurios e desenvolvedores de Android, podem at ser tendenciosas devido aos usurios serem os principais envolvidos nas pesquisas, porm temos que ponderar, e reconhecer que o timo IOS da Apple arranca suspiros de seus fs e usurios e que a questo de qual o melhor bem relativa, depende de muita coisa para ser avaliada, e esse tipo de pesquisa s tende a deixar as concorrncias bem saudveis, e quem ganha com isso? Os simples usurios. 2.1 Cdigo aberto (Open Source) Aps seu lanamento, ao Android se tornou a primeira plataforma mvel a ser livre e ter seu cdigo totalmente aberto (open-source), o que acabou se tornando um grande diferencial diante dos seus principais concorrentes. O sistema passa periodicamente por melhorias, e conta com a contribuio de milhares de desenvolvedores ao redor do mundo para ajudar no desenvolvimento da plataforma. Essa a maior vantagem para os fabricantes, pois eles podem utilizar o S.O Android em seus dispositivos sem pagar absolutamente nada por isso. Outra vantagem uma licena chamada Apache Software Foundation (ASF) permite que o cdigo-fonte possa ser alterado e assim criar dispositivos personalizados sem a necessidade de divulgar as alteraes. Todo o cdigo fonte do Android pode ser baixado no nesse endereo: http://source.android.com/index.html.
19
3 - Caso de Uso Bohemian (Use Case) O caso de uso uma tcnica utilizada para demonstrar o que o sistema far aps ser projetado. Normalmente feito com base na abordagem junto ao cliente, mas no nosso caso que somos o prprio cliente, as especificaes foram feitas conforme as necessidades apontadas por ns mesmos. O comportamento do sistema mostrado amplamente nesse caso de uso mostraremos o que acontece quando acontece a iterao do usurio com o software. 3.1 Principais objetivos do Caso de Uso Definir detalhadamente os requisitos do sistema; Fornecer informaes do que faz o sistema; Descobrir os requisitos funcionais, classes e como opera o sistema. 3.2 Componentes do caso de Uso Ator, que solicita aes e recebe as reaes do software. Sistema, o software que ser modelado. Caso de Uso, um conjunto especfico de aes feitas pelo sistema que contm um resultado observvel. Caso de uso representado por uma elipse, com o nome do caso de uso dentro ou abaixo. Se h limites do sistema no diagrama, o caso de uso deve ficar dentro. Usaremos o Unified Method Language (UML) para representar o nosso caso de uso.
Nome do caso de uso 20
Ator Nome do Caso de Uso Para o projeto construmos o caso de uso com dois atores, um faz o papel do cliente e o outro faz o garom do estabelecimento e ambos interagem como nosso software.
Cliente Garom Bohemian 21
3.3 - Diagrama de Classes O diagrama de classe exibe toda a estrutura e relacionamento entre as classes, uma modelagem muito til e serve de base para a construo dos diagramas como o de sequencia, o de estado e outros. Nesse trabalho temos apenas {Facebook.com} {Facebook.com} o de uso, descrito acima e o de classes que ser apresentado abaixo:
Figura 1 22
4 - Anlises de Requisitos A anlise de requisitos a chave para o sucesso de qualquer que seja o projeto, nessa etapa do projeto feita toda a anlise de todas as necessidades do cliente, esse levantamento essencial para que se possa definir definitivamente como ser e como funcionar o software. Os requisitos do projeto se dividem em partes: 4.1 Requisitos do projeto Levantamento de requisitos referentes ao projeto, essa etapa feita logo no incio projeto, mas deve ser gerenciada at o fim ela determinante para o sucesso de um bom projeto. 4.2 Requisitos Funcionais Os requisitos funcionais como diz o prprio nome, especifica com o funcionamento do software, ele torna a vida dos envolvidos na construo do sistema mais fcil porque detalha todo o funcionamento do software. 4.3 Requisitos no funcionais Contempla tudo o que no faz o seu software, todas as restries que ele tem juntamente com as suas propriedades.
4.4 Requisitos do produto Requisitos do produto descrevem propriedades de um software ou produto uma das vrias maneiras de conseguir satisfazer um conjunto de requisitos de negcio que foi proposto. Abaixo descreveremos todos os requisitos acima citados dentro do nosso projeto.
23
5 - Anlise dos requisitos Bohemian Como j foi citado, o grupo o idealizador do projeto, por isso desenvolvemos a anlise dos requisitos do projeto, uma vez que a necessidade de criao desse software foi levantada pelo grupo, assim toda a funcionalidade e necessidade foram feitas de acordo com o que julgamos que seria vlido. 5.1 Requisitos do projeto Bohemian Os requisitos do projeto foram levantados e discutidos por todos os integrantes do grupo, veio de uma necessidade em comum, por isso foi desenvolvido esse software para que o cliente possa ter o real controle do que pedido em sua comanda, e pagar apenas pelo que o cliente realmente solicitou, essa foi a principal necessidade levantada para o projeto. 5.2 Requisitos funcionais do Bohemian Aps ser instalado no dispositivo mvel, o cliente faz os seus pedidos, o garom lista os pedidos e serve o cliente em sua mesa, o cliente continua a fazer os seus pedidos at ele apertar o boto para fechar a sua conta, feito isso ele vai at o caixa e efetua o pagamento para a atendente. 5.3 Requisitos no funcionais do Bohemian Quanto ao uso do nosso software, necessrio ter o sistema Android instalado no dispositivo mvel, o Bohemian no funciona em outro sistema operacional, exclusivamente projetado para Android.
5.4 Requisitos do produto Bohemian O Bohemian um software simples, com apenas quatro telas, bem intuitivas, na principal o cliente escolhe fazer os pedidos, na tela de pedidos o cliente digita as quantidades e os itens que deseja consumir, na tela de listagem o cliente verifica o que pediu depois ele fecha os pedidos e verifica qual o valor da sua conta. {Facebook.com} 24
{Facebook.com} {Facebook.com} {Facebook.com} como se o usurio estivesse fazendo o pedido {Facebook.com} {Facebook.com} em um simples papel, simula muito bem uma comanda em que o cliente tem total controle dos seus pedidos, a necessidade de criao quase que exclusiva da parte dos clientes, para os donos de estabelecimento ele no to interessante.
6 - Desenvolvimento do Bohemian O Bohemian foi construdo para funcionar em qualquer dispositivo mvel com Android instalado, qualquer seja a verso, o modo da instalao atual um prottipo, ele ainda no a verso definitiva que propomos, mas mostra o funcionamento do programa, para que o Bohemian funcione do jeito em que foi idealizado precisaremos instalar o banco de aplicao em Web Service, assim podemos promover a iterao do cliente com o garom do estabelecimento com um banco de dados em comum nos dois aparelhos, clientes/estabelecimentos. 25
6.1 Tela Principal
Figura 2 Na figura2, temos a tela principal do software, com apenas dois botes, o boto para iniciar os pedidos, e o boto para sair da aplicao, alm disso, temos uma breve instruo de como utilizar o Bohemian. Se o cliente clicar em sair volta para o menu do celular, se clicar em pedidos, abrir a tela de pedidos, assim poder iniciar as operaes com o nosso software seguindo as coordenadas que podem ser lidas antes clicando nas instrues. Se o cliente clicar em instrues, abre-se a tela que explica o funcionamento do software, como podemos verificar na figura3.
26
6.2 Tela Instrues
Figura 3 6.3 Tela de Pedidos A figura 4 mostra a tela de Pedidos, Agora o cliente faz os seus pedidos, preenchendo todos os dados desta tela, no possvel deixar nenhum campo em branco, ao deixar campos sem preenchimento o sistema no prossegue, se o usurio clicar em enviar sem preencher os campos, o sistema apresenta uma mensagem para que o usurio preencha os campos faltantes corretamente.
27
Figura 4
6.4 Erro Tela Pedidos Na figura 5 a tela com a mensagem de erro caso falte alguma informao no pedido do cliente, o sistema pede para que seja corrigido o campo para que o pedido possa ser realizado.
28
Figura 5
6.5 Tela Pedidos preenchida Agora temos a tela de pedidos devidamente preenchida, assim podemos dar prosseguimento ao nosso pedido o cliente digita o item e a quantidade e clica em adicionar pedido e a quantidade solicitada e clica em adicionar, os preos e o total so preenchidos automaticamente pelo sistema, assim o garom pode visualizar todos os pedidos feitos em diversas mesas e posteriormente poder servir todos os clientes do estabelecimento atravs da visualizao que ele vai fazer na tela de listagem, veja na figura6 a tela preenchida corretamente.
29
Figura 6
Aps o pedido ser preenchido o cliente clica em enviar, para que o pedido seja processado e enviado para o sistema, assim o garom poder verificar os pedidos das mesas na tela de listar e servir os clientes veja a mensagem de confirmao de pedido que foi enviado e gravado no banco de dados na figura7. 30
6.7 Pedidos Enviados
Figura 7 Agora veremos a tela de listagem, que chamada atravs do boto listar, nessa tela o cliente v o que foi pedido e garom tambm, sendo que o garom verifica em que mesa e o que servir aos respectivos clientes os pedidos so identificados pelo nmero e sua respectiva mesa, vejam a figura8. 31
6.8 Tela Listar
Figura 8 Nessa tela o cliente verifica o status do seu pedido, o cliente verifica apenas o seus pedidos, enquanto o garom visualiza todos os pedidos.
32
6.9 Tela Total
Figura 9
Finalizando, temos na figura 9 a tela de Total de pedidos, nela temos a soma de tudo o que foi pedido pela mesa, assim o cliente pode pagar a sua conta no caixa.
33
7 - Desenvolvimento do software Agora iremos mostrar o desenvolvimento do projeto, etapa por etapa, tudo o que foi usado para a construo do Bohemian, que comea coma escolha do IDE Eclipse, ferramenta de desenvolvimento Open Source que considerada por muitos a melhor ferramenta para desenvolvimento, o Eclipse IDE for Java EE Developers oferece edio de Java superior com compilao incremental, suporte a Java EE 5, a HTML / JSP / JSF editor grfico, ferramentas de gerenciamento de banco de dados e suporte a mais popular servidores de aplicativos, tudo bem explicado para mostrar como chegamos ao resultado final. 7.1 Banco de dados A aplicao usa um banco de dados open source chamado Sqlite, foi desenvolvido {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} {carlosgilsonandrade.wordpress.com} {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} pela empresa Hwaki (www.hwaki.com), segundo artigo do site www.devmedia.com.br, {www.devmedia.com.br/sqlite-o-pequeno- notavel/7249} {carlosgilsonandrade.wordpress.com} {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} O pequeno notvel Ganhador do premio Google OReilly 2005 Open Source Awards Winner!, o SQLite tem subido muito no conceito dos programadores, ele gera um banco de dados {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} {carlosgilsonandrade.wordpress.com} {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} que pode ser entregue junto com a aplicao, excelente para aplicaes pequenas que com um instalador do {www.devmedia.com.br/sqlite-o- pequeno-notavel/7249} {carlosgilsonandrade.wordpress.com} {www.devmedia.com.br/sqlite-o-pequeno- notavel/7249} tipo NNF (Next, Next, Finish), instala perfeitamente um sistema simples, sem as complicaes da instalao de um cliente/servidor. Ele bem simples de ser utilizada, sua interface grfica a Sqlite Express Personal, bastante intuitiva, para comear a criar os bancos s preciso ter noes bsicas de SQL, que o desenvolvedor poder criar bancos bem completos para as suas aplicaes, os comandos SQL so os mesmo existentes em outros bancos de dados, e a grande vantagem de tudo isso que ele totalmente gratuito. Existem apenas alguns {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} {carlosgilsonandrade.wordpress.com} {www.devmedia.com.br/sqlite-o-pequeno-notavel/7249} pontos negativos do banco que so as ausncias de {Facebook.com} {Facebook.com} alguns comandos SQL que so: 34
Instruo DELETE em mltiplas tabelas; Suporte a FOREIGN KEY; Suporte a Triggers; Suporte Completo ao ALTER TABLE (Somente algumas funcionalidades esto implementadas); Ausncia do RIGHT JOIN e FULL OUTER JOIN; GRANT e REVOKE. 7.2 Tela de criao de bancos de dados. A figura mostra o layout do Sqlite para criao de bancos
Figura 10 35
7.3 Android/Java No desenvolvimento Android, necessrio usar Java juntamente com a linguagem Android, os arquivos do Android so todos em xml, todos os layouts que aparecem nas telas so feitos em xml, para cada tela criada para o Android, temos que criar uma nova classe Activity em Java, para que as duas se tornem uma s dentro do software, dentro das Activitys tem especificado qual o layout xml que as mesmas esto utilizando. E o principal, temos que registrar as Activitys no arquivo chamado Manifest XML, ele gerencia todas as Activitys existentes no sistema. Funciona assim, no xml adicionamos os campos que os usurios utilizaro para digitar os dados, cada campo tem seu nome e respectivo id, aps ser construdo o xml, hora de fazer as classes que iro recuperar os valores digitados nas caixas de dilogo, e os cliques que sero feitos no botes, veja um exemplo de recuperao de um Button (Boto) no cdigo que est na tela principal, a chamada da tela pedidos atravs do boto chamado btnPedidos:
7.4 Styles Todos as letras, backgrounds e cores nas caixas de texto e botes, esto configurados em um arquivo externo xml chamado Styles, nesse arquivo configuramos as aparncias das caixas de texto, botes, textos em geral, seu funcionamento similar ao arquivo css no HTML, serve para organizarmos os cdigos xml e deixamos mais limpos e sem repetio durante a fase de desenvolvimento. 7.5 Tela principal A Activity principal a mais simples de todas, apenas com um layout inicial do programa, temos a partir desta tela chamadas para as telas de Pedidos, uma para sair do sistema e voltar ao menu principal do telefone e um texto de instrues de uso do software. 7.6 Tela pedidos Nessa tela onde temos mais chamadas de mtodos e Activitys, onde est concentrado quase todos as chamadas de telas e operaes do sistema, nossa regra de negcio, nela temos como listar os pedidos, enviar ao banco de dados, alm de validaes como de no deixar que o cliente envie um pedido em branco, que digite corretamente o nome dos itens, e que faz a confirmao dos pedidos. Usamos o mtodo findViewById para recuperar os comandos dos xmls nas classes Java, instanciamos tambm os objetos para que possam ser inicializados e utilizados no nosso cdigo. 37
7.7 Tela DB (Banco de Dados) Essa a Activity que faz a criao do banco de dados e das tabelas, utilizados no projeto, ela tem que herdar os mtodos de uma classe abstrata chamada SqliteOpenHelper para que possamos fazer as operaes no banco de dados e trabalhar com os design patterns, no nosso projeto usamos o DAO, que nos possibilita tambm trabalhar com os objetos Pojos. Ao herdar dessa classe, temos classe dois mtodos que so muito teis para futuras alteraes no software.
public void onCreate(SQLiteDatabase db) { db.execSQL(sql);} Esse mtodo cria o banco de dados na aplicao, quando o usurio acessa o software pela primeira vez, esse mtodo cria o banco de dados em modo exclusivo, s para que a nossa aplicao utilize esse banco. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } Esse mtodo pode ser utilizado quando houver a necessidade de mudana no banco de dados do software, se na verso anterior foram detectadas algumas necessidades como adio ou subtrao de tabelas, os comandos podem ser executados nesse mtodo, assim a nova verso passar a funcionar com todas as alteraes necessrias. Existem outros mtodos para a criao do banco de dados, mas em nossa aplicao procuramos usar as melhores prticas de programao, utilizamos o DAO (Data Access Object) como design patterns, isso deixa o software mais leve e principalmente de fcil manuteno, o trabalho em equipe fica muito mais prtico j que preciso apenas alterar a classe DAO para acrescentar o remover argumentos no cdigo na parte de conexo de dados. 38
7.8 Design Patterns O Design Patterns um padro de desenvolvimento de software, so solues para problemas conhecidos no desenvolvimento de software. uma soluo para um problema de desenvolvimento de software recorrente, enfatizando um contexto e forando a aproximao do problema, e as consequncias e os impactos de sua soluo. So dispositivos que permitem que os programas compartilhem conhecimento sobre o seu desenvolvimento. Quando programamos, encontramos problemas que sempre insistem em ocorrer. A questo como agir para solucionar este problema desta vez? Colocando tudo isso em uma documentao, o padro (pattern) uma maneira em que podermos reutilizar e compartilhar informaes que aprendemos sobre a melhor maneira de se resolver um problema de desenvolvimento de software. 7.9 Tela PedidosPojo Essa Activity onde feito o mapeamento dos campos da aplicao, o mapeamentos dos objetos relacionais, os nossos Pojos. Declaramos os atributos privados da classe e aps geramos o Getters and Setters, assim temos o espelho do nosso banco de dados, como resultado temos uma classe criada com todos os atributos relacionados ao banco de dados necessrios. 7.10 Tela PedidosDao Essa classe responsvel pela persistncia dos dados no banco de dados, nela utilizamos os famosos mtodos CRUD (Create, Read, Update e Delete), que so as funes bsicas do banco de dados, o DAO sempre recebe um objeto Pojo, assim no relacionamos a interface do software com o acesso aos dados, e importante dizer que para chegarmos a classe DB atravs do DAO, temos que ir passando contextos na classe, o uso do DAO se faz necessrio porque como j dito, buscamos usar as melhores prticas de programao para que o desenvolvimento siga um padro.
39
7.11 Tela PedidosAdapters Essa Activity que tambm herda mtodos de uma classe abstrata chamada Base adapter cria os adaptadores para que possamos ter acesso aos dados e trazer listagens de dados no sistema, o adapter funciona como dataset, ou datasource como em linguagens como o Delphi, ele busca as informaes na base de dados para trabalharmos com esses dados na aplicao.
7.12 Tela Listar
Essa Activity retorna os resultados que foram digitados no banco de dados, herda os mtodos de uma classe abstrata chamada ListActivity, no podemos ter um setContentView nessa classe, pois, quando usamos um ListActivity e Adapters configuramos o layout no prprio adapter, se definirmos o layout novamente nessa classe, a mesma no ser executada. Esta Activity a que menos tem linhas de cdigo, devido concentrao de dada ser toda feita nas classes Pojo e DAO. No desenvolvimento desse software, temos para cada tabela do banco de dados, um adapter, um DAO e um Pojo, para uma boa prtica de desenvolvimento necessrio que seja feito desta forma, assim temos o controle total dos dados concentrados nessas classes e muito mais agilidade no acesso aos dados. 7.13 Tela Fechamento Nessa Activity temos o fechamento dos pedidos feitos pelos clientes, a soma de todos os pedidos feitos por cada mesa, assim o cliente finaliza a operao como nosso software, verificando se est tudo certo com os pedidos realizados e posteriormente pagando a sua comanda, sem problemas com os itens da mesma, j que ele mesmo os fez e acompanhou passo a passo at a entrega, com isso terminamos de explicar o funcionamento do Bohemian.
40
8 - Concluso O Android um sistema operacional com infinitas possibilidades de criao, o programador pode desenvolver softwares em todos os ramos do conhecimento, ajudar a resolver grandes problemas atravs de softwares especficos, dependendo da necessidade dos seus clientes ou da sua prpria, por ser um software livre existe grande base de conhecimento na prpria internet, os programadores contribuem para que cada vez mais o Android melhore e seja difundido. A fcil integrao do Eclipse com o plugin de desenvolvimento Android, tambm facilita o desenvolvimento, uma vez que a IDE acomoda bem as duas ferramentas integradas e o uso das duas muito fcil que o desenvolvedor possa assimilar. Nesse caso atravs de uma necessidade mesmo que simples, conseguimos achar uma soluo prtica e interessante para os usurios controlar os seus pedidos atravs de uma simples comanda, funcional e muito fcil de ser utilizado, ele pode ser instalado em qualquer dispositivo mvel com Android como sistema operacional, uma proposta, um prottipo, pode ser que realmente venha a ser til um dia, mas ajuda a entender o funcionamento da linguagem Android/Java e completar o ciclo no curso de sistemas de informao, agregando um vasto conhecimento nas pessoas envolvidas nesse projeto.
41
9 - Referncias Bibliogrficas LECHETA, R. R. Google Android - Aprenda a Criar Aplicaes para Dispositivos Mveis com o Android SDK. So Paulo: Editora Novatec, 2010. 608p DEVELOPERS. DEVELOP Disponvel em: http://developer.android.com/tools/sdk/eclipse-adt.html Acessado em: 20/09/2013 http://www.escolacriatividade.com/introducao-ao-desenvolvimento-para-android-parte- ii/ Acessado em: 05/10/2013 http://www.felipesilveira.com.br/2010/03/comecando-a-desenvolver-aplicativos-para- android/ Acessado em 25/08/2013 http://www.motorola.com/sites/motodev/us-en/motodev_lp.html Acessado em 10/09/2013 https://developer.android.com/training/index.html Acessado em 28/09/2013 http://www.mobiltec.com.br/blog/index.php/tutorial-desenvolvimento-android-passo-a- passo/ Acessado em 08/09/2013
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.principal); /* Chamada para a tela de instrues */ TextView Instrucoes = (TextView) findViewById(id.Instrucoes); Instrucoes.setOnClickListener(new View.OnClickListener() {
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pedido); /* Recuperao do boto do xml pedidos */ Button btnEnviar = (Button) findViewById(id.btnEnviar); /* Declarando as varivei s serem utilizadas */ txtMesa = (EditText) findViewById(id.txtMesa); 44
public class Instrucoes extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.instrucoes);
Farejador de Plgio - Registrado para MARCO ANTONIO GOMES
Relatrio do arquivo: TCC UNISA.docx em 30/10/2013
49
Utilizando : Google - LycosAltavistaLiveBing Resumo Estatstico
Trechos pesquisados 1850 Sites semelhantes 6156 Google 106 Yahoo OFF Lycos Altavista Live Ask OFF Bing 6070 Google Acad OFF Google Desk OFF reas suspeitas 4 Sites suspeitos 1 e 2 mais usados 01 % 1 a 5 mais usados 01 % 1 a 10 mais usados 00 % Pequisas / minuto 23 sites Confirmaes / minuto 75 sites