Restaurante

461 visualizações

Publicada em

Publicada em: Serviços
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
461
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Restaurante

  1. 1. Uma aplicação para controle de pedidos em restaurantes para  Pocket PC  Felipe Jacinto M. Aben-Athar, José Roberto P. da Silva Junior, Fabio C. Salame Silva Instituto de Estudos Superiores da Amazônia (IESAM) 66055-260 – Belém – PA– Brasil {felipejma,jrpradojunior}@gmail.com, fcs@prof.iesam-pa.edu.br Abstract. Currently, there are more than one billion mobile computerized devices in service around the world, such as cell phones and palmtops that are capable of executing sophisticated software applications. Among the software development platforms available for this kind of device, one of them has been capturing the public attention on the last two years because of its compatibility and integration with the world’s most popular desktop operating system: the Windows Mobile platform. This work describes the development of a Pocket PC/Windows Mobile application designed to serve as a register tool for the orders meals in a restaurant. The software intends to demonstrate the potential of mobile computing as well as to show the features of one of the most popular software development tools in this area. Resumo. Atualmente existem mais de um bilhão de dispositivos computacionais móveis no mundo, como telefones celulares e palmtops com capacidade para executar aplicações de software sofisticadas. Dentre as plataformas de programação para estes dispositivos uma chama a atenção por ser amplamente compatível com o sistema operacional mais popular do mundo: a plataforma Windows Mobile. Este artigo descreve a implementação de uma aplicação do tipo Pocket PC/Windows Mobile para controle de pedidos em restaurantes. O software destina-se a ilustrar o potencial de uso da computação móvel e as características de uma das tecnologias de desenvolvimento mais populares. 1. Introdução Desde que a Apple anunciou o Newton no longínquo ano de 1993, e popularizou a sigla PDA (Assistente Pessoal Digital ou Personal Digital Assistant), muita coisa mudou. A nova geração de dispositivos handhelds, assim também denominados, possui telas de excelente qualidade, microprocessadores velozes, executam programas complexos de escritório, executam arquivos de música (MP3), gravam voz, rodam jogos e fotografam. (GRECO, 2000). Um novo tipo de dispositivo surgiu da fusão entre PDA’s e celulares, os chamados SmartPhones, que combinam o sistema operacional e aplicativos desenvolvidos para o mercado de handhelds com a tecnologia de comunicação de um telefone celular comum, originando aparelhos híbridos que otimizam a produtividade do usuário. Com o barateamento contínuo dos microprocessadores e dos chips de memória, os PDA’s e Smartphones se tornaram mais acessíveis do ponto de vista dos custos de aquisição e manutenção, o que motiva seu aproveitamento em diversas aplicações comerciais. Como acontece em todas as áreas do setor de tecnologia da informação, o desenvolvimento de plataformas de software é importante para o barateamento e a conseqüente popularização dos aplicativos destinados à determinada área. A vantagem de se ter plataforma de software é que as aplicações não precisam ser reescritas para diferentes tipos de aparelhos – necessitam apenas de leves adaptações para satisfazer as necessidades de um aparelho específico. Com a computação
  2. 2. móvel não é diferente e três padrões majoritários se impõem atualmente no panorama mundial, a saber: a plataforma Symbian, o BREW e o Windows Mobile. Symbian é o nome dado a um projeto da Nokia, Motorola, Ericsson e pela fabricante inglesa de sistemas embarcados Psion, que originalmente desenvolveu o primeiro sistema operacional de 32 bits para handhelds, o EPOC32. (IIDA, 2007) O objetivo da iniciativa era desenvolver uma versão do EPOC32 específica para aparelhos celulares, o produto resultante foi chamado de Symbian OS. Trata-se de um sistema operacional 32 bits multitarefa robusto, desenhado especialmente para o ambiente sem fio e para as restrições dos telefones celulares. De 1999 até 2005 a Panasonic, Sony Ericsson, Siemens e Samsung juntaram-se ao grupo, e em 2004 juntos adquiriram a Psion, e investiram cerca de $100 milhões de dólares no grupo. Atualmente a Nokia detém a maior parte do capital da Symbian com 47,9%, seguida pelas empresas Ericsson com 15,6%, Sony Ericsson com 13,1%, Panasonic com 10,5%, Siemens com 8,4% e Samsung com 4,5%. (WIKIPEDIA.a, 2007). A plataforma Symbian é dirigida para o desenvolvimento de aplicações compromissadas com padrões abertos, principalmente os definidos pela IETF ( Internet Engineering Task Force) e W3C (World Wide Web Consortium). Suporta o desenvolvimento principalmente em C++ e Java, facilitado pelo uso de kits de desenvolvimento liberados pelos sócios da iniciativa. A plataforma BREW – Binary Runtime Environmente for Wireless, (ambiente binário de tempo de execução para aplicativos sem fio), da Qualcomm, oferece uma solução completa para configuração de dispositivos e desenvolvimento, distribuição, faturamento e pagamento de aplicativos. (WIKIPEDIA.b, 2007). O BREW está presente em todos os chips CDMA fabricados pela Qualcomm e comercialmente foi lançado por algumas operadoras no mundo, como a Verizon, nos Estados Unidos e a VIVO no Brasil. A grande questão em torno da plataforma é que o custo de desenvolvimento no BREW é mais alto, pois toda aplicação tem que ser testada e certificada pela Qualcomm para garantir que não se introduza na rede aplicações mal intencionadas ou simplesmente mal feitas e com isso ponha-se em risco toda a credibilidade da plataforma BREW. O custo inicial para o desenvolvedor é de cerca de US$ 400,00 apenas para adquirir um pacote de testes que inclui 100 requisições para testar sua aplicação, depois da aplicação ser testada é necessário comprar uma assinatura digital da Qualcomm para certificar a aplicação (WIKIPEDIA.b, 2007). Esse custo inicial – alto para programadores hobbistas, por exemplo – acabou por comprometer a popularidade da plataforma. Além disso, o BREW está restrito a celulares CDMA que contam hoje com apenas 13% do mercado mundial, segundo dados contabilizados até o primeiro trimestre de 2007. (GSMWorld, 2007). Já a plataforma Windows Mobile é caracterizada pela utilização de um dispositivo de hardware padrão chamado de Pocket PC, que é um PDA preparado para executar exclusivamente o sistema operacional Windows Mobile. Esse sistema, apresentado em 2003, traz a interface que praticamente todos os usuários de computadores pessoais e empresariais estão acostumados (Windows). Aplicativos como o: Word, Excel e PowerPoint, Internet Explorer, Media Player, Terminal Server Client, Live Messenger, são fornecidos em versões customizadas especificamente para utilização na plataforma móvel. A grande vantagem dessa plataforma é a integração com o ambiente de escritório comum a maioria dos usuários de PC´s. (DALUPPO, 2004). A ferramenta mais utilizada para desenvolver aplicações para Pocket PC é o Visual Studio .NET, pois contem todos os requisitos para o desenvolvimento, debug e deploy. E não precisa do necessariamente de um Pocket PC (hardware), pois o Visual Studio .NET dispõe de um emulador. Neste trabalho iremos focalizar a plataforma Visual Studio 2005 e nas suas tecnologias relacionadas ao desenvolvimento de software para computação desktop e móvel: C#. A linguagem C# é considerada uma poderosa linguagem orientada a objetos, fornecida pela Microsoft, mas padronizada pelo instituto americano nacional de padrões (ANSI). É uma linguagem que sofreu muita influência de suas predecessor as mais recentes, notadamente do Delphi e Java, agregando assim o que há de melhor atualmente em termos de flexibilidade de codificação.
  3. 3. Diante do exposto, considera-se relevante pesquisar as tecnologias existentes para o desenvolvimento de aplicações para dispositivos móveis, uma vez que o mercado de software voltado ao setor de aplicações móveis está amadurecendo rapidamente e o desenvolvedor tem importância decisiva nesse processo. Assim, este trabalho tem por objetivo conhecer os conceitos, tecnologias e ferramentas orientadas para o desenvolvimento de aplicações para dispositivos móveis. Em face da extensão das tecnologias mencionadas alhures e do escopo e amplitude deste artigo, faz-se mister escolher uma plataforma apenas para aprofundar conhecimentos, assim este trabalho optou por focalizar seus esforços no contexto da plataforma Windows Mobile, em razão da notoriedade do sistema Windows e pelo crescimento dos aplicativos comerciais ligados a essa plataforma. Além desta seção introdutória, este artigo está dividido em mais cinco seções: A segunda seção descreve o cenário da aplicação que se tomou como base para coleta de requisitos; a terceira seção apresenta as fases de desenvolvimento do protótipo; a quarta seção contém uma descrição interativa do funcionamento do programa; a quinta seção menciona os testes conduzidos para validar a aplicação. Finalmente a seção seis apresenta as considerações finais e sugestões de trabalhos futuros. 2. Descrição do estudo de caso O Software batizado como “DUTY”, se constitui em uma aplicação destinada a restaurantes, bares e lanchonetes, e compreendem uma aplicação “Atendente” (utilizada no Pocket PC) e outras duas aplicações Windows, batizadas de “Cozinha” e “Caixa”, funcionando de forma sincronizada com o fim de evitar erros de preenchimento de pedidos e demora no atendimento. A figura 1 demonstra a estrutura de nossa aplicação. Figura 2 - Estrutura da aplicação 2.1 Requisitos de hardware e software do ambiente A estrutura básica de hardware e software necessária para a implantação e execução de um sistema que tem como objeto uma aplicação móvel para o ambiente Windows é a seguinte: Um Pocket PC, que é um PDA projetado para executar o sistema operacional Windows Mobile, a implantação do Microsoft .NET Compact Framework 2.0, para rodar o aplicativo no Pocket PC; Um ou mais computadores de mesa que hospedarão o sistema gerenciador de banco de dados, caso o aplicativo seja projetado para fazer uso de uma base de dados servidora; a instalação do .NET Framework 2.0 no lado servidor; Finalmente, o Pocket PC tem que possuir capacidade para se conectar sem fio a uma rede, tipicamente essa capacidade se traduz em disponibilidade de conexão bluetooth, GSM/GPRS/Edge (acesso por rede celular) ou IEEE 802.11.x (Wlan). No caso de uso projetado, dois PC’s necessitam ter o Microsoft .NET Framework 2.0 instalado, sob o qual os aplicativos ‘Caixa’ e ‘Cozinha’ serão executados; o computador servidor requer o Windows 2000 Server com o framework .NET 2.0 ativado ou Windows 2003 Server; SQL Server
  4. 4. 2005 Express Edition; por fim, o servidor http, o IIS (Internet Information Services) deverá estar em execução pois é este o meio de comunicação entre os serviços fornecidos pelo framework .NET e uma rede tipo TCP/IP . Serão necessários ainda os seguintes dispositivos: Um Pocket PC e um Ponto de Acesso para redes sem fio, que será utilizado para a comunicação entre o Pocket PC e o servidor de aplicação. 2.2 Ambiente de desenvolvimento As ferramentas utilizadas para desenvolver as aplicações para o Pocket PC e o Windows, foram o Microsoft Visual Studio 2005, o sistema gerenciador de banco de dados SQL 2005 Express Edition, Microsoft .NET Framework 2.0. O ambiente de desenvolvimento rápido (IDE – Integrated Development Environment) do Visual Studio .NET possui um completo emulador de um Pocket PC, não sendo necessária, num primeiro momento, a presença física de um PDA com Windows Mobile para proceder ao desenvolvimento e testes da aplicação. A linguagem escolhida para acionar o framework .NET foi a C#, em função da similitude com Java e C++, linguagens nas quais os autores estão familiarizados. 3. Desenvolvimento do protótipo O aplicativo Duty, possui o seguinte fluxo geral de execução: O software atendente cadastra o pedido que será encaminhado a cozinha. A cozinha poderá visualizar o pedido feito e assim que liberado, enviará essa informação ao caixa, para ser devidamente contabilizado. O caixa terá acesso a todos os pedidos entregues, para quando solicitado, realizar o fechamento da conta e liberar a mesa para consumo. 3.1 Descrição dos casos de uso Um caso de uso é uma descrição narrativa de um processo no dominio do sistema,ou seja,é um documento narrativo que descreve a sequencia de eventos utilizada por um ator do sistema afim de finalizar uma tarefa.E o ator é uma entidade externa ao sitema que participa de pelo menos um de seus caso de uso (LARMAN, 2000). O diagrama geral de casos de uso do aplicativo proposto encontra-se na figura 2. Figura 3 - Diagrama de Casos de Uso do “Duty” 3.1.1 Especificação do Caso de Uso – Cadastra pedido. Finalidade: Receber o pedido do cliente e transferir ao aplicativo Cozinha. Atores: Atendente Pré-condições: Já devem existir dados dos produtos no banco de dados. Fluxo Principal: 1. É exibida no PDA a tela do aplicativo. 2. O atendente deve receber os pedidos dos clientes, selecionando a mesa, o produto e se for necessário na aplicação contém um campo para observação.
  5. 5. 3. O atendente clica na opção ‘Cadastrar’ para realizar o pedido do produto selecionado. 4. O sistema envia o pedido ao aplicativo ‘Cozinha’. 3.1.2 Especificação do Caso de Uso – Libera Pedido. Finalidade: Receber os pedidos efetuados pelo aplicativo ‘Atendente’, e liberar o pedido quando pronto, enviando também para o aplicativo ‘Caixa’ para contabilizar a conta da mesa. Atores: Cozinha Pré-condições: Pedidos terem sidos realizados pelo aplicativo ‘Atendente’ Fluxo Principal : É exibida no Computador a tela do aplicativo ‘Cozinha’. O funcionário confere os pedidos, produto e observação, de acordo com a ordem de chegada. Após o pedido estar pronto para ser liberado, o funcionário seleciona o item e clica no botão ‘Liberar’, assim tirando o pedido da lista e enviará para o aplicativo ‘Caixa’ para contabilizar a conta. 3.1.3 Especificação do Caso de Uso – Expede Conta e Libera Mesa. Finalidade: Receber os pedidos liberados pelo aplicativo ‘Cozinha’, contabilizando e depois liberando a mesa após o pagamento. Atores: Caixa Pré-condições: Pedidos terem sido liberados pelo aplicativo ‘Cozinha’ Fluxo Principal: É exibida no Computador a tela do aplicativo ‘Caixa' O funcionário verificará a conta da mesa selecionada. Com o pagamento da conta, o funcionário pressionará o botão ‘Efetuar Pagamento’ para liberar a mesa. 3.2 Estrutura dinâmica e estática do Aplicativo A estrutura do aplicativo, esta referenciada através do diagrama de classes e de seqüência, mostrados abaixo. 3.2.1 Diagrama de Classes É um diagrama que exibe a estrutura de classes do aplicativo com seus relacionamentos. No diagrama da figura 2, a classe Central está ligada às classes wsProduto, wsPedido e wsMesa. A classe frmListaPedidosCozinha está ligada a classe wsPedidos. Já a classe frmListaPedidosCaixa está ligada as classes wsMesa e wsPedido.
  6. 6. Figura 4 - Diagrama de Classe 3.2.2 Diagramas de Seqüência Um diagrama de seqüência da fase de projeto de uma aplicação ilustra a interação através de mensagens entre as instancias do diagrama de classes (LARMAN,2000). O diagrama de seqüência é feito para os principais casos de uso. A seguir na figura 3, temos o diagrama para o Caso de Uso – Cadastrar Pedido. Figura 5 - Diagrama de Seqüência – Garçom cadastra pedido A figura 4, ilustra o diagrama para o Caso de Uso – Liberar Pedido Figura 6 - Diagrama de Seqüência – Cozinha recebe pedido
  7. 7. Finalmente a figura 5, exibe a seqüência para o Caso de Uso – Expede Conta Figura 7 - Diagrama de Seqüência – Caixa calcula a conta e libera mesa 3.3 Esquemas do Banco de Dados A aplicação utiliza como sistema gerenciador de banco de dados o SQL Server Express Edition, versão gratuita do SGBD SQL Server da Microsoft (MICROSOFT, 2007). O banco é constituído de três tabelas como mostra a figura abaixo: Figura 8 - Diagrama do Banco de Dados Na tabela tb_mesas o campo “descrição” contém a identificação da mesa e no campo “status” informa se a mesa já pagou a conta. Já na tabela tb_pedidos o campo “observacao” informará alguma observação sobre o pedido e o campo “status” indica se o pedido foi gerado (valor 0), está pronto (valor 1) ou foi pago (valor 2). E na tabela tb_produtos o campo “descrição” contém o produto e no campo “preco” o preço do respectivo produto. 3.4 Diagrama de Componentes O diagrama de componentes mostra os elementos reutilizáveis do software e sua interdependência. Um componente é formado por um conjunto de classes que se encontram nele implementadas. Um componente, assim como as classes que ele possui, dependem funcionalmente das classes de outro componente. O diagrama de componentes mostra esta dependência. No diagrama de componentes também é possível mostrar a configuração de um sistema de software mostrando, graficamente, a dependência entre os diversos arquivos que compõem o sistema. As relações de dependência são usadas nos diagramas de componentes para indicar os diversos arquivos que compõe o sistema. Na figura 8 mostra nosso diagrama de componentes.
  8. 8. Figura 9 - Diagrama de Componentes 4. Descrição interativa do software Esta seção ilustra o funcionamento do software através de imagens que retratam as telas da aplicação. 4.1. Tela do aplicativo “Atendente” (PocketPC) Figura 10 - Tela do aplicativo Atendente (PocketPC) O Atendente realiza os pedidos acionando o caso de uso “Cadastra Pedido” que consiste em selecionar a mesa e produto, sendo possível adicionar uma observação ou descrição ao pedido, por exemplo: carne no ponto ou copo sem gelo e com limão. Quando o atendente pressiona o botão “Cadastrar” o pedido é enviado à cozinha. O aplicativo também oferece ao atendente a opção de verificar o preço do produto bastando selecionar a aba “Lista de Preços” que exibirá o preço dos produtos armazenados no banco de dados. 4.2. Tela do aplicativo “Cozinha”
  9. 9. Figura 11 - Tela do aplicativo Cozinha O aplicativo Cozinha mostrado na figura 9, é responsável por receber os pedidos realizados pelo atendente e quando o pedido ficar “pronto” o funcionário da cozinha libera o pedido pressionando o botão “Liberar”, onde será retirado o pedido da lista e enviado ao aplicativo “Caixa” para ser contabilizado. 4.3 Tela do aplicativo “Caixa” Figura 12 - Tela do aplicativo Caixa O aplicativo “Caixa” contém a lista de mesas, que ao selecionarmos uma mesa mostra os pedidos e seus preços, no campo Total da Mesa mostra o valor total dos pedidos da mesa selecionada. Quando o botão Efetuar Pagamento é pressionado a mesa selecionada é liberada e a torna disponível novamente para utilização. 5. Testes A metodologia de testes utilizada foi a baseada em casos de uso. Preliminarmente, o banco de dados foi preenchido com dados de mesas e produtos que são necessários para os aplicativos rodarem de maneira correta. Para simular um ambiente real foram utilizados quatro computadores tipo PC configurados, com todos os programas necessários instalados: Windows 2003 Server com o framework .NET 2.0 ativado, SQL Server 2005 Express Edition, Servidor HTTP (IIS), esses softwares são necessários para rodar o servidor que hospedará o banco de dados da aplicação, o segundo computador utilizando o Visual Studio emulou a aplicação “Atendente”, e os outros dois computadores rodando os aplicativos “Cozinha” e “Caixa”, nesses dois computadores é necessário que esteja instalado o framework .NET 2.0. A comunicação foi feita através de rede sem fio (801.11b), o acesso ao banco de dados e a comunicação entre os três aplicativos funcionou de maneira correta e satisfatória. Não foi notada nenhuma lentidão ou perda de dados.
  10. 10. 6. Considerações finais e considerações para trabalhos futuros Os aplicativos desenvolvidos com base no paradigma de computação móvel são recentes, mas vem experimentando uma crescente aceitação. Neste trabalho apresentamos uma aplicação escrita para o paradigma de computação móvel compreendida por três aplicativos: Atendente (PocketPC), Caixa (Windows) e Cozinha (Windows). O objetivo de projeto de nossa aplicação é agilizar o atendimento de bares ou restaurantes, tornando-o mais eficaz, com menos erros ou demoras nos pedidos, facilidade e rapidez na transferência dos pedidos para preparação dos mesmos. A aplicação funciona da seguinte forma: o aplicativo “Atendente” (Pocket PC), seleciona a mesa que será atendida e o produto desejado, descrevendo ou não uma observação. O componente “Cozinha” recebe os pedidos por ordem de cadastro e o libera. A aplicação “Caixa” mostra todos pedidos de acordo com a mesa e calcula o total, após o pagamento liberando a mesa subsequentemente. Para estabelecer a comunicação utilizamos uma rede sem fio (801.11b/g), para os aplicativos acessaram o Web Service que contém as classes utilizadas pelos aplicativos. Para demonstrar a aplicação, conduzimos e executamos um estudo de caso. Como sugestão de trabalhos futuros para avançar o desenvolvimento do aplicativo, poder- se-ia pensar na identificação do garçom a fim de gerar receita de gorjetas automaticamente, na geração de relatórios diários por garçom e por mesa e ainda um sistema do tipo push que avisaria do momento em que os pedidos ficassem prontos. 7. Referências DALUPPO, Fábio; MATHEUS, Vanclei; SANTOS, Wallace. Desenvolvendo com C#. Porto Alegre: Bookman, 2004. FERNANDES, Alexandre; TARIFA, Shaud; FARIAS, José Antonio Leal. Desenvolvendo aplicações para Pocket PC e Smartphones para Windows Mobile 5.0 no Visual Studio 2005. WebMobile, Grajaú: DevMedia Group, ano 01, edição 05, p.66-73, out./nov. 2005. GRECO, M. Nasce a Internet sem fio. In Info Exame. Ed. 170, São Paulo: Editora Abril, Maio 2000. Disponível em: www.infoexame.com.br. GSMWorld. Subscriber statistics end Q1 2007. Disponível em << http://www.gsmworld.com/news/statistics/pdf/gsma_stats_q1_07.pdf=>>. Acesso em 25/11/2007. HADDAD, Renato; Smartphone com .NET. WebMobile, Grajaú: DevMedia Group, ano 01, edição 02, p.34-44, fev./mar. 2005. IIDA, Renato. Desenvolvimento C++ para Symbian OS: Introdução à programação em Symbian C++. Disponível em << http://www.devmedia.com.br/articles/viewcomp.asp?comp=2730&hl=>>. Acesso em 25/11/2007. LARMAN, Craig; Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos / Craig Larman; trad. Luiz A. Meirelles Salgado. – Porto Alegre: Bookman, 2000. MARTINS, Eduard E.; Desenvolvendo uma aplicação móvel com .NET. WebMobile, Grajaú: DevMedia Group, ano 02, edição 08, p.68-77, abr./maio. 2006. SHARP, Jonh. Microsoft Visual C# 2005: passo a passo. Porto Alegre: Bookman, 2007. WIKIPEDIA a, 2007. Symbian OS. Disponível em << http://en.wikipedia.org/wiki/Symbian>>. Acesso em 25/11/2007. WIKIPEDIA b, 2007. BREW . Disponível em << http://en.wikipedia.org/wiki/BREW>>. Acesso em 25/11/2007.

×