JEFFERSON LUIZ FERREIRA

SISTEMA GERENCIADOR DE RESTAURANTES

ASSIS – SP 2010

JEFFERSON LUIZ FERREIRA

SISTEMA GERENCIADOR DE RESTAURANTES

Trabalho de Conclusão de Curso apresentado ao Curso de Processamento de Dados do Instituto Municipal de Ensino Superior de Assis – IMESA e a Fundação Educacional do Município de Assis FEMA, como requisito parcial à obtenção do certificado de conclusão.

Orientador (a): Célio Desiró Área de Concentração: Desenvolvimento de Sistema

ASSIS – SP 2010

FICHA CATALOGRÁFICA FERREIRA, Jefferson Luiz Sistema Gerenciador de Restaurantes / Jefferson Luiz Ferreira. Fundação Educacional do Município de Assis – FEMA – Assis – 2010. 65 páginas Orientador: Célio Desiró. Trabalho de Conclusão de Curso – Instituto Municipal de Ensino Superior de Assis – IMESA.

1.Java. 2.Eclipse. 3.PostgreSQL. 4.Sistema Gerenciador de Restaurantes

CDD: 001.61 Biblioteca da FEMA

SISTEMA GERENCIADOR DE RESTAURANTES

JEFFERSON LUIZ FERREIRA

Trabalho de Conclusão de Curso apresentado ao Curso de Processamento de Dados do Instituto Municipal de Ensino Superior de Assis – IMESA e a Fundação Educacional do Município de Assis - FEMA, como requisito parcial à obtenção do certificado de conclusão.

ORIENTADOR: CÉLIO DESIRÓ

ANALISADOR(1): DIOMARA MARTINS REIGATO BARROS

Assis 2010

DEDICATÓRIA

Dedico este Trabalho

Primeiramente a Deus, por tudo que me proporciona, a minha família pelo apoio constante e a todas as pessoas que acreditaram em minha capacidade, em especial meu orientador.

AGRADECIMENTOS

Agradeço a Deus por ter me dado saúde e sabedoria durante esses anos de aprendizagem; Ao professor Célio Desiró, pela orientação e pelo constante estímulo transmitido durante o desenvolvimento deste trabalho; Aos meus familiares, em especial minha mãe Ivanilde da Silva Ramos pelo apoio neste momento e durante todo o curso; Ao meu irmão Fábio Luiz Ferreira, pela ajuda com a revisão do texto e do abstract. A Tatiane Bruna Barbosa, pelas informações sobre o restaurante Tempero Mineiro que ajudaram muito no desenvolvimento deste trabalho; À Fundação Educacional do Município de Assis, por ter-me possibilitado a realização deste trabalho; Aos amigos que colaboraram direta ou indiretamente na execução deste trabalho, principalmente ao amigo Fernando C. de Lima (PP), pelas dicas e ensinamentos sobre Java.

RESUMO

A alimentação fora de casa, que há alguns anos era um acontecimento fortuito, é hoje uma prática das famílias brasileiras, não apenas durante a semana de trabalho, mas também nos finais de semana, quando as visitas aos Centros Comerciais incluem invariavelmente uma parada em Praças de Alimentação. Com o aumento dessa prática, torna-se indispensável aos comerciantes a utilização da tecnologia de informação, buscando o controle do estabelecimento e o auxílio à tomada de decisões. Partindo deste princípio, deu-se a idéia de criar um produto que visa o controle financeiro do restaurante, de simples usabilidade e consistência na recuperação dos dados, tendo seu funcionamento em computadores locais. Os usuários deverão acessar computadores que poderão ou não estar conectados a uma rede local, não necessitando de internet para o uso do sistema, possibilitando assim acesso às informações.

Palavras-chave: Controle Financeiro; Restaurante.

ABSTRACT

Eating out, what was just a fortuitous event some years ago, is nowadays something common among Brazilian families not only during weekdays, but also on the weekends, when going out to shopping malls inevitably requires a stop in food courts. With the increase of that practice, it is mandatory for restaurant owners the use of information technology in order to control the place and help with the decision making process. It was from this point that arose the idea of creating a product that aims at the financial control of the restaurant, a system that is simple to use and consistent in the recovery of data, having its operation in local computers. The users are supposed to access computers that may be connected or not to a local net, being the internet dispensable for the use of the system, making possible, however, the access to the information.

Keywords: financial control; restaurant.

