Buscar

TCC HENRIQUE V5

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTÁCIO DE SÁ 
DEPARTAMENTO DE COMPUTAÇÃO 
SISTEMAS DE INFORMAÇÃO 
HENRIQUE SOUZA NASCIMENTO 
COTA MAIS3: SISTEMA GERENCIADOR DE COTAÇÕES 
RIO DE JANEIRO 
2019 
HENRIQUE SOUZA NASCIMENTO 
COTA MAIS3: SISTEMA GERENCIADOR DE COTAÇÕES 
Trabalho apresentado na Disciplina Trabalho de Conclusão de Curso II, como exigência parcial para obtenção de título de Bacharel em Sistemas de Informação. 
 
RIO DE JANEIRO 
2019 
LISTA DE IMAGENS
Figura 1-SUPERMARKET 	9
Figura 2- SETOR DE AÇOUGUE DO SUPERMARKET 	10
Figura 3- Número de unidades do SUPERMARKET 	11
Figura 4- Inauguração de filial do SUPERMARKET 	13
Figura 5- Diagrama de Gantt (Parte 1) 	18
Figura 6- Diagrama de Gantt (Parte 2) 	19
Figura 7- Diagrama de Casos de Uso 	27
Figura 8- Diagrama de Classes 	42
Figura 9- Diagrama de Dados	43
SUMÁRIO
1 	 INTRODUÇÃO	5
1.1 	 DESCRIÇÃO DO TEMA 	5
1.2 	 CONTEXTUALIZAÇÃO 	5
1.3 	 DESCRIÇÃO DO PROBLEMA	6
1.4 	 DESCRIÇÃO DA SOLUÇÃO 	7
2 	 CONTEXTUALIZAÇÃO DO PROBLEMA	8
2.1 	 PREMISSAS E RESTRIÇÕES DO PROJETO 	8
2.2 	 CARACTERIZAÇÃO DA EMPRESA 	8
2.2.1 	 HISTÓRICO DA EMPRESA 	8
2.2.2 	 ATIVIDADES DA EMPRESA 	10
2.2.3 	 MERCADO CONSUMIDOR 	12
2.2.4 	 CONCORRÊNCIA 	12
2.2.5 ORGANOGRAMA 	13
2.3 	 PROPOSTA DE TRABALHO 	17
2.3.1	 MÉTODO DE TRABALHO 	17
2.3.2 	 PREVISÃO E ALOCAÇÃO DE RECURSOS 	17
2.3.3 	 CRONOGRAMA 	18
2.3.4 	 PREVISÃO ORÇAMENTÁRIA 	20
2.4 	 SISTEMA ATUAL 	21
2.4.1 	 FUNCIONAMENTO DO SISTEMA ATUAL 	21
2.4.2 	 PROBLEMAS DO SISTEMA ATUAL 	21
3 	 SOLUÇÃO 	22
3.1 	 SISTEMA PROPOSTO	22
3.1.1	JUSTIFICATIVA PARA NOVO SISTEMA 	22
3.1.2	OBJETIVOS 	23
3.1.3	SOLUÇÕES ALTERNATIVAS 	23
3.2 	 SOLUÇÃO ESCOLHIDA	24
3.2.1 	 ESCOPO DA SOLUÇÃO	24
3.2.2 	 LISTA DE REQUISITOS DO SISTEMA	24
3.3 	 DIAGRAMA DE CASOS DE USO	27
3.4 	ESPECIFICICAÇÕES DE CASOS DE USO	28
3.5	DIAGRAMA DE CLASES	42
3.6 	 DIAGRAMA DE DADOS	43
4 	 REFERÊNCIAS BIBLIOGRÁFICAS	44
INTRODUÇÃO
 DESCRIÇÃO DO TEMA  
A proposta do projeto é o desenvolvimento de uma aplicação Web, totalmente online, multiplataforma, integrada e de fácil usabilidade, para a empresa Supermarket, que de seja tornar mais eficiente e produtivo, os processos de operacionalização do gerenciamento de estoque e cotação.
 CONTEXTUALIZAÇÃO  
Nas últimas décadas, percebe-se a crescente busca pelas empresas por soluções que as capacitem a obterem ganhos em competitividade, permitindo assim, uma atuação compatível com as exigências mundiais e a intensa concorrência instalada com a globalização dos mercados. A tecnologia, adquirida de forma coerente com a estratégia e com os recursos organizacionais, pode ser um parâmetro vital para assegurar níveis de competitividade compatíveis com os novos paradigmas empresariais da atualidade (Mendes, 2005).
Neste contexto, os sistemas integrados de gestão ou ERP (Enterprise Resource Planning), passaram a ser largamente utilizados pelas empresas, principalmente após a década de 90. Eles são apresentados como “solução” para a maioria dos problemas empresariais. São sistemas genéricos capazes de integrar todas as informações que fluem pela empresa por intermédio de uma base de dados única (Mendes e Escrivão Filho, 2002). Estes aumentam a velocidade no acesso às informações, a confiabilidade destas e a disposição em tempo real aos diferentes setores e/ou departamentos da empresa. Segundo Souza (2000, p.4) “por todos os seus apelos, os sistemas ERP terminaram por se tornar “irresistíveis pacotes”, que trazem embutidos em si a reengenharia dos processos”.
Mas, para que se tenha retorno aos investimentos realizados com a aquisição de um sistema ERP e, para que se possam atingir os benefícios prometidos pelo mesmo, são imprescindíveis que sejam bem avaliados e conduzidos os processos de decisão/seleção, implementação e utilização de sistemas ERP. Estudos sobre implantação de sistemas ERP apresentam uma série de resultados, benefícios e dificuldades, obtidos em implantações realizadas em grandes empresas, talvez, por serem estas, as primeiras a adquirirem estes sistemas, uma vez que, estes eram extremamente caros e inviáveis a empresas de menor porte. Literaturas descrevem, geralmente, metodologias de implantação utilizadas por empresas desenvolvedoras de sistemas ERP direcionadas ao mercado das grandes empresas.
Porém, sabe-se que a maioria das empresas, no Brasil e no mundo, é de pequeno e médio porte. Estas, por sua vez, para adquirir e/ou possuir de um fator de diferenciação ou para manter padrões de competitividade compatíveis com as grandes organizações e, muitas vezes, para constituir a diferença entre sobreviver ou desaparecer, aderem à incorporação de recursos tecnológicos, como, por exemplo, sistemas ERP (Mendes, 2005).
Um fato corrente no país é que mais de 50% das novas empresas encerram suas atividades em até 4 anos devido a falta de preparo e conhecimento gerenciais e a um sistema de gestão ineficaz ou, em alguns casos, inexistente.(SEBRAE-SP, 2005). Por conta desses fatos muitas MPEs estão adquirindo ou estudam adquirir Sistemas Integrados de Gestão, ou ERPs (Enterprise Resource Planning), para remodelar o sistema de gestão atual da sua empresa e possibilitar o crescimento e sustentabilidade da empresa no mercado.
Hoje, grandes fornecedores de ERP, como SAP e ORACLE, que até pouco tempo atuavam quase que exclusivamente com grandes empresas já atuam no segmento de Pequenas e Médias empresas, enfrentando a concorrência de grandes empresas voltadas para este setor, como a TOTVS.
 DESCRIÇÃO DO PROBLEMA
