Sistema de Gerência de Estabelecimentos: mudanças entre as edições
(→Layout) |
|||
(75 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 8: | Linha 8: | ||
==Objetivo== | ==Objetivo== | ||
Suprir a necessidade de estabelecimentos, como casas noturnas e restaurantes, a qual não possuem um sistema para controle e gerência de seu funcionamento, ou até possuem, mas precisam de um sistema escalável, que não dependa do hardware e de atualizações contantes do equipamento para suprir a demanda. | |||
==Problema== | ==Problema== | ||
Ao crescer a rotatividade no estabelecimento, por muitas vezes a empresa tem que se preocupar em melhorar o hardware para o sistema continuar funcionando. Também quando é adotada uma solução desktop para a gerência do lugar a correção de bugs e implementação de novas funcionalidades se torna complicada e demorada. | |||
==Solução== | ==Solução== | ||
A solução para algum desses problemas está na opção de um sistema web para gerenciar o estabelecimento. Ao adotar a solução web, temos:<br/> | |||
-Gerenciar um estabelecimento sem grandes preocupações com a infra-estrutura, atualização de hardware e software.<br/> | |||
-Facilidade na aplicação de patches e correção de bugs, pelo motivo que só é necessário parar o sistema dar upload nos arquivos novos, algo que demora apenas alguns minutos, se a solução fosse dekstop, existe a preocupação de cada um dos computadores que está rodando o sistema, recebeu a atualização.<br/> | |||
-O backup do sistema pode ser feito com facilidade remotamente e salvo na nuvem.<br/> | |||
-Facilidade ao adicionar módulos no sistema para que se comuniquem com outros módulos, por ser desenvolvido para web, por exemplo, o sistema pode conversar com um aplicativo para celular, bastando implementar um serviço REST.<br/> | |||
-O sistema escalável, por adotar a nuvem, quando o sistema crescer, é só trocar de plano junto ao servidor contratado. | |||
==Público Alvo== | ==Público Alvo== | ||
Linha 41: | Linha 28: | ||
==Principais Funcionalidades== | ==Principais Funcionalidades== | ||
*Controle de entrada, saída de clientes. | *Controle de entrada, saída de clientes. | ||
Linha 50: | Linha 33: | ||
relatórios de ocupação por hora ou dia. | relatórios de ocupação por hora ou dia. | ||
*Controle de | *Controle de vendas. | ||
**O sistema | **O sistema irá controlar a venda, por cliente, ou balcão, ou mesa. | ||
*Controle gerencial, lucro, quantidade de vendas. | *Controle gerencial, lucro, quantidade de vendas. | ||
**Através de relatórios, o sistema irá informar dados importantes para o | **Através de relatórios, o sistema irá informar dados importantes para o | ||
gerenciamento e manutenção do estabelecimento, como por exemplo: | gerenciamento e manutenção do estabelecimento, como por exemplo: total de vendas em um período, produtos mais vendidos. | ||
==Tecnologias a serem Utilizadas== | ==Tecnologias a serem Utilizadas== | ||
*[https://academy.oracle.com/pt-br/solutions-java.html Java] | *[https://academy.oracle.com/pt-br/solutions-java.html Java] | ||
**Versão: | **Versão: 8 | ||
*[https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html JSF] | *[https://www.oracle.com/technetwork/java/javaee/javaserverfaces-139869.html JSF] | ||
**Versão: | **Versão: 2.2.2 | ||
*[https://www.primefaces.org/ PrimeFace] | *[https://www.primefaces.org/ PrimeFace] | ||
**Versão: | **Versão: 6.1 | ||
*[https://hibernate.org/ Hibernate] | *[https://hibernate.org/ Hibernate] | ||
**Versão: | **Versão: 5.2.10 | ||
*[https://www.eclipse.org/ Eclipse] | *[https://www.eclipse.org/ Eclipse] | ||
**Versão: | **Versão: Oxygen.1a (4.7.1a) | ||
*[https://www.postgresql.org/ PostgreSQL] | *[https://www.postgresql.org/ PostgreSQL] | ||
**Versão: | **Versão: 9.6 | ||
*[https://tomcat.apache.org/ Apache TomCat] | *[https://tomcat.apache.org/ Apache TomCat] | ||
**Versão: | **Versão: 8.5 | ||
*[https://maven.apache.org/ Apache Maven] | *[https://maven.apache.org/ Apache Maven] | ||
**Versão: | **Versão: 3.3.9 | ||
==Requisitos== | ==Requisitos== | ||
Linha 174: | Linha 149: | ||
|- | |- | ||
| RN 07 || RF11 || Apenas uma sessão para cada tipo de usuário. | | RN 07 || RF11 || Apenas uma sessão para cada tipo de usuário. | ||
|- | |- | ||
|} | |} | ||
==Layout== | ==Layout== | ||
<br> | |||
[[Imagem:Login.png|| 500px |thumb|left|Tela de Login]] [[Imagem:Tela02.png|| 500px |thumb|center|Tela do Caixa]] [[Imagem:Tela03.png|| 500px |thumb|left|Tela Abrir Conta]] [[Imagem:Tela04.png|| 500px |thumb|center|Tela do PDV]] [[Imagem:Tela05.png|| 500px |thumb|left|Tela de Cadastro de Cliente]] [[Imagem:Tela06.png || 500px |thumb|center|Tela Checkout de Clientes]][[Imagem:Tela07.png|| 500px |thumb|left|Tela de Edição de Cliente]] [[Imagem:Tela08.png || 500px |center|thumb|Tela de Cadastro de Produto]] [[Imagem:Tela09.png || 500px |thumb|left|Tela de Edição e Listagem de Produtos]] [[Imagem:Tela10.png || 500px |thumb|center|Tela para Lançar Estoque]] [[Imagem:Tela11.png || 500px |thumb|left|Tela de Cadastro de Usuário]] [[Imagem:Tela12.png || 500px |thumb|center|Tela de Cadastro de Categoria]][[Imagem:Tela13.png || 500px |thumb|left|Tela de Cadastro de Unidade]] [[Imagem:Tela14.png || 500px |thumb|center|Tela de Relatório de Contas]] [[Imagem:Tela15.png || 500px |thumb|left|Tela de Produtos Mais Vendidos]] [[Imagem:Tela16.png || 500px |thumb|center|Tela de Relatório de produtos com estoque baixo]] | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
<br> | |||
==Diagrama de Classe== | |||
[[Imagem:Casodeuso.png| 800px |thumb|center|Diagrama de Caso de Uso]] | |||
==Diagrama de Classe== | |||
[[Imagem:Diagramaclasse.png| 800px |thumb|center|Diagrama de Classes]] | |||
==Diagrama do Filtro De Requisição de Páginas== | |||
[[Imagem:Diagramafiltro.png| 800px |thumb|center|Diagrama do Filtro De Requisição de Páginas]] | |||
==Diagrama da Requisição de Login== | |||
[[Imagem:Diagramalogar.png| 1000px |thumb|center|Diagrama da Requisição de Login]] | |||
==Diagrama Salva Data da Ultima Modificação== | |||
[[Imagem:Diagramaupdate01.png| 1000px |thumb|center|Diagrama Salva Modificação na Aplicação]] | |||
[[Imagem: | |||
== | ==Diagrama Verifica a Data da Ultima Verificação== | ||
[[Imagem:Diagramaupdate02.png| 1000px |thumb|center|Diagrama Verifica a Data da Ultima Verificação]] | |||
==Código Desenvolvido== | |||
Código no [https://github.com/forcella/swge GitHub] | |||
[[Categoria:Projeto Integrador II]] | [[Categoria:Projeto Integrador II]] |
Edição atual tal como às 17h50min de 4 de dezembro de 2017
Equipe
- Professor orientador
- Estevan Brandt Braz Costa
- Alcione Benacchio
- Alunos
- João Paulo Mazega Pagani
- Lucas Gomes Guerra
Objetivo
Suprir a necessidade de estabelecimentos, como casas noturnas e restaurantes, a qual não possuem um sistema para controle e gerência de seu funcionamento, ou até possuem, mas precisam de um sistema escalável, que não dependa do hardware e de atualizações contantes do equipamento para suprir a demanda.
Problema
Ao crescer a rotatividade no estabelecimento, por muitas vezes a empresa tem que se preocupar em melhorar o hardware para o sistema continuar funcionando. Também quando é adotada uma solução desktop para a gerência do lugar a correção de bugs e implementação de novas funcionalidades se torna complicada e demorada.
Solução
A solução para algum desses problemas está na opção de um sistema web para gerenciar o estabelecimento. Ao adotar a solução web, temos:
-Gerenciar um estabelecimento sem grandes preocupações com a infra-estrutura, atualização de hardware e software.
-Facilidade na aplicação de patches e correção de bugs, pelo motivo que só é necessário parar o sistema dar upload nos arquivos novos, algo que demora apenas alguns minutos, se a solução fosse dekstop, existe a preocupação de cada um dos computadores que está rodando o sistema, recebeu a atualização.
-O backup do sistema pode ser feito com facilidade remotamente e salvo na nuvem.
-Facilidade ao adicionar módulos no sistema para que se comuniquem com outros módulos, por ser desenvolvido para web, por exemplo, o sistema pode conversar com um aplicativo para celular, bastando implementar um serviço REST.
-O sistema escalável, por adotar a nuvem, quando o sistema crescer, é só trocar de plano junto ao servidor contratado.
Público Alvo
O projeto pretende atingir o seguinte público:
- Casas noturnas;
- Bares e restaurantes, que necessitam controlar a entrada e saída de clientes, assim como o consumo.
Principais Funcionalidades
- Controle de entrada, saída de clientes.
- sistema terá uma forma de controlar a entrada e saída de clientes a fim de gerar
relatórios de ocupação por hora ou dia.
- Controle de vendas.
- O sistema irá controlar a venda, por cliente, ou balcão, ou mesa.
- Controle gerencial, lucro, quantidade de vendas.
- Através de relatórios, o sistema irá informar dados importantes para o
gerenciamento e manutenção do estabelecimento, como por exemplo: total de vendas em um período, produtos mais vendidos.
Tecnologias a serem Utilizadas
- Java
- Versão: 8
- JSF
- Versão: 2.2.2
- PrimeFace
- Versão: 6.1
- Hibernate
- Versão: 5.2.10
- Eclipse
- Versão: Oxygen.1a (4.7.1a)
- PostgreSQL
- Versão: 9.6
- Apache TomCat
- Versão: 8.5
- Apache Maven
- Versão: 3.3.9
Requisitos
CÓDIGO |
REQUISITOS FUNCIONAIS
|
RF 01 | O sistema deve manter usuário com as seguintes informações: nome, login, senha, cargo, tipo. |
RF 02 | O sistema deve armazenar o tipo do usuário, se tem acesso a área de gerencia,caixa, pdv e controle cliente. |
RF 03 | O sistema deve manter categoria do produto, somente o nome deve ser registrado. |
RF 04 | O sistema deve manter o tipo da unidade com as seguintes informações: nome do tipo e abreviação. |
RF 05 | O sistema deve manter produtos, cada produto deve conter uma lista de código de barra, nome, categoria ao qual pertence, tipo de unidade (grama, ml), tamanho da unidade(600), uma lista de produtos (ingredientes), quantidade no estoque, também deve ter o valor unitário de venda e se o mesmo é comercializável e se é para maiores de idade. |
RF 06 | O sistema deve permitir o cadastro de clientes mesmo não sendo obrigatório, esse cadastro deve conter: nome, número do documento (identidade, CPF, passaporte), data de nascimento, uma lista de telefones e e-mail. |
RF 07 | O sistema deve conter o tipo de documento. |
RF 08 | O sistema deve manter cartão com as seguintes informações: Chave, código do cartão, e disponibilidade. |
RF 09 | O sistema deve criar uma conta para gerenciar o consumo de cartão, nela deve estar o cartão, uma lista de itens vendidos, o total vendido, o valor pago e a data da venda, o usuário e o cliente. |
RF 10 | O sistema deve permitir registrar os itens comprados, registrando o produto comprado, o valor total da compra, a data de entrada e a quantidade. |
RF 11 | O sistema deve permitir o login do usuário, validando login e senha. |
RF 12 | O sistema deve permitir controlar o estoque, controlando entrada de produtos e saída de produtos de modo manual. |
RF 13 | O sistema deve permitir controlar a saída de itens do estoque, para o estorno ou outra razão. |
RF 14 | O sistema deve permitir controlar as vendas, permitindo gerar um item de venda que contém o produto, valor parcial e a quantidade do produto, ainda deve permitir estornar uma venda e baixar o produto do estoque automaticamente. |
RF 15 | O sistema deve gerar relatórios para o gerente, com dados, quantidade de vendas em um intervalo de data, estimar seu lucro, exibir o que saiu do estoque por motivos diferente de venda. |
CÓDIGO |
REQUISITO NÃO FUNCIONAL TECNOLÓGICO
|
RNFT 01 | Usar primefaces como framework java. |
RNFT 02 | Deverá existir um servidor físico para gerenciar o sistema e guardar o banco de dados. |
RNFT 03 | O sistema deverá ser desenvolvido em linguagem JAVA. |
RNFT 04 | Será usado o Maven para gerenciar os pacotes. |
RNFT 05 | Será utilizado o banco de dados PostgreSQL. |
RNFT 06 | Será utilizado o framework de acesso e persistência ao banco Hibernate. |
RNFT 07 | As respostas do servidor devem ser enviadas em JSON. |
RNFT 08 | Leitor de código de barras, para ser utilizado em conjunto ao sistema de cartões. |
RNFT 09 | Maven para a gerência de pacotes. |
CÓDIGO |
RF |
REQUISITO NÃO FUNCIONAL TECNOLÓGICO
|
RN 01 | RF01,RF02 | Deverão existir quatro tipos de login, um para venda, um administrativo, caixa, um para controle de clientes, um tipo de login pode ter mais de uma função. |
RN 02 | RF10 | O ponto de venda só poderá ser acessado pelo login de venda. |
RN 03 | RF01, RF02, RF11 | Cada usuário só pode acessar a área que está disponível para ele. |
RN 04 | RF007 | O estabelecimento deve disponibilizar cartões, previamente registrados no sistema com o código de barras. |
RN 05 | RF08 | Toda venda deverá ser associada a um cartão. |
RN 06 | RF07 | O cartão só poderá estar disponível se não houver conta vinculada a ele. |
RN 07 | RF11 | Apenas uma sessão para cada tipo de usuário. |
Layout
Diagrama de Classe
Diagrama de Classe
Diagrama do Filtro De Requisição de Páginas
Diagrama da Requisição de Login
Diagrama Salva Data da Ultima Modificação
Diagrama Verifica a Data da Ultima Verificação
Código Desenvolvido
Código no GitHub