LISTA DE ILUSTRAÇÕES Figura 1 - Mapa Mental ............................................................................................. 18 Figura 2 - UC Informar Login ..................................................................................... 23 Figura 3 - UC Manter/Movimentar ............................................................................. 24 Figura 4 - UC Consultar Relatórios ........................................................................... 25 Figura 5 - Diagrama de Atividade - Cadastros .......................................................... 26 Figura 6 - Diagrama de Atividades – Movimentações ............................................... 27 Figura 7 - Diagrama de Atividades - Relatórios ......................................................... 28 Figura 8 - UC 05 - Informar Login.............................................................................. 33 Figura 9 - UC 06 - Manter Empresa .......................................................................... 34 Figura 10 - UC 07 - Manter Clientes.......................................................................... 35 Figura 11 - UC 08 - Manter Usuários ........................................................................ 36 Figura 12 - UC 09 - Manter Produtos ........................................................................ 37 Figura 13 - UC 10 - Manter Fornecedor .................................................................... 38 Figura 14 - UC 11 - Manter Tipos de Lançamento .................................................... 39 Figura 15 - UC 12 - Consultar Resumo de Vendas ................................................... 40 Figura 16 - UC 13 - Consultar Consumo de Produtos ............................................... 41 Figura 17 - UC 14 - Consultar Resumo de Despesas ............................................... 42 Figura 18 - UC 15 - Consultar Despesas por Fornecedor ......................................... 43 Figura 19 - UC 16 - Consultar Caixa ......................................................................... 44 Figura 20 - UC 17 - Consultar Vendas por Clientes .................................................. 45 Figura 21 - UC 18 - Submeter Nota Fiscal Paulista ................................................... 46 Figura 22 - UC 19 - Movimentar Caixa ...................................................................... 47 Figura 23 - UC 20 - Movimentar Vendas ................................................................... 48 Figura 24 - UC 21 - Movimentar Contas a Pagar ...................................................... 49 Figura 25 - UC 22 - Movimentar Contas a Receber .................................................. 50 Figura 26 - UC 23 - Movimentar Compras ................................................................ 51 Figura 27 - MER ........................................................................................................ 52 Figura 28 - WBS ........................................................................................................ 53 Figura 29 - Organização das Camadas ..................................................................... 56 Figura 30 - Camada beans ........................................................................................ 57 Figura 31 - Camada dao ........................................................................................... 58 Figura 32 - Camada view .......................................................................................... 59 Figura 33 - Tela Login de Usuário ............................................................................. 60 Figura 34 - Tela Inicial ............................................................................................... 60 Figura 35 - Barra de Ferramentas ............................................................................. 61 Figura 36 - Menu ....................................................................................................... 61 Figura 37 - Tela de Cadastros ................................................................................... 62 Figura 38 - Tela de Pesquisa .................................................................................... 62 Figura 39 - Tela de Venda ......................................................................................... 63

LISTA DE TABELAS

Tabela 1- Descrição e responsabilidade dos envolvidos ........................................... 16 Tabela 2 – Especificação UC - Incluir Registro ......................................................... 29 Tabela 3 – Especificação UC - Alterar Registro ........................................................ 30 Tabela 4 – Especificação UC - Remover Registro .................................................... 31 Tabela 5 – Especificação UC - Selecionar Registros ................................................ 32 Tabela 6 - Especificação UC - Informar Login .......................................................... 33 Tabela 7 - Especificação UC - Manter Empresa ....................................................... 34 Tabela 8 – Especificação UC - Manter Clientes ........................................................ 35 Tabela 9 - Especificação UC - Manter Usuários........................................................ 36 Tabela 10 - Especificação UC - Manter Produtos ..................................................... 37 Tabela 11 - Especificação UC - Manter Fornecedor ................................................. 38 Tabela 12 - Especificação UC - Manter Tipos de Lançamento ................................. 39 Tabela 13 - Especificação UC - Consultar Resumo de Vendas ................................ 40 Tabela 14 - Especificação UC - Consultar Consumo de Produtos ............................ 41 Tabela 15 - Especificação UC - Consultar Resumo de Despesas ............................ 42 Tabela 16 - Especificação UC - Consultar Despesas por Fornecedor ...................... 43 Tabela 17 - Especificação UC - Consultar Caixa ...................................................... 44 Tabela 18 - Especificação UC - Consultar Vendas por Clientes ............................... 45 Tabela 19 - Especificação UC - Submeter Nota Fiscal Paulista ................................ 46 Tabela 20 - Especificação UC - Movimentar Caixa ................................................... 47 Tabela 21 - Especificação UC - Movimentar Vendas ................................................ 48 Tabela 22 - Especificação UC - Movimentar Contas a Pagar ................................... 49 Tabela 23 - Especificação UC - Movimentar Contas a Receber ............................... 50 Tabela 24 - Especificação UC - Movimentar Compras.............................................. 51 Tabela 25 - Cronograma de Desenvolvimento .......................................................... 55

LISTA DE ABREVIATURAS E SIGLAS

JVM

Máquina Virtual Java;

ORDBMS

Objeto de Banco de Dados Relacional;

OO

Orientação a Objeto;

JDBC

Conexão Java com Banco de Dados ;

SGBD

Sistema Gerenciador de Banco de Dados;

GUI

Interface Gráfica de Usuário;

UC

Caso de Uso

SWT

Widget Toolkit Standart

Sumário 1 – INTRODUÇÃO ................................................................................15 2 – DESENVOLVIMENTO DO TRABALHO .........................................15 2.1 - OBJETIVO ............................................................................................ 15 2.2 – DESCRIÇÃO DO PROBLEMA ............................................................ 16 2.3 – DESCRIÇÃO DOS ENVOLVIDOS ...................................................... 16 2.4 – AMBIENTE DO USUÁRIO .................................................................. 17 2.5 – PRINCIPAIS NECESSIDADES DOS USUÁRIOS .............................. 17

3 - PÚBLICO ALVO ..............................................................................17 4 - JUSTIFICATIVA...............................................................................17 5 – MAPA MENTAL DAS NECESSIDADES DOS USUÁRIOS ............18 6 – MÉTODO DE DESENVOLVIMENTO ..............................................19 6.1 – METODOLOGIA .................................................................................. 19 6.1.1 – Objetos ................................................................................................... 19 6.1.2 – Análise da Estrutura do Objeto ............................................................... 19 6.1.3 - UML ......................................................................................................... 19 6.1.4 - Caso de Uso (UC) ................................................................................... 20

