Post on 24-Jan-2023
UNISALESIANO
Centro Universitário Católico Salesiano Auxilium
Curso de Tecnologia em Sistemas para Internet
Luis Augusto Moura Brandão
Mauricio Pavanelli Piona
Maycon Casarini Vieira
SGE – Sistema Gerenciador de Estoque
LINS – SP
2011
LUIS AUGUSTO MOURA BRANDÃO
MAURICIO PAVANELLI PIONA
MAYCON CASARINI VIEIRA
SGE – SISTEMA GERENCIADOR DE ESTOQUE
Trabalho de Conclusão de Curso apresentado à Banca Examinadora do Centro Universitário Católico Salesiano Auxilium, curso de Tecnologia em Sistemas para Internet, sob a orientação do(a) Prof. (ª) M.Sc Luiz Eduardo Cortes Bergamo
LINS – SP
2011
Brandão, Luis Augusto Moura; Piona, Mauricio Pavanelli; Vieira, Maycon Casarini; Tecnologia em desenvolvimento de sistemas para Internet: SGE – Sistema Gerenciador de Estoque / Luis Augusto Moura Brandão; Mauricio Pavanelli Piona; Maycon Casarini Vieira. – – Lins, 2011. 79p. il. 31cm. Monografia apresentada ao Centro Universitário Católico Salesiano Auxilium – UNISALESIANO, Lins-SP, para graduação em Tecnologia em Desenvolvimento de Sistemas para Internet, 2011 Orientador: Luiz Eduardo Cortes Bergamo 1. Gerenciamento de Estoque. 2. Código Livre. 3. Aplicação WEB I. Título.
CDU 004
B818t
LUIS AUGUSTO MOURA BRANDÃO
MAURICIO PAVANELLI PIONA
MAYCON CASARINI VIEIRA
SGE – SISTEMA GERENCIADOR DE ESTOQUE
Monografia apresentada ao Centro Universitário Católico Salesiano Auxilium,
para obtenção do título de Tecnólogo em Sistemas para Internet.
Aprovada em: _____/______/_____
Banca Examinadora:
Prof(a) Orientador(a): _____________________________________________
Titulação: ______________________________________________________
_______________________________________________________________
Assinatura: _________________________________
1º Prof(a): ______________________________________________________
Titulação: ______________________________________________________
_______________________________________________________________
Assinatura: _________________________________
2º Prof(a): ______________________________________________________
Titulação: ______________________________________________________
_______________________________________________________________
Assinatura: _________________________________
DEDICATÓRIA
Dedico aos meus pais e familiares com muito amor, pois sem eles não conseguiria alcançar esse sonho e com isso sigo em frente com mais um vitória em minha vida sempre... Quero “tropeçar” e depois "continuar"... Quero “cair” e depois "levantar"... Quero "chorar" e depois "sorrir"... Quero "perder" e depois "ganhar"... Quero "não ser" e depois "ser"... Quero "correr o mundo" e voltar ao "ponto de partida"... Quero simplesmente "errar" para depois "acertar"... Quero "brigar" para depois "amar"... Quero "sentir frio" para depois sentir "calor"... Quero-me "molhar" para depois me "secar"... Quero "olhar para vocês" e dizer não somente "pais”; mas poder dizer junto destes "pais", eu "amo vocês"...
Luis Augusto
Dedico este trabalho primeiramente a Deus, que nos possibilitou mais essa etapa em nossas vidas. Dedico também a Michelle Siviero que por muitos momentos esteve ao meu lado, também dedico a toda sua família, que deram grande apoio para que tudo desse certo. Dedico aos meus pais Leonisio e Angelina, mesmo por não estarem presentes e certos momentos da minha vida, ainda assim são meus pais, e sem eles não teria com estar nesse mundo. Dedico também para meus amigos de sala e de Trabalho de Conclusão de Curso, Maycon e Luis Augusto.
Maurício
Dedico este trabalho primeiramente a Deus, pois sem Ele, nada seria possível. Aos meus pais, Jairo e Zizi, que em nenhum momento mediram esforços para que eu chegasse aonde cheguei. Amo muito vocês! Aos meus irmãos Jam, Dayana, minha avó Nadir e meu sobrinho Arthur, que estiveram sempre ao meu lado me dando força e me ajudando a seguir o caminho correto da vida. Não sei viver sem ter vocês. Sem esquecer da minha sobrinha Maria Eduarda que está por vir Em especial Fernanda Ravazi que nesta etapa da minha vida, esteve o tempo todo ao meu lado me ajudando e nunca desistiu de mim. Você é muito especial pra mim.
Maycon
AGRADECIMENTOS
Agradeço à minha família por estarem sempre ao meu lado, apoiando-me e incentivando-me em todos os momentos. À minha namorada, pelo amor, carinho e compreensão e também por sua ajuda, sem a qual este trabalho não ficaria pronto. Ao meu orientador, Luiz Eduardo C. Bergamo e o professor Anderson Pazin que me auxiliou nesta jornada, compartilhando suas idéias e reflexões, e também por seu apoio e compreensão. Agradeço também a todos os amigos que conviveram comigo durante esse tempo todo, pelos momentos agradáveis e descontraídos, e também pelos momentos de concentração e estudos. E, principalmente, a Deus. Não apenas pelas oportunidades e desafios que ele tem colocado diante de mim, mas, sobretudo por iluminar meu caminho e guiar meus passos, hoje e sempre.
Luis Augusto
Agradeço primeiramente a Deus, que nos deu essa chance de estar nos formando, de poder mostrar que não foi por acaso que escolhemos este curso, também por ter colocado alguns obstáculos em nosso caminho, pois aprendemos que nunca devemos desistir mais sim a cada queda nos levantarmos com mais força. Agradeço a meus colegas de sala, que se tornaram grandes amigos, e nos ajudaram em todas as etapas da faculdade, e que proporcionaram ótimos momentos de alegria e descontração. Agradeço minha namorada Michelle e sua família, pelo apoio dado e compreensão nos momentos de desabafo e nervosismo, por alguma etapa do trabalho não estar dando certo. Agradeço também a todos os professores do Unisalesiano, em especial ao nosso orientador Luiz Eduardo C. Bergamo e o professor Anderson Pazin, que em toda hora se mostravam de prontidão a ajudar, o meu muito obrigado por tudo. Aos parceiros de TCC, Luis Augusto e Maycon, minha eterna gratidão e amizade, meu pedido de desculpas pelos momentos de nervosismo e grosseria. Mas espero que esta amizade dure por muito e muito tempo. Um abraço.
Maurício
Agradeço primeiramente a Deus, pois confiando nele, iluminou meu caminho e fez com que conseguisse chegar até aqui. Aos meus pais Jairo e Zizi que sempre me deram força e estiveram o tempo todo comigo, cobrando sempre o máximo de mim para que hoje fosse a pessoa na qual sou. Aos meus irmãos Jam e a Dadá que sempre estiveram do meu lado me aconselhando e ajudando nos momentos em que mais precisei, irmãos dos quais não tenho o que reclamar, somente agradeço a vocês por tudo. Agradeço também meus amigos, uns mais próximos outros nem tanto, mas que de alguma forma tiveram presença marcante na minha vida, em especial João Banhara, que por muitas vezes quebrou a cabeça me ajudando nos trabalhos da faculdade e sempre me ajudou nos momentos em que precisei ao meu amigo/irmão Coto, que desde quando me conheço por gente está do meu lado sempre me ajudando e como sempre, juntos pro que der e vier. Agradeço também a Fernanda Ravazi que nos últimos tempos esteve sempre comigo me dando força, e nunca desistiu de mim, uma pessoa que em muitos momentos de tristeza e angústia com um singelo sorriso me deixou feliz e que em pouco tempo comecei a sentir um carinho muito forte, gosto muito de você. Agradeço principalmente aos professores Eduardo Bergamo por todos os dias que nos auxiliou no projeto e principalmente pelos conselhos, ao Anderson Pazin por ter paciência conosco nesses anos e nos auxiliando sempre que necessário. A todos que de alguma maneira passaram na minha vida, obrigado.
Maycon
RESUMO
O presente trabalho tem por objetivo apresentar um produto que auxilie no controle de estoque no setor de supermercados. Este setor tem por característica manter em estoque produtos perecíveis, o que faz com que o controle de estoque tenha uma atenção especial, evitando a perda de produtos por vencimento do prazo de validade. Para tanto, é feito um estudo de alguns softwares disponíveis no mercado que tem como objetivo o controle de estoque. O trabalho apresenta alguns pontos levantados das funcionalidades destes softwares e que também são reutilizados como funcionalidades no software desenvolvido, tais como: Relatórios de entrada, saída e situação de produtos. Em especial a funcionalidade da saída de produtos do estoque, que tem as datas de vencimento como controlado principal, é implementada, situação que torna o trabalho do responsável pelo estoque físico mais completo. Um ponto positivo no software desenvolvido é a utilização de tecnologias atuais voltadas para o desenvolvimento web, como a exploração dos recursos da tecnologia AJAX, que permitem a obtenção de uma página mais dinâmica e interativa com o usuário. Tal característica não foi identificada nos softwares pesquisados, que já foram desenvolvidos há algum tempo e se utilizam de tecnologias desatualizadas, como Delphi 7. O projeto utiliza ferramentas de uso gratuito, tais como: Java Enterprise Edition (JEE), como linguagem de programação principal e como plataforma de desenvolvimento é utilizado o Eclipse. Para armazenamento de dados é utilizado o gerenciador de banco de dados Oracle Database Express Edition e para a criação de páginas é utilizado o Microsoft SharePoint Design. O trabalho apresenta a parte teórica sobre as tecnologias utilizadas, além da modelagem do sistema, utilizando UML e finalmente apresenta as funcionalidades de cada uma das interfaces desenvolvidas. Palavras-chave: Gerenciamento de Estoque. Código livre. Aplicação WEB
ABSTRACT
This work has the objective to present a product that assists in the stock control of the sector merchandise. This sector has for characteristic to keep in perishable stock products, what makes the stock control to have a special attention, avoiding the products loss for period of validity expiration. For as much, a study of some available computer programs in the market that it has as goal the stock control. The work presents some points raised of the functionalities of these programs and that also are reused as functionalities in the developed software. A special attention to the stock products removed from stock, taking in consideration the due dates, is implemented, facilitating the work of the person responsible for the physical stock. A positive point in the developed software is the utilization of current technologies, geared to the web development. Such characteristic was not identified in the searched computer program, that were already developed some time ago and the usage of outdated technologies. The project uses tools of free use, such as: Java Enterprise Edition (J2EE), as the main programming language and as creation platform used the Eclipse. For data storage is used the database manager Oracle Database Express Edition and for the page creation is used the Microsoft SharePoint Design, still exploring the AJAX technology resources, who allow the obtainment of a more dynamic and interactive page with the user. The present work presents the theoretical part about the used technologies, besides the modeling system, using UML and finally presents the functionalities of each one of the developed interfaces. Keywords: Stock management. Free code. WEB Application
LISTA DE FIGURAS
Figura 1. Classe ............................................................................................. 23
Figura 2. Diagrama de Classes ...................................................................... 24
Figura 3. Diagrama de Caso de Uso .............................................................. 25
Figura 4. Diagrama de Sequência .................................................................. 26
Figura 5. Diagrama de Pacotes ...................................................................... 26
Figura 6. Diagrama de Objetos ....................................................................... 27
Figura 7. Diagrama de Estrutura Composta ................................................... 27
Figura 8. Diagrama de Componentes ............................................................. 28
Figura 9. Diagrama de Implantação................................................................ 28
Figura 10. Caixa de Dialogo com o método alert() ......................................... 34
Figura 11. Caixa de Dialogo com o método prompt() ..................................... 34
Figura 12. Caixa de Dialogo com o método confirm()..................................... 34
Figura 13. Cadastro de produtos - Controle de Estoque, Best Software ........ 39
Figura 14. Saída de produtos - Controle de Estoque, Best Software ............. 39
Figura 15. Relatório de produtos .................................................................... 40
Figura 16. Cadastro de fornecedores ............................................................. 41
Figura 17. Cadastro de empresa .................................................................... 41
Figura 18. Diagrama de Classes completo. .................................................... 45
Figura 19. Diagrama de Use Case – Cadastro de produto ............................. 48
Figura 20. Diagrama de Use Case – Cadastro solicitação de compra ........... 48
Figura 21. Diagrama de Use Case – Cadastro solicitação pendente ............. 49
Figura 22. Diagrama de Use Case – Cadastro entrada produto estoque ....... 49
Figura 23. Diagrama de Use Case – Cadastro saída produto estoque .......... 50
Figura 24. Diagrama de Use Case – Cadastro Fornecedor ............................ 51
Figura 25. Diagrama de Use Case – Gerar relatório ...................................... 51
Figura 26. Diagrama de Seqüência: Usuário solicita cadastro de produto ..... 56
Figura 27. Diagrama Sequência: Usuário cadastra entrada de produto. ........ 57
Figura 28. Diagrama Sequência: Usuário cadastra saída de produto ............ 58
Figura 29. Tela inicial ...................................................................................... 59
Figura 30. Interface de manutenção de produtos ........................................... 60
Figura 31. Manutenção de produto ................................................................. 61
Figura 32. Produto Cadastrado ...................................................................... 62
Figura 33. Entrada de produto ........................................................................ 63
Figura 34. Entrada inserida ............................................................................ 64
Figura 35. Saída de produto ........................................................................... 64
Figura 36. Sub-menu solicitação .................................................................... 66
Figura 37. Solicitação de produtos no sistema ............................................... 66
Figura 38. Atendimento de solicitações efetuadas no sistema ....................... 67
Figura 39. Interface de sub-menu de relatórios .............................................. 68
Figura 40. Relatório de produtos cadastrados ................................................ 69
Figura 41. Relatório de produtos solicitados ................................................... 70
Figura 42. Relatório de solicitações atendidas ............................................... 71
Figura 43. Relatório de entrada de produtos .................................................. 71
Figura 44. Relatório de saída de produto ....................................................... 72
Figura 45. Relatório de situação de produtos ................................................. 73
LISTA DE QUADROS
Quadro 1. Diferenças entre Java e JavaScript. .............................................. 32
Quadro 2. Diferenças entre JavaScript e Java ............................................... 33
Quadro 3. Lista de Caso de Uso .................................................................... 47
Quadro 4. Estrutura da tabela de usuario ....................................................... 52
Quadro 5. Estrutura da tabela de categoria de produto .................................. 52
Quadro 6. Estrutura da tabela de unidade de medida .................................... 52
Quadro 7. Estrutura da tabela de produtos ..................................................... 53
Quadro 8. Estrutura da tabela de solicitacao .................................................. 53
Quadro 9. Estrutura da tabela de saída de produtos no estoque ................... 54
Quadro 10. Estrutura da tabela de entrada de produtos no estoque .............. 54
Quadro 11. Estrutura da tabela de pedido de produto .................................... 54
Quadro 12. Estrutura da tabela de fornecedor ............................................... 55
Quadro 13. Estrutura da tabela de itens pedidos ........................................... 55
LISTA DE SIGLAS E ABREVIATURAS
AJAX: Asynchronous JavaScript and XML
CEP: Código de Endereçamento Postal
CPF: Cadastro Nacional de Pessoa Física
CSS: Cascading Style Sheets
FIFO: First In First Out
HTML: Hypertext Markup Language
J2EE: Java 2 Enterprise Edition
LIFO: Last In First Out
OMG: Object Management Group
OMT: Object Modeling Technique
OO: Orientada a Objeto
OOSE: Object Oriented Software Engineering
PEPS: Primeiro Entrar Primeiro Sair
PVPS: Primeiro Vencer Primeiro Sair
SQL: Structured Query Language
UEPS: Ultimo Entrar Primeiro Sair
UF: Unidade da Federação
UML: Unified Modeling Language
XML: Extensible Markup Language
SUMÁRIO
INTRODUÇÃO .................................................................................................. 17
1 FUNDAMENTOS CONCEITUAIS ............................................................... 19
1.1 JAVA............................................................................................................ 19
1.2 SISTEMA GERENCIADOR DE BANCO DE DADOS ORACLE.................................. 20
1.3 UNIFIED MODELING LANGUAGE – UML.......................................................... 22
1.3.1 CLASSES................................................................................................... 23
1.3.2 DIAGRAMA DE CLASSES.............................................................................. 23
1.3.3 DIAGRAMA DE CASO DE USO “USE CASE”.................................................... 24
1.3.4 DIAGRAMA DE SEQUÊNCIA.......................................................................... 25
1.3.5 DIAGRAMA DE PACOTES............................................................................. 26
1.3.6 DIAGRAMA DE OBJETOS............................................................................. 27
1.3.7 DIAGRAMA DE ESTRUTURA COMPOSTA........................................................ 27
1.3.8 DIAGRAMA DE COMPONENTES.................................................................... 28
1.3.9 DIAGRAMA DE IMPLANTAÇÃO....................................................................... 28
1.4 CASCADING STYLE SHEETS – CSS............................................................... 29
1.4.1 UTILIZAÇÃO DA TAG LINK............................................................................ 30
1.4.2 UTILIZAÇÃO DA TAG @IMPORT.................................................................... 30
1.5 HIPERTEXT MARKUP LANGUAGE (HTML)....................................................... 31
1.6 JAVASCRIPT................................................................................................. 31
1.6.1 MÉTODOS EM JAVASCRIPT:........................................................................ 33
1.7 ESTOQUE CONCEITOS E CUSTOS................................................................... 35
1.7.1 CUSTOS DE ESTOQUES............................................................................... 35
1.8 MODELO PEPS OU FIFO (FIRST IN, FIRST OUT)………………………………. 36
1.9 MODELO UEPS OU LIFO (LAST IN, FIRST OUT)……………………………….. 37
1.10 MODELO PVPS (PRIMEIRO A VENCER, PRIMEIRO A SAIR)............................... 37
2 LEVANTAMENTO DE REQUISITOS .......................................................... 38
2.1 ANÁLISE DE MERCADO.................................................................................. 38
2.1.1 BEST SOFTWARE....................................................................................... 38
2.1.2 CONTROLE DE ESTOQUE 9.0...................................................................... 40
2.2 DOCUMENTOS DE REQUISITOS...................................................................... 42
2.2.1 VISÃO GERAL DO SISTEMA.......................................................................... 42
2.2.2 REQUISITOS FUNCIONAIS............................................................................ 42
2.2.3 IMPRESSÃO DE DIVERSOS TIPOS DE RELATÓRIOS E CONSULTAS..................... 43
2.2.4 PROCESSAMENTOS.................................................................................... 44
2.3 DIAGRAMA DE CLASSES DO SISTEMA COMPLETO............................................. 45
2.4 DIAGRAMA DE CLASSES IMPLEMENTADO........................................................ 46
3 ANÁLISE ORIENTADA A OBJETOS ......................................................... 47
3.1.1 LISTA DE CASOS DE USO............................................................................ 47
3.2 DIAGRAMA DE CASOS DE USO....................................................................... 48
3.2.1 USE CASE 01 – USUÁRIO CADASTRA PRODUTO.............................................48
3.2.2 USE CASE 02 - USUÁRIO CADASTRA SOLICITAÇÃO DE COMPRA...................... 48
3.2.3 USE CASE 03 - USUÁRIO ATENDE SOLICITAÇÃO PENDENTE............................ 49
3.2.4 USE CASE 04 - USUÁRIO CADASTRA ENTRADA DE PRODUTO NO ESTOQUE...... 49
3.2.5 USE CASE 05 - USUÁRIO CADASTRA SAÍDA DE PRODUTO NO ESTOQUE............50
3.2.6 USE CASE 06 - USUÁRIO CADASTRA FORNECEDOR....................................... 50
3.2.7 USE CASE 07 – USUÁRIO SOLICITA RELATÓRIO............................................ 51
4 PROJETO DE BANCO DE DADOS ............................................................ 52
4.1 TABELAS...................................................................................................... 52
5 PROJETO ORIENTADO A OBJETOS ....................................................... 56
5.1 DIAGRAMAS DE SEQÜENCIAS......................................................................... 56
5.1.1 USUÁRIO SOLICITA CADASTRO DE PRODUTO................................................. 56
5.1.2 USUÁRIO CADASTRA ENTRADA DE PRODUTO NO SISTEMA.............................. 57
5.1.3 USUÁRIO CADASTRA SAÍDA DE PRODUTO NO ESTOQUE.................................. 58
6 IMPLEMENTAÇÃO ORIENTADA A OBJETOS ......................................... 59
6.1 LAYOUT DE INTERFACES............................................................................... 59
6.1.1 TELA INICIAL.............................................................................................. 59
6.1.2 MANUTENÇÃO DE PRODUTOS...................................................................... 60
6.1.3 INTERFACE DE MANUTENÇÃO DE PRODUTOS................................................. 61
6.1.4 INTERFACE DE PRODUTO CADASTRADO........................................................ 62
6.1.5 INTERFACE DE ENTRADA DE PRODUTOS NO ESTOQUE.................................... 63
6.1.6 INTERFACE DE ENTRADA INSERIDA............................................................... 64
6.1.7 INTERFACE DE SAÍDA DE PRODUTO NO ESTOQUE........................................... 64
6.1.8 MANUTENÇÃO DA SOLICITAÇÃO................................................................... 65
6.1.9 INTERFACE SOLICITAÇÃO DE PRODUTO......................................................... 66
6.1.10 INTERFACE DE SOLICITAÇÕES EFETUADAS NO SISTEMA..................................67
6.1.11 INTERFACE DE SUB-MENU DE RELATÓRIO..................................................... 68
6.1.12 INTERFACE DO RELATÓRIO DE PRODUTOS CADASTRADOS NO SISTEMA............69
6.1.13 INTERFACE DO RELATÓRIO DE SOLICITAÇÃO DE PRODUTOS............................ 70
6.1.14 INTERFACE DO RELATÓRIO DE SOLICITAÇÕES ATENDIDAS.............................. 71
6.1.15 INTERFACE DO RELATÓRIO DE ENTRADA DE PRODUTO NO ESTOQUE............... 71
6.1.16 INTERFACE DO RELATÓRIO DE SAÍDA DE PRODUTOS DO ESTOQUE...................72
6.1.17 INTERFACE DO RELATÓRIO DE SITUAÇÃO DO PRODUTO POR ENTRADA.............73
CONCLUSÃO ................................................................................................... 74
REFERÊNCIAS ................................................................................................ 76
GLOSSÁRIO .................................................................................................... 79
17
INTRODUÇÃO
Depois de analisado os impactos da informatização na gestão dos
supermercados, afirma-se que a evolução ocorrida no setor, foi no sentido da
integração das unidades de negócios, da terceirização de atividades não
essenciais e das parcerias logísticas com fornecedores, onde o volume de
mercadorias em estoque tendem a ser reduzidos e melhor planejados.
(SAPATA, 2007)
O controle de estoque é uma área muito importante de uma empresa,
grande ou pequena, pois é através dele que ela será capaz de prever o quanto
será necessário comprar no próximo pedido ao fornecedor. (DIAS, 1995)
Estoque é definido como a acumulação armazenada de recursos de
materiais em um sistema de transformação. Estoque também é usado para
descrever qualquer recurso armazenado. (SLACK; CHAMBERS; JOHNSTON,
2002)
Os objetivos do presente trabalho são: Modelar um software capaz de
gerenciar o controle de estoques, voltado ao seguimento de supermercados;
Implementar parcialmente este software, utilizando-se das tecnologias
atualmente disponíveis no mercado e que são aprendidas durante o curso.
Com a utilização de conhecimento de campo sobre o assunto, onde com
experiência de trabalho e a falta de um software que gerencia-se de tal
maneira, foi possível aprendizado suficiente para a escolha do presente tema,
na observação de que não existem muitos softwares com este objetivo
disponíveis atualmente no mercado, e ainda, os disponíveis foram
desenvolvidos com tecnologia ultrapassada, onde pode haver espaço para
erros, tanto humano quanto do sistema, não proporcionando um controle de
estoque eficaz, ocorrendo à perda de mercadoria.
Alem da perda de produtos, existe mais um fator que afeta os custos
dentro do supermercado, fator esse que é essencial para a venda, o cliente.
18
Um controle de estoque bem estruturado faz com que as necessidades
do cliente sejam sempre supridas, isso cria um relacionamento de confiança
entre ambos, onde o consumidor tem a certeza que o produto vendido em
determinado estabelecimento esta em ótimas condições de consumo.
Sabendo ainda, que um consumidor insatisfeito é uma mídia de
divulgação negativa, por motivos alheios, que fizeram com que suas
expectativas não fossem atendidas, comprometendo a imagem da empresa,
que por sua vez poderá sentir esse efeito financeiramente.
O software tem interface amigável e de fácil utilização, foi feito uso de
funções que auxiliam o usuário, através de alertas que informam sobre erros e
ações efetuadas, também foi utilizado o bloqueio de certas ações, tais como: a
digitação de quantidades incorretas, uso de caracteres indevidos e
preenchimento incorreto de formulário.
19
1 FUNDAMENTOS CONCEITUAIS
1.1 Java
Segundo Pereira (2006), a linguagem Java tem base na linguagem de
programação C++. Desenvolvida pela Sun Microsystem, uma linguagem
orientada a objeto, seu projeto original teve como foco os dispositivos móveis
que deveriam ter características de dispositivos portáveis, seguros e
distribuídos..
Ainda segundo Pereira (2006), Java acabou ganhando muito o mercado
após seu desenvolvimento, por ter características que a diferenciam de outras
linguagens, um grande exemplo desse diferencial é a qualidade apresentada
no uso para internet.
Resumindo, o Java é uma tecnologia largamente utilizada nos dias de hoje, e deve interessar desde programadores até arquitetos de soluções que lidam com aplicações diversas, e mesmo que não venham a trabalhar com Java, em um futuro próximo grande parte das aplicações web, sistemas de integração e softwares distribuídos ainda serão escritos nessa linguagem. (PEREIRA, 2006, p. 3).
Segundo Kölling e Barnes (2004), Java é formada por classes, objetos e
métodos. As classes são onde vão ser manipuladas todas as ações de um
objeto e descreve o tipo do próprio, os objetos são criados a partir de uma
determinada classe, também podem receber o nome de instâncias e são
manipulados dentro das classes, já os métodos podem ser definidos como a
ação que essa classe poderá realizar. Basicamente as classes são o que se
quer manipular, os objetos são as características, os métodos são o que essa
classe pode realizar, uma parte importante são os parâmetros que ficam dentro
dos métodos, eles fornecem informações adicionais para uma tarefa realizada
pelo método.
Ainda segundo Kölling e Barnes (2004), os parâmetros em Java
possuem tipos de dados que são definidos de acordo com a necessidade da
aplicação, tendo formas diferentes, assim como números inteiros, números
decimais, caracteres e datas.
Segundo Hopson e Ingram (1997), Java foi dita como linguagem para
internet, essa referência tem sua base nas aplicações chamadas applets, que
20
são nada mais que pequenos programas tendo como principal característica
melhorar a página web.
Contudo, os applets do Java são muito mais que pequenos programas que complementam as páginas da web. O Java é um ambiente sofisticado e extensivo, que oferece os alicerces para a construção de aplicativos de qualidade industrial. Essa capacidade é proveniente das várias facetas do Java – desde sua natureza orientada a objetos, até sua simplicidade e possibilidade de funcionar em ambientes distribuídos. Em conseqüência disso, ver Java como uma “simples” ferramenta para aperfeiçoar suas páginas da web é uma forma de subestimar seriamente seus recursos. (HOPSON, 1997, p. Introdução).
Ainda segundo Hopson e Ingram (1997), por ser uma linguagem
orientada a objeto (OO) e tratar de abstração, encapsulamento e modularidade,
faz da linguagem OO uma solução completa, mas para obter uma “Solução
completa” Java precisa ser não apenas entendida com uma linguagem de
programação, mas sim que ela interage em um ambiente de uso estendido e
geral.
1.2 Sistema Gerenciador de Banco de Dados Oracle
Segundo Abbey, Corey e Abramson (2000), inicialmente a Oracle era
apenas uma empresa de banco de dados, com o surgimento do banco de
dados relacional, também surgiu uma nova maneira de pensar como seria feita
a estruturação e armazenagem dos dados. O que é um banco de dados?
Resumindo ao extremo, banco de dados é um conjunto de programas que
manipulam arquivos de dados.
Segundo Oracle (2009a), há três princípios básicos para orientação da
informação: A simplicidade, padronização e a automatização.
Segundo Oracle (2009b), Simplicidade: Quando acelerada a
disponibilidade das informações com sistemas integrados em um único banco
de dados. Isso se trata do fácil acesso às informações pelas empresas, uma
empresa precisa ter o controle de estoque correto e monitorar também os seus
concorrentes, saber em que rumo os negócios andam, a velocidade em que às
mudanças acontecem, pois, o desempenho corporativo depende de vários
pontos, também dependendo de disponibilidade para acesso a informações
precisas e consolidadas.
21
Segundo Oracle (2009c), Padronização: Com a redução de custos com
equipamentos e utilizando tecnologias que tenham eficiência e proporcionem
maior produtividade para a empresa.
Segundo Oracle (2009d), Automatização: Distingue duas eras, uma é a
era em que o cliente tinha que se preocupar com o funcionamento do seu
software, a nova era em que se fala, é a que o cliente não precisa mais se
preocupar com o funcionamento do software, mais sim se concentrar no que é
critico para sua empresa, assim tornando mais viável.
Segundo Ramalho (2005), uma nova tecnologia desenvolvida pela
Oracle e lançada no Brasil em novembro de 2003, foi a família de produtos
10g, que inclui em si os produtos Oracle Entreprise Manager 10g, Oracle
Application Server 10g e o Oracle database 10g. Podemos citar mais sobre o
Oracle Database 10g, trata-se de um gerenciamento dos recursos de rede que
são feitos dentro de uma malha corporativa, assim possibilitando que o
armazenamento e o processamento dos dados tenham maior agilidade, de
uma maneira que se tornem usuais.
Ainda segundo Ramalho (2005), a nova tecnologia 10g, fez com que
tudo o que já foi feito até a sua criação fosse deixado para trás, pois algumas
das principais características dessa nova tecnologia é que exista redução tanto
nas infra-estruturas tecnológicas que tem um custo elevado, quanto nos
servidores com alta capacidade, para somente suportar picos de demanda.
Outra importante parte são as inovações feitas na malha de computação, a
primeira das inovações foi padronizar os equipamentos, que permitem um
baixo custo e melhorias significativas. A segunda foi à facilidade de apenas um
administrador poder controlar vários servidores em clusters simultaneamente,
isso tal como a padronização de equipamentos reduz significativamente os
gastos com a parte de administração e suporte. A terceira foi o fato da
habilitação de serviços de infra-estrutura e de aplicativos, isso facilita tanto ao
usuário quanto ao administrador, pois evita o desperdício de tempo, a utilização
de apenas uma interface padrão que controla as demais, evita que a cada
aplicativo que desejar acessar seja utilizado um novo login ou senha.
22
1.3 Unified Modeling Language - UML
Segundo Pender (2004), a Linguagem de Modelagem Unificada (UML) é
muito utilizada na atualidade e desde que foi desenvolvida em 1994, não parou
mais de ser inovada, sendo que este padrão de modelagem OO é usado pela
maioria dos centros de tecnologia da Informática.
Ainda segundo Pender (2004), a UML foi projetada para a representação
de sistemas que utilizem a orientação a objeto, ela funciona basicamente como
se fosse uma planta de uma casa, ou melhor, ela é o modelo para o sistema a
ser desenvolvido. Pelo fato do desenvolvimento OO ter uma longa e ótima
referência, pois desde a década de 1970, vêm se desenvolvendo métodos para
se explorar o mesmo, pois cada representação gráfica elaborada mostra uma
ação de um objeto ou método usado na elaboração do sistema.
Segundo Souza e Reis (2009), a UML, linguagem visual para
especificação de sistemas orientados a objetos, dispõe da parte gráfica para os
principais pontos do desenvolvimento OO, dispondo de classes, atributos e
objetos.
Ainda segundo Souza e Reis (2009), a UML surgiu da união de
metodologias, sendo elas o método do americano Grady Booch, o Object
Modeling Technique (OMT) do sueco Ivar Jacobson e o método Object-
Oriented Software Engineering (OOSE) do Americano James Rumbaugh. Até
meados de 1990, essas três metodologias eram as mais usadas, muita ajuda
foi oferecida à união dessas tecnologias e principalmente o apoio de grandes
empresas, como a Rational Software, que apoiou e também financiou a união
das três, outras empresas que tinham atuação na área também contribuíram
com o projeto. Em 1997 a UML foi adotada pela Object Management Group
(OMG) como a linguagem padrão para a modelagem.
Arquitetura é a organização fundamental do sistema como um todo. Entre os aspectos de uma arquitetura, estão incluídos elementos estáticos, elementos dinâmicos, o modo como estes elementos trabalham juntos e o estilo arquitetônico total que guia a organização do sistema. A arquitetura também se refere a questões como desempenho, escapabilidade, reuso e restrições econômicas e tecnológicas. (SCOTT, 2003, p. 21)
23
A UML dispõe de gráficos que quando bem elaborados, proporcionam
maior facilidade para o desenvolvimento de aplicações ou sistemas, tais
gráficos como: Diagrama de Classe, Diagrama de Caso de Uso “Use Case”,
Diagrama de Sequência, Diagrama de Colaboração.
1.3.1 Classes
Uma classe pode ser definida como um elemento abstrato que
representa determinado conjunto de objetos, grupo de pessoas, animais ou
coisas com atributos semelhantes. A classe contém a especificação do objeto;
suas características: Atributos e métodos (ações e comportamento).
Segundo Silva (2008a), uma classe dispõe de atributos e métodos, onde
na primeira parte está o nome ou descrição da classe. Na segunda temos os
atributos da classe que são: “CPF, nome, telefone, status”. Na terceira que fica
bem abaixo, temos os métodos da classe, que neste caso apenas contém o
método consulta, que tem como parâmetro um valor do tipo long e retorna uma
instância da classe.
Fonte: Silva, 2008a
Figura 1. Classe
1.3.2 Diagrama de classes
24
Segundo Silva (2008a), o diagrama de classes é um dos mais utilizados
e tem sido considerado por muitos autores como o diagrama mais importante
no desenvolvimento de um projeto. Sua principal característica é a facilidade de
visualização e modelagem de uma ou mais classes e relacionamentos que
aconteçam entre elas, ainda o diagrama de classes serve para de base para os
demais diagramas, ilustrado pela figura 2.
Fonte: Silva, 2008a
Figura 2. Diagrama de Classes
1.3.3 Diagrama de Caso de Uso “Use Case”
O diagrama de Caso de Uso tem como objetivo auxiliar a comunicação
entre analista e o cliente.
Este diagrama serve para descrever um cenário e mostra as
funcionalidades do sistema do ponto de vista do usuário
Ele é representado por:
a) Atores;
b) Casos de uso;
25
c) Relacionamento entre esses elementos
Estes elementos podem ser:
a) Associação entre atores e caso de uso;
b) Generalizações entre os atores;
c) Generalizações, extends e includes entre os casos de uso.
Um caso de uso é uma sequência de ações, executadas por um ou mais atores (pessoas ou entidades não humanas fora do sistema) e pelo próprio sistema, que produz um ou mais resultados de valor para um ou mais atores. (SCOTT, 2003, p 21).
Fonte: Silva, 2008e
Figura 3. Diagrama de Caso de Uso
1.3.4 Diagrama de Sequência
Segundo Silva (2008c), basicamente o diagrama de sequência ajuda a
definir a ordem temporal das trocas de mensagens entre os envolvidos em
determinado processo, ele é baseado no desenvolvimento do diagrama de
Caso de Uso, e também no diagrama de Classes, o diagrama de Sequência
tem como seu principal objetivo determinar como irão acontecer os eventos,
como serão trocadas as mensagens, como os métodos vão interagir entre si
dentro de determinado processo e como vão ser chamados.
26
Fonte: Silva, 2008c
Figura 4. Diagrama de Sequência
1.3.5 Diagrama de Pacotes
Segundo Silva (2008d), o diagrama de Pacotes é utilizado para dividir
em pacotes lógicos, seu modelo descreve as interações entre eles em alto
nível de abstração. Este diagrama representa os demais sistemas que estão
dentro de um único, ele determina as partes que compõe o sistema em si.
Fonte: Silva, 2008d
Figura 5. Diagrama de Pacotes
27
1.3.6 Diagrama de Objetos
Segundo Silva (2008d), o diagrama de Objetos é considerado um
complemento do diagrama de Classes, fornecendo visualização dos valores
que são armazenados em um diagrama de classes, os dados que são
mostrados são de determinado ponto da execução do processo.
Fonte: Silva, 2008d
Figura 6. Diagrama de Objetos
1.3.7 Diagrama de Estrutura Composta
Segundo Silva (2008d), o diagrama de Estrutura Composta tem como
finalidade descrever a estrutura interna de determinado classificador, sendo
uma classe ou componente, mostrando a comunicação interna das pastas.
Fonte: Silva, 2008d
Figura 7. Diagrama de Estrutura Composta
28
1.3.8 Diagrama de Componentes
Segundo Silva (2008d), como o próprio nome já diz, o diagrama de
componentes apresenta uma visão do que será implementado no sistema,
onde é associado com a linguagem que o software será desenvolvido.
Fonte: Silva, 2008d
Figura 8. Diagrama de Componentes
1.3.9 Diagrama de Implantação
Fonte: Silva, 2008d
Figura 9. Diagrama de Implantação
29
Segundo Silva (2008d), o diagrama de implantação tem como finalidade
determinar necessidades físicas (hardware) de um sistema, tais como:
servidores, estações, topologias e protocolos de comunicação. Um ponto
importante é que o diagrama de Componente e o de Implantação são bastante
associados, podendo ser representados juntos ou separados.
1.4 Cascading Style Sheets - CSS
Segundo Macedo (2006), o Cascading Style Sheets (CSS) é um padrão
de páginas web, permiti-se que a página tenha uma alteração com apenas uma
modificação no arquivo, isso facilita bruscamente para o desenvolvedor, pois,
se não houver o arquivo CSS o desenvolvedor terá que modificar tag a tag de
cada página que queira com tal formatação.
Ainda segundo Macedo (2006), existe uma simples definição de estilos,
que tem variação de três formas.
a) Local: somente determinada tag recebe a modificação, em determinado
local da aplicação, tal como:
<img alt="imagem" src="imagens/imagem.jpg" stlyle="width: 500px; height: 500px"/>
b) Incorporada: dentro da própria página web já contém o arquivo CSS, então
apenas aquela página recebe determinado tratamento, tal como:
<html> <head>
<title>1 sem título</title> <style type="text/css">
body{ color: navy; font: arial;;
} </style>
</head> <body>
</body>
</html>
30
c) Externa: Define que apenas um arquivo irá ficar responsável por padronizar
todas as demais páginas, sejam quantas forem, sendo que cada uma que for
conter a determinada formatação tenha uma “tag” que estenda o arquivo CSS, ,
pode-se usar de duas maneiras, a primeira é através da “tag” <link> e a outra
pela “tag” @import.
1.4.1 Utilização da tag Link.
A linha em destaque é utilizada para a importação do arquivo CSS.
<html>
<head>
<link href="lib/arquivo.css" rel="stylesheet" type="text/css">
<title>Tag <link> </title>
</head>
<body>
</body>
</html>
1.4.2 Utilização da tag @import.
<html> <head> <style type="text/css"> <!- @import url (lib/arquivo.css); .seletor{ color:black; font-family:Arial, Helvetica, sans-serif; } --> </style> <title>Tag @import</title> </head>
<body>
</body>
</html>
A grande diferença entre os dois (link e @import) é que utilizando o
@import se consegue manter o arquivo externo de CSS, utilizando também um
estilo que está dentro da própria aplicação.
31
1.5 Hipertext Markup Language (HTML)
Segundo Marcondes (2007), HTML é a mais antiga linguagem utilizada
para aplicativos ou páginas na web, ela é baseada em uma mais antiga e muito
mais complexa que recebe o nome de Standart Generalized Markup Language
(SGML). Umas das maiores características do HTML é que ela apenas define a
estrutura básica de uma página, tornando-se apenas uma linguagem de
marcação de texto, a estrutura define apenas título, texto, subtítulo, listas e
também definindo o local de imagens, etc.
Uma página, ou um documento HTML, nada mais é do que um arquivo-texto, e pode ser editado até no Word ou EDIT, o que facilita ainda mais sua manipulação. Se você tiver o domínio total da linguagem é possível criar uma Home Page em qualquer computador. A única exigência é que salve sua página com extensão .HTM ou .HTML, não interessando em que editor de textos você fez, já que toda a formação e a manipulação de imagens são feitas por meio de comandos da linguagem. (MARCONDES, 2007, p.40).
Ainda segundo Marcondes (2007), dados recentes informam que mais
de 95% dos sites usam as tags do HTML, as opções para substituir o HTML
são limitadas e não tão rápidas, são duas as mais conhecidas, os Applets em
Java que tem menor agilidade e são úteis na geração de gráficos e desenhos,
já o outro é o Flash, que utiliza Action Script, tendo melhor desenvoltura em
animações interativas. A definição correta de Action Script é que ela tem seu
funcionamento exclusivo dentro do Macromedia Flash, a utilização de Action é
semelhante a do JavaScript utilizado no HTML.
1.6 JavaScript
Segundo Crane, Pascarello e James (2007), JavaScript não é derivada
da linguagem Java. Ela vem de outras linguagens tais como: Scheme e Self.
Também tendo similaridade com o Phyton, já o nome vem de uma jogada de
marketing da Netscape, que o tinha batizado com “livescript” depois se tornado
a tão famosa JavaScript. Uma grande diferença dela para o Java, é que em
Javascript o código pode ser escrito em uma única página de digitação, sendo
que na linguagem Java, a programação é OO.
Ainda segundo Crane, Pascarello e James (2007), o JavaScript realiza
para a pesquisa incremental três tarefas principais:
a) O usuário é monitorado através de bloqueio de ações do mouse ou do teclado;
32
b) Capacidade de enviar e receber dados do servidor;
c) Fazer com que o usuário possa interagir com o conteúdo HTML.
Segundo Truques (2009b), existem grandes diferenças entre Java e
JavaScript, apesar de existir grande similaridade entre os nomes, muitos
podem confundir, mas conhecendo bem, as diferenças são fáceis de se notar.
Fonte: Truques, 2009b
Quadro 1. Diferenças entre Java e JavaScript.
Segundo Crane, Pascarello e James (2007), diferenças entre Java e
JavaScript.
Recurso Implicações
Variáveis são fracamente tipadas
As variáveis só são declaradas como
variáveis, não como inteiros, strings ou
objetos de uma classe especifica. No
JavaScript, é valido atribuir valores de tipos
diferentes a mesma variável.
O código é interpretado dinamicamente.
Em tempo de execução. O código é
armazenado como texto e interpretado em
instruções de maquina enquanto o programa
executa, ao contrario das linguagens pré-
compiladas como Java, C e C#. Os usuários
do seu site web geralmente podem ver o
código-fonte de seu aplicativo AJAX. Alem
disso, o código pode ser gerado
dinamicamente por outro código sem recorrer
a geradores de códigos de bytes especiais.
(continua)
33
As funções JavaScript são objetos de primeira
classe.
Os métodos de um objeto Java são
amarrados ao objeto que os possui e só
podem ser invocados por esse objeto. As
funções JavaScript podem ser anexadas a
objetos para se comportar como métodos,
mas também podem ser invocadas em outros
contextos e/ou reanexadas a outros objetos
em tempo de execução.
Os objetos JavaScript são baseados em
protótipo.
Um objeto Java, C++ ou C# tem um tipo
definido, com superclasses e superclasses
virtuais ou interfaces, isso define estritamente
sua funcionabilidade. Qualquer objeto
JavaScript é apenas um objeto, que é
simplesmente um Array associado disfarçado.
Os protótipos podem ser utilizados para limitar
tipos de estilo Java em JavaScript, mas a
semelhança é superficial.
Fonte: Grane, Pascarello e James, 2007.
Quadro 2. Diferenças entre JavaScript e Java
Segundo Truques (2009a), com a utilização de JavaScript a aplicação
web tem seu potencial estendido, onde é possível fazer com que o usuário seja
forçado a fazer o correto, usando as mensagens de alerta pode-se prevenir
contra uso inadequado do software. Não só as mensagens de alerta, mais
também restrições feitas dentro da própria página deixam a aplicação segura e
ágil. Algumas restrições tais como: algarismos em campos que só podem
aceitar caracteres. Um grande exemplo é o uso do campo data, que
normalmente se utiliza apenas algarismos, exemplo: 10/10/2009, também há
exceções, tal como: 10/Out/2009.
Ainda segundo Truques (2009a), JavaScript tem como padrão para as
caixas de alerta três métodos do object window.
1.6.1 Métodos em JavaScript:
a) alert(): É fixada uma caixa de alerta, pode ser para avisar sobre uma
zona da internet desconhecida ou de perigo ao acessar a página. Quando a
caixa é afixada bloqueia-se aplicação até o usuário interagir com o alerta.
(conclusão)
34
Fonte: Truques, 2009a
Figura 10. Caixa de Dialogo com o método alert()
b) prompt(): Usa-se para incrementar dados fornecidos pelo usuário,
sendo que quando o mesmo confirma a aplicação clicando no botão “ok” é
reenviado o valor que foi escrito pelo usuário ou resposta proposta. Se no
“prompt” também estiver um botão “Cancel”, ao clicar, é utilizado um valor nulo
para o reenvio.
Fonte: truques, 2009a
Figura 11. Caixa de Dialogo com o método prompt()
c) confirm(): Como o próprio nome já diz, é uma caixa de confirmação,
quando o usuário interage com a caixa clicando em “ok” é enviado um valor
“true” e clicando em “cancel” o valor enviado é o oposto “false”.
Fonte: truques, 2009a
Figura 12. Caixa de Dialogo com o método confirm()
35
1.7 Estoque Conceitos e Custos
Para Corrêa, H.; Corrêa, C. (2005), os estoques são “acúmulos de
recursos materiais entre fases específicas de processos de transformação”.
Esses recursos armazenados seriam então uma forma de garantir a demanda
existente, tanto no que se refere à venda quanto à produção, não deixando de
ser atendidos.
Os estoques têm como função dar suporte às atividades produtivas,
sendo assim, é necessário que haja sempre produtos disponíveis em
quantidade suficiente para suprir toda e qualquer necessidade de
comercialização. Na função de suprir as vendas, os estoques visam atender às
flutuações da demanda, e por conseqüência melhorar o nível de serviço ao
cliente. Manter itens em estoque para o caso de consumidores ou programas
de produção os demandarem é uma espécie de garantia contra o inesperado
(SLACK, 2002).
Os estoques desempenham grande importância principalmente na parte
financeira, pois a partir do momento que a empresa promove o giro desses
estoques, o seu valor se transforma em dinheiro, o que traz benefícios ao fluxo
de caixa, assim há retorno sobre o investimento aplicado.
As empresas procuram preservar-se da demanda inconstante em que
todas estão sujeitas, com a utilização de técnicas para manter os seus
estoques continuamente abastecidos. É para que se possa evitar o problema
de falta de mercadorias, e por conseqüência os prejuízos relacionados às
perdas de vendas, que os estoques são necessários, apesar dos custos a eles
atribuídos.
1.7.1 Custos de estoques
O armazenamento e a manutenção dos estoques geram custos que
devem ser analisados pelo administrador de materiais. Dentre esses custos
podemos destacar:
a) Custo de pedido: está diretamente ligado aos custos
administrativos e operacionais do setor de compras, como gastos com mão de
obra, equipamentos para atividade de compra entre outros. Arnold (1999),
36
afirma que “o custo anual com pedidos depende do número de pedidos
emitidos em um ano”. Pode ser reduzido se a cada pedido forem requisitadas
mais unidades, o que resulta na emissão de menos pedidos.”
b) Custo de armazenagem: exige espaço físico, funcionários para
manuseio e manutenção do estoque, equipamentos e muito mais. Slack (1999),
acrescenta que: “Locação, climatização e iluminação do armazém podem ser
caros, especialmente quando são requeridas condições especiais, como baixa
temperatura ou armazenagem de segurança”. Entende-se que o custo de
armazenagem está diretamente ligado à quantidade de itens estocados, quanto
maior o volume de estoque, proporcionalmente terá um custo mais elevado.
c) Custo de falta: a falta de produto no estoque pode ser prejudicial
para a empresa, acarretando a perda da oportunidade de venda, deixando de
lucrar. Arnold (1999) afirma que: “Um esvaziamento de estoque pode ser
potencialmente caro por causa dos custos de pedidos não atendidos, de
vendas perdidas e de clientes possivelmente perdidos”.
d) Estoque máximo: uma quantidade elevada de um mesmo item
estocado implica em desperdício e capital parado, a quantidade considerada
acúmulo deve ser bem analisada para evitar desperdício. Segundo Slack
(2002), “os principais custos de manutenção de estoques estão geralmente
associados com o capital de giro”. Além das implicações financeiras, também
há dificuldades de ordem física, já que os excessos precisam ser devidamente
armazenados.
1.8 Modelo PEPS ou FIFO (First In, First Out)
Este modelo de avaliação consiste em determinar que as primeiras
mercadorias adquiridas sejam as primeiras a serem comercializadas, então, as
que permanecerem no estoque deverão ser provenientes das últimas compras.
“A avaliação por este método é feita pela ordem cronológica das entradas, sendo substituída pela mesma ordem cronológica em que foi recebido, devendo o seu custo real ser aplicado”. (DIAS, 1993).
O FIFO tem sido muito utilizado, pois permite uma constante atualização
dos preços, ao levar em conta que os estoques consistem nas compras mais
recentes.
37
1.9 Modelo UEPS ou LIFO (Last In, First Out)
Dias (1993), afirma que esse método de avaliação considera que devem
em primeiro lugar sair as últimas peças que deram entrada no estoque, o que
faz com que o saldo seja avaliado ao preço das últimas entradas.
Este método não deve ser utilizado na íntegra, pois o mesmo não se
refere somente ao produto, mais ao custo que lhe foi atribuído devendo ser
considerado, ou seja, deve-se atualizar o valor das mercadorias existentes no
estoque de acordo com esse critério, não necessariamente vender o produto
que foi comprado por último, pois o mesmo sofre influências como vencimento,
avarias, etc.
1.10 Modelo PVPS (Primeiro a Vencer, Primeiro a Sair)
O PVPS é o mais usado pelo ramo de supermercadistas e baseia-se no
método de avaliação de estoque PEPS (Primeiro a Entrar, Primeiro a Sair).
“Os produtos perecíveis devem ser armazenados conforme a técnica FIFO (First In First Out), ou seja, primeiro a entrar primeiro que sai, de forma a permitir que naturalmente seja observada a validade dos produtos” (VIANA, 2002)
O modelo PVPS, consiste em controlar as vendas dos produtos
perecíveis, ou seja, a mercadoria cujo vencimento é de curto prazo, tendo que
ser vendido o mais rápido possível e principalmente controlar casos
diferenciados, como propostas irrecusáveis onde as empresas ofertam
determinados produtos com preços considerados baixos de venda no mercado,
por se tratarem de produtos perecíveis que estão a 30 ou 45 dias para o
vencimento.
38
2 LEVANTAMENTO DE REQUISITOS
2.1 Análise de Mercado
A análise de mercado foi realizada com o intuito de verificar os
programas gerenciadores de estoques disponíveis no mercado e aplicar no
sistema proposto melhorias que facilitem o gerenciamento, utilizando diferentes
tecnologias, mas com a mesma intenção, de melhorar e facilitar o controle de
estoque e diminuir os prejuízos causados pela perda de produtos.
2.1.1 Best Software.
Controle de Estoque Best Software: foi desenvolvido especialmente para
atender as necessidades de controle das rotinas diárias de uma empresa de
pequeno, médio ou grande porte, atendendo qualquer ramo de atividade. Onde
pode-se realizar as principais funções de entrada e saída, encomendas e
devoluções, comissão de vendedores, e diversos relatórios. A empresa
disponibiliza suporte on-line para o software (BEST, 2010).
O sistema otimiza e organiza todos os processos de movimentação dos
produtos em estoque, possibilitando um melhor controle sobre as entradas e
saídas dos produtos, e seus relatórios possuem diversas informações que
auxiliam no trabalho do responsável (BEST, 2010).
A figura 13 demonstra a interface responsável pelo cadastro de produtos
no sistema. Nela o usuário pode fazer a pesquisa dos produtos, podendo
alterar um já existente e adicionar um novo produto. O usuário pode também
na aba imagem, adicionar uma foto do produto (BEST, 2010).
A interface responsável por permitir a saída do estoque (venda de
produto), é exibida na figura 14. Na parte superior esquerda da interface são
visualizados os dados da venda, tais como: Data, cliente, documento e
vendedor. No centro da interface são exibidos dados do produto vendido e
detalhes da venda (BEST, 2010).
39
A figura 15 exibe um dos relatórios disponibilizados pelo sistema onde
são fornecidas informações sobre as posições físicas de armazenamento dos
produtos.
Fonte: Best , 2006
Figura 13. Cadastro de produtos - Controle de Estoque, Best Software
Fonte: Best, 2006
Figura 14. Saída de produtos - Controle de Estoque, Best Software
40
Fonte: Best, 2006
Figura 15. Relatório de produtos
2.1.2 Controle de Estoque 9.0
É um programa que possibilita fazer entradas, saídas, estornos,
monitoramento da movimentação do estoque e diversos relatórios, tais como:
listas de preços, lista de itens no estoque, movimentação de estoque em geral,
por produto e por tipo de saída. Possui a base de dados FireBird, além de usar
a linguagem Delphi 7. O aplicativo permite dividir o estoque por áreas como
classes e fornecedores, mantendo assim o nível de organização mínimo para o
bom funcionamento do negócio. Com ele o usuário tem controle físico total do
estoque, além do seu fluxo de caixa e orçamento, cadastro de clientes e
fornecedores, contas a pagar/receber e muito mais. O sistema permite controle
de acesso de usuários com configuração de permissões, assim como as
41
comissões de vendedores. Os produtos em estoque podem ser organizados
por grupos e sub-grupos, cadastrados por código numérico, alfanumérico ou
código de barras (ESTOQUE, 2010).
A figura 16 exibe a interface responsável pelo cadastro de fornecedores
no sistema, o usuário pode informar um código e pesquisar se há fornecedor
associado ao código, se não existir o cadastro pode ser efetuado (ESTOQUE,
2010).
A figura 17 exibe a interface responsável pelo cadastro de empresas no
sistema com os seguintes atributos: Empresa, endereço, cidade, estado, CPNJ
e Inscrição estadual (ESTOQUE, 2010).
Fonte: Estoque, 2010
Figura 16. Cadastro de fornecedores
Fonte: Estoque, 2010
Figura 17. Cadastro de empresa
42
2.2 Documentos de Requisitos
2.2.1 Visão geral do sistema
O sistema para controle de estoque trata do gerenciamento de produtos
dentro do almoxarifado. É um sistema voltado para o controle de estoque de
supermercados, onde existem diversos itens perecíveis, ele trata o
gerenciamento das saídas pelos itens com vencimentos mais próximos. O
gerenciamento é realizado de forma rápida e eficaz, o que diminui o erro
humano na manipulação dos produtos dentro do estoque, assim tornando o
processo mais eficiente. O sistema tem controle sobre a saída, entrada e
cadastro dos produtos, e emitem diversos tipos de relatórios, esses relatórios
possuem diversas informações sobre os produtos e suas condições, tais como:
restante de dias para o vencimento, produto vencido, data de entrada do
produto, quantidade disponível de produto e de cada entrada do mesmo,
solicitações pendentes e solicitações atendidas. Com essas informações o
usuário pode fazer uma manutenção preventiva dos produtos, o que evita a
perda de produtos.
2.2.2 Requisitos funcionais
a) O sistema deve permitir a inclusão, alteração de produto com os
seguintes atributos: código, descrição do produto, categoria, estoque
máximo, estoque mínimo e unidade de medida.
b) O sistema deve permitir que o usuário faça uma ou mais entradas, com
os seguintes atributos: descrição do produto, unidade medida,
quantidade, data de validade, data da entrada.
c) O sistema deve permitir que o usuário faça uma ou mais saídas, com os
seguintes atributos: descrição do produto, unidade de medida,
quantidade, data da saída.
d) O sistema deve permitir que o usuário faça uma ou mais solicitações de
produtos para o fornecedor com os seguintes atributos: código
solicitação, descrição do produto, data da solicitação e quantidade.
43
e) O sistema deve permitir a inclusão, alteração de fornecedor com os
seguintes atributos: razão social, inscrição estadual, CNPJ, nome
fantasia, rua, numero, bairro, cidade, CEP, UF (Unidade da Federação),
país, telefone, e-mail, notas e observações.
f) O sistema deve permitir o atendimento de solicitações de produtos com
os seguintes atributos: descrição do produto, quantidade, data de
solicitação, data do atendimento.
2.2.3 Impressão de diversos tipos de relatórios e consultas.
a) O sistema deve permitir o processamento de relatórios com listagem dos
produtos em estoque com os atributos a seguir: código do produto,
descrição, estoque máximo, estoque mínimo, estoque atual, categoria,
unidade de medida.
b) O sistema deve permitir o processamento de relatórios de situação do
produto dentro do estoque com os seguintes atributos: código da
entrada do produto, código do produto, descrição, quantidade da
entrada, vencimento, dias para vencer e quantidade disponível.
c) O sistema deve permitir o processamento de relatórios de listagem saída
de produtos do estoque com os seguintes atributos: código de saída,
código produto, descrição do produto, categoria, quantidade retirada,
data saída.
d) O sistema deve permitir o processamento de relatórios de entrada de
produtos, com os seguintes atributos: código de entrada, código produto,
descrição, categoria, quantidade de entrada, quantidade disponível por
entrada, data de vencimento e data entrada.
e) O sistema deve permitir o relatório de solicitações pendentes, com
atributos que facilitam a visualização, tais como: código da solicitação,
código produto, descrição, quantidade solicitada, data atendimento que é
44
o controlador principal da solicitação, pois sempre quando uma
solicitação não for atendida a mesma estará com a data de atendimento
“Pendente”.
f) O sistema deve permitir o relatório de solicitações atendidas com os
seguintes atributos: código da solicitação, código do produto, descrição,
quantidade solicitada e data do atendimento.
2.2.4 Processamentos
a) O sistema deve gerenciar as saídas dos produtos através da data de
vencimento.
45
2.3 Diagrama de Classes do sistema completo
Fonte: Elaborado pelos autores, 2009
Figura 18. Diagrama de Classes completo.
46
A figura 18 é responsável por demonstrar o diagrama de classes
completo do sistema. Poderá ser implementado futuramente.
O diagrama a seguir trata-se da implementação atual do sistema
2.4 Diagrama de Classes implementado
Fonte: Elaborado pelos autores, 2011
Diagrama de classes implementado no sistema
47
3 ANÁLISE ORIENTADA A OBJETOS
3.1.1 Lista de Casos de Uso
Fonte: Elaborado pelos autores, 2010
Quadro 3. Lista de Caso de Uso
Nº Descrição Evento Caso de Uso Resposta
01 Usuário cadastra
produto Dados Produto Cadastrar Produto Msg01
02 Usuário cadastra
solicitação de compra
Dados
Solicitação de
Compra
Cadastrar Solicitação
de Compra Msg02
03 Usuário atende
solicitação pendente
Dados
solicitação
pendente
Cadastrar
atendimento de
solicitação pendente
Msg03
04
Usuário cadastra
entrada de produto no
estoque
Dados entrada
de produto
Cadastrar entrada e
atualizar produto Msg04
05 Usuário cadastra saída
de produto no estoque
Dados saída de
produto
Cadastrar saída e
atualizar produto Msg05
06 Usuário cadastra
Fornecedor
Dados
Fornecedor
Cadastrar
Fornecedor Msg06
07 Usuário solicita
relatório de estoque
DadosRelEstoqu
e GerarRelEstoque Rel01
08
Usuário solicita
relatório de saída de
produtos do estoque
DadosRelSaidaP
rod
GerarRelSaidaProdu
tos Rel03
09
Usuário solicita
relatório de entrada de
produtos
DadosRelEntrad
aProd GerarRelEntProd Rel04
10
Usuário solicita
relatório de situação de
produtos
DadosRelSituaç
ãoProd
Gerar
RelSituacaoProd Rel05
11
Usuário solicita
relatório de Solicitação
Pendente
DadosRelSolPen
dente
GerarRelSolPendent
e Rel06
12
Usuário solicita
relatório de Solicitação
atendida
DadosRelSolAte
ndida
GerarRelSolAtendid
a Rel07
48
3.2 Diagrama de Casos de Uso
3.2.1 Use case 01 – Usuário cadastra produto
Fonte: Elaborado pelos autores, 2010
Figura 19. Diagrama de Use Case – Cadastro de produto
3.2.2 Use case 02 - Usuário cadastra solicitação de compra
Fonte: Elaborado pelos autores, 2010
Figura 20. Diagrama de Use Case – Cadastro solicitação de compra
49
3.2.3 Use case 03 - Usuário atende solicitação pendente.
Fonte: Elaborado pelos autores, 2010
Figura 21. Diagrama de Use Case – Cadastro solicitação pendente
3.2.4 Use case 04 - Usuário cadastra entrada de produto no estoque
Fonte: Elaborado pelos autores, 2010
Figura 22. Diagrama de Use Case – Cadastro entrada produto estoque
50
3.2.5 Use case 05 - Usuário cadastra saída de produto no estoque
Fonte: Elaborado pelos autores, 2010
Figura 23. Diagrama de Use Case – Cadastro saída produto estoque
3.2.6 Use case 06 - Usuário cadastra fornecedor
51
Fonte: Elaborado pelos autores, 2010
Figura 24. Diagrama de Use Case – Cadastro Fornecedor
3.2.7 Use case 07 – Usuário solicita relatório
Fonte: Elaborado pelos autores, 2010
Figura 25. Diagrama de Use Case – Gerar relatório
52
4 PROJETO DE BANCO DE DADOS
Para a realização do trabalho escolheu-se para o sistema gerenciador
de banco de dados o Oracle Database Express Edition, um software gratuito,
trabalha com linguagem SQL, de fácil manipulação e com uma capacidade de
armazenamento de dados razoável para a criação do sistema.
4.1 Tabelas
Tabela: USUARIO
Chave-Primária (PK): codUsuario
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
codUsuario Numero 5 Não
nomeUsuario Texto 30 Não
dtAdmissao Data - Não
setorFuncionario Texto 30 Não
Fonte: Elaborado pelos autores, 2009
Quadro 4. Estrutura da tabela de usuario
Tabela: CATEGORIAPRODUTO
Chave-Primária (PK): codCategoria
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
codCategoria Numero 5 Não
nomeCategoria Texto 30 Não
Fonte: Elaborado pelos autores, 2009
Quadro 5. Estrutura da tabela de categoria de produto
Tabela: UNIDADEMEDIDA
Chave-Primária (PK): codUnidade
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
codUnidade Numero 5 Não
descricaoUnidade Texto 15 Não
Fonte: Elaborado pelos autores, 2009
Quadro 6. Estrutura da tabela de unidade de medida
53
Tabela: PRODUTO
Chave-Primária (PK): codProduto
Chave-Estrangeira(FK):codCategoria(categoriaProduto.codCategoria),
codUnidade(unidadeUnidade.codUnidade)
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
codProduto Numero 5 Não
descricaoProduto Texto 30 Não
estoqueMax Numero 6 Não
estoqueMin Numero 6 Não
codCategoria Numero 5 Não
codUnidade Numero 5 Não
Fonte: Elaborado pelos autores, 2009
Quadro 7. Estrutura da tabela de produtos
Tabela: SOLICITACAO
Chave-Primária (PK): codSolicitacao.
Chave-Estrangeira (FK): codUsuario (usuario.codUsuario), codigoProduto
(produto.codProduto).
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
dtSolicitacao Data - Não
codSolicitacao Numero 5 Não
codUsuario Numero 5 Não
codigoProduto Numero 5 Não
qndSolicitada Numero 5 Não
dtAtendimento Data - Sim
Fonte: Elaborado pelos autores, 2009
Quadro 8. Estrutura da tabela de solicitacao
Tabela: SAIDA
Chave-Primária (PK): codSaidaProduto
Chave-Estrangeira(FK):codProduto(produto.codProduto),
codUsuario(usuário.codUsuario)
54
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
qtdeSaidaProduto Numero 6 Não
dtRetiradaProduto Data - Não
codSaidaProduto Numero 5 Não
codProduto Numero 5 Não
codUsuario Numero 5 Sim
Fonte: Elaborado pelos autores, 2009
Quadro 9. Estrutura da tabela de saída de produtos no estoque
Tabela: ENTRADAPRODUTOESTOQUE
Chave-Primária (PK): codEntradaProdutoEstoque
Chave-Estrangeira (FK): codProduto(produto.codProduto)
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
qtdeProdutoEntrada Numero 6 Não
dtValidadeProduto Data - Não
dtEntrada Data - Não
codEntradaProdutoEstoque Numero 5 Não
codProduto Numero 5 Não
qtdeDisponivel Numero 5 Não
Fonte: Elaborado pelos autores, 2009
Quadro 10. Estrutura da tabela de entrada de produtos no estoque
Tabela: PEDIDO
Chave-Primária (PK): codPedido
Chave-Estrangeira (FK): codFornecedor(fornecedor.codFornecedor)
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
codPedido Numero 5 Não
dtPedido Data - Não
dtPrevEntrega Data - Não
observacaoSituacao Texto 30 Sim
codFornecedor Numero 5 Não
Fonte: Elaborado pelos autores, 2009
Quadro 11. Estrutura da tabela de pedido de produto
55
Tabela: FORNECEDOR
Chave-Primária (PK): codFornecedor
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
codFornecedor Numero 5 Não
razaoSocial Texto 60 Não
nomeFantasia Texto 30 Não
cnpj Texto 18 Não
inscricaoEstadual Texto 15 Não
endRua Texto 30 Não
endNumero Texto 10 Não
endBairro Texto 30 Não
endCidade Texto 30 Não
endEstado Texto 2 Não
endPais Texto 10 Não
endCep Texto 9 Não
telefone Texto 15 Sim
email Texto 60 Sim
notasObs Texto 100 Sim
Fonte: Elaborado pelos autores, 2009
Quadro 12. Estrutura da tabela de fornecedor
Tabela: ITENSPEDIDO
Chave-Primária (PK): codPedido , codProduto
Chave-Estrangeira(FK):codProduto(produto.codProduto),
codPedido(pedido.codPedido)
Nome do Campo Tipo de Dado Tamanho Permite Nulo?
qtdeItensPedido Numero 6 Não
codPedido Numero 5 Não
codProduto Numero 5 Não
precoItensPedido Numero 6 Não
Fonte: Elaborado pelos autores, 2009
Quadro 13. Estrutura da tabela de itens pedidos
56
5 PROJETO ORIENTADO A OBJETOS
5.1 Diagramas de Seqüencias
5.1.1 Usuário solicita cadastro de produto
Fonte: Elaborado pelos autores, 2010
Figura 26. Diagrama de Seqüência: Usuário solicita cadastro de produto
57
5.1.2 Usuário cadastra entrada de produto no sistema
Fonte: Elaborado pelos autores, 2010
Figura 27. Diagrama Sequência: Usuário cadastra entrada de produto.
58
5.1.3 Usuário cadastra saída de produto no estoque
Fonte: Elaborado pelos autores, 2010
Figura 28. Diagrama Sequência: Usuário cadastra saída de produto
59
6 IMPLEMENTAÇÃO ORIENTADA A OBJETOS
6.1 Layout de Interfaces
A principal linguagem utilizada no desenvolvimento das interfaces foi a
linguagem Java. Outros recursos também são utilizados em conjunto para
obtenção das funcionalidades das interfaces. Alguns dos recursos utilizados
são: AJAX para tratamento de campos e demais efeitos visuais e SQL para
manipulação de dados no banco de dados.
A seguir são apresentadas as interfaces do sistema e suas
funcionalidades.
6.1.1 Tela inicial
Fonte: elaborado pelos autores, 2011
Figura 29. Tela inicial
60
A figura 29 apresenta a tela inicial de abertura do sistema. Sendo
responsável por disponibilizar o acesso através de menus, para todas as
opções de cadastros, movimentações e relatórios disponibilizados pelo
sistema.
O menu apresentado fica disponível durante toda a navegação nos
diversos itens disponibilizados pelo sistema, exceto quando é gerado algum
relatório, sendo assim o menu principal de navegação.
6.1.2 Manutenção de Produtos
Fonte: elaborado pelos autores, 2011
Figura 30. Interface de manutenção de produtos
A figura 30 apresenta um sub-menu do menu principal.
Este sub-menu possibilita o acesso a manutenção de produtos e às
movimentações de entradas e saídas deles.
61
6.1.3 Interface de manutenção de produtos
Fonte: Elaborado pelos autores, 2011
Figura 31. Manutenção de produto
A figura 31 apresenta a interface de manutenção de produtos.
Alguns recursos que facilitam a operação por parte dos usuários foram
adicionados a esta interface, um exemplo é a pesquisa de produtos digitando-
se apenas parte do seu nome.
Ao digitar qualquer letra, o sistema busca no banco de dados os
produtos cadastrados que iniciem com sequência digitada. Se existirem
produtos que contenham os caracteres digitados, o sistema cria um dropdown
com as descrições destes produtos. Escolhendo-se um dos produtos exibidos,
o sistema preenche os demais dados, e permite a alteração dos mesmos. Caso
nenhum produto seja localizado o sistema possibilita o cadastramento de um
novo com a descrição já informada.
As caixas de seleção referentes a categorias e unidades de medida são
pré-definidas pelo sistema, armazenadas no banco de dados. Todos os
campos do cadastro de produtos são obrigatórios, ou seja, não permite que
62
sejam inseridos sem nenhuma informação. Se o usuário tentar inserir o produto
faltando alguma informação, o sistema não completará o cadastro e exibirá um
alerta de erro no sistema, podendo ser completado o cadastro preenchendo
todos os campos da tela.
6.1.4 Interface de produto cadastrado
Fonte: elaborado pelos autores, 2011
Figura 32. Produto Cadastrado
A figura 32 apresenta o produto cadastrado no sistema exibindo seu
código.
Para atualizar um produto já existente, o usuário deve digitar a descrição
do produto e alterar os dados desejados. O sistema mostrará a mesma
mensagem de produto cadastrado/alterado, modificando somente o que foi
alterado pelo usuário, não alterando o código do produto já existente.
63
6.1.5 Interface de entrada de produtos no estoque
A figura 33 é responsável por apresentar a interface de entrada de
produtos no estoque.
Para fazer uma entrada é necessário que o usuário informe um produto
existente no banco de dados do sistema, evitando assim efetuar uma entrada
com um produto que não esteja cadastrado.
Buscando manter maior facilidade e controle do administrador do
estoque foi implementado o mesmo recurso utilizado no cadastro e alteração
de produto, onde ao digitar uma sequência de letras o sistema busca os dados
correspondentes e mostra na interface. Escolhendo-se um dos produtos
exibidos, o sistema preenche os demais dados referentes à informação do
produto cadastrado no sistema.
Para concluir a entrada o usuário deve informar os dados que não foram
preenchidos pelo sistema, no caso, quantidade de produto que está entrando
no estoque e data de validade do mesmo. Ao retirar o cursor do campo
quantidade, o sistema faz uma verificação da quantidade disponível, somando
a quantidade digitada pelo usuário e informa se a mesma ultrapassou o
estoque máximo permitido. Feito o procedimento o usuário conclui a entrada.
No campo quantidade foi elaborada uma função que calculasse a soma da
quantidade disponível do produto, onde é somada com a quantidade informada
para a entrada, e caso ultrapasse o estoque máximo, o sistema exibe uma
mensagem de alerta, informando que a quantidade inserida mais a quantidade
atual é maior que a quantidade máxima, mas conclui a entrada.
Fonte: Elaborado pelos autores, 2011
Figura 33. Entrada de produto
64
6.1.6 Interface de entrada inserida
Fonte: Elaborado pelos autores, 2011
Figura 34. Entrada inserida
A figura 34 apresenta a entrada de produto no sistema exibindo o código
de entrada.
Ao concluir a entrada o sistema exibe uma tela de alerta, mostrando ao
usuário que a entrada foi inserida com sucesso, informando o código da
mesma e atualizando a quantidade disponível do produto.
6.1.7 Interface de saída de produto no estoque
Fonte: Elaborado pelos autores, 2011
Figura 35. Saída de produto
65
Na figura 35 é exibida a interface de saída de produto do estoque.
Como nas interfaces de cadastro e entrada de produto no estoque, esta
utiliza dos mesmos recursos apresentados.
Ao digitar uma sequência de letras o sistema faz a busca dos itens
correspondentes e informa os produtos cadastrados. Escolhendo um dos
produtos exibidos o sistema preenche os demais dados, o que ao usuário dar
continuidade ao processo.
Um dos campos exibidos pelo sistema é o estoque atual, onde o usuário
deve ficar atento, pois ao inserir a quantidade de produto que deseja retirar do
estoque o sistema verifica se a quantidade retirada é maior que a quantidade
disponível no estoque atual. Caso a quantidade retirada seja maior, o sistema
exibe uma mensagem de erro e não permite que o usuário conclua a saída. O
mesmo caso acontece quando o usuário tenta fazer uma saída de produto com
a quantidade zero (0), o sistema informa que não pode ser feita uma retirada
com zero.
Ao informar a quantidade correta para retirada do estoque e executando
a saída, foi desenvolvida uma função que o sistema verifica as datas de
validade dos produtos de todas as entradas efetuadas do produto a ser
retirado, pega-se a quantidade disponível das entradas mais próximas para o
vencimento.
Para o gerenciamento do estoque o sistema utiliza o método PVPS, com
isso para cada saída efetuada é feita uma verificação em cada entrada do
produto a ser retirado, verifica-se a quantidade e são eliminadas as entradas
que tiverem com quantidade disponível igual a zero. Evitando que produtos
com a data de validade próxima fiquem parados no estoque e ocorra a perda
do mesmo.
6.1.8 Manutenção da solicitação
A figura 36 apresenta um sub-menu do menu solicitação.
66
Este sub-menu possibilita o acesso a fazer uma solicitação de um
determinado produto que esta com baixa quantidade no estoque, visualiza e
conclui as solicitações que foram efetuadas no sistema.
Fonte: Elaborado pelos autores, 2011
Figura 36. Sub-menu solicitação
6.1.9 Interface solicitação de produto
Fonte: elaborado pelos autores, 2011
Figura 37. Solicitação de produtos no sistema
67
A figura 37 é responsável por apresentar a interface de solicitação de
produto no sistema.
Nela utiliza-se dos mesmos recursos apresentados nas interfaces
anteriores, o que facilita a interação do usuário com o sistema.
Ao digitar o produto desejado para fazer uma solicitação o sistema
informa a data da solicitação, o usuário é responsável por fornecer a
quantidade de produto que deseja fazer a solicitação.
Ao concluir esta etapa é feita uma solicitação, onde o usuário
gerenciador do estoque pode verificar as solicitações executadas no sistema
através de um relatório, sendo assim, obtendo maior controle de produtos a
serem solicitados.
6.1.10 Interface de solicitações efetuadas no sistema
Fonte: elaborado pelos autores, 2011
Figura 38. Atendimento de solicitações efetuadas no sistema
68
Na figura 38 é visualizada a interface de atendimento das solicitações.
Nesta interface são utilizados os mesmos recursos que foram
implementados nas anteriores, mas com um diferencial. No dropdown das
anteriores são mostrados todos os produtos cadastrados no sistema, na
interface de atendimento das solicitações são mostrados somente os produtos
que estão com solicitações em aberto, ou seja, produtos que tiveram uma
solicitação e ainda não foram concluídos. Desta forma, serão mostrados para o
usuário os produtos para que ele possa concluir a solicitação. Feito isso, os
produtos solicitados saem desta lista e podem ser visualizados no relatório de
solicitações atendidas.
6.1.11 Interface de sub-menu de relatório
Fonte: Elaborado pelos autores, 2011
Figura 39. Interface de sub-menu de relatórios
Na figura 39 é possível ver a interface de sub-menu de relatórios que o
sistema gerenciador de estoque fornece para o usuário.
69
Nela os relatórios foram separados de uma forma que facilitasse a
visualização do usuário.
Os relatórios de produtos são separados da seguinte forma:
a) Relatório de produtos cadastrados no sistema;
b) Relatório de produtos solicitados;
c) Relatórios de solicitações atendidas.
Para melhor controle dos produtos cadastrados no sistema, foram
desenvolvidos relatórios que possibilitam a separação dos produtos por
categorias. Para cada nova categoria cadastrada no sistema, é gerado um
novo link para relatório.
Foram desenvolvidos também relatórios que separassem os produtos
por processo, para melhor entendimento do usuário, tais como:
a) Entrada de produtos
b) Saída de produtos
c) Situação de cada entrada de produtos
6.1.12 Interface do relatório de produtos cadastrados no sistema
Fonte: Elaborados pelos autores, 2011
Figura 40. Relatório de produtos cadastrados
70
A figura 40 é responsável por apresentar a interface de relatório de
produtos cadastrados no sistema.
Nela podem-se ver todos os produtos cadastrados ordenados por ordem
alfabética e categoria, para melhor visualização na interface é mostrado o
código, a descrição, o estoque máximo, estoque mínimo, estoque atual,
categoria e unidade de medida do produto.
6.1.13 Interface do relatório de solicitação de produtos
Fonte: Elaborado pelos autores, 2011
Figura 41. Relatório de produtos solicitados
A figura 41 é responsável por apresentar a interface do relatório de
produtos solicitados.
Nela são visualizados todos os produtos que tiveram uma solicitação
executada, mostrando o código da solicitação, código do produto, descrição,
quantidade, data da solicitação e dia de atendimento.
O campo data de atendimento é o controle que o usuário tem sobre as
solicitações, pois quando o campo esta com a informação “Pendente” o usuário
tem a certeza que esta solicitação não foi atendida.
71
6.1.14 Interface do relatório de solicitações atendidas
A figura 42 representa a interface do relatório de solicitações atendidas.
Nela o usuário só consegue ver as solicitações que tiveram conclusão. A
interface mostra para o usuário código da solicitação, código do produto,
descrição, quantidade, data da solicitação e data de atendimento da
solicitação.
Fonte: Elaborado pelos autores, 2011
Figura 42. Relatório de solicitações atendidas
6.1.15 Interface do relatório de entrada de produto no estoque
Fonte: Elaborado pelos autores, 2011
Figura 43. Relatório de entrada de produtos
72
A figura 43 é responsável por apresentar a interface do relatório de
entradas feitas no sistema.
Nela é visualizado o código da entrada, código do produto, descrição,
categoria, quantidade de entrada, quantidade disponível por entrada,
vencimento e data da entrada do produto.
O campo quantidade disponível é responsável por informar o usuário
quantos produtos ainda restam da entrada. Pois quando o usuário faz uma
saída o sistema verifica no produto as entradas que foram inseridas, e assim
retira o produto da entrada mais próxima do vencimento. Dessa forma o
usuário consegue ver quantos produtos ainda existem no estoque referente à
entrada.
Quando o campo quantidade disponível está com o valor zero, é sinal
que foram retirados todos os produtos do estoque desta entrada.
6.1.16 Interface do relatório de saída de produtos do estoque
Fonte: Elaborado pelos autores, 2011
Figura 44. Relatório de saída de produto
73
A figura 44 é responsável por apresentar a interface do relatório de saída
de produtos.
Nela são mostrados ao usuário todos os produtos que tiveram saída no
estoque com o código de saída, código do produto descrição categoria
quantidade retirada do produto e data da retirada.
Com este relatório o usuário tem o controle de todos os produtos e
quantidades que foram retirados do estoque.
6.1.17 Interface do relatório de situação do produto por entrada
Fonte: Elaborado pelos autores, 2011
Figura 45. Relatório de situação de produtos
A figura 45 é responsável por apresentar a interface do relatório de
situação do produto pelas entradas no sistema.
Nela é mostrado ao usuário o código da entrada, código do produto,
descrição, quantidade da entrada, quantidade disponível por entrada,
vencimento e quantos dias faltam para o vencimento do produto de cada
entrada realizada. Com isso facilita ao usuário a obtenção do controle dos dias
restantes para cada entrada do produto.
74
CONCLUSÃO
Os estoques desempenham grande importância principalmente
financeiramente falando, pois a partir do momento que a empresa promove o
giro desses estoques, o seu valor se transforma em dinheiro, o que vem a
beneficiar o fluxo de caixa trazendo retorno sobre o investimento aplicado.
Por este motivo o controle informatizado de estoque tem se tornado uma
necessidade competitiva nas empresas.
O ramo de supermercados, pela característica de trabalhar com
produtos perecíveis, tem uma necessidade ainda maior de controles mais
exatos dos seus estoques.
O presente trabalho apresenta alguns softwares que serviram de base
para o aprendizado de formas e métodos para construção de um software para
controle de estoques.
Em conjunto com a teoria sobre estoques apresentada e os conteúdos
estudados durante o curso, orientaram a construção do software de controle de
estoque proposto inicialmente.
Diversas tecnologias que atingem desde a fase de análise até a
implementação final do software foram utilizadas, permitindo assim uma
aplicação bastante prática de todas elas.
O desenvolvimento de um sistema de gerenciamento de estoque,
utilizando a tecnologia J2EE foi uma experiência gratificante que nos permitiu a
execução de um projeto diferenciado.
Entretanto, a implementação do sistema ocorreu de forma parcial devido
à dificuldade no tratamento de datas, pois em Java as datas requerem atenção
dobrada, para não haver conflito com banco de dados e interface, sendo assim,
foram desenvolvidas algumas funcionalidades, tais como:
a) Cadastro de produtos no estoque
b) Entrada e saída de produtos no estoque
c) Tratamento de data de vencimento dos produtos em estoque
d) Cadastros de usuários
e) Solicitações de produtos
75
f) Atendimento de solicitações pendentes.
O resultado final é o amadurecimento de todos os nossos
conhecimentos que podem ser verificados através do software apresentado.
Como trabalhos futuros podemos citar:
a) Autenticação de usuários com tela de login
b) Elaboração de relatórios por data solicitada pelo usuário
c) Interface para cadastro de categoria de produto
d) Interface de cadastro de unidade de medida.
e) Cadastro de pedidos.
f) Cadastro e alteração de Fornecedores.
g) Interface de cadastro de usuários
76
REFERÊNCIAS
ABBEY, M.; COREY, J. J.; AMBRAMSON I. AJAX em Ação. Tradução de João N. Tortello, São Paulo, Campus Ltda, 2000. ARNOLD, J. R. Tony. Administração de materiais: uma introdução. São Paulo: Atlas, 1999. BEST. Sistema de controle de estoque, Best Software. Disponível em:<http://www.bestsoftware.com.br/licoes/estoque/Estoque.html>. Acesso em: 12/10/2010. 2006 CORREIA, J. Gerências Econômicas de Estoques e Compras, Rio de Janeiro, Fundação Getulio Vargas, 1975. CORRÊA, Henrique L, CORRÊA, Henrique A. Administração de produção e de operações: manufatura e serviços: uma abordagem estratégica. São Paulo: Atlas, 2005. CRANE, D.; PASCARELLO, E.; JAMES, D. AJAX em Ação, São Paulo, Erica Ltda., 2007. DIAS, Marco Aurélio P. Administração de materiais: uma abordagem logística. 4. ed. São Paulo: Atlas, 1993. DIAS, M. A. Administração de Materiais, 4ª edição, Editora Atlas, 1995. ESTOQUE. Controle de Estoque 9.0. Disponível em:< http://ziggi.uol.com.br/downloads/controle-de-estoque>. Acesso em 12/10/2010. 2010 HOPSON, K. C.; IGRAN, S. E. Desenvolvendo APPLETS com Java, Tradução de Vandenberg Dantas de Souza, Rio de Janeiro, Campus Ltda., 1997. KÖLLING, M.; BARNES, J. D. Programação Orientada a Objetos com Java. Uma Introdução Pratica Utilizando Blue J. São Paulo, Pearson Prentice Hall, 2004.
MACEDO, M. S. Css (Folhas de Estilos), Dicas & Truques, Rio de Janeiro,
Ciência Moderna, 2006.
MARCONDES, C. A. HTML 4.0, A Base da Programação para WEB, São
Paulo, Erica Ltda, 2007.
ORACLE B. Sistema gerenciador de Banco de dados Oracle, Oracle Brasil, [s.l]. Disponível em:<
77
http://www.oracle.com/global/br/corporate/corpoverview1.html>. Acesso em: 10 out. 2009a. ORACLE B. Sistema gerenciador de Banco de dados Oracle, Oracle Brasil, [s.l]. Disponível em:< http://www.oracle.com/global/br/corporate/simplify.html>. Acesso em: 10 out. 2009b. ORACLE B. Sistema gerenciador de Banco de dados Oracle, Oracle Brasil, [s.l]. Disponível em:< http://www.oracle.com/global/br/corporate/standardize.html>. Acesso em: 10 out. 2009c. ORACLE B. Sistema gerenciador de Banco de dados Oracle, Oracle Brasil, [s.l]. Disponível em:< http://www.oracle.com/global/br/corporate/automate.html>. Acesso em: 10 out. 2009d. PENDER, T. UML. A Bíblia. Rio de Janeiro - Campus Ltda. – 2004.
PEREIRA, R. Guia de Java na WEB. Preparatório para certificado SCWCP. Rio de Janeiro – Ciência Moderna – 2006. RAMALHO J. A. Oracle 10g. Ideal para quem deseja iniciar o aprendizado da Oracle – São Paulo, Thomson Learning. 2005 .
REIS, D. R. A. Sistemas básicos de Controle de estoques – Conceitos e Analises; São Paulo - Atlas (1974). SAPATA, Impactos da informatização na gestão de Supermercados. Universidade Presbiteriana Mackenzie, São Paulo, 09 jan. 2007. Disponível em http://www.mackenzie.com.br/portal/principal.php. Acesso em: 24 ago. 2009. SCOTT, K. O Processo Unificado Explicado – Traduzido por Ana M. de Alencar
Price, Porto Alegre – Bookman. 2003.
SLACK, N; CHAMBERS, S; JOHNSTON, R. Administração da Produção,
São Paulo, Editora Atlas, 2ª Edição; 2002.
SLACK, Nigel. Administração da produção. São Paulo: Atlas, 1999. SILVA, P. C. B. Utilizando UML: Diagrama de Classes, São Paulo, Edição 63,
Ano 5, Pág. 10 – 18; 2008a.
SILVA, P. C. B. Utilizando UML: Diagrama de Objetos, São Paulo, Edição 64,
Ano 5, Pág. 15 – 18; 2008b.
SILVA, P. C. B. Utilizando UML: Diagrama de Sequencia, São Paulo, Edição
64, Ano 5, Pág. 10 – 15; 2008c.
78
SILVA, P. C. B. Utilizando UML: Introdução a Linguagem de Modelagem
Unificada, São Paulo, Edição 62, Ano 5, Pág. 8, 16; 2008d.
SILVA, P. C. Utilizando UML: Diagrama de Caso de Uso. São Paulo, Edição 62, Ano 05, Pág. 8 – 16; 2008e.
SOUZA, C. REIS, R. Utilizando UML, , [s.l]. Disponível em: < http://www.ufpa.br/cdesouza/teaching/cedai/4-uml-introduction.pdf> Acesso em: 23 nov. 2009. TRUQUES e D. JavaScript , Truques e Dicas, [s.l]. Disponível em: <http://www.truquesedicas.com/tutoriais/javascript/00013a.htm> Acesso em: 21 nov. 2009a. TRUQUES e D. JavaScript , Truques e Dicas, [s.l]. Disponível em:<http://www.truquesedicas.com/tutoriais/javascript/00002a.htm>. Acesso em: 21 nov. 2009b. VIANA, João José. Administração de materiais: um enfoque prático. São Paulo: Atlas, 2002.
79
GLOSSÁRIO
Software - ou programa de computador é uma sequência de instruções
a serem seguidas e/ou executadas, na manipulação, redirecionamento ou
modificação de um dado/informação ou acontecimento.
Applets - é um software aplicativo que é executado no contexto de outro
programa (como por exemplo, um web browser), uma applet geralmente
executa funções bem específicas. Os Applets geralmente tem algum tipo de
interface de usuário, ou fazem parte de uma destas dentro de uma página da
web. Isso os distingue de programas escritos em uma linguagem de
programação de scripting (como JavaScript) que também roda em um contexto
de um programa cliente maior, mas não podem ser considerados applets.