Você está na página 1de 103

ANHANGUERA EDUCACIONAL S.A.

Faculdade Anhanguera de Limeira


Curso de Cincia da Computao

Hudson Ribeiro,
Julian Santos
e Leonardo Souza

Aplicao Java para controle de estoque


Professor Orientador: Esp. Andr Ricardo Jovetta

Limeira
2012

Hudson Ribeiro,
Julian Santos
e Leonardo Souza

Aplicao Java para controle de estoque

Monografia apresentada, como


exigncia parcial para a obteno do grau
de Bacharel em Cincia da Computao,
na Anhanguera Educacional S. A., sob a
orientao do prof. Andr Ricardo Jovetta.

Limeira
2012

Hudson Ribeiro,
Julian Santos
e Leonardo Souza

Aplicao Java para controle de estoque


Trabalho de Concluso de Curso apresentado como exigncia parcial para a obteno do grau
de ttulo Bacharel em Cincia da Computao da Anhanguera Educacional S. A.

Aprovado em dia de ms de ano.


________________________________
Prof. ou Profa. Ttulo (Dr., Ms, Esp.) Nome do orientador (a)
Nome da Instituio
Orientador (a)
________________________________
Prof. ou Profa. Ttulo (Dr., Ms, Esp.) Nome do avaliador (a)
Nome da Instituio
Avaliador (a)
________________________________
Prof. ou Profa. Ttulo (Dr., Ms, Esp.) Nome do coordenador (a)
Nome da Instituio
Coordenador (a) do Curso Nome

Limeira
2012

Este trabalho dedicado a todos os alunos que


compreenderam
recompensados

que

seus

esforos

sempre

so

AGRADECIMENTOS

Aos pais, por seu amor e carinho.


Aos amigos, pelo apoio e compreenso.
Aos professores, pelo conhecimento e dedicao.
A todos que, direta ou indiretamente contriburam, para a realizao deste trabalho.

O nico lugar onde o sucesso vem antes do


trabalho no dicionrio.
Albert Einstein

RESUMO
RIBEIRO, Hudson; SANTOS, Julian; Souza, Leonardo. Aplicao Java para controle de
estoque. 2012. 15 f. Trabalho de Concluso de Curso Bacharel em Cincia da Computao Faculdade Anhanguera de Limeira, 2012.

O uso da linguagem Java para aplicaes de controle e administrao empresarial vem


crescendo gradativamente, por se tratar de uma linguagem segura e bem difundida no mundo
da programao, alem de estar sempre sendo aprimorada. Aplicaes para controle de
estoque, so necessrias do dia a dia de uma organizao, pois com elas podemos alem de
controlar as movimentaes do estoque, pode-se retirar estticas e nmeros para tomada de
novas decises. O principal objetivo desta pesquisa construir um software de controle de
estoque onde possamos demonstrar por meio da documentao e do projeto como um todo os
paos e documentos necessrios para se desenvolver um projeto de software, desenvolv-lo e
implant-lo.
Palavras-chave: metodologia cientfica, trabalho de concluso de curso, resultados.

ABSTRACT

RIBEIRO, Hudson; Santos, Julian; SOUZA, Leonardo. Aplicao Java para controle de
estoque. Limeira, 2012. 15p. Monograph (Bachelor of Computer Science). Faculdade
Anhanguera de Limeira, 2012.

The use of Java language for control application and business administration has been
growing gradually, because it is a safe language and widespread in the programming word,
besides always being improved. Software for inventory control, are always needed everyday
life of an organization, because with them we can control the movement of inventory and
analyze the static end numbers for marking new decisions. The main objective of this research
is to build a software inventory control where we can demonstrate through documentation and
the project as a whole paths and documents necessary to develop a software project,
documenting it and deploy it.
Key-words: scientific methodology, graduate final study results, monograph

ndice de Ilustraes

Figura 1 - Caso de uso - Administrador ................................................................................................. 18


Figura 2 - Caso de uso - Usurio ............................................................................................................ 19
Figura 3 - Diagrama de classe ................................................................................................................ 24
Figura 4 - Janela Inicial do Sistema de Controle de Estoque ................................................................. 26
Figura 5 - Cadastro de fornecedor ........................................................................................................ 27
Figura 6 - Consulta dos fornecedores ................................................................................................... 28
Figura 7 - Nota fiscal de entrada ........................................................................................................... 29
Figura 8 - Nota fiscal de entrada ........................................................................................................... 30
Figura 9 - Projeto conceitual ................................................................................................................. 32
Figura 10 - Projeto lgico ...................................................................................................................... 33
Figura 11 - Inserindo pacotes ................................................................................................................ 47
Figura 12 - Adicionar projeto ................................................................................................................ 48
Figura 13 - Classe FileManager.............................................................................................................. 49
Figura 14 - Classe ManageFilesReader parte 1 ..................................................................................... 50
Figura 15 - Classe ManageFilesReader parte 2 ..................................................................................... 51
Figura 16 - Classe Package Factory parte 1 ........................................................................................... 52
Figura 17 - Classe Package Factory parte 2 ........................................................................................... 53
Figura 18 - Classe Package Factory parte 3 ........................................................................................... 53
Figura 19 - Classe Package Validation parte 1....................................................................................... 54
Figura 20 - Classe Package Validation parte 2....................................................................................... 55
Figura 21 - Classe Package Validation parte 3....................................................................................... 56

Figura 22 - Classe Package Validation parte 4....................................................................................... 57


Figura 23 - Classe Package Model ......................................................................................................... 58
Figura 24 - Classe Package GUI parte 1 ................................................................................................. 59
Figura 25 - Classe Package GUI parte 2 ................................................................................................. 60
Figura 26 - Classe Package Execute ....................................................................................................... 61
Figura 27 - Classe Package Report......................................................................................................... 61
Figura 28 - Classe Package DAO parte 1 ................................................................................................ 62
Figura 29 - Classe Package DAO parte 2 ................................................................................................ 62
Figura 30 - Classe Package DAO parte 3 ................................................................................................ 63
Figura 31 - Classe Package DAO parte 4 ................................................................................................ 63
Figura 32 - Classe Package DAO parte 5 ................................................................................................ 64
Figura 33 - Cadastro de armazm ......................................................................................................... 66
Figura 34 - Mensagem do processo executado .................................................................................... 67
Figura 35 Cadastro de armazns antes da alterao ......................................................................... 68
Figura 36 Cadastro de armazns aps a alterao............................................................................. 69
Figura 37 - tabela de acessos ................................................................................................................ 70
Figura 38 - Acessos desabilitados .......................................................................................................... 71
Figura 39 - Inserindo nota fiscal ............................................................................................................ 72
Figura 40 - Nota fiscal inserida no sistema............................................................................................ 73
Figura 41 - Consulta de saldos............................................................................................................... 74
Figura 42 - Consulta de saldos............................................................................................................... 75
Figura 43 - Recalculo de saldos ............................................................................................................. 76
Figura 44 - Nova consulta de saldos depois de recalculados ................................................................ 77

Figura 45 - Consulta de saldos............................................................................................................... 78


Figura 46 - Recalculo de saldos com o parmetro * .......................................................................... 79
Figura 47 - Novo saldo recalculado aps o comando * ..................................................................... 80
Figura 48 - Cadastro de produtos.......................................................................................................... 81
Figura 49 Consulta de Notas de Entrada ............................................................................................ 82
Figura 50 - Relatrios ............................................................................................................................ 83
Figura 51 - Formulrio do relatrio ....................................................................................................... 84

ndice de Tabelas

Tabela 1 - Lista de caso de uso .............................................................................................................. 20


Tabela 2 - Tabela de aes dos atores .................................................................................................. 34
Tabela 3 - Ferramentas e bibliotecas .................................................................................................... 42
Tabela 4 - Pacotes ................................................................................................................................. 45
Tabela 5 - Lista de processos testados no sistema ............................................................................... 65

Lista de siglas

ABNT

Associao Brasileira de Normas e Tcnicas

AESA

Anhanguera Educacional S.A.

TCC

Trabalho de Concluso de Curso

ERP

Enterprise Resource Planning

UML

Unified Modeling Language

MER

Modelo de Entidade-Relacionamento

DER

Diagrama de Entidade-Relacionamento

SGBD

Sistema de Gerenciamento de Banco de Dados

ndice de Contedo
1 - Introduo ............................................................................................................................ 1
1.1 - Objetivos da Pesquisa ................................................................................................................. 1
1.1.1 - Objetivo Geral ...................................................................................................................... 2
1.1.2 - Objetivos Especficos........................................................................................................... 2
1.2 - Justificativa ................................................................................................................................. 3
1.3 - Viabilidade .................................................................................................................................. 3

2 - Reviso de Literatura ......................................................................................................... 5


3 - Documento de Requisitos ................................................................................................. 10
3.1 - Requisitos Funcionais ............................................................................................................... 10
3.2 - Relatrios e Consultas............................................................................................................... 12
3.3 - Requisitos no funcionais ......................................................................................................... 14
3.4 - Confiabilidade ........................................................................................................................... 14
3.5 - Eficincia .................................................................................................................................. 14
3.6 - Portabilidade ............................................................................................................................. 15
3.7 - Glossrio ................................................................................................................................... 15

4 - Viso de Analise................................................................................................................. 17
4.1 - Definio de Atores .................................................................................................................. 17
4.1.1 - Administrador .................................................................................................................... 17
4.1.2 - Funcionrio ........................................................................................................................ 18

4.2 - Lista de Caso de Uso ...................................................................................................... 19


4.3 - Diagrama de Classe................................................................................................................... 22

5 - Prottipo ............................................................................................................................. 25
5.1 - Janela Inicial ............................................................................................................................. 25
5.2 Cadastros .................................................................................................................................. 26
5. 3 - Consultas.................................................................................................................................. 27
5.4 - Entrada de Nota Fiscal .............................................................................................................. 28

6 - Viso de Dados................................................................................................................... 31
6.1 - Projeto Conceitual..................................................................................................................... 31
6.2 - Projeto Lgico........................................................................................................................... 33
6.3 - Projeto Fsico ............................................................................................................................ 34

7 - Desenvolvimento ................................................................................................................ 42
7.1 - Ferramentas e Bibliotecas. ........................................................................................................ 42
7.2 - Implementao dos Cdigos Fonte ........................................................................................... 45
7.2.1 - Estrutura do Projeto ........................................................................................................... 45
7.2.2 - Importao de Bibliotecas.................................................................................................. 47
7.2.3 - Classes do Package FILE ................................................................................................... 49
7.2.4 - Classes do Package FACTORY ......................................................................................... 51
7.2.5 - Classes do Package VALIDATION .................................................................................. 54
7.2.6 - Classes do Package MODEL ............................................................................................. 57
7.2.7 - Classes do Package GUI .................................................................................................... 58
7.2.8 - Classes do Package EXECUTE ......................................................................................... 60
7.2.9 Classes do Package REPORT .............................................................................................. 61
7.2.10 - Classes do Package DAO ................................................................................................. 62

8 - Analise de Resultados ....................................................................................................... 65

9 - Consideraes Finais ......................................................................................................... 85


9.1 Melhorias.................................................................................................................................. 86

10 - Referncias ....................................................................................................................... 86

1 - Introduo
Atualmente, qualquer empresa por menor que seja faz um controle de estoque, sendo para
produtos, matria prima, itens de escritrio e etc. Com um controle de estoque, podemos gerar
relatrios para tomada de decises e analise de venda ou compra. Para facilitar esse controle
existem ferramentas (softwares), que agilizam esse controle e mesmo com uma grande
variedade de softwares livres ou pagos, muitas empresas preferem fazer esse gerenciamento
por planilhas, o que no aconselhvel. Com o crescente desenvolvimento da linguagem
Java, uma linguagem de alto nvel, uma API bem desenvolvida e um grau de portabilidade
alto, podem construir softwares para o gerenciamento de estoque, que podero ser utilizados
desde celulares a sistemas Unix.

1.1 - Objetivos da Pesquisa

Com o objetivo de conhecer e apresentar as facilidades a que os softwares de gerenciamento


de estoque podem gerar, dentro de uma empresa de grande, mdio e pequeno porte ou at
mesmo em residncias. Principalmente apresentando um software bem estruturado criado
atravs da linguagem Java, linguagem de alto nvel, que permite o uso do mesmo software em
mltiplas plataformas.
Desenvolvendo um software de simples usabilidade e que apresente conceitos avanados no
gerenciamento de estoques. Apresentar uma estrutura de fcil manuteno e com capacidade
de customizao.

1.1.1 - Objetivo Geral

Estudar o uso de software de controle de estoque de modo a entender as necessidades dirias


de quem faz as entradas e sadas dos materiais. Estudar os conceitos de gerenciamento de
estoque, para gerar softwares com funes objetivas e claras ao usurio.
Analisar softwares utilizados comercialmente entre as empresas e por pessoas fsicas em suas
residncias, pesquisar mtodos de desenvolvimento de aplicaes em ambiente Java. Criar
uma ferramenta de manuseio e baixo custo, utilizando ferramentas gratuitas, reduzindo o
custo de desenvolvimento do projeto.
Entender o conceito e aplicao da linguagem Java, em desenvolvimento de softwares, que
utilizem banco de dados relacionais para armazenamento de informaes.

1.1.2 - Objetivos Especficos

Identificar quais os principais requisitos para um software de controle de estoque, como as


informaes que sero inseridas no sistema, assim como as informaes que o usurio ira
retirar para analise.
Verificar softwares disponveis no mercado, verificar se os mesmo tm um bom nvel de
aceitao, analisar se atendem as necessidades das empresas.

1.2 - Justificativa

A pesquisa visa criar um software de gerenciamento de estoque a partir da analise dos


processos nas empresas. O uso deste tipo de software normalmente agregado a um ERP
(Enterprise Resource Planning).
O controle de estoque esta presente no somente nas empresas, mas tambm em escolas,
clinicas e at em sua moradia.
O conceito de organizar e gerenciar um estoque vem se desenvolvendo de acordo com a
necessidade de cada empresa. So poucas as opes de softwares para gerenciamento, que
possa atender no a um setor especifico, mas no geral, sem a necessidade de alterao
(Personalizao), do cdigo fonte do mesmo.
A pesquisa visa tambm insero da linguagem Java, como base para o desenvolvimento do
software, deixando escolha do usurio a plataforma a qual o mesmo pretende trabalhar. Com
esse tipo de desenvolvimento o usurio no fica preso a um computador e uma folha de papel
conferindo entradas e sadas.

1.3 - Viabilidade

Existe um vasto numero de materiais informativos na internet assim como livros, para
desenvolvimento de software. Em relao ao estudo de processo de controle de gerenciamento
de estoque, contamos com analise nas empresas em que cada integrante da pesquisa trabalha.
Grupo de pesquisa formado por trs alunos, onde o conhecimento em linguagem de
programao no o mais avanado, gerando certa dificuldade no desenvolvimento do
software.
3

Em termos financeiros, no a necessidade de materiais, alem do que j encontramos em


nossas residncias, Faculdade e bibliotecas.
Para concluso do projeto, deve-se pesquisar estudar e entender processos para gerenciamento
de estoque, desenvolvimento de software em ambiente Java.

2 - Reviso de Literatura
Engenharia de software se aplica na rea do conhecimento da computao voltada para a
especificao, desenvolvimento e manuteno de sistemas de software aplicando tecnologias
e prticas de gerncia de projetos e outras disciplinas, objetivando organizao, produtividade
e qualidade.
Atualmente, essas tecnologias e prticas englobam linguagens de programao, banco de
dados, ferramentas, plataformas, bibliotecas, padres, processos e a questo da Qualidade de
Software.
Os fundamentos cientficos para a engenharia de software envolvem o uso de modelos
abstratos e precisos que permitem ao engenheiro especificar, projetar, programar e manter
sistemas de software, avaliando e garantindo suas qualidades. Alm disso, a engenharia de
software deve oferecer mecanismos para se planejar e gerenciar o processo de
desenvolvimento de um sistema de informao Sistema computacional, pois ambos se
confundem.
O livro Engenharia de Software - SOMMERVILLE Ian aborda uma serie de temas como:
requisitos de software, projeto de software, construo de software, teste de software,
manuteno de software, gerncia de configurao de software, gerncia de engenharia de
software, processos de engenharia de software, ferramentas e mtodos de engenharia de
software, qualidade de software
Este projeto que tem como finalidade principal a construo de um software, que simplifique
e agilize as rotinas e necessidades criadas no gerenciamento seguro de um estoque, atravs da
analise de processos, estudando maneiras e regras que sero aplicadas no desenvolvimento do
software. Atravs de um estoque pequeno pode-se estudar as dificuldades geradas por motivos
diversos em um estoque, principalmente os erros humanos que em sua maioria geram grandes
divergncias, esses erros tambm so mais difceis de localizar a fonte.
5

A engenharia de sistemas a atividade de especificao. Projeto, implementao,


validao, implantao e manuteno de sistemas sociotcnicos. [...]. (1)

A UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) a


linguagem padro utilizada internacionalmente pela indstria de Engenharia de Softwares.
O Livro UML: Uma Abordagem Pratica de Gilleanes T. A. Guedes, tem como objetivo,
passar ao leitor como se modelar software por meio dos diagramas que compe a UML, mas,
no entanto ele no faz referencia a nenhuma linguagem de programao. Mesmo possuindo
um numero enorme de diagramas, o livro no prope a obrigao em nenhuma parte, para
todos sejam utilizados, pois cada diagrama tem um objetivo especifico, e nem sempre todos
so necessrios.
Os exemplos apresentados no livro foram criados com a utilizao da ferramenta VisualParadigm for UML, com exceo de alguns poucos, pois at o lanamento do livro a primeira
verso da ferramenta no era 100% compatvel com alguns acrscimos da UIML 2.0. Os
diagramas apresentados no livro so: Diagrama de Caso de Uso, Diagrama de Classe,
Diagrama de Seqncia, Diagrama de Colaborao, Diagrama de Grfico de Estados,
Diagrama de Atividade e Diagrama de Componentes de Implantao,

No entanto, deve ficar claro que a UML no uma linguagem de programao, e sim
uma linguagem de modelagem, cujo objetivo auxiliar os engenheiros de software a
definirem as caractersticas do software [...]. (2)
O gerenciamento de banco de dados evoluiu de uma aplicao de computador especializada
para um componente central do ambiente de computao moderna e, como resultado, o
conhecimento dos sistemas de banco de dados se tornou uma parte essencial de um curso de
cincia da computao. Neste texto, apresentamos os conceitos fundamentais do
6

gerenciamento de banco de dados. Esses conceitos incluem aspectos de projeto de banco de


dados, linguagens de banco de dados e implementao de sistemas de banco de dados.
Os fundamentos apresentados no livro So abordados freqentemente exemplos de banco de
dados existentes ou apenas exemplares.
O livro apresenta as seguintes solues: Banco de dados relacionais, projetos de banco de
dados, banco de dados baseados em objetos e XML, armazenamento e consulta dos dados,
gerenciamento de transies, recuperao de informaes, arquitetura do sistema de banco de
dados e estudo de casos.
Em nosso projeto, usaremos o livro como base em todas as partes do banco de dados,
iniciando com a modelagem, os diagramas e estudos de casos, e por fim, a sua criao. [...].
(3)

O conceito apresentado no livro Use a cabea Java, esto presentes em todos os livros de
programao para iniciantes na programao orientada a objetos em Java, comeando pela
sintaxe e organizao dos cdigos ate pontos maiores como programao concorrente usando
threads. A grande diferena neste livro a forma como so apresentadas as informaes, uma
maneira mais clara comparado a outros livros, introduzindo o leitor a um dialogo direto com o
autor. O grande uso de imagens faz com que nosso celebro guarde com mais facilidade as
informaes
Antes de se iniciar a parte terica da leitura, o livro traz algumas dicas de como extrair o
mximo de informaes possveis e tcnicas para se guardar e treinar a programao, o que
baixa a tenso existente no leitor que esta iniciando. Os captulos apresentados no livro so:
Aprofundando-se, Uma viajem at Objetpolis, Conhea suas variveis, Como os objetos se
comportam, mtodos extra fortes, Usando a biblioteca Java, Melhor viver em Objetpolis,
Polimorfismo Real, Vida e morte de um Objeto, Os nmeros so importantes,
Comportamento arriscado, uma histria muito grfica, Trabalhe em seu swing, salvando
7

objetos Crie uma conexo, Estruturas de dados, Lance seu cdigo e Computao distribuda.
Cada capitulo foi dividido em vrios tpicos para facilitar a leitura e a busca das informaes.
O livro estar presente nas reunies e durante a implementao do projeto, de modo a auxiliar
no desenvolvimento dos mtodos e agregando ao desenvolvedor um maior conhecimento
sobre a linguagem em questo.

No humilde lanamento ao publico com a suposta verso 1.02, o Java seduziu o Java
seduziu os programadores com sua sintaxe amigvel, recursos orientados a objetos,
gerenciamento de memria e o melhor de tudo a portabilidade [...].(4)

O livro escrito por Jakob Nielsen e Hoa Lorange, tem dois objetivos, mostrar o vasto
conhecimento sobre usabilidade da web e em segundo lugar trazer a tona novas descobertas e
conceitos de usabilidade, levando em conta os conceitos existentes na dcada de 90
relacionando as com as descobertas de hoje.
Os conceitos e as tcnicas de medio utilizados no livro esto totalmente voltados para web
sites, de modo que implementao da tcnica e pesquisas devero sofrer adaptaes para um
melhor estudo da usabilidade de um software.
O livro tem como publico alvo, pessoas com objetivo de desenvolverem medirem web sites
em que o usurio ter facilidade e tranqilidade na navegao. Isso inclui web sites de
negocio, tanto para comrcios eletrnicos como para web sites corporativos. A definio de
utilizada pelo autor para negcios e mais abrangente do que apenas sites de vendas on-line
ou servios, e sim todo tipo de empreendimento. Podemos pegar como exemplo um site de
noticia, o proprietrio com certeza, vai querer que seus leitores consigam navegar encontrar
informaes sem dificuldade e com o mnimo de estresse desnecessrio, isso vale para sites de
ONGs, Governamentais e at de relacionamento, em fim qualquer pagina na web.
8

Os conceitos de usabilidade sero utilizados no desenvolvimento da parte grfica do software


das janelas e da organizao dos componentes na tela. Os testes realizados no software tero
como bases os testes listados no livro com algumas adaptaes j que os testes citados no
livro, tem como objetivo avaliar web sites.

Este livro discute como as pessoas se comportam na internet e o que torna os web
sites bem ou mal sucedidos [...].(5)

3 - Documento de Requisitos
O documento de requisitos a especificao oficial dos requisitos do sistema, para os clientes,
usurios finais e desenvolvedores de software.
Nesta etapa, o engenheiro de software busca compreender as necessidades do Usurio
e o que ele deseja que o sistema a ser desenvolvido realize [...] (5)
Formalmente devemos definir que os documentos de requisitos contem: Servios e
funcionalidades que o sistema deve executar assim como informaes de restries e
descries dos processos executados pelo mesmo. O documento de requisitos tambm um
documento que visto como um contrato entre o cliente e o gerente de projetos, pois visa
validar ao final do projeto, se o software esta enquadrado nas especificaes definidas no
documento de requisitos.

3.1 - Requisitos Funcionais

O sistema de controle devera permitir:

A incluso, remoo ou alterao dos usurios contendo os seguintes atributos:


Cdigo, Nome, Senha, E-mail, Cargo, Nvel e Status.

A incluso, alterao ou remoo dos Armazns contendo os seguintes atributos:


Cdigo, Descrio. Os Armazns definem o prdio ou espao fsico reservado para um
grupo determinado de Produtos.

Incluso, alterao ou remoo dos Clientes contendo os seguintes atributos: Cdigo e


Nome.

10

A incluso ou alterao do Endereo dos Produtos contendo os seguintes atributos:


Cdigo do Produto, Descrio do Produto e Endereo. Os Endereos dos Produtos so
referencias para a localizao dos mesmos em seus armazns. Da mesma forma que os
armazns determinam um local fsico para um determinado Grupo de Produtos, os
Endereos so a localizao de um nico produto em seu armazm.

A incluso, alterao ou remoo dos fornecedores, contendo os seguintes atributos:


Cdigo, loja, Razo Social. Nome Fantasia, Endereo, Bairro, Estado, Municpio,
CEP, Complemento de Endereo, Tipo, CNPJ/CPF, IE, DDI, DDD, Telefone, Fax, EMail, Pagina da Web, Data de Cadastro e Status.

A incluso, alterao ou remoo dos Grupos de Produtos: contendo os seguintes


atributos: Cdigo, Descrio. Os Grupos de Produtos definem a categoria a qual os
produtos pertencem. Pode se definir grupos por porte, marca e etc.

A incluso, alterao ou remoo dos Produtos, contendo os seguintes atributos:


Cdigo, Descrio, Status, Armazm Padro, Custo e Grupo de Produtos.

A incluso ou remoo da Relao Produto por Fornecedor, contendo os seguintes


atributos: Cdigo do Produto, Descrio do Produto, Cdigo Fornecedor e Nome do
Fornecedor.

A incluso ou remoo dos Tipos de Movimentos contendo os seguintes atributos:


Cdigo, Descrio, Se Movimenta Estoque e Tipo. Os Tipos de Movimentos tem
como finalidade determinar se a movimentao realizada um ajuste do tipo entrada
ou sada, assim como identificar as Movimentaes de Notas Fiscais e Requisies.

A incluso ou excluso das Notas Fiscais de Entrada contendo os seguintes atributos:


Numero, Serie, Data de incluso, Tipo de Movimento, Fornecedor, Produto,
Descrio, Quantidade, Custo e Armazm.

11

A incluso ou excluso das Requisies contendo os seguintes atributos: Numero,


Data, Usurio, Cliente, Produto, Descrio, Quantidade, Custo e Armazm. As
requisies so solicitadas por clientes (Setores internos da empresa), devidamente
cadastradas. As requisies realizam movimentos do tipo sada, para baixar os saldos
em estoque do sistema.

A incluso ou excluso dos Ajustes Internos, Contendo os seguintes atributos:


Numero, Data, Usurio, Observaes, Produto, Descrio, Quantidade, Custo e
Armazm.

O Recalculo dos Saldos Existentes no Sistema, contendo os seguintes atributos:


Cdigo do Produto. O recalculo dos saldos, calcula e atualiza a quantidade atual dos
produtos atravs das soma das entradas por Notas e Ajustes de Entrada, e a Subtrao
das quantidades que deram sada atravs das Requisies e Ajustes de Sada;

3.2 - Relatrios e Consultas


O sistema de controle de estoque deve permitir a:

A consulta dos Armazns, podendo realizar pesquisas pelo Cdigo e Descrio do


mesmo.

A consulta dos clientes, podendo realizar pesquisa pelo Cdigo e Nome do mesmo.

A consulta dos Endereos dos Produtos, podendo realiza pesquisas pelo Cdigo do
Produto e pela descrio.

A consulta dos Fornecedores, podendo realizar pesquisas pelo Cdigo, Nome Fantasia
ou CNPJ/CPF.

12

A consulta dos Grupos de Produtos, podendo realizar pesquisa pelo Cdigo e


Descrio do mesmo.

A consulta dos Produtos, podendo realizar pesquisas pelo Cdigo, Descrio,


Armazm, Custo ou Grupo.

A consulta dos produtos por fornecedor, podendo realizar pesquisas por Cdigo ou
Descrio do Fornecedor.

A consulta dos Tipos de movimentos, podendo realizar pesquisa pelo Cdigo ou


Descrio do mesmo.

A consulta dos usurios, podendo realizar pesquisa pelo Id, Cdigo ou Nome do
mesmo.

A consulta dos Ajustes Internos, sendo possvel ordenar a tabela pelo Numero, Data,
ID do Usurio, Nome do Usurio, Tipo de Ajuste e Observaes.

A consulta das Notas Fiscais de Entrada, sendo possvel ordenar a tabela pelo Numero
da NF, Cdigo do Fornecedor, Data e Cdigo do Tipo de Movimento.

A consulta das Requisies, sendo possvel ordenar a tabela pelo Numero da


Requisio, Data, Id Usurio, Cdigo do Cliente, Cdigo do Tipo de Movimento.

A consulta dos Saldos, podendo realizar pesquisa pelo Numero da mesma.

Gerar relatrios de Analise de Movimento de Entrada, apresentando no relatrio: Data,


Nota Fiscal, Srie, Produto, Quantidade, Armazm.

Gerar relatrios de Analise de Movimento de Sada, apresentando no relatrio:


Requisio, ID Usurio, Data, Quantidade, Produto, Armazm.

Gerar relatrios de Analise de Movimento de Sada, apresentando no relatrio: Ajuste,


Data, ID Usurio, Produto, ID Usurio, Quantidade, Armazm.
13

Gerar relatrios dos fornecedores desativados, apresentando no relatrio: Cdigo,


Loja, Telefone, Nome Fantasia e E-mail.

Gerar relatrio da posio atual do estoque, apresentando: Cdigo do Produto,


Armazm, e Quantidade.

Gerar relatrio de Produtos Bloqueados, apresentando: Cdigo, Descrio e Grupo.

3.3 - Requisitos no funcionais


Os requisitos no funcionais descrevem as qualidades do sistema, ou melhor, definem como o
sistema ao invs de descrever suas funcionalidades. As qualidades definem diretamente a
satisfao do cliente, a proposta analisar e explorar ao mximo essas qualidades para obter
um cliente feliz ao final do projeto.

3.4 - Confiabilidade
O sistema ter backup e restore dos dados para facilitar a administrao.

3.5 - Eficincia
O sistema ter respostas a consultas em menos de 15 segundos.
O sistema devera iniciar a impresso dos relatrios solicitados, dentro de no mximo 5
minutos, aps sua requisio.

14

O sistema deve logar o Usurio, dentro de no mximo 15 segundos.