6.2 – JAVA .................................................................................................... 20 6.3 – BANCO DE DADOS POSTGRESQL .................................................. 21 6.4 – HIBERNATE ........................................................................................ 21 6.5 – ECLIPSE.............................................................................................. 22 6.6 – SWT (Widget Toolkit Standart). ........................................................... 22

7 – DIAGRAMAS ..................................................................................23 7.1 – DIAGRAMA DE CASO DE USO – VISÃO GERAL ............................. 23 7.1.1 – Informar Login ......................................................................................... 23 7.1.2 – Movimentações ....................................................................................... 24 7.1.3 – Consultar Relatórios ............................................................................... 25

7.2 – DIAGRAMA DE ATIVIDADES ............................................................. 26 7.2.1 – Diagrama de Atividades – Cadastros...................................................... 26

7.2.2 – Diagrama de Atividades – Movimentações ............................................. 27 7.2.3 – Diagrama de Atividades – Relatórios ...................................................... 28

8 – ESPECIFICAÇÃO DE CASO DE USO ...........................................29 8.1 – UC 01 – INCLUIR REGISTRO ............................................................ 29 8.2 – UC 02 – ALTERAR REGISTRO .......................................................... 30 8.3 – UC 03 – REMOVER REGISTRO ........................................................ 31 8.4 – UC 04 – SELECIONAR REGISTROS ................................................. 32 8.5 – UC 05 – INFORMAR LOGIN ............................................................... 33 8.6 – UC 06 – MANTER EMPRESA ............................................................. 34 8.7 – UC 07 – MANTER CLIENTES ............................................................. 35 8.8 – UC 08 – MANTER USUÁRIOS ........................................................... 36 8.9 – UC 09 – MANTER PRODUTOS .......................................................... 37 8.10 – UC 10 – MANTER FORNECEDOR ................................................... 38 8.11 – UC 11 – MANTER TIPOS DE LANÇAMENTO ................................. 39 8.12 – UC 12 – CONSULTAR RESUMO DE VENDAS................................ 40 8.13 – UC 13 – CONSULTAR CONSUMO DE PRODUTOS ....................... 41 8.14 – UC 14 – CONSULTAR RESUMO DE DESPESAS ........................... 42 8.15 – UC 15 – CONSULTAR DESPESAS POR FORNECEDOR .............. 43 8.16 – UC 16 – CONSULTAR CAIXA .......................................................... 44 8.17 – UC 17 – CONSULTAR VENDAS POR CLIENTES ........................... 45 8.18 – UC 18 – SUBMETER NOTA FISCAL PAULISTA ............................. 46 8.19 – UC 19 – MOVIMENTAR CAIXA ........................................................ 47 8.20 – UC 20 – MOVIMENTAR VENDAS .................................................... 48 8.21 – UC 21 – MOVIMENTAR CONTAS A PAGAR ................................... 49 8.22 – UC 22 – MOVIMENTAR CONTAS A RECEBER .............................. 50 8.23 – UC 23 – MOVIMENTAR COMPRAS ................................................. 51

9 – MODELO ENTIDADE RELACIONAMENTO (MER)........................52 10 – WBS ..............................................................................................53 11 – ESTRUTURA DE DESENVOLVIMENTO DO SISTEMA ...............54 12 – CRONOGRAMA............................................................................55

13 – IMPLEMENTAÇÃO .......................................................................56 13.1 – ORGANIZAÇÃO.......................................................................................... 56 13.2 – INTERFACES DO SISTEMA ...................................................................... 60

14 – CONCLUSÃO ...............................................................................64 REFERÊNCIAS .....................................................................................65

15

1 – INTRODUÇÃO

A cada dia, o mercado de entretenimento e alimentação fora do lar cresce e se profissionaliza. Sendo assim, há mais concorrência e mais consumidores com maior nível de exigência buscando qualidade e eficiência no atendimento. Partindo desse princípio, deu se a idéia de criar um software que forneça controle e integração com segurança e agilidade e também auxilie o gerente e proprietário em tomadas de decisões. Um dos grandes problemas encontrado ao se fazer tudo manualmente é o gerenciamento das informações. O objetivo do software é tornar a atividade mais prática e oferecer informações mais visíveis ao operador. O software será desenvolvido para o restaurante Tempero Mineiro, localizado na cidade de Assis-SP. O restaurante emprega hoje 16 funcionários, servindo aproximadamente 400 refeições diárias.

2 – DESENVOLVIMENTO DO TRABALHO

2.1 - OBJETIVO

O restaurante Tempero Mineiro serve em média 400 refeições diárias. O proprietário do restaurante tem por objetivo melhorar seu controle financeiro, agilidade operacional e qualidade de atendimento para que assim conquiste seus clientes, tornando-os fiéis. O software irá controlar movimentação de vendas, consumo diário, movimentação de contas a pagar, vendas a prazo por clientes, emitir Nota Fiscal Paulista e emitir relatórios para que as informações sejam trabalhadas. Um dos objetivos de informatizar um restaurante é aprimorar o controle e reduzir despesas, bem como eliminar o uso de papel, agilizando assim o trabalho diário e ajudando na preservação do meio ambiente.

16

2.2 – DESCRIÇÃO DO PROBLEMA

O restaurante atende sob forma self-service, que é uma forma de serviço que agradou ao público que os procuram por diferentes motivos. Dentre eles, a economia de tempo e dinheiro. Atualmente, o controle de vendas do restaurante é realizado por meio de comandas de papel, onde os garçons anotam o consumo do Buffet e de bebidas. Na saída, o cliente segue com a comanda de papel até o caixa e então é cobrado o consumo. Um dos problemas atuais da empresa está relacionado ao controle de gastos, pois é muito difícil obter o valor separado dos gastos do Buffet convencional onde é cobrado um preço fixo e sem limite de peso, e do Buffet de carnes e massas, onde existe um preço variável de acordo com o peso do prato. Também existe um convênio com algumas empresas que pagam mensalmente as refeições feitas por seus funcionários. Outro grande problema está na emissão da Nota Fiscal paulista, pois o trabalho é feito todo manualmente e depois enviado a um escritório de contabilidade, de onde as notas serão realmente enviadas. O cliente deseja obter um sistema que controle a venda de forma ágil, eliminando assim erros humanos.

2.3 – DESCRIÇÃO DOS ENVOLVIDOS Nome

Responsabilidade

Funcionário

Responsável por movimentar vendas, movimentar contas a pagar, movimentar contas a receber e movimentar o caixa.

Administrador

Responsável por manter produtos, usuários, fornecedores, tipo de lançamento, estabelecimento e clientes.

Tabela 1- Descrição e responsabilidade dos envolvidos

17

2.4 – AMBIENTE DO USUÁRIO

O sistema deverá ser construído para ser executado em computadores locais conectados em rede.

2.5 – PRINCIPAIS NECESSIDADES DOS USUÁRIOS

Os funcionários e o administrador devem possuir um cadastro no sistema com login de usuário e senha; Os clientes devem possuir um cadastro com Código, Nome, Endereço, CNPJ, Fone1 e Fone2; A empresa deve conter um cadastro com Código, Fantasia, Razão Social, Endereço, Cidade, CNPJ e Fone; Os produtos devem possuir um cadastro com código, descrição, valor unitário e unidade; Os fornecedores devem possuir um cadastro com código, Fantasia, Endereço, Cidade, Cep, CNPJ e Fone; Os Tipos de Lançamentos devem possuir um cadastro com Código e Descrição e Tipo; O funcionário poderá movimentar o caixa incluindo as baixas de pagamentos feitas por clientes; O Funcionário poderá emitir Nota Fiscal Paulista, Movimentar Vendas, Movimentar Contas a Pagar e Contas a Receber; O Administrador poderá Consultar Resumo de Vendas, Consumo de Produtos, Consultar Resumo de Despesas, Consultar Resumos de Despesas por Fornecedores, Consultar Movimentação do Caixa e Consultar Vendas por Clientes.

3 - PÚBLICO ALVO

O software será destinado a restaurantes e empresas do ramo alimentício de pequeno e médio porte, que necessitam de automatização do estabelecimento.

4 - JUSTIFICATIVA

A cada dia que passa o mercado torna-se cada vez mais competitivo. Com toda essa pressão, todos sabem que não há espaço para amadorismo. Por ser a

18

informatização ou automação do trabalho crucial, desenvolvidos e muitas soluções são encontradas.

muitos

sistemas

são

Para esse fim, o sistema de restaurantes é um elemento vital e estratégico da operação porque permite o tratamento adequado de problemas complexos como controle de custos e fraudes. A razão para o desenvolvimento desse sistema é o fato de automatizar o estabelecimento com intuito de agilizar o processo e acesso a informações que possibilitará ações de melhorias, buscando sempre lucratividade e melhor relacionamento com clientes e fornecedores.

5 – MAPA MENTAL DAS NECESSIDADES DOS USUÁRIOS

Figura 1 - Mapa Mental

19

6 – MÉTODO DE DESENVOLVIMENTO

6.1 – METODOLOGIA

Para o desenvolvimento da análise do sistema e da implementação, será utilizada a metodologia orientada a objetos.

6.1.1 – Objetos

Desde a mais tenra idade formamos conceitos. Cada conceito é uma idéia ou um entendimento pessoal que temos de nosso mundo. Os conceitos que adquirimos nos permitem dar sentido e raciocinar sobre as coisas de nosso mundo. Essas coisas às quais nossos conceitos se aplicam são denominadas objetos. Um objeto pode ser real ou abstrato. Na análise e no projeto OO, estamos interessados no comportamento do objeto. Na construção de um software, os módulos serão baseados em tipos de objetos. Um objeto é qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e os métodos que os manipulam. (James Martin, 1995)

6.1.2 – Análise da Estrutura do Objeto

A Análise da Estrutura do Objeto define os tipos de objetos que percebemos e as maneiras segundo as quais os associamos. Os tipos de objetos são importantes porque eles criam blocos de construção conceituais para projetar sistemas. Esses blocos de construção guiam o projetista na definição de classes e em suas estruturas de dados. (James Martin, 1995)

6.1.3 - UML

UML é chamada de linguagem de modelagem, não é um método. A maioria dos métodos consiste, pelo menos em princípio, de uma linguagem de modelagem e de um processo. A linguagem de modelagem é a notação (principalmente gráfica)

20

utilizada por métodos para expressar projetos. O processo é a sugestão de quais passos a serem seguidos na elaboração de projeto.

6.1.4 - Caso de Uso (UC)

O Diagrama de Caso de Uso tem como elemento básico no desenvolvimento de software, Jacobson (1994) também introduziu um diagrama para a visualização de casos de uso. Esse diagrama é a parte da UML. É importante lembrar que casos de uso representam uma visão externa do sistema. Um caso de uso representa uma unidade discreta da interação entre um usuário (humano ou máquina) e o sistema. Um caso de uso é uma unidade de um trabalho significante. Casos de uso são tipicamente relacionados a "atores". Um ator é um humano ou entidade máquina que interage com o sistema para executar um significante trabalho. É importante notar que não descreve como o software deverá ser construído, mas sim como ele deverá se comportar quando estiver pronto.

6.2 – JAVA

Uma das grandes revoluções no mundo do software aconteceu quando Java foi anunciado, em maio de 1995, pela empresa Sun Micro systems. O que chama atenção nessa linguagem é o fato de que ela pode ser portável para outros sistemas operacionais por utilizar uma máquina virtual. O Java se utiliza do conceito de máquina virtual, onde existe, entre o sistema operacional e a aplicação, uma camada extra, responsável por “traduzir” - mas não apenas isso - o que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento. Dessa forma, a maneira que uma janela é aberta no Linux ou no Windows é a mesma: você ganha independência de sistema operacional. Ou, melhor ainda, independência de plataforma em geral: não é preciso se preocupar em qual sistema operacional sua aplicação está rodando, nem em que tipo de máquina, configurações, etc.

21

Repare que uma máquina virtual é um conceito bem mais amplo que o de um interpretador. Como o próprio nome diz, uma máquina virtual é como um computador de mentira: tem tudo o que um computador tem. Em outras palavras, ela é responsável por gerenciar memória e threads, a pilha de execução, entre outros. A sua aplicação roda sem nenhum envolvimento com o sistema operacional! Sempre conversando apenas com a Java Virtual Machine (JVM). O Java, nos dias de hoje, é utilizado por grandes bancos por fornecer extrema segurança. É utilizado por grandes empresas que desejam trafegar uma grande quantidade de dados e necessita de estabilidade e portabilidade entre outras empresas. Milhões de pessoas já aprenderam essa linguagem e estão usando em lugares como a NASA, IBM, ESPN entre outros. (Edson Gonçalves, 2006)

6.3 – BANCO DE DADOS POSTGRESQL

PostgreSQL é um gerenciador de banco de dados objeto-relacional (ORDBMS) de código aberto, descendente de Postgres versão 4.2, desenvolvido na universidade da Califórnia em Berkley. O PostgreSQL é robusto, confiável, rico em recursos, implementa características de orientação a objetos e suporta grande parte do SQL:2003. (Jorge Luiz Gonzaga, 2007)

6.4 – HIBERNATE

