IsBar: software específico para gerenciamento de bares usando Orientação a Objeto

Por FRANCISCO SANDRO ELIAS PORFÍRIO | 07/05/2014 | Tecnologia

IsBar: software específico para gerenciamento de bares usando Orientação a Objeto [1]

 

 

Francisco Sandro Elias Porfírio[2]

RESUMO: Este artigo vem mostrar os passos necessários para o desenvolvimento de um software específico para bares, com o objetivo de suprir uma necessidade de controle e gerenciamento encontrada em diversos estabelecimentos do tipo, com a utilização da linguagem de programação Java que é bastante dinâmica e que facilita os trabalhos com o uso da orientação a objeto, podendo assim ter uma representação apropriada do mundo real em um software e com isso obter os resultados esperados. Tendo como resultado o aplicativo de fácil uso para os clientes e a documentação para que outros desenvolvedores possam estar utilizando-a em trabalhos futuros.

Palavras-chave: Java. Orientação a Objeto. Software. Bar.

  1. 1.      Introdução

1.1.   Definição do Problema

 

 

            A partir da ideia proposta pelo professor Marcos Duarte[3] em desenvolver um software para gerenciamento de bares, questionou-se: quais seriam as funcionalidades desejadas em um software de gerenciamento de bares?

1.2.   Justificativa 

 

            A grande maioria dos bares possui uma necessidade que é a implantação de um software que ajudasse no estoque e no controle de vendas do ambiente como também agilizasse o atendimento aos clientes deste estabelecimento. Sendo este software de extrema importância no gerenciamento de bares.

            A utilização do paradigma orientado a objeto surgiu a partir dos requisitos cobrados pelo professor Marcos Duarte na disciplina de Programação Orientada a Objeto I, sendo este o facilitador do desenvolvimento do projeto, devido às vantagens que este paradigma traz identificando os objetos do mundo real facilitando a simulação e a relações entre esses objetos.

1.3.   Objetivo Geral

 

 

            Mostrar os passos necessários para o desenvolvimento de um software responsável pelo gerenciamento de bares.

1.4.   Objetivos Específicos

 

 

            Para alcançar o objetivo geral serão desenvolvidas as seguintes funcionalidades:

  • Controle de entrada e saída de produtos no estoque;
  • Controle de funcionários;
  • Controle das mesas do bar;
  • Fluxo de caixa.

 

  1. 2.      Levantamento Bibliográfico

            Em pesquisas realizadas na internet pode-se constatar que são muitos os trabalhos científicos relacionados ao desenvolvimento de softwares utilizando programação orientada a objeto, porém, dificilmente se encontra trabalhos científicos com o tema gerenciamento de bares.

Sendo a orientação a objeto um paradigma que vem para resolver muitos problemas enfrentados pela programação estruturada.

Segundo Sebesta (1999 apud PEREIRA; LIMA JÚNIOR, 2003, p. 2), “A essência da programação orientada a objetos é resolver problemas identificando os objetos do mundo real do problema e o seu pensamento necessário, criando, então, simulação dos mesmos, seus processos e as comunicações necessárias entre eles”.

  1. 3.      Desenvolvimento

 

 

3.1.Materiais e Métodos

 

 

3.1.1.      Linguagem

 

 

Java é a linguagem de programação utilizada nesse projeto, devido a todas as vantagens que esta linguagem pode oferecer, principalmente com a utilização da orientação a objetos.

3.1.2.      Plataforma

 

 

A plataforma utilizada é a Java SE (Standard Edition), que é o Java para desktops e contém a Máquina Virtual JVM, o compilador e as APIs necessárias para o desenvolvimento de programas em Java.

3.1.3.      Ambiente de Desenvolvimento

 

Netebeans foi a IDE (Integrated Development Environment) utilizada para o desenvolvimento do software juntamente com o StarUML para a criação de um diagrama de classes inicial.

 

 

3.2.Planejamento e Desenvolvimento do Software

 

 

Inicialmente foi feito um planejamento através de um diagrama de classes como mostra a Figura 1:

                 

Figura 1: Diagrama de Classes (ideia inicial)

            Ao longo do desenvolvimento houve a necessidade de adicionar mais métodos ao projeto, alterando assim algumas funcionalidades do planejamento inicial.

Em algumas classes foi necessário o uso de herança que é um dos principais recursos do paradigma orientado a objetos.

            Deitel (2009, p. 301), define herança como sendo:

Uma forma de reutilização de software na qual uma nova classe é criada, absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas. Com a herança, os programadores economizam tempo durante o desenvolvimento de programa reutilizando software de alta qualidade testado e depurado. Isso também aumenta a probabilidade de um sistema ser implementado efetivamente.

                Nas classes Produto e Funcionário houve o uso de herança para a utilização do polimorfismo que é a capacidade de um objeto poder ser referenciado de várias formas, e também a reutilização de código dessas classes existentes em nosso projeto, trabalhando individualmente cada uma deles.

            Foi necessário definir também essas classes como sendo classes abstratas. Para Bitencourt (2011, p. 4): “Uma classe abstrata é utilizada quando deseja-se fornecer uma interface comum a diversos membros de uma hierarquia de classes. Os métodos declarados na classe abstrata serão implementados em suas subclasses, através de polimorfismo.”

            Tratando essas classes como abstratas impede-se que sejam criadas instancias de funcionários e produtos, não podendo ser criados objetos desses tipos.

            Outra escolha importante foi tratar os métodos de Estoque com estático, que é mais bem explicado por Ricarte (2011), quando diz que há situações em que um método pode fazer uso de recursos da classe sem necessariamente estar associado a um objeto, ou seja, um método estático pode ser aplicado à classe e não a objetos.