Em uma análise preliminar, verificamos a necessidade de desenvolver um sistema de gerenciamento de estoque manual e cotações da empresa Supermarket, corrigindo as falhas de controle e distribuição de produtos, definindo os processos e aplicando os métodos de gestão e controle de estoques adequados. Observamos que o sistema manual deve suportar a interação com diversos funcionários e em qualquer localidade, suportando a inserção de novos produtos e representantes e configuração de novas cotações e relatórios. O uso de diversos recursos, tais como: controle de acesso, e controle de fornecedores, estoques, preços e cotações para aquisição e reposição de estoque.
Este projeto foi elaborado devido à necessidade da melhoria e a informatização da operacionalização do gerenciamento de estoque do almoxarifado da empresa Supermarket, trazendo consigo a possibilidade de ganhos em produtividade na gerência de estocagem de materiais na organização, como:
• Cadastro de Produtos e nível de estoque;
• Cadastro e Gerenciamento de Fornecedores, Usuários e Representantes;
• Sistema de Cotações e relatórios personalizados;
• Lista de Unidades do Mercado;
De acordo com o SEBRAE (2013), as empresas de médios e pequenos negócios investiram cerca de 10 a 20% de suas rendas obtidas, na implantação de sistemas informatizados, visando à melhoria d e gerenciamento dos estoques de materiais em seus setores de almoxarifado. E com isso, a operacionalização d as empresas que investiram na implantação de sistemas de informação baseados nesta funcionalidade atingiu a expectativa de crescimento que as organizações esperavam.
 DESCRIÇÃO DA SOLUÇÃO  
Este TCC apresenta como proposta a construção de um sistema ERP para a rede de supermercados SuperMarket que atua no mercado varejista e atacadista. Atualmente, as organizações buscam a tecnologia da informação para tornarem-se cada vez mais competitivas e organizadas.
Com o uso de sistemas integrados de informação, as organizações passam a operar de forma descentralizada e com uma transparência de informações, o que leva a uma mudança na cultura organizacional e na forma a qual os colaboradores desempenham suas atividades.
Como a empresa carece de sistemas integrados, o cadastro de fornecedores, produtos, estoque e cotações ficamem diversos sistemas distintos podendo haver diversos problemas para o gerenciamento no dia-a-dia. Como proposta de desenvolvimento o ERP será uma ferramenta online, para integrar ferramentas e processos do dia-a-dia do mercado, tendo como principais funcionalidades o cadastro de produtos, lojas, representantes de vendas, e cotações de produtos. O sistema também contará com a emissão de relatórios.
CONTEXTUALIZAÇÃO DO PROBLEMA
pREMISSAS E RESTRIÇÕES DO PROJETO
Não foram identificadas restrições para a continuidade do projeto.
 CARACTERIZAÇÃO DA EMPRESA
 HISTÓRICO DA EMPRESA
