1. Documento de requisitos - GiseliSiqueira/Analise-de-sistemas GitHub Wiki

Documento de Requisitos

Projeto: Nossa Distribuidora

Registro de Alterações:

Versão Responsável Data Alterações
1.0 Giseli Siqueira 10/03/17 Levantamento dos requisitos, descrição do propósito do sistema e minimundo
1.1 Giseli Siqueira 26/03/17 mudanças em detalhes do minimundo (adição de critério para desconto e de geração de relatórios)
1.2 Giseli Siqueira 02/04/17 Correção de escrita das Regras de Negócio, adição de Requisitos funcionais e adição de detalhes na descrição do minimundo.
1.3 Giseli Siqueira 21/04/2017 Adição de requisito funcional para cadastro de produtos.
1.3.1 Giseli Siqueira 24/04/2017 Adição de regras de Negócio para definição de fornecedores, vendas e compras.
1.4 Giseli Siqueira, Filipe Corassa 07/07/2017 Correção de terminologia presente nos requisitos.

1. Introdução

Este documento apresenta os requisitos de usuário do sistema Nossa Distribuidora e está organizado da seguinte forma: a seção 2 contém uma descrição do propósito do sistema; a seção 3 apresenta uma descrição do minimundo apresentando o problema; e a seção 4 apresenta a lista de requisitos de usuário levantados junto ao cliente.

2. Descrição do Propósito do Sistema

A distribuidora de gás e água necessita de um sistema de informação para gerenciar suas atividades principais que são: Venda de gás e de água. Sendo necessário para seu controle o gerenciamento de informações dos produtos comercializados pela mesma, bem como dos seus clientes e fornecedores. Além desse gerenciamento, deve ser possível realizar consultas de vendas e de prazos para recebimento das realizadas à prazo e de estoque, verificando seu nível.

3. Descrição do Minimundo

A Distribuidora de gás e água deseja um sistema para gerenciamento de suas atividades de vendas e atendimento a clientes. O principal negócio da distribuidora é vender produtos como botijão de gás natural e galões de água mineral. Sobre botijas de gás, são comercializadas as de padrão para residências com 24 kilos, onde cada uma possui uma marca. Sobre galões de água mineral, também possuem uma marca e uma capacidade de 20 litros do tipo sem gás.

Os valores dos produtos variam conforme o seu tipo. Atualmente é cobrado um valor de 50,00 R$ para botijas de gás e de 9,00 R$ para galões de água mineral. O valor a ser pago ao registrar uma venda poderá ser modificado dependendo de descontos dados a clientes, que podem ser dados a clientes que adquirirem várias unidades de um mesmo produto.

Os produtos são vendidos a clientes que são pessoas físicas. Para a distribuidora é importante identificar cada cliente para controle, sendo que para cada cliente há um número de inscrição. De um cliente deseja-se ter o seu nome, endereço residencial, telefone podendo ser fixo ou celular. Cada cliente tem um status que informa se o mesmo é um cliente ativo da distribuidora. Por cliente ativo, entende-se ser aqueles que ainda realizam compras na distribuidora frequentemente.

Os produtos são adquiridos de fornecedores que são registrados para controle, havendo um número de registro para cada fornecedor da distribuidora. De uma distribuidora deseja-se ter o CNPJ, a razão social, o endereço e o telefone de contato. Os itens adquiridos tem uma data de aquisição, valor de compra e tipo do produto. O tempo de aquisição de produtos é definido pelo nível de tal produto disponível em estoque. Cada fornecedor possui um status que informa se o mesmo é um fornecedor ativo da distribuidora. Por distribuidor ativo, entende-se ser aqueles que ainda oferecem produtos à distribuidora.

Uma venda consiste em obter inicialmente o nome do cliente para verificar internamente seu endereço, caso não seja um cliente é realizado um novo cadastro. É especificado o produto vendido, em seguida a quantidade é informada, sendo o seu valor preenchido automaticamente dependendo do tipo do produto e da quantidade requerida. Em seguida é informado a data para pagamento (se no ato da venda ou à prazo). Pagamentos de vendas são feitas exclusivamente em dinheiro e o recebimento pode ser feito no ato da entrega para vendas com pagamento à vista, onde o status de recebimento é alterado após o retorno do entregador ou na data de vencimento do prazo para vendas à prazo, tendo o status de recebimento da venda alterado posteriormente. Uma venda é solicitada via telefone, onde o cliente liga para a distribuidora e tem seus dados registrados. Uma venda não pode ser realizada caso o cliente esteja em débito junto a distribuidora, ou seja, com venda possuindo status de pagamento pendente/a receber.

A distribuidora realiza entrega dos produtos vendidos utilizando o endereço cadastrados para o cliente. A ordem de prioridade de entrega é definida pela sequência de venda, sendo a primeira efetivação de venda a primeira a sair para entrega. Ao sair para entrega o status de recebimento da venda deve permanecer como pendente e após o retorno do entregador o status deverá ser atualizado para confirmado nos casos de vendas com recebimento à vista.

A distribuidora faz a administração dos cliente com pagamento pendente, verificando o vencimento de prazos para recebimento, e se houve o recebimento ou não do valor. No caso de prazo vencido e pagamento ainda não realizado o cliente é notificado sobre seu débito via telefone. Gerencia ainda as vendas que são realizadas em um dia e as que já saíram para entrega. Gera ainda relatórios de vendas mensais para informações de despesas e lucros, bem como estimativas de vendas.

4. Requisitos de Usuário

Tomando por base o contexto do sistema, foram identificados os seguintes requisitos de usuário:

Requisitos Funcionais

Identificador Descrição Prioridade Depende de
RF01 Eu, como vendedor, quero controlar as vendas de gás e água, registrando clientes com seus respectivos endereços e telefone para contato, bem como valor da compra, data tanto de compra como de pagamento e status de entrega para registrar vendas e adicionar clientes. Must RF03, RF08, RF09, RF10, RN01, RN03, RN07, RN08, RN09, RNF05, RNF06, RNF10
RF02 Eu, como vendedor, quero registrar o pagamento das vendas, seja no ato da entrega do produto ou no vencimento do prazo para controlar os recebimentos das vendas realizadas. Must RF01, RN02, RN03, RN08
RF03 Eu, como vendedor, quero registrar o prazo para recebimento de pagamento de vendas a prazo, informando sobre o vencimento de prazos para controle de recebimento de vendas à prazo. Should RF01, RN03, RN08
RF04 Eu, como administrador, quero controlar o estoque, registrando entradas e saídas de produtos e informando a necessidade de aquisição de novos produtos quando o nível chegar a um determinado total para controlar os níveis de estoque bem como reposições. Could RF01, RN09
RF05 Eu, como administrador, quero registrar os fornecedores de gás e água para manter registros de todos os fornecedores que já forneceram produtos. Should RF04, RN11, RNF04
RF06 Eu, como administrador, quero permitir que fornecedores sejam desativados para conhecimento de quais fornecedores não fornecem mais produtos, mas mantê-los na base de dados. Could RF05, RN11
RF07 Eu, como administrador, quero permitir que fornecedores sejam reativados para que fornecedores já cadastrados na base de dados sejam fornecedores ativos no fornecimento de produtos. Could RF05, RF06, RN11
RF08 Eu, como vendedor, quero realizar o gerenciamento dos clientes da distribuidora para inserir dados de novos clientes na base de dados de clientes. Should RF01, RN01, RN10, RNF04
RF09 Eu, como administrador, quero permitir que clientes sejam desativados para garantir que clientes que não estão mais ativos permaneçam na base de dados de clientes. Could RF08, RN10
RF10 Eu, como administrador, quero permitir que os clientes sejam reativados para que clientes já inseridos na base de dados possam ser clientes ativos. Could RF08, RF09, RN10
RF11 Eu, como administrador, quero realizar o monitoramento de vendas realizadas por dia para obter estimativas de vendas diárias. Could RF01
RF12 Eu, como vendedor, quero permitir o gerenciamento de vendas que já saíram para entrega para controle de entregas. Could RF01, RN05
RF13 Eu, como administrador, quero obter relatórios periódicos com a aquisição de produtos para estoque e de vendas para controle de gastos e lucros. Could RF01, RF11, RN06, RNF11, RNF12
RF14 Eu, como administrador, quero obter um histórico de clientes que já tiveram vendas realizadas para controle de status de clientes ativos ou desativos. Could RF08, RF09, RF10
RF15 Eu, como administrador, quero obter um histórico de fornecedores que já forneceram seus produtos para controle de fornecedores ativos ou desativos. Could RF05, RF06, RF07
RF16 Eu, como administrador, quero cadastrar os produtos para obter informações sobre cada produto. Should RF04, RN06