O Hibernate é um framework para o mapeamento objeto-relacional. Este programa facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação. Teoricamente, qualquer banco de dados relacional que implemente a JDBC pode ser utilizado com o Hibernate, o que torna a aplicação independente do SGBDR. Com ele é possível persistir objetos Java em banco de dados relacional. (http://pt.wikipedia.org/wiki/Hibernate)

22

6.5 – ECLIPSE

O Eclipse é uma IDE de desenvolvimento de programação, inicialmente desenvolvida pela IBM, que, segundo notícias, gastou mais de 40 milhões de dólares no seu desenvolvimento antes de transformar essa ferramenta em Open Source para um consórcio, chamado de Eclipse.org, que inicialmente incluiu a Borland, IBM, Merant, QNX Software Systems, Rational Software, Red Hat, SuSE, TogetherSoft e Webgain. (Edson Gonçalves, 2006)

6.6 – SWT (Widget Toolkit Standart). Quando a equipe de desenvolvimento resolveu criar o Eclipse, descobriram que as bibliotecas Swing e AWT eram inadequadas ao desenvolvimento de aplicações comerciais, por isso resolveram criar um novo toolkit para desenvolver a GUI do Eclipse. Eles chamaram esse novo toolkit de Widget Toolkit Standart (SWT). Todo sistema operacional contém vários componentes que compõe a interface de usuário. Estes componentes incluem botões, janelas, menus e tudo que é visível na tela do computador. A meta do SWT é dar ao programador Java acesso direto a esses componentes de forma que possa configurar e posicionar esses componentes da forma que desejar. E o que é mais importante, é multiplataforma. A biblioteca SWT foi liberada em 2001, junto com o Ambiente Integrado de Desenvolvimento (IDE) do Eclipse, o que significa que ele é código livre. (Edson Gonçalves, 2006)

23

7 – DIAGRAMAS 7.1 – DIAGRAMA DE CASO DE USO – VISÃO GERAL 7.1.1 – Informar Login

Figura 2 - UC Informar Login

24

7.1.2 – Movimentações

Figura 3 - UC Manter/Movimentar

25

7.1.3 – Consultar Relatórios

Figura 4 - UC Consultar Relatórios

26

7.2 – DIAGRAMA DE ATIVIDADES

7.2.1 – Diagrama de Atividades – Cadastros

Figura 5 - Diagrama de Atividade - Cadastros

27

7.2.2 – Diagrama de Atividades – Movimentações

Figura 6 - Diagrama de Atividades – Movimentações

28

7.2.3 – Diagrama de Atividades – Relatórios

Figura 7 - Diagrama de Atividades - Relatórios

29

8 – ESPECIFICAÇÃO DE CASO DE USO

8.1 – UC 01 – INCLUIR REGISTRO

Especificação Caso de Uso: Incluir Registro

Atores:

Usuário do sistema;

Pré Condição:

Ator deve estar logado no sistema

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Incluir Registro”; 02. O Sistema solicita o preenchimento dos dados; 03. O Ator preenche os dados e confirma a inclusão; 04. O Sistema solicita a confirmação para a inclusão; 05. O Ator confirma a inclusão; 06. O Sistema realiza a inclusão dos dados preenchidos e informa que a inclusão foi efetivada com sucesso. [A1]

Ator não confirma a inclusão Fluxo Alternativo A1

06. O Sistema informa que não foi confirmada a inclusão dos dados informados.

Tabela 2 – Especificação UC - Incluir Registro

30

8.2 – UC 02 – ALTERAR REGISTRO

Especificação Caso de Uso: Alterar Registro Atores:

Usuário do sistema;

Pré Condição:

Ator deve estar logado no sistema

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Alterar Registro”; 02. O Ator seleciona um único registro que deseja alterar; [A1] 03. O Sistema solicita a alteração dos atributos; 04. O Ator altera os dados desejados e confirma a alteração; 05. O Sistema solicita a confirmação para a alteração; 06. O Ator confirma a alteração; 07. O Sistema realiza a alteração dos dados e informa que a alteração foi efetivada com sucesso. [A2] Não existe registro para alterar

Fluxo Alternativo A1

02. O Sistema informa que não existe registro para a alteração. O Caso de Uso é encerrado. Ator não confirma a alteração

Fluxo Alternativo A2

07. O Sistema informa que não foi confirmada a alteração dos dados informados.

Tabela 3 – Especificação UC - Alterar Registro

31

8.3 – UC 03 – REMOVER REGISTRO

Especificação Caso de Uso: Remover Registro Atores:

Usuário do sistema;

Pré Condição:

Ator deve estar logado no sistema

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Remover Registro”; 02. O Ator seleciona um único registro que deseja remover; [A1] 03. O Sistema solicita a confirmação da remoção; 04. O Ator confirma a remoção; [A2] 05. O Sistema realiza a remoção do registro e informa que a remoção foi efetivada com sucesso. Não existe registro para remover

Fluxo Alternativo A1

02. O Sistema informa que não existe registro para a alteração. O Caso de Uso é encerrado.

Fluxo Alternativo A2

Ator não confirma a remoção 04. O Sistema informa que não foi confirmada a remoção do registro informado. O Caso de Uso é encerrado.

Tabela 4 – Especificação UC - Remover Registro

32

8.4 – UC 04 – SELECIONAR REGISTROS

Especificação Caso de Uso: Selecionar Registro Atores:

Usuário do sistema;

Pré Condição:

Ator deve estar logado no sistema

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Selecionar Registro”; 02. O Ator seleciona um registro. [A1] Não existe registro para Selecionar

Fluxo Alternativo A1

02. O Sistema informa que não existe registro para a seleção. O Caso de Uso é encerrado.

Tabela 5 – Especificação UC - Selecionar Registros

33

8.5 – UC 05 – INFORMAR LOGIN

Figura 8 - UC 05 - Informar Login Especificação Caso de Uso: Informar Login Atores:

Usuário do sistema;

Pré Condição:

Ator deve estar cadastrado 01 - O Ator inicia abrindo o sistema;

Fluxo Básico:

02. O Sistema oferece interface para login e senha; 03. O Ator informa seu login e senha; 04. O Sistema verifica a concordância entre Login e Senha no cadastro de Usuários; 05. O Ator acessa o sistema. [A1] Login ou senha inválida:

Fluxo Alternativo A1

05. O Sistema informa que o login e a senha não conferem com nenhum cadastro registrado e volta ao passo 02 do fluxo básico.

Tabela 6 - Especificação UC - Informar Login

34

8.6 – UC 06 – MANTER EMPRESA

Figura 9 - UC 06 - Manter Empresa

Especificação Caso de Uso: Manter Empresa Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Manter Empresa”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 7 - Especificação UC - Manter Empresa

35

8.7 – UC 07 – MANTER CLIENTES

Figura 10 - UC 07 - Manter Clientes

Especificação Caso de Uso: Manter Clientes Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema; 01. O Caso de Uso inicia quando o Ator solicita “Manter Clientes”;

Fluxo Básico:

02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 8 – Especificação UC - Manter Clientes

36

8.8 – UC 08 – MANTER USUÁRIOS

Figura 11 - UC 08 - Manter Usuários

Especificação Caso de Uso: Manter Usuários Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Manter Usuários”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 9 - Especificação UC - Manter Usuários

37

8.9 – UC 09 – MANTER PRODUTOS

Figura 12 - UC 09 - Manter Produtos

Especificação Caso de Uso: Manter Produtos Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Manter Produtos”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 10 - Especificação UC - Manter Produtos

38

8.10 – UC 10 – MANTER FORNECEDOR

Figura 13 - UC 10 - Manter Fornecedor

Especificação Caso de Uso: Manter Fornecedor Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Manter Fornecedor”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 11 - Especificação UC - Manter Fornecedor

39

8.11 – UC 11 – MANTER TIPOS DE LANÇAMENTO

Figura 14 - UC 11 - Manter Tipos de Lançamento

Especificação Caso de Uso: Manter Tipos de Lançamento Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Manter Tipos de Lançamento”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 12 - Especificação UC - Manter Tipos de Lançamento

40

8.12 – UC 12 – CONSULTAR RESUMO DE VENDAS

Figura 15 - UC 12 - Consultar Resumo de Vendas

Especificação Caso de Uso: Consultar Resumo de Vendas Ator:

Administrador

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Consultar Resumo de Vendas”; 02. O Sistema oferece interface para consultar; 03. O Ator seleciona a operação de seleção. Usa “Selecionar Registro; 04. O Sistema exibe a consulta selecionada.

Tabela 13 - Especificação UC - Consultar Resumo de Vendas

41

8.13 – UC 13 – CONSULTAR CONSUMO DE PRODUTOS

Figura 16 - UC 13 - Consultar Consumo de Produtos

Especificação Caso de Uso: Consultar Consumo de Produtos

Ator:

Administrador

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Consultar Consumo de Produtos”; 02. O Sistema oferece interface para consultar; 03. O Ator seleciona a operação de seleção. Usa “Selecionar Registro; 04. O Sistema exibe a consulta selecionada.

Tabela 14 - Especificação UC - Consultar Consumo de Produtos

42

8.14 – UC 14 – CONSULTAR RESUMO DE DESPESAS

Figura 17 - UC 14 - Consultar Resumo de Despesas

Especificação Caso de Uso: Consultar Resumo de Despesas

Ator:

Administrador

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Consultar Resumo de Despesas”; 02. O Sistema oferece interface para consultar; 03. O Ator seleciona a operação de seleção. Usa “Selecionar Registro; 04. O Sistema exibe a consulta selecionada.

Tabela 15 - Especificação UC - Consultar Resumo de Despesas

43

8.15 – UC 15 – CONSULTAR DESPESAS POR FORNECEDOR

Figura 18 - UC 15 - Consultar Despesas por Fornecedor

Especificação Caso de Uso: Consultar Despesas por Fornecedores

Ator:

Administrador

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Consultar Despesas por Fornecedores”; 02. O Sistema oferece interface para consultar; 03. O Ator seleciona a operação de seleção. Usa “Selecionar Registro; 04. O Sistema exibe a consulta selecionada.

Tabela 16 - Especificação UC - Consultar Despesas por Fornecedor

44

8.16 – UC 16 – CONSULTAR CAIXA

Figura 19 - UC 16 - Consultar Caixa

Especificação Caso de Uso: Consultar Caixa

Ator:

Administrador e Funcionário;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Consultar Caixa”; 02. O Sistema oferece interface para consultar; 03. O Ator seleciona a operação de seleção. Usa “Selecionar Registro; 04. O Sistema exibe a consulta selecionada.

Tabela 17 - Especificação UC - Consultar Caixa

45

8.17 – UC 17 – CONSULTAR VENDAS POR CLIENTES

Figura 20 - UC 17 - Consultar Vendas por Clientes

Especificação Caso de Uso: Consultar Vendas por Clientes

Ator:

Administrador

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Consultar por Clientes”; 02. O Sistema oferece interface para consultar; 03. O Ator seleciona a operação de seleção. Usa “Selecionar Registro; 04. O Sistema exibe a consulta selecionada.

Tabela 18 - Especificação UC - Consultar Vendas por Clientes

46

8.18 – UC 18 – SUBMETER NOTA FISCAL PAULISTA

Figura 21 - UC 18 - Submeter Nota Fiscal Paulista

Especificação Caso de Uso: Submeter Nota Fiscal

Ator:

Funcionário

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Submeter Nota Fiscal Paulista”; 02. O Sistema oferece interface para inclusão; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1] 04. O Sistema insere o registro.