O Supermarket iniciou as suas atividades em janeiro de 2009, a partir da união de empresas supermercadistas do estado do Rio de Janeiro (SUPERMARKET, 2019). A rede afirma que para ser  referência de preço no varejo mantém uma forte estratégia de negociação com todas as indústrias de cada segmento.
Imagem 1- SUPERMARKET (Fonte: http://asserj.com.br/supermercados/2018/10/conheca-a-historia-do-supermarket/)
No mês de junho a Rede Supermarket celebrou seus 9 anos e comemorou os resultados do ano passado, como o faturamento que alcançou 4,2 bilhões de reais e o crescimento de 15,1% em relação à 2016 (ASSERJ, 2019). 
Imagem 2- SETOR DE AÇOUGUE DO SUPERMARKET (Fonte: http://asserj.com.br/supermercados/2018/10/conheca-a-historia-do-supermarket/)
SUPERMARKET EM NÚMEROS NO ANO DE 2017:
99 lojas no Rio, Grande Rio e Sul Fluminense.
572 funcionários diretos.
84 milhões investidos em mídias; 7 milhões por mês.
 ATIVIDADES DA EMPRESA
O Supermarket é uma rede de supermercados de pequenos e médios portes que atuam tanto no mercado varejista como atacadista em todo está presente em praticamente todas as regiões do Estado do Rio de Janeiro.
Imagem 3- Número de unidades do SUPERMARKET. (Fonte: https://www.facebook.com/RedeSupermarket/photos/a.346143258801491/2168318976583901/?type=3&theater)
Os produtos que o Supermarket oferece são bem característicos do gosto popular, enquanto alguns supermercados, como o Zona Sul e Pão de Açúcar, oferecem os produtos mais sofisticados e com um perfil classe A do mercado, o Supermarket tem a capacidade de mesclar grandes marcas tradicionais e líderes de mercados com as marcas “talibãs”. Mistura na mesma prateleira, Coca-cola com refrigerantes da Convenção. Assim segue em todas as categorias de produtos, existem líderes de mercado ao lado de marcas que só tem preço.
Quando observa-se os produtos ou mercadorias que o Supermarket comercializa, nota-se que são produtos tangíveis, pois os supermercados num geral vendem produtos concretos. Poucas vezes são de valor ampliado, pois o supermercado oferece garantia para os produtos dentro de validade como qualquer outro, é mais comum a prática de brindes e promoções. São bens não duráveis e que o consumidor volta no mês seguinte para comprá-los de novo. 
Já na parte de serviços o Supermarket não tem muito do que se gabar, pois sua maior vantagem é o crédito oferecido no cartão de fidelidade, fato que todos os outros supermercados também fazem, seu atendimento não é dos melhores, falta treinamento dos funcionários, tanto dos que trabalham nos corredores e caixas registradoras quanto dos gerentes e dos subgerentes.
 O supermercado não oferece coisas simples como um cafezinho, as filas são grandes, não há lanchonete ou qualquer outra loja de conveniência na loja. A degustação é feita quando algum fabricante coloca um promotor de vendas servindo amostras grátis. Algumas vezes é comum de se ver confusões envolvendo os clientes da loja. O estacionamento é desorganizado, e apenas algumas lojas fazem entrega em casa.
 Os produtos do Supermarket podem ser considerados na categoria de bens de conveniência, porque são fáceis de serem adquiridos e quando o consumidor já é simpatizante do mercado ou mesmo fidelizado ele vai direto naquele que o agrada. Porém com a atual guerra de preços travada pelos supermercados, as mercadorias já podem ser chamadas de bens de compra comparada, porque a pesquisa pelo melhor preço tem sido muito forte pelas donas de casas, que comparam diversos encartes uns com os outros. 
MERCADO CONSUMIDOR
O mercado consumidor são as classes emergentes listadas pelo IBGE como classes C,D e E das regiões do Rio, Grande Rio e Interior do Estado.
Imagem 4- Inauguração de filial do SUPERMARKET. (Fonte: https://www.facebook.com/RedeSupermarket/photos/a.346143258801491/2132308530184946/?type=3&theater)
CONCORRÊNCIA
Como há um grande mercado consumidor concentrado nas classes emergentes, o mercado enxerga ali um potencial de lucro e atrai o interesse de diversas marcas nacionais e internacionais para adentrar ao ramo de mercados.
Podemos listar os principais concorrentes como: Guanabara, Extra, Vianense, Rede Economia, Casa do Sabão.
ORGANOGRAMA
O organograma será separado em partes para melhor compreensão, sendo a primeira a do nível estratégico, e as demais com o setor tático e operacional. 
Houve uma solicitação junto aos stakeholders para que tivéssemos acesso ao organograma, porém o mesmo não foi enviado até a data de entrega deste documento. Nesse caso em conversa com os mesmos conseguimos apurar essas informações, e foi montada com base na resposta a entrevista realizada em uma das reuniões do projeto.
A primeira imagem contém o nível mais alto da organização que mostra o conselho, presidência e diretorias. 
PROPOSTA DE TRABALHO
MÉTODO DE TRABALHO
A meta é realizar reuniões semanais com a equipe + o funcionário designado pelo Supermarket (de preferencial algum diretor ou gerente que entenda o processo de cotação). E em caso de necessidade demais stakeholders para levantamento de requisitos que irão compor o sistema. A cada reunião será elaborado um documento onde estará descrito os itens que foram debatidos no decorrer da reunião e seu devido prazo de entrega. 
O documento da reunião será enviado por e-mail para todos os participantes e na reunião seguinte será aberta com a validação das atividades desenvolvidas. Tem uma possibilidade de reuniões extraordinárias e emergenciais, caso haja necessidade. 
PREVISÃO E ALOCAÇÃO DE RECURSOS
Recursos Humanos
1 Programador.
1 Analista de Sistemas.
1 Desenvolvedor de Banco de Dados.
1 Funcionário do Supermarket.
Recurso Material (Hardware)
1 Microcomputador i3, 4 GB de memória e HD 512 GB.
1 Notebook Apple. 
Recurso Material (Software)
MySQL para banco de dados.
Apache e PHP para servidor.
Visual Studio Code
CRONOGRAMA DE TRABALHO
Imagem 5- Diagrama de Gantt (Parte 1).
Imagem 6 – Diagrama de Gantt (Parte 2).
PREVISÃO ORÇAMENTÁRIA
	Recursos Humanos
	Descrição
	Qtde
	Valor
	Programador
	Profissional para desenvolvimento do trabalho.
	1
	R$ 2.400,00
	Analista de Sistemas
	Profissional para desenvolvimento do trabalho.
	1
	R$ 3.000,00
	Desenvolvedor de Banco de Dados
	Profissional para desenvolvimento do trabalho.
	1
	R$ 2.000,00
	Total:
	
	3
	R$ 7.400,00
	Hardware
	Descrição
	Qtde
	Valor
	Notebook APPLE
	Notebook para desenvolvimento do trabalho.
	1
	R$ 6.000,00
	Microcomputador
	Computador para desenvolvimento do trabalho.
	1
	R$ 2.000,00
	Total:
	
	2
	R$ 8.000,00
	Software
	Descrição
	Qtde
	Valor
	Microsoft Word
	Editor de Texto
	1
	Gratuito
	Project Libre
	Gerenciador de Projetos
	1
	Gratuito
	MySQL
	Banco de Dados
	1
	Gratuito
	Apache + PHP
	Dev Server
	1
	Gratuito
	Visual Studio Code
	IDE Desenvolvimento NodeJS
	1
	Gratuito
	GitHUB
	Repositório de Dados
	1
	Gratuito
	Total:
	
	6
	R$ 0
SISTEMA ATUALFUNCIONAMENTO DO SISTEMA ATUAL
Os grandes fornecedores costumam trabalhar com representantes, ao qual eles visitam as empresas que eles pretendem revender o produto com uma periodicidade. Nesse caso os representantes visitam as filiais do Supermarket para oferecer novos estoques de forma independente a cada unidade.
O representante é responsável por conversar com o gerente da unidade, solicitar a quantidade pedida e fazer todo procedimento de pedido para a central. Após isso a central fará todo tramite e irá fazer a entrega (prazo variado). 
Não há um sistema que possa fazer essa cotação online sem a necessidade do representante e de forma agilizada, tendo em vista a necessidade de reposição do estoque e diminuição de erros no processo.
	
PROBLEMAS DO SISTEMA ATUAL
Como há um processo longo entre a necessidade de reposição do estoque e a devida remessa chegar aos estoques, há uma série de problemas que podem ser enfrentados que causam prejuízo ao mercado.
A crise de desabastecimento das prateleiras como a principal delas, onde o mercado fica sem produtos para a venda.
Como há a necessidade de um intermediário entre o cliente e a o fornecedor, pode haver falha no processo.
O representante pode não realizar a visita para o novo pedido.
O pedido pode ser extraviado.
O pedido ser entregue com erros.
Contato entre a central de relacionamento do fornecedor e o cliente ter diversos problemas e falhas.
O horário de visita de o representante ser um horário de ausência do gerente ou profissional responsável pela negociação.
Visto tudo isso, há uma necessidade de evitar todo esse processo burocrático, realizando um sistema onde a cotação possa ser feita de forma online, e o pedido já seja produzido, minimizando o desperdício de tempo e dinheiro, entre o cliente Supermarket e seus fornecedores.
SOLUÇÃO
SISTEMA PROPOSTO
O COTAMAIS3 é hospedado em um servidor Linux lite, que usa o sistema operacional Linux ubuntu 12.04, servidor NodeJS, banco de dados MongoDB, desenvolvido em NodeJS, HTML, React, MONGODB e repositório no GITHUB. 
O objetivo desse sistema é dar ao Supermarket o controle total na realização de cotações, de forma prática, simples e segura.
Descrição dos módulos:
Interface de login;
Cadastro de Usuários;
Cadastro de Representantes;
Cadastro de Fornecedores;
Cadastro de Lojas;
Cadastro de Produtos;
Cadastro de Cotações;
Relatório da Cotação Final;
Relatório da Cotação por Representante;
Relatório de Cotação por Loja;
Relatório de Produtos Cotados por Representante;
JUSTIFICATIVA PARA O NOVO SISTEMA
A escolha por desenvolver um sistema para o Supermarket é importante por dar suporte tecnológico e tornar o processo o menos burocrático possível. Além do mais, contribui para a sociedade como um todo por ser objeto de pesquisa e de formação acadêmica, conciliando à parte teórica a parte prática.
Através da criação do sistema é possível aumentar o conhecimento no ramo da TI, acompanhando todo o processo de um desenvolvimento do Sistema e a inovação tecnológica que irá servir ao crescimento da instituição.
OBJETIVOS
Esta seção será dividida em duas partes: Objetivo Geral e Objetivos Específicos.
OBJETIVO GERAL
Desenvolver e implementar um sistema para a empresa Supermarket que deseja obter eficiência e otimização no processo de gerenciamento de estocagem de materiais.
OBJETIVOS ESPECÍFICOS
• Estudo sobre definição e níveis de estoque;
•Estudo sobre funcionamento de cotações e definição de padrões de consultas.
• Definição de Sistema (minimundo);
• Modelagem de Negocio;
• Diagramas de Caso de Uso;
• Modelo do Banco de Dados;
SOLUÇÕES ALTERNATIVAS
O processo atual é totalmente manual, sendo está uma solução pioneira e seu desenvolvimento não conta com soluções alternativas. 
SOLUÇÃO ESCOLHIDA
ESCOPO DA SOLUÇÃO 
O desenvolvimento do COTAMAIS3 tem por finalidade a automatização completa do processo de cotação de mercadorias, nesse processo desde a coleta de dados até a compra a ser realizada pelo mercado. Atendendo as necessidades e especificidades de cada unidade cadastrada no sistema. O sistema contará com usuários de níveis de acesso diferente, e um cadastro unificado com lojas, fornecedores, representantes, produtos e cotações. Consultas a representantes, cotações e informações importantes, com emissão de relatórios da cotação após seu encerramento, e relatório de produtos que foram cotados por representantes.
O objetivo é que o COTAMAIS3 traga segurança e confiabilidade nos resultados obtidos. As informações estarão disponíveis para que seja realizada a compra dos produtos cotados conforme o relatório.
LISTA DE REQUISITOS
Requisitos funcionais
[RF 001] Realizar Login: O sistema deve autenticar os usuários mediante informação de usuário, senha e nível de usuário.
[RF 002] Cadastrar, alterar e excluir usuários: O sistema deverá permitir cadastrar, alterar ou excluir usuários pelo tipo de acesso. Todos os usuários com acesso máster deverão ser previamente cadastrados. O sistema não poderá permitir o cadastro de um membro mais de uma vez. O sistema deverá permitir a exclusão apenas por meio de um usuário tipo máster. O sistema deverá permitir a alteração dos usuários a ser realizada pelo administrador. 
[RF 003] Cadastrar, alterar e excluir lojas: O sistema deverá permitir cadastrar, alterar ou excluir lojas. O sistema não poderá permitir o cadastro de uma loja mais de uma vez. O sistema deverá permitir a exclusão de uma loja apenas por meio de um administrador. O sistema deverá permitir a alteração dos dados de uma loja a ser realizada pelo administrador. 
[RF004] Cadastrar, excluir e alterar fornecedores: O sistema deverá permitir cadastrar novos fornecedores com todas as suas exigências. O sistema deverá permitir a exclusão de fornecedores. O sistema deverá permitir alterar fornecedores. Todas as alterações devem ser realizadas por um administrador.
[RF 005] Cadastrar, alterar e excluir produtos: O sistema deverá permitir cadastrar, alterar ou excluir produtos. O sistema não poderá permitir o cadastro de um produto mais de uma vez. O sistema deverá permitir a exclusão de um produto apenas por meio de um administrador. O sistema deverá permitir a alteração de um produto a ser realizada pelo administrador. 
[RF 006] Cadastrar, alterar e excluir representantes: O sistema deverá permitir cadastrar, alterar ou excluir representantes. O sistema não poderá permitir o cadastro de um representante mais de uma vez. O sistema deverá permitir a exclusão de uma representante apenas por meio de um administrador. O sistema deverá permitir a alteração dos dados de uma loja a ser realizada pelo administrador ou pelo representante.
[RF 007] Cadastrar, alterar e excluir cotações: O sistema deverá permitir cadastrar, alterar ou excluir cotações. O sistema não poderá permitir o cadastro de uma cotação mais de uma vez. O sistema não deverá permitir o cadastro de uma cotação com dados inconsistentes, em especial datas que não condizem à realidade. O sistema deverá permitir a exclusão de uma cotação. O sistema deverá permitir a alteração de uma cotação a ser realizada pelo usuário que a cadastrou ou pelo administrador. 
[RF 008] Gerar Lista de cotações: O sistema deverá gerar uma lista de cotações por loja, período ou todas as cotações cadastradas no sistema. As cotações deverão ser listadas por data, informando as cotações em aberto e as com a data final mais próxima do dia atual.
[RF 008] Relatório da Cotação: O sistema ao final do período de cotação deverá gerar um relatório da cotação informando a disponibilidade, preço e prazo de entrega para cada item proposto.
[RF 009] Relatório por representante: O sistema deverá gerar uma lista de itens cotados por cada representante, informando os itens que ele cotou, preço, quantidade e prazo.
Requisitos não funcionais
Usabilidade
[RNF 001] O Sistema deverá ter uma interface simples e intuitiva para facilitar a sua utilização.
[RNF 002]O Sistema deverá ser compatível com os navegadores mais utilizados no mercado (Google Chrome, Microsoft Edge, Mozilla Firefox).
[RNF 003] Comunicação entre o sistema e usuário será com mensagens simples. 
Confiabilidade
[RNF 004] A segurança dos dados é também importante sendo fundamental a proteção das informações contra acessos não autorizados.
Desempenho
[RNF 005] Os relatórios não deverão demorar mais que 10 segundos para serem gerados.
[RNF 006] O tempo de resposta para as operações do banco de dados deverá ser de, no máximo, 5 segundos.
Segurança
[RNF 007] O sistema não deverá permitir o acesso a nenhum visitante ou pessoa sem os dados corretos.
 DIAGRAMA DE CASOS DE USO
Figura 7 – Diagrama de Casos De Uso
DIAGRAMA DE SEQUÊNCIA
PROJETO DE INTERFACES
DIAGRAMA DE ESTADOS
DIAGRAMA DE ATIVIDADES
DIAGRAMA DE COMPONENTES
MODELO DE CLASSES DO PROJETO
MODELO FÍSICO DE DADOS
-- -----------------------------------------------------
-- Tabela AdminUsers
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS AdminUsers (
  id INT NOT NULL AUTO_INCREMENT,
  creation_date INT NOT NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  is_master_user TINYINT NOT NULL,
  display_name VARCHAR(60) NOT NULL,
  email VARCHAR(240) NOT NULL,
  password VARCHAR(120) NOT NULL,
  last_login INT NULL,
  PRIMARY KEY (id)
  UNIQUE INDEX email_UNIQUE (email ASC) VISIBLE);
-- -----------------------------------------------------
-- Tabela Sellers
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Sellers (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  cnpj VARCHAR(14) NOT NULL,
  responsible VARCHAR(255) NOT NULL,
  creation_date INT NOT NULL,
  phone1 VARCHAR(12) NOT NULL,
  phone2 VARCHAR(12) NULL,
  email VARCHAR(255) NOT NULL,
  website VARCHAR(255) NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  address_l1 VARCHAR(500) NOT NULL,
  address_l2 VARCHAR(500) NULL,
  address_number VARCHAR(10) NOT NULL,
  address_complement VARCHAR(60) NULL,
  address_city VARCHAR(200) NOT NULL,
  PRIMARY KEY (id));
-- -----------------------------------------------------
-- Tabela RepresentantUsers
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS RepresentantUsers (
  id INT NOT NULL AUTO_INCREMENT,
  sellers_id INT NOT NULL,
  creation_date INT NOT NULL,
  display_name VARCHAR(255) NOT NULL,
  email VARCHAR(255) NOT NULL,
  password VARCHAR(120) NOT NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  last_login INT NULL,
  PRIMARY KEY (id),
  INDEX fk_representant_users_sellers_idx (sellers_id ASC) VISIBLE,
  CONSTRAINT fk_representant_users_sellers
    FOREIGN KEY (sellers_id)
    REFERENCES Sellers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Cetrgories
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Cetrgories (
  id INT NOT NULL AUTO_INCREMENT,
  is_active TINYINT NOT NULL DEFAULT 1,
  name VARCHAR(200) NOT NULL,
  PRIMARY KEY (id));
-- -----------------------------------------------------
-- Tabela Stores
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Stores (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  cnpj VARCHAR(14) NOT NULL,
  responsible VARCHAR(255) NOT NULL,
  creation_date INT NOT NULL,
  phone1 VARCHAR(12) NOT NULL,
  phone2 VARCHAR(12) NULL,
  email VARCHAR(255) NOT NULL,
  website VARCHAR(255) NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  address_l1 VARCHAR(500) NOT NULL,
  address_l2 VARCHAR(500) NULL,
  address_number VARCHAR(10) NOT NULL,
  address_complement VARCHAR(60) NULL,
  address_city VARCHAR(200) NOT NULL,
  PRIMARY KEY (id));
-- -----------------------------------------------------
-- Tabela AdminUsers_Stores
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS AdminUsers_Stores (
  AdminUsers_id INT NOT NULL,
  Stores_id INT NOT NULL,
  INDEX fk_AdminUsers_Stores_AdminUsers1_idx (AdminUsers_id ASC) VISIBLE,
  INDEX fk_AdminUsers_Stores_Stores1_idx (Stores_id ASC) VISIBLE,
  PRIMARY KEY (AdminUsers_id, Stores_id),
  CONSTRAINT fk_AdminUsers_Stores_AdminUsers1
    FOREIGN KEY (AdminUsers_id)
    REFERENCES AdminUsers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_AdminUsers_Stores_Stores1
    FOREIGN KEY (Stores_id)
    REFERENCES Stores (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Products
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Products (
  id INT NOT NULL AUTO_INCREMENT,
  is_active TINYINT NOT NULL DEFAULT 1,
  name VARCHAR(255) NOT NULL,
  ncm VARCHAR(100) NULL,
  ean VARCHAR(100) NULL,
  description VARCHAR(500) NOT NULL,
  integration_value VARCHAR(100) NULL,
  markup FLOAT NOT NULL,
  Cetrgories_id INT NOT NULL,
  unity VARCHAR(10) NOT NULL,
  ammount_per_box INT NOT NULL,
  PRIMARY KEY (id),
  INDEX fk_Products_Cetrgories1_idx (Cetrgories_id ASC) VISIBLE,
  CONSTRAINT fk_Products_Cetrgories1
    FOREIGN KEY (Cetrgories_id)
    REFERENCES Cetrgories (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Store_Sellers
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Store_Sellers (
  Sellers_id INT NOT NULL,
  Stores_id INT NOT NULL,
  INDEX fk_Store_Sellers_Sellers1_idx (Sellers_id ASC) VISIBLE,
  INDEX fk_Store_Sellers_Stores1_idx (Stores_id ASC) VISIBLE,
  PRIMARY KEY (Sellers_id, Stores_id),
  CONSTRAINT fk_Store_Sellers_Sellers1
    FOREIGN KEY (Sellers_id)
    REFERENCES Sellers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_Store_Sellers_Stores1
    FOREIGN KEY (Stores_id)
    REFERENCES Stores (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela RepresentantUser_Category
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS RepresentantUser_Category (
  RepresentantUsers_id INT NOT NULL,
  Cetrgories_id INT NOT NULL,
  INDEX fk_RepresentantUser_Category_RepresentantUsers1_idx (RepresentantUsers_id ASC) VISIBLE,
  INDEX fk_RepresentantUser_Category_Cetrgories1_idx (Cetrgories_id ASC) VISIBLE,
  PRIMARY KEY (RepresentantUsers_id, Cetrgories_id),
  CONSTRAINT fk_RepresentantUser_Category_RepresentantUsers1
    FOREIGN KEY (RepresentantUsers_id)
    REFERENCES RepresentantUsers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_RepresentantUser_Category_Cetrgories1
    FOREIGN KEY (Cetrgories_id)
    REFERENCES Cetrgories (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Store_Categories
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Store_Categories (
  Stores_id INT NOT NULL,
  Cetrgories_id INT NOT NULL,
  INDEX fk_Store_Categories_Stores1_idx (Stores_id ASC) VISIBLE,
  INDEX fk_Store_Categories_Cetrgories1_idx (Cetrgories_id ASC) VISIBLE,
  PRIMARY KEY (Stores_id, Cetrgories_id),
  CONSTRAINT fk_Store_Categories_Stores1
    FOREIGN KEY (Stores_id)
    REFERENCES Stores (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_Store_Categories_Cetrgories1
    FOREIGN KEY (Cetrgories_id)
    REFERENCES Cetrgories (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Cotation
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Cotation (
  id INT NOT NULL AUTO_INCREMENT,
  creation_date INT NOT NULL,
  start_date INT NOTNULL,
  end_date INT NOT NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  is_ready TINYINT NOT NULL DEFAULT 0,
  max_delivery_days INT NOT NULL,
  title VARCHAR(350) NULL,
  Stores_id INT NOT NULL,
  AdminUsers_id INT NOT NULL,
  is_done TINYINT NOT NULL DEFAULT 0,
  PRIMARY KEY (id),
  INDEX fk_Cotation_Stores1_idx (Stores_id ASC) VISIBLE,
  INDEX fk_Cotation_AdminUsers1_idx (AdminUsers_id ASC) VISIBLE,
  CONSTRAINT fk_Cotation_Stores1
    FOREIGN KEY (Stores_id)
    REFERENCES Stores (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_Cotation_AdminUsers1
    FOREIGN KEY (AdminUsers_id)
    REFERENCES AdminUsers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Cotation_Products
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Cotation_Products (
  Cotation_id INT NOT NULL,
  Products_id INT NOT NULL,
  ammount FLOAT NOT NULL,
  unity VARCHAR(10) NOT NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  INDEX fk_Cotation_Products_Cotation1_idx (Cotation_id ASC) VISIBLE,
  INDEX fk_Cotation_Products_Products1_idx (Products_id ASC) VISIBLE,
  PRIMARY KEY (Cotation_id, Products_id),
  CONSTRAINT fk_Cotation_Products_Cotation1
    FOREIGN KEY (Cotation_id)
    REFERENCES Cotation (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_Cotation_Products_Products1
    FOREIGN KEY (Products_id)
    REFERENCES Products (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela Cotation_RepresentantUser
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS Cotation_RepresentantUser (
  Cotation_id INT NOT NULL,
  RepresentantUsers_id INT NOT NULL,
  is_active TINYINT NOT NULL DEFAULT 1,
  INDEX fk_Cotation_RepresentantUser_Cotation1_idx (Cotation_id ASC) VISIBLE,
  INDEX fk_Cotation_RepresentantUser_RepresentantUsers1_idx (RepresentantUsers_id ASC) VISIBLE,
  PRIMARY KEY (Cotation_id, RepresentantUsers_id),
  CONSTRAINT fk_Cotation_RepresentantUser_Cotation1
    FOREIGN KEY (Cotation_id)
    REFERENCES Cotation (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_Cotation_RepresentantUser_RepresentantUsers1
    FOREIGN KEY (RepresentantUsers_id)
    REFERENCES RepresentantUsers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela CotationEntries
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS CotationEntries (
  Cotation_Products_Cotation_id INT NOT NULL,
  Cotation_Products_Products_id INT NOT NULL,
  RepresentantUsers_id INT NOT NULL,
  value FLOAT NOT NULL,
  delivery_days INT NOT NULL,
  selected TINYINT NOT NULL,
  fix_markup FLOAT NULL,
  INDEX fk_CotationEntries_Cotation_Products1_idx (Cotation_Products_Cotation_id ASC, Cotation_Products_Products_id ASC) VISIBLE,
  INDEX fk_CotationEntries_RepresentantUsers1_idx (RepresentantUsers_id ASC) VISIBLE,
  PRIMARY KEY (Cotation_Products_Cotation_id, Cotation_Products_Products_id, RepresentantUsers_id),
  CONSTRAINT fk_CotationEntries_Cotation_Products1
    FOREIGN KEY (Cotation_Products_Cotation_id , Cotation_Products_Products_id)
    REFERENCES Cotation_Products (Cotation_id , Products_id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT fk_CotationEntries_RepresentantUsers1
    FOREIGN KEY (RepresentantUsers_id)
    REFERENCES RepresentantUsers (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
-- -----------------------------------------------------
-- Tabela WinnerPriceHistory
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS WinnerPriceHistory (
  Products_id INT NOT NULL,
  date INT NOT NULL,
  price FLOAT NOT NULL,
  INDEX fk_WinnerPriceHistory_Products1_idx (Products_id ASC) VISIBLE,
  PRIMARY KEY (Products_id, date),
  CONSTRAINT fk_WinnerPriceHistory_Products1
    FOREIGN KEY (Products_id)
    REFERENCES Products (id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION);
PROJETO DE TABELAS E ARQUIVOS
SCRIPTS DE GERAÇÃO DE BANCO DE DADOS
3.4. ESPECIFICICAÇÕES DE CASOS DE USO
Lista de Atores (usuários) que se interagem com o Sistema:
Administrador;
Representante;
3.4.1 Descrição do caso de uso Realizar Login 
 Nome: RF001 – Realizar Login 
 Descrição: Habilitar o acesso de usuários cadastrados no sistema. 
 Atores: Usuário (Administrador ou Representante). 
 Pré-condições: Não há. 
 Pós-Condições: Estar apto a operar no sistema. 
 Fluxo principal: 
Descrição 
1 O Usuário acessa a interface do sistema;
2 O Sistema apresenta no centro da tela solicitação de informações de 
autenticação (usuário e senha);
3 O Usuário informa suas credenciais;
4 O Sistema valida as credenciais do usuário e retorna seu perfil de acesso 
(Administrador ou Representante);
5 O Sistema apresenta os acessos ao usuário de acordo com seu perfil de 
Acesso (Administrador ou Representante); 
6 Fim do fluxo principal;
Fluxos alternativos: No passo 4 , caso haja algum problema na autenticação, 
o Sistema exibe mensagem (M01) ao usuário e retorna ao passo 2. 
Fluxos de exceção: Não possui. 
Mensagens: (M01) O Usuário ou senha estão incorretos. 
Caso de uso estendido: Não possui. 
Casos de uso incluídos: Não possui. 
 
3.4.2 Descrição do caso de uso Gerenciar Usuários 
Nome: RF002 - Gerenciar Usuários. 
Descrição: Possibilita que os administradores do sistema possam cadastrar, editar ou excluir usuários do sistema;
Atores: Administrador ou Representante; 
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no banco de 
dados. 
Fluxo principal: 
	Passo
	Descrição
	1
	O fluxo principal inicia quando um usuário entra no sistema e acessa a opção “Usuários”.
	2
	O Sistema é carregado na opção de “Consultar Usuários”, apresentando no centro da tela a lista de todos os usuários cadastrados. Exibe ao lado de cada usuário, botões com as opções para “Editar” e “Excluir” um usuário. No topo da interface são exibidos mais um botão, o “Criar Usuário” onde poderão ser criados novos usuários.
	3
	Fim do fluxo principal.
Tabela 0 – Fluxo Principal Requisito Usuário. 
FA 01) Criar novo usuário. 
	Passo
	Descrição
	1
	O Usuário acessa a opção “Criar novo usuário”.
	2
	O Sistema exibe para preenchimento do usuário os campos: Usuário, senha, e-mail, nível de acesso, nome do funcionário, setor e status.
	3
	O usuário preenche os campos e seleciona o botão “Criar Usuário” 
	4
	O Sistema verifica se o usuário já existe
	5
	O sistema registra no banco de dados as informações
	6
	Fim do fluxo alternativo (FA01) do caso de uso, resultando no registro de um novo usuário no banco de dados e a exibição da mensagem (M01).
Tabela 0 – Fluxo Alternativo Novo Usuário
FA02) Alterar Usuário
	Passo
	Descrição
	1
	O Usuário seleciona o botão “ Editar” ao lado do usuário que se deseja alterar os dados.
	2
	O sistema retorna a tela com os campos Usuário, senha, e -mail, nível de acesso, nome do funcionário, setor e status, devidamente preenchidos com as informações do usuário solicitado.
	3
	O Usuário realiza as alterações d esejadas e seleciona o botão “ Atualizar 
dados”
O Usuário realiza as alterações desejadas e seleciona o botão “ Atualizar dados”
	4
	O sistema realiza o registro no banco de dados das novas informações
	5
	O 5 Fim do fluxo alternativo (FA02) do caso de uso, resultando no registro das alterações efetuadas no usuário e a exibição da mensagem (M02).
Tabela 0 – Fluxo Alternativo Alterar Usuário
(FA 03) Excluir usuários
	Passo
	Descrição
	1
	O sistema exibe a listade usuários. Caso o usuário te nha alguma solicitação pendente, este ficará esmaecido e não poderá ser excluído.
	2
	O usuário seleciona o botão “ Excluir” ao lado do usuário que se deseja remover do sistema.
	3
	O sistema retorna uma mensagem de confirmação de exclusão.
	4
	O Usuário seleciona o botão “ok”.
	5
	O sistema realiza a remoção das informações do banco de dados.
	6
	Fim do fluxo alternativo (FA03) do caso de uso.
Tabela 0 – Fluxo Alternativo Excluir Usuário 
Mensagens: 
(M01) “Cadastro de novo usuário efetuado com sucesso!”.
(M02) “Edição de usuário efetuada com sucesso!” 
(M03) “Preencha este campo.”.
3.4.3 Descrição do Caso de Uso Gerenciar Lojas
Nome: RF003 - Gerenciar Lojas. 
Descrição: Possibilita que os administradores do sistema possam cadastrar, editar ou excluir lojas.
Atores: Administrador.
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no banco de dados.
Fluxo Principal:
	Passo
	Descrição
	1
	Na tela de “Lojas”, o Usuário seleciona o botão “Gerenciar Loja” no topo da tela.
	2
	Para cada Loja já existente, serão exibidos os botões “Editar” e “Excluir”
	3
	Fim do fluxo principal
Tabela 0 – Fluxo Principal Requisito Loja. 
Fluxos alternativos:
(FA 01) Cadastrar Nova Loja
	Passo
	Descrição
	1
	O Usuário preenche o campo em branco com o nova loja a ser criado e seleciona o botão “Cadastrar Loja”
	2
	O sistema verifica a existência da Loja
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA01) do caso de uso, resultando no registro de um n nova loja banco de dados e a exibição da mensagem (M10).
Tabela 0 – Fluxo Alternativo Cadastrar Loja 
(FA 02) Editar Loja
	Passo
	Descrição
	1
	O Usuário edita o campo da loja a ser alterado e seleciona o botão “Editar”.
	2
	O sistema registra no banco de dados as informações.
	3
	Fim do fluxo alternativo (FA0 2) do caso de uso , resultando no registro de um nova loja no banco de dados e a exibição da mensagem (M11 ).
Tabela 0 – Fluxo Alternativo Editar Loja 
(FA 03) Excluir Loja
	Passo
	Descrição
	1
	O sistema exibe uma lista com as Lojas cadastradas.
	2
	Usuário seleciona o botão “Excluir” ao lado da Loja que se deseja excluir.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA 03) do caso de uso , resultando na remoção da Loja (M12).
Tabela 0 – Fluxo Alternativo Excluir Loja
Mensagens: 
(M10) “A Loja‘nome da loja’ foi criado com sucesso!”. 
(M11) “A loja ‘nome_da_loja’ foi alterado com sucesso!”. 
(M12) “A Loja ‘nome_da_loja’ foi removido com sucesso!”
3.4.4 Descrição do Caso de Uso Gerenciar Grupo
Nome: RF004 - Gerenciar Grupos. 
Descrição: Possibilita que os administradores do sistema possam cadastrar, editar ou excluir os Grupos.
Atores: Administrador.
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no banco de dados.
Fluxo Principal:
	Passo
	Descrição
	1
	Na tela de “Grupos”, o Usuário seleciona o botão “Gerenciar Grupos” no topo da tela.
	2
	Para cada Grupo já existente, serão exibidos os botões “Editar” e “Excluir”
	3
	Fim do fluxo principal
Tabela 0 – Fluxo Principal Requisito Grupos. 
Fluxos alternativos:
(FA 01) Cadastrar Novo Grupo
	Passo
	Descrição
	1
	O Usuário preenche o campo em branco com o novo Grupo a ser criado e seleciona o botão “Cadastrar Grupo”
	2
	O sistema verifica a existência da Grupo
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA01) do caso de uso, resultando no registro de um novo grupo no banco de dados e a exibição da mensagem (M20).
Tabela 0 – Fluxo alternativo Cadastrar Grupo 
(FA 02) Editar Grupo
	Passo
	Descrição
	1
	O Usuário edita o campo do grupo a ser alterado e seleciona o botão “Editar”.
	2
	O sistema registra no banco de dados as informações.
	3
	Fim do fluxo alternativo (FA0 2) do caso de uso , resultando no registro de um novo grupo no banco de dados e a exibição da mensagem (M21 ).
Tabela 0 – Fluxo alternativo Editar Grupo. 
(FA 03) Excluir Grupo
	Passo
	Descrição
	1
	O sistema exibe uma lista com as grupo cadastrado.
	2
	Usuário seleciona o botão “Excluir” ao lado da grupo que se deseja excluir.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA 03) do caso de uso , resultando na remoção da grupo (M22).
Tabela 0 – Fluxo Alternativo Excluir Grupo 
Mensagens: 
(M20) “O Grupo ‘nome do Grupo’ foi criado com sucesso!”. 
(M21) “O Grupo ‘nome_do_grupo’ foi alterado com sucesso!”. 
(M22) “O Grupo ‘nome_do_grupo’ foi removido com sucesso!”
3.4.5 Descrição do Caso de Uso Gerenciar Produtos
Nome: RF005 - Gerenciar Produtos. 
Descrição: Possibilita que os administradores do sistema possam cadastrar, editar ou excluir os Produtos.
Atores: Administrador.
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no sistema.
opção “Produtos”. 
Fluxo Principal:
	Passo
	Descrição
	1
	Na tela de “Produtos”, o Usuário seleciona o botão “Gerenciar Produtos” no topo da tela.
	2
	Para cada Produto já existente, serão exibidos os botões “Editar” e “Excluir”
	3
	Fim do fluxo principal
Tabela 0 – Fluxo Principal Requisito Produtos. 
Fluxos alternativos:
(FA 01) Cadastrar Produto
	Passo
	Descrição
	1
	O Usuário preenche o campo em branco com o novo Produto a ser criado e seleciona o botão “Cadastrar Produto”
	2
	O sistema verifica a existência da Produto.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA01) do caso de uso, resultando no registro de um novo produto no banco de dados e a exibição da mensagem (M30).
Tabela 0 – Fluxo Alternativo Cadastrar Produto. 
(FA 02) Editar Produto
	Passo
	Descrição
	1
	O Usuário edita o campo do produto a ser alterado e seleciona o botão “Editar”.
	2
	O sistema registra no banco de dados as informações.
	3
	Fim do fluxo alternativo (FA 02) do caso de uso , resultando no registro de um novo produto no banco de dados e a exibição da mensagem (M31 ).
Tabela 0 – Fluxo Alternativo Editar Produto. 
(FA 03) Excluir Produto
	Passo
	Descrição
	1
	O sistema exibe uma lista com as grupo cadastrado.
	2
	Usuário seleciona o botão “Excluir” ao lado do Produto que se deseja excluir.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA 03) do caso de uso , resultando na remoção do produto (M32).
Tabela 0 – Fluxo Alternativo Excluir Produto. 
Mensagens: 
(M30) “O Produto ‘nome do Produto’ foi criado com sucesso!”. 
(M31) “O Produto ‘nome_do_ Produto’ foi alterado com sucesso!”. 
(M32) “O Produto ‘nome_do_ Produto’ foi removido com sucesso!”
opção “Produtos”. 
3.4.6 Descrição do Caso de Uso Gerenciar Representantes
Nome: RF006 - Gerenciar Representantes. 
Descrição: Possibilita que os administradores do sistema possam cadastrar, editar ou excluir os Representantes.
Atores: Administrador.
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no sistema. 
opção “Produtos”. 
Fluxo Principal:
	Passo
	Descrição
	1
	Na tela de “Representantes”,o Usuário seleciona o botão “Gerenciar Representantes” no topo da tela.
	2
	Para cada Representante já existente, serão exibidos os botões “Editar” e “Excluir”
	3
	Fim do fluxo principal
Tabela 0 – Fluxo Principal Requisito Representantes. 
Fluxos alternativos:
(FA 01) Cadastrar Representantes
	Passo
	Descrição
	1
	O Usuário preenche o campo em branco com o novo Representantes a ser criado e seleciona o botão “Cadastrar Representante”
	2
	O sistema verifica a existência do Representante.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA01) do caso de uso, resultando no registro de um novo Representante no banco de dados e a exibição da mensagem (M40).
Tabela 0 – Fluxo Alternativo Cadastrar Representantes 
(FA 02) Editar Representante
	Passo
	Descrição
	1
	O Usuário edita o campo do Representante a ser alterado e seleciona o botão “Editar”.
	2
	O sistema registra no banco de dados as informações.
	3
	Fim do fluxo alternativo (FA 02) do caso de uso , resultando no registro de um novo Representante no banco de dados e a exibição da mensagem (M41 ).
Tabela 0 – Fluxo Alternativo Editar Representante. 
(FA 03) Excluir Representante
	Passo
	Descrição
	1
	O sistema exibe uma lista com Representante cadastrado.
	2
	Usuário seleciona o botão “Excluir” ao lado do Representante que se deseja excluir.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA 03) do caso de uso , resultando na remoção do Representante (M42).
Tabela 0 – Fluxo Alternativo Excluir Representante. 
Mensagens: 
(M40) “O Representante ‘nome do Representante’ foi criado com sucesso!”. 
(M41) “O Representante ‘nome_do_ Representante’ foi alterado com sucesso!”. 
(M42) “O Representante ‘nome_do_Representante’ foi removido com sucesso!”
3.4.7 Descrição do Caso de Uso Gerenciar Cotações
Nome: RF007 - Gerenciar Cotações. 
Descrição: Possibilita que os administradores do sistema possam cadastrar, editar ou excluir os Cotações.
Atores: Administrador.
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no Sistema.
opção “Produtos”. 
Fluxo Principal:
	Passo
	Descrição
	1
	Na tela de “Cotações”, o Usuário seleciona o botão “Gerenciar Cotações” no topo da tela.
	2
	Para cada Cotação já existente, serão exibidos os botões “Editar” e “Excluir”
	3
	Fim do fluxo principal
Tabela 0 – Fluxo Principal Requisito Gerenciar Cotação. 
Fluxos alternativos:
(FA 01) Cadastrar Cotações
	Passo
	Descrição
	1
	O Usuário preenche o campo em branco com o nova Cotação a ser criado e seleciona o botão “Cadastrar Cotação”
	2
	O sistema verifica a existência da Cotação.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA01) do caso de uso, resultando no registro de uma nova Cotação no banco de dados e a exibição da mensagem (M50).
Tabela 0 – Fluxo Alternativo Cadastrar Cotação 
(FA 02) Editar Cotação
	Passo
	Descrição
	1
	O Usuário edita o campo do Cotação a ser alterado e seleciona o botão “Editar”.
	2
	O sistema registra no banco de dados as informações.
	3
	Fim do fluxo alternativo (FA 02) do caso de uso , resultando no registro de uma nova cotação no banco de dados e a exibição da mensagem (M51 ).
Tabela 0 – Fluxo Alternativo Editar Cotação 
(FA 03) Excluir Cotação
	Passo
	Descrição
	1
	O sistema exibe uma lista com Cotações cadastradas.
	2
	Usuário seleciona o botão “Excluir” ao lado da Cotação que se deseja excluir.
	3
	O sistema registra no banco de dados as informações.
	4
	Fim do fluxo alternativo (FA 03) do caso de uso , resultando na remoção da Cotação (M52).
Tabela 0 – Fluxo Alternativo Excluir Cotação 
Mensagens: 
(M40) “A Cotação ‘nome da Cotação’ foi criado com sucesso!”. 
(M41) “A Cotação ‘nome_da_cotação foi alterado com sucesso!”. 
(M42) “A Cotação ‘nome_da_cotação foi removido com sucesso!”
3.4.8 Descrição do Caso de Uso Gerenciar Cotações
Nome: RF008 – Lista de Cotações. 
Descrição: Possibilita que os administradores do sistema possam acompanhar o andamento das cotações e visualizar orçamentos de cotações fechadas.
Atores: Administrador ou Representante.
Pré-condições: O usuário deverá estar autenticado no sistema para acessar essa função. 
Pós-Condições: Ter os dados da alteração do usuário gravados no sistema. 
	Passo
	Descrição
	1
	O fluxo principal inicia quando o usuário de perfil “Administrador” entra no sistema e clica em Cotações.
	2
	O sistema retorna uma lista com as cotações encerradas ou em aberto.
	3
	Fim do Fluxo Principal
Tabela 0 – Fluxo Principal Requisito lista de cotações. 
Fluxo Alternativo
(FA 01) Produtos em Cotação
	Passo
	Descrição
	1
	O usuário clica no símbolo “$” na cotação desejada.
	2
	O sistema expande e exibe todos os produtos da cotação.
Tabela 0 – Fluxo Alternativo Produtos em Cotação. 
MODELO CONCEITUAL DE CLASSES
Figura 8 – Diagrama de Classes. 
MODELO DE DADOS
Figura 9 – Diagrama de Dados.
REFERÊNCIAS BIBLIOGRÁFICAS
ASSERJ. Conheça a história do Supermarket. Disponível em: <http://asserj.com.br/supermercados/2018/10/conheca-a-historia-do-supermarket/> Disponível em: 26 de Março de 2019.
MENDES, Juliana V.; ESCRIVÃO FILHO, Edmundo. Sistemas Integrados de Gestão ERP em Pequenas Empresas: Um Confronto entre Referencial Teórico e a Prática Empresarial. Gestão e Produção , v.9, n.3, p.277 – 296, dez. 2002.
MENDES, Juliana V. Inovação tecnológica em organizações de pequeno porte: proposta de roteiro para aquisição de sistemas integrados de gestão. XI SEMINÁRIO LATINO-IBEROAMERICANO DE GESTIÓN TECNOLÓGICA. Anais, Salvador - BA, 2005.
SEBRAE-SP. Boletim estatístico de micro e pequenas empresas. São Paulo: Observatório Sebrae, 2005. 84p. (Relatório).
SEBRAE. Sobrevivência das Empresas no Brasil. Coleção Estudos e Pesquisas. Brasília- DF, 2013. 
SOUZA, Cezar Alexandre de. Sistemas integrados de gestão empresarial: estudos de caso de implementação de sistemas ERP. Dissertação (Mestrado) - Faculdade de Economia e Ad - ministração, Universidade de São Paulo , São Paulo: FEA / USP, 253 p. 2000. Disponível em: <http://www.teses.usp.br/teses/disponiveis/12/12133/tde-19012002-123639/>. Acesso em: 21 de março de 2019. 
SUPERMARKET. O SUPERMARKET. < https://redesupermarket.com.br/o-supermarket/> Disponível em: 26 de Março de 2019.

Continue navegando