Dessa forma a informação fica guardada pela classe tendo assim apenas uma referência na memória.

3.3.Detalhes de Funcionamento

 

 

O projeto traz um software simples de gerenciamento de bares inicialmente sem o recurso de interface gráfica, mas com as funcionalidades básicas integradas para um bom funcionamento. O software possui um menu inicial com as opções de: funcionários, mesas, estoque, caixa e sair, demonstrados conforme a Figura 2.

 

                                                  Figura 2: Menu Inicial      

 

 

Na opção Funcionário pode-se observar os submenus responsáveis pelo cadastro de um funcionário no sistema, sendo este de início pré-definido como Gerente ou Garçom, faz uma busca individual de funcionários, lista todos os funcionários cadastrados e também possui a opção de demitir um funcionário, conforme a Figura 3.

 

Figura 3: Menu Funcionário

 

 

            Na segunda opção de menu, a Mesa é responsável por inserir uma nova mesa ao bar, abrir mesa na chegada de novos clientes, fazer um pedido àquela mesa, exibir o que já foi consumido em cada mesa e por último fechar mesa ao encerrar o conta, como mostra a Figura 4.

 

Figura 4: Menu Mesa

 

            Já na terceira opção, no menu Estoque pode-se adicionar as bebidas e petiscos, buscar produtos pelo nome, listar todos os produtos, alterar e excluir um produto através do nome cadastrado, como mostra a Figura 5.

 

Figura 5: Menu Estoque

 

 

              E por último, o menu Caixa que é responsável por exibir os gastos com os funcionários cadastrados, o saldo do caixa após o levantamento dos dados relacionados aos gastos com o pagamento dos funcionários e o que foi arrecadado com as contas encerradas e fechar o caixa diário que encerra o programa, conforme a Figura 6.

             

 

Figura 6: Menu Caixa

 

 

3.4.Simulação

 

 

              Suponha que um cliente chegue ao bar, ao se dirigir a mesa, é criada uma conta, após isso o cliente realiza um pedido com o produto desejado, sendo descontada a quantidade no estoque. Com o cliente satisfeito é realizado o fechamento da mesa, havendo o pagamento da conta, o valor será atribuído ao caixa do bar.

  1. 4.      Conclusão

Decorrente deste trabalho pode-se concluir que, apesar do desejo de implementação da interface gráfica não ter sido possível, o desenvolvimento do projeto aconteceu de acordo com o planejado e o software realiza as funções básicas necessárias para um bom funcionamento na gerência de bares.

O projeto foi desenvolvido de acordo com os conceitos apresentados em sala de aula, na disciplina Programação Orientada a Objeto I, servindo também de orientação para outros programadores que queiram desenvolver programas similares através do uso da API gerada.

            Para implementações futuras pode-se desenvolver a persistência dos dados em um Banco de Dados além da implementação da Interface Gráfica para a obtenção de um layout mais agradável para o usuário.

  1. 5.      Referências

BITENCOURT, Tatyana. Conceitos de Programação Orientada a Objetos. 2011. UNICAMP. Disponível em: <http://www.guj.com.br/content/articles/oop/oop.pdf>. Acesso em: 08 dez. 2011.

DEITEL, H. M. Java: como programar. 6ª ed. São Paulo: Pearson Prentice Hall, 2005.

PEREIRA, F. C. G. LIMA JÚNIOR, L. F. de. Programação Orientada a Objetos: Definição, Conceitos e terminologias. 2003. CEFETPB. Disponível em:

 <http://www.coinfo.cefetpb.edu.br/professor/fred/progiv/spj-fj/slides/javaPOO.pdf>. Acesso em: 21 nov. 2011.

RICARTE, I. L. M. Programação Orientada a Objetos: Uma Abordagem com Java. 2001. Grupo de Usuários Java.  Disponível em:

 <http://www.dca.fee.unicamp.br/cursos/PooJava/Aulas/poojava.pdf>. Acesso em: 08 dez. 2011.



[1] Trabalho apresentado ao Curso de Sistemas de Informação da Faculdade Paraíso do Ceará (FAP) para a

obtenção de nota parcial na disciplina de Metodologia Científica, semestre 2011.02.

[2] Estudante de Graduação do Curso de Sistemas de Informação da Faculdade Paraíso do Ceará (FAP). Rua da Conceição, 1228 – Juazeiro do Norte – CE – Brasil. Endereço eletrônico: sandrokti@gmail.com. Técnico em Informática pelo Instituto Federal de Educação, Ciência e Tecnologia – Campus Crato-CE.

[3] Possui mestrado em Ciência da Computação pela Universidade Federal de Pernambuco e atualmente é professor e pesquisador pela Faculdade Paraíso – Juazeiro do Norte-CE.

Artigo completo: