Baixe o app para aproveitar ainda mais
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.
Compartilhar