3.6 - Portabilidade
O sistema deve ser executado em computadores com nvel de processamento 2.0 GHz e 512
MB de memria RAM, Utilizando sistema operacional Windows.
O sistema deve ser capaz de armazenar dados em uma base de dados MYSQL.
O Sistema utilizara o Java 1.7 ou superior.

3.7 - Glossrio
Rotina: a descrio de todos os processos (Mtodos existentes) em nosso sistema desde
mtodos mais simples como a incluso de um novo produto, at mtodos mais complexos
como a entrada de uma Nota Fiscal.
Usurio: Pessoas que utilizam o sistema.
Descrio de Produto: Caractersticas fsicas do produto, como cor, tamanho e tipo.
CNPJ: Cadastro Nacional de Pessoa Jurdica.
CPF: Cadastro de Pessoa Fsica.
IE: Inscrio Estadual.

15

Status: Define se um cadastro esta ativo, bloqueado e tambm cancelado. Os Status podem
ser utilizados em qualquer tipo de cadastro.
Nvel: Define o nvel de acesso do Usurio no sistema.

16

4 - Viso de Analise
Na viso de analise definimos o causo de uso e a partir do mesmo devemos apresenta-se o
modelo de classe. Nesta etapa do projeto tambm definimos os atores presentes, as listas dos
casos de uso Especificao dos casos de uso e o modelo de classe.
O Diagrama de Caso de Uso procura, por meio de uma linguagem simples,
possibilitar a compreenso do comportamento externo do sistema por qualquer pessoa,
tentando apresentar o sistema por intermdio de uma perspectiva do usurio. [...]. (5)

4.1 - Definio de Atores


Nos diagramas UML o termo Atores utilizado para definir os usurios ou outros meios que
interagem com o sistema.
No sistema para controle de estoque foram encontrados e definidos dois atores, o
Administrador e os Funcionrios, os quais sero descritos a baixo.
Os Atores representam os papeis desempenhados pelos diversos usurios que podero
utilizar, de alguma maneira, os servios e funes do sistema [...]. (5)

4.1.1 - Administrador

O Administrador responsvel por administrar o sistema de controle de estoque, assim como


realizar a incluso, alterao e remoo dos usurios no sistema, assim definindo o nvel de
acesso de cada Usurio incluso no sistema.
17

4.1.2 - Funcionrio

Os funcionrios so os responsveis pelo sistema de controle de estoque, cada funcionrio


detm um determinado nvel de acesso no sistema, de forma a definir as funes de cada um.
De acordo com o nvel os Funcionrios podero: Incluir, alterar ou remover Grupos de
produtos, Produtos, Fornecedores, Clientes, Tipos de Movimento, Notas Fiscais, Requisies,
Ajustes internos, Recalcular o saldo do sistema, gerar relatrios e realizar consultas.
A Ilustrao um nos mostra o Caso de Uso do Sistema de Controle de Estoque.

Figura 1 - Caso de uso - Administrador

18

Figura 2 - Caso de uso - Usurio

4.2 - Lista de Caso de Uso


Os casos de uso descrevem a seqncia de aes de um sistema e suas interaes com atores.
A tabela a seguir demonstra a relao dos casos de uso relacionados a seus atores:

19

Tabela 1 - Lista de caso de uso

Caso de Uso

Descrio

1 Incluir Usurio

Permite ao administrador e ao usurio com


acesso a incluso de Usurio.

1 Alterar Usurio

Permite ao administrador e ao usurio com


acesso a alterao de Usurio

1 Excluir Usurio

Permite ao administrador e ao usurio com


acesso a excluso de Usurio

2 Incluir Rotina

Permite ao administrador a incluso de


rotina

2 Excluir Rotina

Permite ao administrador a excluso de


rotina

3 Incluir Grupo de Produtos

Permite ao administrador e ao usurio a


incluso de Grupo de Produtos

3 Alterar Grupo de produtos

Permite ao administrador e ao usurio a


alterao de Grupo de Produtos

3 Excluir Grupo de Produtos

Permite ao administrador e ao usurio a


excluso de Grupo de produtos

4 Incluir Produtos

Permite ao administrador e ao usurio a


incluso de Produto

4 Alterar Produtos

Permite ao administrador e ao usurio


alterao de Produto

4 Excluir Produtos

Permite ao administrador e ao usurio a


excluso de Produto

5 Incluir Tipos de Movimentos

Permite ao administrador e ao usurio a


incluso de Tipo de Movimento

5 Alterar Tipos de Movimentos

Permite ao administrador e ao usurio a


alterao de Tipo de Movimento

5 Excluir Tipo de movimentos

Permite ao administrador e ao usurio a


excluso de Tipo de Movimento

6 Incluir Fornecedores

Permite ao administrador e ao usurio a


incluso de Fornecedor

6 Alterar Fornecedores

Permite ao administrador e ao usurio a


alterao de Fornecedor

6 Excluir Fornecedores

Permite ao administrador e ao usurio a


20

excluso de Fornecedor
7 Incluir Clientes

Permite ao administrador e ao usurio a


incluso de Cliente

7 Alterar Clientes

Permite ao administrador e ao usurio a


alterao de Cliente

7 Excluir Clientes

Permite ao administrador e ao usurio a


excluso de Cliente

8 Incluir Armazns

Permite ao administrador e ao usurio a


incluso de Armazm

8 Alterar Armazns

Permite ao administrador e ao usurio a


alterao de Armazm

8 Excluir Armazns

Permite ao administrador e ao usurio a


excluso de Armazm

9 Amarrar Produto x Fornecedores

Permite ao administrador e ao usurio


realizar a amarrao do Produto por
Fornecedor

10 Enderear Produtos

Permite ao administrador e ao usurio


enderear produtos

11 Incluir Notas Fiscais

Permite ao administrador e ao usurio a


incluso de Nota Fiscal

11 Excluir Notas Fiscais

Permite ao administrador e ao usurio a


excluso de Nota Fiscal

12 Incluir Requisies

Permite ao administrador e ao usurio a


incluso de Requisio

12 Excluir Requisies

Permite ao administrador e ao usurio a


excluso de Requisio

13 Incluir Ajustes Internos

Permite ao administrador e ao usurio a


incluso de Ajuste interno

13 Excluir Ajustes Internos

Permite ao administrador e ao usurio a


excluso de Ajuste Interno

14 Recalcular Saldo do Sistema

Permite ao administrador e ao usurio


recalcular o saldo do sistema

15 Consultar Grupo de Produtos

Permite ao administrador e ao usurio a


consulta de Grupo de Produtos

16 Consultar Produtos

Permite ao administrador e ao usurio a


21

consulta de Produto
17 Consultar Armazns

Permite ao administrador e ao usurio a


consulta de Armazm

18 Consultar Clientes

Permite ao administrador e ao usurio a


consulta de Cliente

19 Consultar Fornecedores

Permite ao administrador e ao usurio a


consulta de Fornecedor

20 Consultar Produto por Fornecedor

Permite ao administrador e ao usurio a


consulta de Produto por fornecedor

21 Consultar Endereos

Permite ao administrador e ao usurio a


consulta de Endereo

22 Consultar Tipos de Movimentos

Permite ao administrador e ao usurio a


consulta de Tipo de Movimento

23 Consultar Notas Fiscais

Permite ao administrador e ao usurio a


consulta de nota Fiscal

24 Consultar Requisies

Permite ao administrador e ao usurio a


consulta de Requisio

25 Consultar Ajustes

Permite ao administrador e ao usurio a


consulta de Ajuste Interno

26 Imprimir Relatrios de Fornecedores Permite ao administrador e ao usurio a


Reativados
impresso de relatrios de Fornecedores
Reativados
27 Imprimir Relatrios de Posio Atual do Permite ao administrador e ao usurio a
Estoque
impresso de relatrios da Posio Atual do
Estoque
28 Imprimir Relatrios de Movimentao Permite ao administrador e ao usurio a
dos Produtos
impresso de relatrios da Movimentao
dos Produtos.

4.3 - Diagrama de Classe

22

Com o propsito de definir as classes do sistema e de definir a interao entre as classes de


um sistema. O Diagrama de Classe o mais utilizado da UML.
O Diagrama de Classe o mais utilizado e o mais importante da UML. Serve de
apoio para a maioria dos demais diagramas. Como o prprio nome diz Define a estrutura das
classes utilizadas pelo sistema, determinando os atributos e mtodos que cada classe possui
[...] (2)
A Ilustrao dois apresenta o Diagrama de Classe do Sistema de Controle de Estoque.

23

Figura 3 - Diagrama de classe

24

5 - Prottipo

Nas ilustraes abaixo, representada a implementao de algumas telas do Sistema de


Controle de Estoque. As Telas abaixo servem apenas como exemplo para ilustrar as
funcionalidades do sistema e para auxiliar no entendimento do cliente.

A prototipao uma tcnica bastante popular e de fcil aplicao. Consiste em


desenvolver rapidamente um rascunho do que seria o sistema de informaes quando o
mesmo estivesse finalizado. []. (5)

5.1 - Janela Inicial


A Janela Inicial apresenta uma barra de menu superior, onde todas as aes do Sistema de
Controle de Estoque estaro disponveis. Para acessar a tela inicial do sistema, o usurio
devera que realizar o processo de Login.

A barra de menu superior compostas pelos Menus: Cadastros, Consultas, Relatrios,


Movimentos e Ajuda. As rotinas do sistema estaro agrupadas em seus respectivos menus da
seguindo a regra que, no menu cadastros s estaro disponveis as rotinas referentes s
funes de cadastro, como a incluso, alterao e excluso de um determinado item.
Na ilustrao abaixo vemos a janela principal do Sistema de Controle de Estoque.

25

Figura 4 - Janela Inicial do Sistema de Controle de Estoque

5.2 Cadastros
A incluso de novas informaes no Sistema de Controle de Estoque, ser feita atravs do
menu "Cadastros localizado no esquerdo da barra de menus. A efetivao das incluses no
sistema sero realizadas seguindo algumas regras: enviar mensagem de erro caso os campos
obrigatrios j no estejam preenchidos ou caso o cadastro j exista no banco de dados.
Abaixo a imagem do prottipo da janela de Cadastro de Fornecedor:

26

Figura 5 - Cadastro de fornecedor

