Buscar

53350

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

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 sempreque 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 PRODUTOCADASTRADO........................................................ 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 PacotesSegundo 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 tempode 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. 
 
 
 
 
 
382 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 
http://ziggi.uol.com.br/downloads/controle-de-estoque
http://ziggi.uol.com.br/downloads/controle-de-estoque
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 deClasses 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 cadastraentrada 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

Outros materiais