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.