5. 3 - Consultas
As consultas realizadas no sistema, esto disponveis no menu Consultas na barra de
menus, ao lado dos cadastros. O usurio pode utilizar o boto pesquisa para consultar
qualquer item dentro das opes de ndices disponveis em cada consulta.
A ilustrao abaixo mostra o prottipo da janela de consulta dos fornecedores:

27

Figura 6 - Consulta dos fornecedores

5.4 - Entrada de Nota Fiscal


A entrada das Notas Fiscais no Sistema de Controle de Estoque realizada em duas etapas.
Na primeira etapa o usurio deve informar o numero da Nota Fiscal, Serie, Data, Fornecedor e
a Loja do mesmo, se todas as informaes estiverem corretas e nenhum cadastro estiver
bloqueado o sistema ira liberar a segunda etapa do processo.
A ilustrao abaixo mostra a primeira parte do processo de incluso da Nota Fiscal de
Entrada:

28

Figura 7 - Nota fiscal de entrada

A segunda parte do processo de incluso das Notas Fiscais de Entrada, aps a validao do
cabealho, e onde o usurio lana os itens da Nota Fiscal do Fornecedor, lembrando que para
que o processo no tenha erros, os produtos devero estar cadastrados no sistema.
A ilustrao abaixo nos traz a segunda parte da entrada das Notas Fiscais:

29

Figura 8 - Nota fiscal de entrada

30

6 - Viso de Dados

Neste captulo visamos construo e estruturao do modelo de dados. O principal


documento da modelagem de dados o MER (Modelo de Entidade-Relacionamento) ou DER
(Diagrama de Entidade-Relacionamento), neste documento temos represadas as entidades e os
relacionamentos entre elas.
A modelagem de dados tem como principal objetivo planejar a base dados, desta forma a
escolha do SGBD (Sistema de Gerenciamento de Banco de Dados), e extrair o mximo de
seus recursos, e tambm construir um Banco de Dados consistente.
A viso de Dados constituda de trs etapas: Projeto Conceitual, Projeto Lgico e Projeto
Fsico.

6.1 - Projeto Conceitual


O modelo conceitual independente de detalhes de implementao em um SGBD, alem de
facilitar a compreenso da semntica dos dados de um do domnio. Ele pode ser mapeado
para qualquer modelo lgico de banco de dados.
A ilustrao representa o modelo conceitual do Sistema de Controle de Estoque.

31

Figura 9 - Projeto conceitual

32

6.2 - Projeto Lgico


O projeto Lgico consta da transformao de um modelo ER em um modelo lgico,
que implemente, em nvel de SGBD relacional, os dados representados abstratamente no
modelo ER.[...]. (6)

A ilustrao nove apresenta o projeto lgico do Sistema de Controle de Estoques.

Figura 10 - Projeto lgico

33

6.3 - Projeto Fsico


O projeto Fsico toma por base o esquema lgico para sua construo. Um esquema
fsico uma descrio da implementao do banco de dados em memria secundaria; ele
descreva as estruturas de armazenamento e mtodos de acesso usados para efetivamente
realizar o acesso aos dados (7)

Tabela 2 - Tabela de aes dos atores

PK

FK

CAMPO

TIPO

NOT NULL

USUARIO
X

IDUSUARIO

INT

CODUSUARIO

VARCHAR

NOME

VARCHAR

SENHA

VARCHAR

EMAIL

VARCHAR

CARGO

VARCHAR

NIVEL

INT

IDSTATUS

INT

IDSTATUS

INT

DESCRICAO

VARCHAR

CATEGORIAS

VARCHAR

IDUSUARIO

INT

CODUSUARIO

VARCHAR

NOME

VARCHAR

CADARMAZENS

INT

CADCLIENTES

INT

CADENDERECOS

INT

STATUS
X

ACESSOS
X
X

34

CADFORNECEDORES

INT

CADGRUPOS

INT

CADPRODUTOS

INT

CADPRODFOR

INT

CADTIPOSMOVIMENTO

INT

CADUSUARIOS

INT

MOVAJUSTES

INT

MOVENTRADAS

INT

MOVREQUISICOES

INT

MOVRECALCULOS

INT

CONSAJUSTES

INT

CONSENTRADAS

INT

CONSREQUISICOES

INT

CONSSALDOS

INT

CONSARMAZENS

INT

CONSCLIENTES

INT

CONSENDERECOS

INT

CONSFORNECEDORES

INT

CONSGRUPOS

INT

CONSPRODUTOS

INT

CONSPRODFOR

INT

CONSTIPOSMOVIMENTOS

INT

CONSUSUARIOS

INT

RELANALISEMOVIMENTOS INT
ENT
RELANALISEMOVIMENTOS INT
AIDA
RELANALISEMOVIMENTOS INT
AJUSTES
RELFORNECEDORESBLOQ
UEADOS

INT

35

RELPOSICAOESTOQUE

INT

RELPRODUTOSBLOQUEAD INT
OS
CONFBANCODEDADOS

INT

GRUPO
X

IDGRUPO

INT

DESCRICAO

VARCHAR

IDPRODUTO

VARCHAR

DESCRICAO

VARCHAR

IDARMAZEM

INT

CUSTO

FLOAT

IDGRUPO

INT

IDSTATUS

INT

IDPRODUTO

VARCHAR

DESCRICAO

VARCHAR

ENDPRODUTO

VARCHAR

IDFORNECEDOR

VARCHAR

LOJA

INT

RAZAO

VARCHAR

NOMEFANTASIA

VARCHAR

ENDFOR

VARCHAR

BAIRRO

VARCHAR

UF

VARCHAR

PRODUTO
X

X
X

ENDERECO
X

FORNECEDOR
X
X

36

MUNICIPIO

VARCHAR

CEP

VARCHAR

COMPLEMENTO

VARCHAR

TIPO

VARCHAR

CNPJ

VARCHAR

DDI

VARCHAR

DDD

VARCHAR

TEL

VARCHAR

FAX

VARCHAR

EMAIL

VARCHAR

HOMEPAGE

VARCHAR

DTCADASTRO

DATE

IDSTATUS

INT

PRODFOR
X

IDPRODUTO

VARCHAR

IDFORNECEDOR

VARCHAR

RAZAO

VARCHAR

DESCRICAO

VARCHAR

ARMAZEM
37

IDARMAZEM

INT

DESCRICAO

VARCHAR

SALDO
X

IDPRODUTO

VARCHAR

IDARMAZEM

INT

QUANTIDADE

FLOAT

NOTA
X

NUMERON

VARCHAR

SERIEN

INT

IDFORNECEDOR

VARCHAR

DATA

DATE

IDMOVIMENTO

VARCHAR

ITEMN

INT

ITEMNOTA
X
X

IDPRODUTO

VARCHAR

NUMERON

VARCHAR

SERIEN

INT

QUANTIDADE

FLOAT

VALORUNITARIO

FLOAT

VALORTOTAL

FLOAT

X
38

IDARMAZEM

INT

IDCLIENTE

INT

NOME

VARCHAR

IDMOVIMENTO

VARCHAR

DESCRICAO

VARCHAR

TIPO

VARCHAR

MOVIMENTA

VARCHAR

VARIAVEL

VARCHAR

DESCRICAO

VARCHAR

VALOR

VARCHAR

NUMEROR

VARCHAR

DATA

DATE

IDUSUARIO

INT

IDCLIENTE

INT

IDMOVIMENTO

VARCHAR

CLIENTE
X

TIPOMOVIMENTO
X

PARAMETROS
X

REQUISICAO
X

AJUSTES

39

NUMEROJ

VARCHAR

DATA

DATE

IDUSUARIO

INT

TIPOAJUSTE

VARCHAR

OBS

VARCHAR
ITEMAJUSTE

X
X

ITEMJ

INT

IDPRODUTO

VARCHAR

QUANTIDADE

FLOAT

VALORUNITARIO

FLOAT

VALORTOTAL

FLOAT

IDARMAZEM

INT

TIPOAJUSTE

VARCHAR

NUMEROJ

VARCHAR

IDPRODUTO

VARCHAR

QUANTIDADE

FLOAT

ITEMREQ
X
X

ITEMR
X

VALORUNITARIO

40

VALORTOTAL

IDARMAZEM

INT

NUMEROR

VARCHAR

41

7 - Desenvolvimento
A implementao de um software aps todo o levantamento de requisitos, analise de estrutura
e modelagem de seu sistema de dados complexa, pois deve lidar com restries de
integridade, e um vasto conhecimento sobre a aplicao e suas regras, para que as interaes
entre o software e o ambiente possam ser adequadamente descritos. Quando os requisitos no
so completamente compreendidos, registrados e comunicados para a equipe de
desenvolvedores, provavelmente haver discrepncia entre o que o sistema desenvolvido faz e
o que ele realmente deveria fazer.
A arte de desenvolver software baseada em um modelo completamente criativo e
dinmico, sujeito a mudanas em cada passo, sejam oriundas de uma amplificao no
entendimento do valor de negcio por parte do cliente ou em atividades emergentes [...]. (8)

7.1 - Ferramentas e Bibliotecas.


Antes de se iniciar a implementao do sistema para controle de estoque, se faz necessrio a
preparao das ferramentas e bibliotecas para desenvolvimento, essas que devero estar
instaladas e configuradas de acordo com a necessidade do sistema.
Abaixo a tabela com as ferramentas e bibliotecas necessrias para o desenvolvimento do
projeto.

Tabela 3 - Ferramentas e bibliotecas

Nome

Descrio

Java 1.7 (ou Superior)

Maquina virtual Java para a execuo da


aplicao.

NetBeans 7.1.1 (ou superior)

IDE para desenvolvimento dos cdigos-fonte

JasperReport

Biblioteca

para

desenvolvimento

de

Relatrios Java.
42

iReporte

Plugin para desenvolvimento dos modelos de


relatrios no NetBeans.

MySQL_JDBC Connector

Biblioteca necessria para conexo com


banco de dados MySQL.

Bat To Exe Converter

Ferramenta para converso de arquivos com


extenso .BAT para .EXE

PNG2ICO

Ferramenta para gerar cones a partir de uma


imagem.

