Difference between revisions of "Sistema de Ponto de Venda"
(→Informações preliminares) |
(→Informações preliminares) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
== Informações preliminares == | == Informações preliminares == | ||
+ | A apresentação em sala de ambas as etapas é obrigatória. Não é exigido que todos os componentes participem atividamente da apresentação, porém é exigida a presença e a resposta às perguntas realizadas pelo professor e pelos colegas. | ||
+ | |||
+ | Caso, durante a apresentação, o professor ou os colegas de turma façam perguntas aos componentes sobre o trabalho realizado e estes não dêem respostas satisfatórias e corretas a autoria do trabalho poderá ser questionada e o professor ficará livre para tomar a atitude que achar conveniente. | ||
+ | |||
Na especificação que segue considere: | Na especificação que segue considere: | ||
*Quando não for especificado em contrário qualquer cadastro inclui obrigatoriamente as funções de inclusão, edição e exclusão. | *Quando não for especificado em contrário qualquer cadastro inclui obrigatoriamente as funções de inclusão, edição e exclusão. | ||
Line 13: | Line 17: | ||
**os valores devem ser inseridos e exibidos sempre com duas casas decimais. | **os valores devem ser inseridos e exibidos sempre com duas casas decimais. | ||
**a vírgula é o separador dos decimais. | **a vírgula é o separador dos decimais. | ||
− | *Os campos de porcentagem devem ser inseridos e exibidos com até duas casas decimais e sempre será informado/exibido o valor da porcentagem e não o do equivalente em decimais. Assim o usuário informa/vê 90 e não 0,9 | + | *Os campos de porcentagem devem ser inseridos e exibidos com até duas casas decimais e sempre será informado/exibido o valor da porcentagem e não o do equivalente em decimais. Assim para 90% o usuário informa/vê 90 e não 0,9. |
*A escolha dos desenvolvedores, o sistema pode utilizar como meio de armazenamento um sistema gerenciador de banco de dados ou um conjunto de arquivos. | *A escolha dos desenvolvedores, o sistema pode utilizar como meio de armazenamento um sistema gerenciador de banco de dados ou um conjunto de arquivos. | ||
− | *Quando não for estabelecida a quantidade mínima de dígitos de um campo texto fica a critério dos desenvolvedores utilizar a quantidade que desejarem utilizando-se do bom senso. | + | *Quando não for estabelecida a quantidade mínima de dígitos de um campo texto, fica a critério dos desenvolvedores utilizar a quantidade que desejarem utilizando-se do bom senso. |
− | *Caso a linguagem dê suporte | + | *Caso a linguagem dê suporte todas as páginas dos relatórios devem ser numeradas da seguinte forma: Página “P de X”, sendo P a página atual e X a última página. Deve-se começar a contagem em 1 a partir da primeira pagina. |
− | + | ||
− | + | ||
== Acesso ao sistema == | == Acesso ao sistema == | ||
− | Para realizar qualquer operação no sistema o usuário deverá | + | Para realizar qualquer operação no sistema o usuário deverá realizar o procedimento de autenticação que será feito mediante um nome de usuário e uma senha. |
A autenticação deverá ser solicitada na abertura do sistema e só deixará de ser válida caso: | A autenticação deverá ser solicitada na abertura do sistema e só deixará de ser válida caso: | ||
Line 28: | Line 30: | ||
*seja solicitada o encerramento da sessão de trabalho. | *seja solicitada o encerramento da sessão de trabalho. | ||
*ocorra um período de inatividade de mais de 5 minutos. | *ocorra um período de inatividade de mais de 5 minutos. | ||
− | |||
− | |||
Se o usuário esquecer sua senha o sistema deverá gerar uma nova e enviar para o e-mail cadastrado. | Se o usuário esquecer sua senha o sistema deverá gerar uma nova e enviar para o e-mail cadastrado. | ||
Line 44: | Line 44: | ||
== Cadastro de usuário == | == Cadastro de usuário == | ||
O sistema deverá armazenar o cadastro dos usuário com os seguintes dados: | O sistema deverá armazenar o cadastro dos usuário com os seguintes dados: | ||
− | *nome completo (obrigatório e deve ter no mínimo duas palavras); | + | *foto (máximo de 500Kb em formato Jpeg); |
− | *telefone (se informado, deve ter o formato 00-0000-0000); | + | *nome completo (obrigatório e deve ter no mínimo duas palavras contendo somente letras); |
− | *e-mail | + | *telefone (se informado, deve ter o formato 00-0000-0000, sendo 0 um dígito entre 0-9); |
+ | *e-mail (obrigatório e deve ter o formato *@*.*, sendo * um texto de qualquer); | ||
*nome de usuário (obrigatório e não deve conter espaços); | *nome de usuário (obrigatório e não deve conter espaços); | ||
*senha (obrigatório e não deve ser visivel durante a digitação, pedir confirmação do valor digitado). | *senha (obrigatório e não deve ser visivel durante a digitação, pedir confirmação do valor digitado). | ||
Não deve existir duplicações de nome de usuário ou e-mail. | Não deve existir duplicações de nome de usuário ou e-mail. | ||
+ | |||
+ | A senha deverá ser armazenada criptografada no banco de dados/arquivo. | ||
== Cadastro de produtos == | == Cadastro de produtos == | ||
Os produtos deverão ser cadastrados com os seguintes dados: | Os produtos deverão ser cadastrados com os seguintes dados: | ||
+ | *foto (máximo de 500Kb em formato Jpeg); | ||
*código de barras; (obrigatório); | *código de barras; (obrigatório); | ||
*nome (obrigatório); | *nome (obrigatório); | ||
− | *estoque (sempre deve ser positivo maior ou igual a zero). | + | *estoque (obrigatório e sempre deve ser positivo maior ou igual a zero). |
*preço de venda. | *preço de venda. | ||
Line 106: | Line 110: | ||
**O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO VALORES PAGOS EM DD/MM/YYYY”, substituindo DD/MM/YYYY pela data informada pelo usuário. | **O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO VALORES PAGOS EM DD/MM/YYYY”, substituindo DD/MM/YYYY pela data informada pelo usuário. | ||
**Deve-se listar forma de pagamento e o total pago com aquela forma de pagamento naquele dia. Pagamentos em cartão devem ser agrupados na forma de pagamento '''Cartão''' independente da bandeira. | **Deve-se listar forma de pagamento e o total pago com aquela forma de pagamento naquele dia. Pagamentos em cartão devem ser agrupados na forma de pagamento '''Cartão''' independente da bandeira. | ||
+ | |||
+ | == Forma de entrega do trabalho == | ||
+ | O trabalho só será considerado entregue '''após apresentação''' '''e''' com o cumprimento dos seguintes requisitos: | ||
+ | #Código fonte completo enviado por e-mail para linhadireta@adonaimedrado.pro.br ou entregue em CD/DVD (Blu-Ray (BD) não será aceito). | ||
+ | #Caso seja um programa para Desktop, deve acompalhar instalador que execute todo o procedimento para o perfeito funcionamento do programa. | ||
+ | #Caso seja um programa para Web, deve ser hospedado em um servidor onde fique disponível no mínimo por 15 dias a contar da data de entrega. |
Latest revision as of 11:50, 19 June 2009
Contents
Sobre este documento
Este documento especifica o Sistema de Ponto de Venda (SPDV).
Aconselha-se leitura on-line deste documento. Desaconselha-se a impressão.
Informações preliminares
A apresentação em sala de ambas as etapas é obrigatória. Não é exigido que todos os componentes participem atividamente da apresentação, porém é exigida a presença e a resposta às perguntas realizadas pelo professor e pelos colegas.
Caso, durante a apresentação, o professor ou os colegas de turma façam perguntas aos componentes sobre o trabalho realizado e estes não dêem respostas satisfatórias e corretas a autoria do trabalho poderá ser questionada e o professor ficará livre para tomar a atitude que achar conveniente.
Na especificação que segue considere:
- Quando não for especificado em contrário qualquer cadastro inclui obrigatoriamente as funções de inclusão, edição e exclusão.
- Para efetuar a edição ou a exclusão deverá ser primeiramente efetuada uma busca. Quando não for explicitado por qual campo deseja-se a busca, deve-se permitir a pesquisa por todos os campos texto.
- O sistema deverá aceitar os padrões brasileiros, assim:
- as datas devem ser inseridas e exibidas como dd/mm/yyyy, sendo dd=dia, mm=mês e yyyy=ano com todos os dígitos.
- as horas devem ser exibidas como HH:mm:ss, sendo HH=hora de 0-23, mm=minuto, ss=segundos.
- os valores devem ser inseridos e exibidos sempre com duas casas decimais.
- a vírgula é o separador dos decimais.
- Os campos de porcentagem devem ser inseridos e exibidos com até duas casas decimais e sempre será informado/exibido o valor da porcentagem e não o do equivalente em decimais. Assim para 90% o usuário informa/vê 90 e não 0,9.
- A escolha dos desenvolvedores, o sistema pode utilizar como meio de armazenamento um sistema gerenciador de banco de dados ou um conjunto de arquivos.
- Quando não for estabelecida a quantidade mínima de dígitos de um campo texto, fica a critério dos desenvolvedores utilizar a quantidade que desejarem utilizando-se do bom senso.
- Caso a linguagem dê suporte todas as páginas dos relatórios devem ser numeradas da seguinte forma: Página “P de X”, sendo P a página atual e X a última página. Deve-se começar a contagem em 1 a partir da primeira pagina.
Acesso ao sistema
Para realizar qualquer operação no sistema o usuário deverá realizar o procedimento de autenticação que será feito mediante um nome de usuário e uma senha.
A autenticação deverá ser solicitada na abertura do sistema e só deixará de ser válida caso:
- o programa seja encerrado.
- seja solicitada o encerramento da sessão de trabalho.
- ocorra um período de inatividade de mais de 5 minutos.
Se o usuário esquecer sua senha o sistema deverá gerar uma nova e enviar para o e-mail cadastrado.
Permissões
Individualmente, para cada usuário deve ser possível definir se ele pode:
- fazer login no sistema.
- incluir/editar/excluir usuário.
- incluir/editar/excluir produto.
- incluir/editar/excluir cartão.
- realizar venda.
- ver relatórios.
Cadastro de usuário
O sistema deverá armazenar o cadastro dos usuário com os seguintes dados:
- foto (máximo de 500Kb em formato Jpeg);
- nome completo (obrigatório e deve ter no mínimo duas palavras contendo somente letras);
- telefone (se informado, deve ter o formato 00-0000-0000, sendo 0 um dígito entre 0-9);
- e-mail (obrigatório e deve ter o formato *@*.*, sendo * um texto de qualquer);
- nome de usuário (obrigatório e não deve conter espaços);
- senha (obrigatório e não deve ser visivel durante a digitação, pedir confirmação do valor digitado).
Não deve existir duplicações de nome de usuário ou e-mail.
A senha deverá ser armazenada criptografada no banco de dados/arquivo.
Cadastro de produtos
Os produtos deverão ser cadastrados com os seguintes dados:
- foto (máximo de 500Kb em formato Jpeg);
- código de barras; (obrigatório);
- nome (obrigatório);
- estoque (obrigatório e sempre deve ser positivo maior ou igual a zero).
- preço de venda.
Não poderá existir produtos com mesmo código de barra ou nome.
Cadastro de cartões de crédito
Os cartões deverão ser cadastrados com os seguintes dados:
- nome da bandeira (obrigatório);
- porcentagem administradora (obrigatório, decimal).
Não poderá existir cartões com o mesmo nome de bandeira.
Procedimento de venda
Após logado no sistema, o usuário fará a venda conforme o seguinte procedimento:
- Busca e seleciona de 1 a N produtos por código de barras ou nome informando a quantidade a ser vendida.
- Faz o pagamento da compra, podendo-se utilizar de 1 a N formas dentre dinheiro, cheque, cartão e vale-presente. Assim, é possível, por exemplo, que um compra seja paga em dinheiro, 3 cheques, 4 cartões e 1 vale-presente.
Eventualmente é possível que seja necessário:
- efetuar um desconto. Neste caso o desconto deve ser efetuado no produto específico.
- cancelar remover um produto da lista de produtos vendidos. Neste caso deve ser fornecido algum mecanismo para selecionar e remover uma quantidade do produto.
Após o procedimento de venda e pagamento o estoque deve ser atualizado.
Não deve ser permitida a venda de uma quantidade maior que a disponível no estoque.
Relatórios
Os seguintes relatórios devem ser disponibilizados para consulta:
- Lista de produtos cadastrados com seus respectivos preços de venda.
- O cabeçalho deve conter o nome do programa e a data de geração.
- Deve-se listar código de barras, nome do produto e preço de venda do produto na unidade monetária.
- Lista de produtos cadastrados com estoque maior que um valor informado pelo usuário.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO PRODUTOS COM ESTOQUE MAIOR QUE N”, substituindo N pelo número informado pelo usuário.
- Deve-se listar código de barras, nome do produto, estoque.
- Lista de produtos vendidos em uma data.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO PRODUTOS VENDIDOS EM DD/MM/YYYY”, substituindo DD/MM/YYYY pela data informada pelo usuário.
- Deve-se listar código de barras, nome do produto, quantidade vendida.
- Lista de descontos efetuados em uma data.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO DESCONTOS EFETUADOS EM DD/MM/YYYY”, substituindo DD/MM/YYYY pela data informada pelo usuário.
- Deve-se listar código de barras, nome do produto e valor do desconto por unidade do prooduto.
- Lista de valores pagos em cartão em uma data.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO VALORES PAGOS EM CARTÃO EM DD/MM/YYYY”, substituindo DD/MM/YYYY pela data informada pelo usuário.
- Deve-se listar bandeira do cartão e o total pago com aquele cartão naquele dia.
- Lista de valores pagos.
- O cabeçalho deve conter o nome do programa, a data de geração e o texto “LISTANDO VALORES PAGOS EM DD/MM/YYYY”, substituindo DD/MM/YYYY pela data informada pelo usuário.
- Deve-se listar forma de pagamento e o total pago com aquela forma de pagamento naquele dia. Pagamentos em cartão devem ser agrupados na forma de pagamento Cartão independente da bandeira.
Forma de entrega do trabalho
O trabalho só será considerado entregue após apresentação e com o cumprimento dos seguintes requisitos:
- Código fonte completo enviado por e-mail para linhadireta@adonaimedrado.pro.br ou entregue em CD/DVD (Blu-Ray (BD) não será aceito).
- Caso seja um programa para Desktop, deve acompalhar instalador que execute todo o procedimento para o perfeito funcionamento do programa.
- Caso seja um programa para Web, deve ser hospedado em um servidor onde fique disponível no mínimo por 15 dias a contar da data de entrega.