Fluxo Alternativo A1

03. O Ator cancela a operação; 04. O caso de uso é encerrado.

Tabela 19 - Especificação UC - Submeter Nota Fiscal Paulista

47

8.19 – UC 19 – MOVIMENTAR CAIXA

Figura 22 - UC 19 - Movimentar Caixa

Especificação Caso de Uso: Movimentar Caixa Atores:

Funcionário;

Pré Condição:

O Administrador deverá estar logado no sistema; 01. O Caso de Uso inicia quando o Ator solicita “Movimentar Caixa”;

Fluxo Básico:

02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 20 - Especificação UC - Movimentar Caixa

48

8.20 – UC 20 – MOVIMENTAR VENDAS

Figura 23 - UC 20 - Movimentar Vendas

Especificação Caso de Uso: Movimentar Vendas Atores:

Funcionário;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Movimentar Vendas”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 21 - Especificação UC - Movimentar Vendas

49

8.21 – UC 21 – MOVIMENTAR CONTAS A PAGAR

Figura 24 - UC 21 - Movimentar Contas a Pagar

Especificação Caso de Uso: Movimentar Contas a Pagar Atores:

Funcionário;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Movimentar Contas a Pagar”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 22 - Especificação UC - Movimentar Contas a Pagar

50

8.22 – UC 22 – MOVIMENTAR CONTAS A RECEBER

Figura 25 - UC 22 - Movimentar Contas a Receber

Especificação Caso de Uso: Movimentar Contas a Receber Atores:

Funcionário;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Movimentar Contas a Receber”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 23 - Especificação UC - Movimentar Contas a Receber

51

8.23 – UC 23 – MOVIMENTAR COMPRAS

Figura 26 - UC 23 - Movimentar Compras

Especificação Caso de Uso: Movimentar Compras Atores:

Administrador;

Pré Condição:

O Administrador deverá estar logado no sistema;

Fluxo Básico:

01. O Caso de Uso inicia quando o Ator solicita “Movimentar Compras”; 02. O Sistema oferece as operações de manutenção; 03. O Ator seleciona a operação de inclusão. Usa “Incluir Registro”; [A1], [A2]; Ator seleciona a operação de alteração

Fluxo Alternativo A1

03. O Ator seleciona a operação de alteração. Usa “Alterar Registro”. Ator seleciona a operação de remoção

Fluxo Alternativo A2

03. O Ator seleciona a operação de remoção. Usa “Remover Registro”.

Tabela 24 - Especificação UC - Movimentar Compras

52