Install Creator

Ferramenta para gerar instaladores para


aplicaes.

Ashampoo MyAutoplay Menu

Ferramenta para desenvolvimento de menus


interativos.

Download, Instalao e Configurao Java.

Para download do Java acesse o link: http://www.java.com/pt_BR/download/, aps o


download execute o arquivo baixado e faa a instalao padro.

Download, Instalao e Configurao para o NetBeans.

ferramenta

de

compilao

NetBeans

pode

ser

baixada

atravs

do

link:

http://netbeans.org/downloads/ , aps o download da ferramenta execute o arquivo baixado e


siga com a instalao padro.

Download, Instalao e configurao do plug-in JasperReport.

O plug-in pode ser baixado no link: http://sourceforge.net/projects/jasperreports/, aps o


download crie uma pasta bibliotecas na rea de Trabalho, faa a extrao dos arquivos para
dentro da mesma.

Download, Instalao e Configurao do plug-in iReport.


43

plug-in

pode

ser

baixado

no

link:

http://sourceforge.net/projects/ireport/files/iReport%20Plugin%20for%20NetBeans/, aps o
download do plug-in faa a extrao dos arquivos.
Abra o NetBeans, v ate o menu ferramentas e selecione a opo plug-ins, uma nova
janela ira se abrir, selecione a aba Baixados e nela clique no boto Instalar plug-ins. Selecione
os arquivos que foram extrados e siga com a instalao e opes padres.

Download, Instalao e Configurao do Bat To Exe Converter.

ferramenta

Bat

To

Exe

Converter

pode

ser

baixada

atravs

do

link:

http://www.4shared.com/zip/T5js_V8t/Bat_To_Exe_Converter.html, aps o download faa a


extrao dos arquivos em sua rea de Trabalho, no se faz necessrio nenhuma configurao.

Download, Instalao e Configurao do PNG2ICO.


ferramenta

PNG2ICO

pode

ser

baixada

atravs

do

link:

http://www.4shared.com/zip/bnXN9lst/PNG2ICO.html, aps o download faa a extrao dos


arquivos em sua rea de Trabalho, no se faz necessrio nenhuma configurao.

Download, Instalao e Configurao do Install Creator.


ferramenta

Install

Creator

pode

ser

baixada

atravs

do

link:

http://www.4shared.com/zip/AhtjmFkh/Install_Creator.html, aps o download faa a extrao


do arquivo em sua rea de Trabalho e execute o instalador, siga o processo padro.

Download, Instalao e Configurao do Ashampoo MyAutoPlay Menu.


ferramenta

Ashampoo

MyAutoPlay

Menu

pode

ser

baixada

no

link:

http://www.baixaki.com.br/download/ashampoo-myautoplay-menu.htm, aps o download


execute o arquivo baixado e siga a instalao padro.

44

7.2 - Implementao dos Cdigos Fonte


A ferramenta utilizada para o desenvolvimento da aplicao ser o NetBeans, ao abrir a IDE,
ser necessrio criar um novo projeto.
A explicao completa de como criar um novo Projeto na IDE NetBeans, pode ser encontrada
nos vdeos existentes no blog Projeto Aplicao Para Controle de Estoque Java.

7.2.1 - Estrutura do Projeto

A estrutura do projeto esta dividida em nove Packages ou Pacotes, que so utilizados para
dividir e estruturar o projeto.
Os Packages so pastas onde ficam armazenados os arquivos do projeto, como imagens e
cdigos fonte, e os mesmos so essenciais para o conceito de encapsulamento. Muitos
compiladores criam automaticamente pacotes como uma forma eficaz de organizao, os
pacotes que deveram ser definidos para o projeto so listados na tabela a baixo.

Tabela 4 - Pacotes

Nome

Descrio

DAO

Pacote

de

cdigos-fonte

que

faro

comunicao com o banco de dados, para


inserir, alterar, deletar ou visualizar.
EXECUTE

Pacote com os cdigos-fonte que devero ser


utilizados

para

execuo

inicial

da

aplicao.
FACTORY

Pacote com os cdigos fontes para a conexo


principal com o banco de dados MySQL.

FILE

Pacote com cdigos-fonte para interaes


45

com arquivos de configurao e relatrios.


GUI

Pacote com fontes de interface grfica, nesse


pacote deveram ficar, todas as classes que
criam a interface para o usurio.

IMAGE

Pacote com imagens utilizadas no projeto.

MODEL

Pacote com todas as classes modelo, como


por exemplo, Produto ou Cliente.

REPORT

Pacote com os cdigos-fonte que processaro


e apresentar os relatrios ao Usurio

VALIDATION

Pacote com classes para validaes internas,


busca e gerenciamento de dados.

Deve-se antes de tudo criar todos os Packages no projeto. Clicando com o boto direito do
mouse sobre o cone pacotes de cdigo-fonte e logo aps em Novo e por fim, Pacote Java.
Veja a figura 12.
A explicao completa de como criar um Package, pode ser encontrada nos vdeos existentes
no blog Projeto Aplicao Para Controle de Estoque Java.

46

Figura 11 - Inserindo pacotes

7.2.2 - Importao de Bibliotecas

Ao criar um novo projeto no NetBeans voc precisa importar as bibliotecas que foram
baixadas, da lista de ferramentas na tabela acima. Clicando com o boto direito sobre a pasta
bibliotecas do projeto selecione a opo Adicionar jar/pasta e inclua todas as bibliotecas
baixadas para o projeto, em seguida clique novamente com o boto direito e selecione a opo
Adicionar Biblioteca, na lista que ira aparecer, selecione a opo MySQL ODBC Connector e
clique em adicionar. Pronto as bibliotecas necessrias j esto disponveis no projeto.
A explicao completa de como importar uma biblioteca, pode ser encontrada nos vdeos
existentes no blog Projeto Aplicao Para Controle de Estoque Java.

47

Figura 12 - Adicionar projeto

48

7.2.3 - Classes do Package FILE

Aps a definio dos Packages, devemos dar inicio a implementao das classes do pacote
FILE, este pacote contem classes que faro a leitura e gravao do arquivo .ini que ira contar
as informaes para conexo com o banco de dados como Servidor, Porta, Banco de Dados,
Usurio e Senha.
A primeira classe a ser implementada ser a classe ManageFiles, esta classe cria um objeto do
tipo File, como podemos ver na linha oito da figura que aponta para um arquivo conf.ini que
esta na raiz do projeto.

Figura 13 - Classe FileManager

Aps a implementao da classe ManageFiles, devemos implementar a classe


ManageFilesReader, esta classe tem como finalidade realizara leitura do arquivo.
Esta classe deve instanciar um objeto do tipo ManageFile e duas variveis, sendo um array de
Strings com as informaes do arquivo e outra uma inteira que guardara o tamanho do array, e
para as mesmas devemos desenvolver os mtodos get e set, .

49

Figura 14 - Classe ManageFilesReader parte 1

Aps a definio dos itens citados devemos desenvolver um construtor para a classe
ManageFilesReader, que ao ser chamado realiza a leitura do arquivo ao qual o objeto
ManeFile faz referencia e guarda as informaes no array de strings.
Finalizando o Package FILE devemos

implementar uma classe

com

o nome

ManageFileWriter, que responsvel pela gravao das informaes no arquivo. Essa classe
devera conter um objeto do tipo FileWriter e outro do tipo BufferWriter. O objeto FileWriter
recebera no momento que for instanciado um objeto do tipo file, esse que devera ser passado
por parmetro. Aps a definio dos objetos e variveis devemos criar um mtodo para
realizar a escrita em nosso arquivo conf.ini, o mtodo deve ser public e ter o tipo de retorno
void, tambm devera receber por parmetro, um objeto tipo file e cinco Strings, com as
seguintes informaes: Servidor, Porta, alias do Banco de dados, Usurio e Senha.

50

Figura 15 - Classe ManageFilesReader parte 2

7.2.4 - Classes do Package FACTORY

No Package FACTORY devemos criar uma classe ConnectionFactory, a mesma deve conter
cinco variveis do tipo String para o armazenamento do endereo do Servidor, Porta, Alias do
Banco de Dados, Usurio e Senha e em seguida seus respectivos mtodos para retorno e
alterao de valores.

51

Figura 16 - Classe Package Factory parte 1

Prosseguindo com a implementao devemos criar um mtodo para pegar as informaes do


arquivo e inicializar as variveis esse com o nome de setConnection (), iremos instanciar
um objeto de ManageFile e ManageFileReader este que recebera o numero de linhas que ira
ler do arquivo e o arquivo como parmetros. Depois setamos as variveis com os valores
retornado pelo mtodo getarraydoarquivo () existente na classe ManageFileReader. Para
cada varivel setamos a linha correspondente ao seu valor no array.

52

Figura 17 - Classe Package Factory parte 2

O ultimo mtodo a ser criado na classe ConnectionFactory ser o getConnection() que


devera ter como retorno um objeto do tipo connection, o primeiro comando a ser passado ao
mtodo ser a chamado do mtodo setConnection que devera buscar os valores no arquivo
conf.ini e inicializar as variveis para a prxima linha de comando que devera ser o comando
return essa linha busca o Drive do MySQL na biblioteca MySQL ODBC Connection e
retorna o mesmo para dentro da aplicao. Lembrando que se deve passar as variveis criadas
por parmetro para dentro da linha de comando.

Figura 18 - Classe Package Factory parte 3

53

7.2.5 - Classes do Package VALIDATION

Neste Package iro todas as classes que devero fazer validaes ou processamentos das
informaes no momento da insero no banco de dados, como os tratamentos para
visualizao do usurio.
A primeira Classe que iremos implementar no Package VALIDATION ser a EncriptaSenha,
esta que tem como finalidade a codificao da senha passada ao usurio para ser gravada ao
banco de dados. A classe consiste basicamente de um nico mtodo publico static e que
recebera uma String para processamento. Aps a declarao do mtodo devemos criar um
objeto do tipo MessageDigest, que recebera o retorno do mtodo getInstance(MD5), aps
esse processo, deve se passa a instncia criada os Bytes da String senha que foi passada via
parmetro ao mtodo encripta. Na linha seguinte criamos o objeto que ira codificar os dados,
este do tipo BASE64Encoder, finalizando a classe a mesma deve retorna uma String com o
valor da senha encripitado.