Regras de Negócio

Identificador Descrição Prioridade Depende de
RN01 Cada cliente deve ter um número de inscrição único. Must RF01, RF08
RN02 As vendas podem ter descontos dados de acordo com a quantidade de um produto vendido. Could RF01
RN03 Os pagamentos podem ser realizados no ato da entrega dos produtos da venda ou no prazo pré-definido no momento da venda. Caso um produto não seja pago no ato da entrega do produto ele deverá ser pago obrigatoriamente no prazo determinado. Must RF01, RF02, RF03
RN04 O pagamento pode ser realizado apenas em dinheiro. Must RF01
RN05 A entrega de uma venda tem que ser feita por ordem de realização da venda. Should RF01
RN06 Os produtos de mesmo tipo tem que ter mesmo valor. Must
RN07 Um cliente só poderá realizar nova venda caso não haja pendências de pagamento. Must RF02
RN08 O prazo para pagamento é definido para 30 dias após a data da venda ou pode ser menor caso seja opção do cliente. Could
RN09 Não é possível efetivar uma venda de um produto caso esse não esteja disponível em estoque. Must
RN10 Deve haver um histórico de clientes que já realizaram compras. Could RF14
RN11 Deve haver um histórico de fornecedores que já forneceram seus produtos Could RF15
RN12 Cada fornecedor deve ter um número de registro único. Must RF05
RN13 Cada venda realizada pela distribuidora deve ter um código de identificação único. Must RF01
RN14 Cada compra feita pela distribuidora deve ter um numero de identificação único. Must RF04, RF13

Requisitos Não Funcionais

Identificador Descrição Categoria Escopo Prioridade Depende de
RNF01 A persistência de dados deverá ser feita em um sistema gerenciador de banco de dados relacionais livres como MySQL ou Postgre. Manutenibilidade Sistema Must
RNF02 O sistema funcionará em sua totalidade em versão desktop. Disponibilidade Sistema Must
RNF03 O sistema deve controlar o acesso à informações. Funcionalidades de cadastro de clientes e vendas devem ser restritas a atendentes. Funcionalidades de controle de estoque, cadastro e gerenciamento de fornecedores, gerenciamento de clientes e geração de relatórios devem ser restritas a administradores. Segurança de acesso Sistema Must
RNF04 O sistema deverá ter os módulos de cadastro de clientes e de fornecedores funcionando em modo Off-line. Disponibilidade Funcionalidade Should
RNF05 Os módulos de abertura de vendas deverá funcionar em modo off-line Disponibilidade Funcionalidade Should
RNF06 O sistema deverá ter interface que facilite sua utilização disponibilizando suas funções de forma a minimizar os cliques do usuário, sendo no máximo 5 cliques para realização de uma operação. Facilidade de operação Sistema Should
RNF07 O sistema deverá ser compatível com os principais sistemas operacionais em uso no mercado. (Windows, Linux, MacOS) Compatibilidade Sistema Must
RNF08 O sistema deverá ser capaz de recuperar dados caso haja problemas de cadastramento de usuários, fornecedores e principalmente abertura de vendas. Confiabilidade Sistema Could
RNF09 O sistema deverá realizar backup do banco de dados em períodos mensais. Segurança Sistema Could
RNF10 O sistema deverá apresentar resposta de 0,1 segundos para a efetivação de uma operação a partir de sua confirmação. Eficiência em relação ao tempo Funcionalidade Should
RNF11 O sistema deverá gerar relatórios em arquivos textos nos formatos .TXT Facilidade de operação Funcionalidade Could
RNF12 O sistema deverá possuir opção de impressão para relatórios. Facilidade de operação Funcionalidade Could