9 – MODELO ENTIDADE RELACIONAMENTO (MER)

Figura 27 - MER

53

10 – WBS

Figura 28 - WBS

54

11 – ESTRUTURA DE DESENVOLVIMENTO DO SISTEMA

 Planejamento;  Levantamento de Requisitos;  Análise;  Diagramas de Caso de Uso;  Especificação de Caso de Uso;  Continuar a desenvolver a análise de UML, a partir da confecção dos Diagramas de Classe e Atividades;  MER;  Implementação;  Testes;  Manual do Usuário;  Treinamento com Cliente;  Instalação.

55

12 – CRONOGRAMA

A planilha abaixo representa o cronograma de desenvolvimento com base na estrutura apresentada no tópico anterior.

Atividade / Semana Planejamento Levantamento de requisitos

Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª ª

Análise Diagrama de Caso de Uso Especificação de Caso de Uso Diagrama de Classes Diagrama de Atividades MER Implementação Testes Manual do usuário Treinamento com cliente Instalação Legenda: Realizado

Tabela 25 - Cronograma de Desenvolvimento

56

13 – IMPLEMENTAÇÃO

13.1 – ORGANIZAÇÃO

Para o desenvolvimento na plataforma Java, foi utilizada a IDE (Ambiente Integrado de Desenvolvimento), Eclipse, e foi utilizada a técnica de desenvolvimento em três camadas: camada beans, camada dao e camada view como listadas abaixo:

Figura 29 - Organização das Camadas

57

Camada beans: É a camada onde são criadas as entidades que modelam o sistema.

Figura 30 - Camada beans

58

Camada dao: É a camada onde são criados métodos, para buscar os dados do banco de dados e converter em objetos para ser usado pela aplicação.

Figura 31 - Camada dao

59

Camada view: Camada onde é programada a parte de visão do sistema, as telas.

Figura 32 - Camada view

60

13.2 – INTERFACES DO SISTEMA Tela de Login de Usuário: Ao iniciar o sistema, abrirá uma tela de login de usuário, onde assim, usuários cadastrados poderão ter acesso ao mesmo:

Figura 33 - Tela Login de Usuário

Tela Inicial: Ao acessar, o sistema abrirá a Tela Inicial com os menus e barra de ferramentas:

Figura 34 - Tela Inicial

61

Barra de Ferramentas: botões de atalho para acesso as opções do sistema:

Figura 35 - Barra de Ferramentas

Menu: permite acesso ao item ou opção desejada;

Figura 36 - Menu

62

Tela de Cadastros: permite ao usuário cadastrar informações ou dados utilizados no sistema;

Figura 37 - Tela de Cadastros

Tela de Pesquisa: nesta tela o usuário poderá pesquisar, editar ou excluir registros:

Figura 38 - Tela de Pesquisa

63

Tela de Venda: permite ao usuário informar os detalhes da venda, o cliente, forma de pagamento, CPF, data e valores da venda:

Figura 39 - Tela de Venda

64

14 – CONCLUSÃO

Este software atenderá de forma eficaz as necessidades do Restaurante, trazendo agilidade e organização para empresa. Além disso, trará facilidade ao acesso das informações, para melhor controle e auxilio no gerenciamento. Como a informática hoje é essencial em qualquer ramo de atividade, o software irá suprir as necessidades da organização, fornecendo relatórios gerenciais que são de extrema importância para uma eventual tomada de decisão, assim garantindo a qualidade de serviço prestado. O uso de UML e diagramas feitos na análise foram essenciais para o desenvolvimento do sistema, pois com os diagramas podemos identificar as principais funcionalidades do sistema. Na fase de implementação do projeto, o uso do framework Hibernate, facilitou muito o acesso aos dados do banco de dados PostgreSQL, que juntamente com a plataforma Java fazem uma excelente combinação. A maior dificuldade na execução desse projeto, é o fato de ser a primeira experiência real de implementação de um software. Deste sistema fica pra um trabalho futuro, a inclusão de mais relatórios gerenciais, além de uma integração do sistema com um WebService para emissão de Nota Fiscal Paulista e envio de Cupom Fiscal via WebService.

65

REFERÊNCIAS Booch, Rumbaugh, Jacobson; Grady, James, Ivar. UML Guia do Usuário, Tradução: Fábio Freitas. Rio de Janeiro, Editora: Campus, 2000.

Freemam, Freemam; Eric, Elisabeth. Use a Cabeça! Padrões de Projetos, (1ªEdição) Késsia Nina; (2ª Edição) Hélder Pereira Borges; Tradução: Andreza Gonçalvez, Marcelo Soares e Pedro César de Conti. Rio de Janeiro, Editora: Alta Books, 2007.

Gonçalves, Edson. Dominando Eclipse, Editor: Paulo André P. Marques. Rio de Janeiro, Editora: Ciência Moderna Ltda., 2006.

Gonçalves, Edson. Dominando Relatórios JasperReports com iReport, Editor: Paulo André P. Marques. Rio de Janeiro, Editora: Ciência Moderna Ltda., 2008.

Gonzaga, Jorge Luiz. Dominando o PostgreSQL, Editor: Paulo André P. Marques. Rio de Janeiro, Editora: Ciência Moderna Ltda., 2007.

Hibernate: http://pt.wikipedia.org/wiki/Hibernate

Shlaer, Mellor; Sally, Sthephen J. Análise de Sistemas Orientada para Objetos, Anna Terzi Giava, São Paulo, Editora: McGraw-Hill Ltda, 1990.