Figura 19 - Classe Package Validation parte 1

A prxima classe do Package VALIDATION a classe responsvel pelas mascaras dos


JtextFields existentes na interface do programa. Essa classe composta de vrios mtodos,
54

onde cada mtodo responsvel por um tipo diferente de mascara para os JtextFields, de
modo que os mtodos seguem praticamente a mesma estrutura.
Os mtodos so pblicos, retornam um objeto do tipo MaskFotmatter e recebem uma String
por parmetro, onde esta ser o formato da mascara que ser aplicada ao campo de texto.
Aps a declarao do mtodo instanciado um objeto MaskFormatter que ser retornado ao
campo de texto, com a seguinte linha de comando: MaskFormatter F_Mascara = new
MaskFormatter (), devemos passar em seguida a String para o objeto utilizando o mtodo da
classe MaskFormatter setMask (String), e por fim declarar que os espaos no digitados
pelo usurio sero preenchidos com o caractere ' ' espao, para esse fim utilizamos a seguinte
linha de comando: F_Mascara.setPlaceholderCharacter (' ').

Figura 20 - Classe Package Validation parte 2

As

mascaras

restantes

seguem

formato

acrescentando

apenas

comando

F_Mascara.setValidCharacters que valida os caracteres digitados pelo Usurio e caso o


mesmo no esteja contido na String que foi implementada no comando, o caractere ser
descartado.
A classe seguinte ser a responsvel por realizar a busca nas Jtables existentes no sistema,
esta classe contem apenas um mtodo que recebe por parmetro, a JTable ao qual ela devera

55

realizar a busca, JtextField de onde ser retirado o valor pelo qual a classe ira buscar na
JTable e o ndice da coluna, esse mtodo ser publico e no ter retorno.
Aps a declarao do mtodo devemos declara duas variveis sendo a primeira do tipo inteiro,
esta que atribuda para controlar a linhas atual da JTable, e a seguinte ser Lgica para
realizar a validao do lao que percorrera a JTable.
A implementao do lao simples o mesmo recebera a varivel lgica declara no inicio do
mtodo, esta que deve ser inicializada como verdadeira (true), formando assim o cabealho do
lao.
O corpo contem duas Strings que devem contem o valor a ser encontrado e outra com o valor
da linha atual. Seguindo com o cdigo teremos uma estrutura de controle que devera compara
as Strings, se as variveis tiverem o mesma valor o lao interrompido, setando a linha atual
da JTable, se o mesmo no for igual o cdigo continuara sua execuo padro entrando em
uma segunda estrutura de controle, onde verificado se a tabela no foi percorrida por
completo e se a varivel achou continua como true. Caso, toda a tabela seja percorrida e a
varivel achou no tenha o valor false, apresentado ao usurio uma mensagem
informando que o valor procurado no se encontra na JTable.

Figura 21 - Classe Package Validation parte 3

56

Finalizando o Package VALIDATION temos a classe Perguntas, essa classe responsvel por
criar e gerenciar o retorno das perguntas informadas ao usurio. Como por exemplo, as
perguntas exibidas quando o usurio vai executar a excluso de registro no sistema.
A classe formada por dois mtodos, um deles para a pergunta padro, o mtodo
declarado como publico e tem como retorno um valor lgico, no nosso caso declarada uma
varivel do tipo inteiro e recebe o retorno do JOptionPane.ShowConfirmeDialog, que
retorna um sim ou um no dependendo do boto clicado pelo usurio. O segundo mtodo
declarado da mesma forma que o primeiro, mas recebe um parmetro a mais que ser do tipo
String, esse ira ser a mensagem a ser informada dentro do painel.

Figura 22 - Classe Package Validation parte 4

7.2.6 - Classes do Package MODEL

O prximo Package ser o MODEL este que de suma importncia para o projeto, pois o
mesmo ira guardar os objetos como, cliente, fornecedor, notas de entrada e etc. Vamos pegar
57

apenas um cdigo para analise, levando em considerao que os outros modelos tm a mesma
estrutura s que esta com atributos diferentes.
Temos como exemplo a classe Cliente, esta e formada por seus atributos que so o Id do
cliente e o nome do mesmo. Cada atributo contem os mtodos para alterao e retorno de seus
valores. Tambm no podemos esquecer que estes atributos, que iro estar com os valores que
iram ser inseridos no Banco de Dados.

Figura 23 - Classe Package Model

7.2.7 - Classes do Package GUI

O prximo Package ser o GUI este que guarda os fontes de telas ou Interface Grfica, aquela
que ira ser apresentada ao diretamente ao usurio. Essa classe formada por JFrames. No
desenvolvimento do projeto as janelas de usurio foram divindades em dois tipos. Os Frames
e os Forms. Os frames so as janelas onde o usurio pode apenas visualizar as informaes e
acessar os botes que acesso novas janelas Frames ou Forms, esses que por sua vez so
janelas onde o usurio devera entrar com valores a serem processados pelo sistema. Para
58

exemplificar as Classes Frame, utilizaremos a classe FrameCliente, esta que tem como
componente um JTable, para visualizao das informaes acessadas no banco, Um Field
Para pesquisa na JTable, e trs JButton que faro a interao com novas janelas. As classes
frame contam com um mtodo initComponents (), esse mtodo tem como objetivo
inicializar os item da tela. Nele voc deve instanciar os objetos declarados, como a JTable, os
JButton e etc. A classe tambm conta com um construtor que deve chamar o mtodo
initComponents () e em seguida tornar o mesmo visvel, com o comando setVisible (true).
Na figura abaixo podemos verificar dois construtores. O primeiro inicializa o frame caso o
usurio queira consultar, o segundo chama o frame para alterao e incluso de registros.

Figura 24 - Classe Package GUI parte 1

O outro tipo de janela que se deve criar so os formulrios ou form. Essas tem como
finalidade a entrada das informaes para dentro do sistema, como por exemplo o
cadastramento de um novo cliente. Essa classe deve conter dois construtores para a
inicializao da janela, esse construtor deve chamar o mtodo de inicializao dos objetos
esse que segue as mesmas regras do utilizado nas classes frames. O primeiro construtor chama
a janela com os JTextFields vazios e o segundo deve chamar o Field com as informaes
59

requisitadas na janela anterior. Deve-se ter um controle sobre qual janela estamos utilizando,
para que, quando o usurio clicar em concluir o sistema saiba, se ele esta em uma janela de
visualizao onde nenhuma informao deve ir para o banco ou uma incluso. Em nosso
sistema foi utilizada um varivel do tipo inteiro, esta que inicializada com ao chamar o
construtor, que seta a mesma com 0 para incluso e 1 para visualizao. O mtodo
initComponents () segue o mesmo raciocnio que o utilizado nas classes frame.

Figura 25 - Classe Package GUI parte 2

7.2.8 - Classes do Package EXECUTE

A classe main do Package EXECUTE, tem como objeto chamar a janela inicial do
programa.

60

Figura 26 - Classe Package Execute

7.2.9 Classes do Package REPORT

O Package REPORT contem classe que tem como funo a configurao e execuo dos
relatrios existentes no sistema, ele contem mtodos onde cada mtodo e responsvel por um
relatrio. Todos os mtodos seguem o mesmo padro, devem contem um string com a Select
a ser executada no banco de dados, o retorno do banco de dados deve ser convertido em um
objeto

do

tipo

JRResultSetDataSource,

esse

que

ser,

utilizado

pelo

mtodo

JasperFillManager.fillReport, que retornara as informaes ao objeto JasperPrint que


apresenta as mesmas ao usurio.

Figura 27 - Classe Package Report

61

7.2.10 - Classes do Package DAO

Por fim chegamos ao Package DAO, este que faz todo o tratamento da informao inserida e
retirada do banco de dados.
A classe cria uma varivel do tipo Cionnection, esta que recebera a conexo com realizada
com o banco de dados atravs do mtodo getConnection () da classe connectionFactory.

Figura 28 - Classe Package DAO parte 1

O primeiro mtodo getRegistroSelecionado () declarado na classe tem como objetivo


guardar em memria as informaes do registro selecionado na JTable do frame utilizado, ele
recebe a mesma e Guarda as informaes da linha seleciona em variveis.

Figura 29 - Classe Package DAO parte 2

O mtodo getCodCliente () verifica qual o ultimo cliente incluso no sistema e soma mais
um a numerao gerando a numerao do prximo cliente automaticamente.

62

Figura 30 - Classe Package DAO parte 3

Mtodo getTabelaCliente () realiza uma select em toda a tabela e preenche a JTable com as
mesmas.

Figura 31 - Classe Package DAO parte 4

Os mtodos insert (), delete () e update () realizao a manuteno nas tabelas do


banco. Esses trs mtodos recebem um objeto do Package MODEL, esse objeto deve fazer
referencia a tabela a qual suas informaes deveram ser inseridas. Em nossos exemplos
63

estamos utilizando os cdigos-fonte do cadastro de cliente, mas as regras se aplicam a todas


as outras classes, alterando apenas seus atributos.

Figura 32 - Classe Package DAO parte 5

64

8 - Analise de Resultados
Foram realizados testes e analisados os comportamentos de todas as rotinas do sistema, todas
esto realizado suas operaes descritas nos requisitos do documento.
Tabela 5 - Lista de processos testados no sistema

Rotina

Descrio

Incluso de Cadastros

Realiza a incluso de um novo cadastro no


sistema.

Excluso de Cadastros

Realiza a excluso de um cadastro existente


no sistema.

Alterao de Cadastros

Altera um cadastro existente no sistema.

Acessos de Usurios

Determina quais rotinas cada usurio devera


ter acesso no sistema.

Incluso de Movimentos

Inclui movimento de produtos no sistema,


como Notas de Entrada e Requisies.

Recalculo dos Saldos

Recalcula o saldos de um produto existente


ou

de

todos,

de

forma

ajustar

inconsistncias em suas quantidades.


Consultas

Consulta

os

cadastros

ou

movimentos

existentes no sistema de controle de estoque.


Relatrios

Gera relatrios de acordo com os parmetros


informado pelo usurio.

A rotina para cadastro e manuteno dos armazns foi testada e analisada, e os resultados
foram os esperados e descritos no levantamento dos requisitos. Para se ter acesso ao cadastro
de Armazns devemos acessar o menu Cadastro e logo em seguida o item Armazns.
65

Aps informar todas as informaes ao sistema e concluir a operao, o armazm foi


cadastrado com sucesso.
O processo de incluso foi analisado e testado em todos os cadastros sendo estes: Armazns,
Clientes, Endereos, Fornecedores, Grupo de Produtos, Produtos, produto por Fornecedor,
Tipos de Movimento e Usuarios.

Figura 33 - Cadastro de armazm

Foi realizada a analise e testes da rotiona de excluso dos armazns, o processo foi realizado
de acorco com as opes do sistema. Foram realizados testes com as rotinas que utilizam o
mesmo processo e a mesma foi executado com sucesso em todas elas. Como nos mostra a
figura 15.

66

Figura 34 - Mensagem do processo executado

Se observarmos a figura 15, podemos verificar que o cadastro do armazm de cdigo 2, no


existe mais, aps o processo de excluso.
Realizamos tambm a analise e teste da opo de alterao nas rotinas do menu cadastro. O
processo foi realizado conforme as normas do sistema e a mesma foi finalizada com sucesso.
Abaixo as figuras 16 e 17 nos mostram o processo em execuo.

67

Figura 35 Cadastro de armazns antes da alterao

Aps a alterao, a descrio do armazm de cdigo 1 que antes era ARMAZEM


PADRO, passou a ser ARMAZM PADRO ALTERADO, como verificamos na
figura 17.

68

Figura 36 Cadastro de armazns aps a alterao

O cadastro de usuarios conta com a opo de acessos, onde liberado a cada usuario suas
respectivas rotinas. Foram realizados tetes e analisado o processo de liberao de acessos aos
usuarios. O usuario utilizado para teste foi o proprio administrador do sistema, onde foram
retirados acessos do mesmo e depois liberados. Veja as figuras 18 e 19.

69

Figura 37 - tabela de acessos

Depois de retirados os acessos, foi concluda a operao e fechado o sistema. Aps acess-lo
novamente as alteraes foram aplicadas de forma que as rotinas retiradas do usurio esto
indisponveis. Veja a figura 19.

70

Figura 38 - Acessos desabilitados

Depois de realizadas as analises nas rotinas de cadastro, Foram realizados os testes e analise
das rotinas do menu Movimentos, As imagens abaixo nos mostra a incluso de uma nota
fiscal de entrada, esta rotina se encontra no menu Movimentos e em seguida a opo Notas de
Entrada.
Foi inclusa uma nota fiscal de entrada de numerao 000001 e srie 1, a data de lanamento
inclusa foi 02/12/2012 e o tipo de movimento utilizado foi o A01, esse tipo de movimento
deve ser cadastrado antes dos lanamentos, Fornecedor 000001 e por fim um produto de
cdigo 00001 com a quantidade 1. Ao clicar em concluir o sistema realizou a incluso da nota
fiscal com sucesso.

71

Figura 39 - Inserindo nota fiscal

Ao concluir o processo de incluso de notas fiscais de entrada, podemos verificar na figura


21, que a rotina adicionou a nota ao sistema.

72

Figura 40 - Nota fiscal inserida no sistema

Ao consultar o saldo dos produtos, podemos verificar o saldo do produto incluso na nota
fiscal 000001. Veja a figura 22.

73

Figura 41 - Consulta de saldos

Com asanalises e testes realizados com a incluso de requisies e Ajustes Internos,


obtivemos os mesmo reultados. Ainda no menu Movimentos, foram realizados testes e
analisada a rotina Recalculo dos Saldos, realizamos os testes com um nico produto, onde
criamos um ambiente modificado para realizar onde o produto 00001 que estava continha
apenas 1 pea em seu saldo, foi alterada sua quantidade para 580. Executada a rotina o saldo
foi reajustado para 1 pea novamente, como esperado da mesma. Veja as figuras 23, 24 e 25.

74

Figura 42 - Consulta de saldos

A figura 24 nos mostra a janela da rotina de recalculo do sistema de controle de estoque, a


mesma se encontra no menu Movimentos.

75

Figura 43 - Recalculo de saldos

Aps a execuo da rotina o saldo do produto 000001 foi reajustado para sua quantidade
correta. Verificamos isso na figura 25.

76

Figura 44 - Nova consulta de saldos depois de recalculados

Tambm foi realizado o teste com todos os produtos cadastrado onde devemos inserir o
simbulo * no lugar do cdigo do produto, desta forma o sistema ira recalcular o saldo de
todos os produtos.
Realizamos o teste em 3 produtos, sendo eles os cdigos 000002, 000003 e 000004 e
seus respectivos saldos 200, 200 e 200. Realizamos a alterao do ambiente deixando as peas
com as as seguintes quantidades: 20, 30 e 40.
Aps o processamento os saldos foram ajustados. Veja as figuras 26, 27 e 28.

77

Figura 45 - Consulta de saldos

Aps a consulta dos saldos realizamos o processamento do recalculo, utilizando como


parametro o valor *, para ajuste de todos os produtos.

78

Figura 46 - Recalculo de saldos com o parmetro *

Aps executar a retorna os saldos foram reajustados como nos mostra a figura 28.

79

Figura 47 - Novo saldo recalculado aps o comando *

Foi analisado e testado tambem as consultas existentes no sistema, foi criado um ambiente
onde cadastramos items e depois consultamos os mesmo. Para que as consutas sejam
realizadas no sistema devemos acessar o menu Consulta depois escolher entre as consultas de
cadastros ou as consultas de movimentos. As figuras 29 e 30 nos mostram a consulta do
cadastro de Produtos e Notas de Entrada.

80

Figura 48 - Cadastro de produtos

Na figura 30 podemos verificar a existencia do boto Visualizar, este nos permiter


visualizar todos os items existentes na noat de entrada.

81

Figura 49 Consulta de Notas de Entrada

Os relatorios no sistema tambem foram testados e analisados, todos apresentaram as


informaes solicitadas com base no que foi proposto no documento de requisitos, a baixo
veremos um relatorio de Analise de Movimento de Entrada, onde o usuario devera especificar
as informaes que o sistema ira apresentar ao mesmo. Em seguida o relatorio sera
apresentado ao usuario para impresso. Veja as imagens a baixo.

82

Figura 50 - Relatrios

Aps o preenchimento de todos os parametros o relatorio foi processado e retornou as


informaes de acordo com os parametros informados.

83

Figura 51 - Formulrio do relatrio

Aps todos os testes e analises no sisteama, obtivemos os resultados onde os mesmos


monstram que todas as rotinas e funcionalidades existentes no sistema, se encontram em
perfeito funcionamento, e podem ser realizadas em quanquer computador que atenda as
especificaes minimas j citadas no documento a cima.

84

9 - Consideraes Finais
O propsito deste trabalho foi analisar e desenvolver um sistema para controle de estoque,
onde empresas ou pessoas em suas prprias residncias utilizassem para um melhor controle
de seus estoques e at mesmo de itens pessoais. Apresentamos tambm os conceitos de
desenvolvimento de um sistema de controle de estoque tambm desenvolvimento da
documentao.
Em sua grande maioria, as empresas de grande e mdio porte tendem a controlar os estoques
por planilhas eletrnicas, gerando enormes trabalhos manuais nas manutenes e retiradas de
suas informaes. Empresas de grande porte tratam seus estoques com sistemas mais
sofisticados e sistemas integrados ERPs, os quais so compostos por mdulos, onde a
empresa controla no somente os estoques, mas tambm, faturamento e todas as reas da
mesma.
O software desenvolvido neste projeto traz conceitos avanados como o controle por tipos de
movimento, onde as entradas no estoque podem ser diferenciadas por tipos de movimento e
onde os mesmo gerenciam se as movimentaes podem ou no alterar os saldos dos produtos.
Essa mecnica de controle pode ser encontrada em ERPs como, por exemplo, o software da
TOTVS Protheus 11, o mesmo conta com os Tipos de Entrada e Sada, para um melhor
controle do seu modulo de Estoque e Custos.
O sistema se mostrou confivel, por conter ferramentas de analise e recalculo. Com esta
ferramenta o sistema possibilitou a confirmao de informaes e o ajuste de saldos
incorretos, onde alteraes diretas ao banco de dados podem ser recalculadas
automaticamente.
O projeto tambm contou com nveis de acessos que foram implantados no sistema, para um
melhor controle interno, desta forma o sistema pode ser utilizado por vrios usurios, onde
cada um deles teve limites implantados de forma que o sistema se encarregou de analisar e
liberar as informaes conforme o cadastrado.

85

9.1 Melhorias Futuras


As idias de melhorias na aplicao so baseadas no uso do mesmo. Por se tratar de um
sistema de estoque, de suma importncia a criao de logs para controlar e monitorar o uso
da aplicao pelos usurios, evitando assim movimentaes indevidas.
Outra melhora prevista a mudana do visual do aplicativo, deixando ele mais amigvel e de
melhor apresentao. Tambm como melhoria, criaremos novos mdulos, deixando a
aplicao mais voltada para o controle geral da empresa, ou seja, um sistema ERP, onde o
aplicativo contar com mdulos financeiros, notas fiscais e controle de RH.

10 - Referncias

1. SOMMERVILLE, Ian. Engenharia de Softwares. So Paulo: 2007.

2. Guedes, Gilleanes T. A. UML: Uma Abordagem Prtica. So Paulo: 2007.

3. Silberschatz, Abraham. Sistema de Banco de Dados. Rio de Janeiro: 2010.

4. SIERRA, Kathy e BATES, Bert. Use a Cabea Java. Rio de janeiro: 2007.

5. Nielsen e Lorange, 2000, p. 4.

86

6. http://www.julianoribeiro.com.br/troca/banco_de_dados/material_der.pdf, 08/06/2012

7. http://www.dc.ufscar.br/~marina/cursos/ApostilaProjBD-Alunosatualizando.pdf,
08/06/2012

87