Sistema Gerencial Controle De Estoque
Exames: Sistema Gerencial Controle De Estoque. Pesquise 862.000+ trabalhos acadêmicosPor: • 26/7/2014 • 9.166 Palavras (37 Páginas) • 1.405 Visualizações
Sistema Gerencial Controle de Estoque
Cristiano Santos da Silveira1
1Faculdade IDEAU – Passo Fundo
Passo Fundo – RS – Brasil
cristianosilveiras@gmail.com
Abstract. This article demonstrates an application of a software for inventory management, helping companies and or entities to manage their products. When management does not exist, its absence can bring trauma several times causing serious financial bankruptcy of the organization. Inventory control is positioned on one of the main keys gear of an institution, so that it will achieve the goals that we all crave is the company's growth. In developing this inventory management system was applied technical knowledge such as programming language Java (J2SE) using the NetBeans IDE 6.9, system data storage Oracle 10G Express Edition, ER model with the modeling tool and the creation of structures analysis of Power Designer. The case study was carried out in the company RESALES (Renata Sales Men's Accessories).
Resumo.
Este artigo demonstra uma aplicação de um software para gerenciamento de estoque, auxiliando empresas e ou entidades a administrarem seus produtos. Quando o gerenciamento não existe, sua ausência pode trazer traumas financeiros graves causando diversas vezes a falência da organização. O controle de estoque posiciona-se em uma das chaves principais da engrenagem de uma instituição, para que esta venha alcançar os objetivos que todas almejam que é o crescimento da empresa. No desenvolvimento deste sistema gerencial de estoque foi aplicadas técnicas de conhecimento como: linguagem de programação Java (J2SE), com uso da IDE NetBeans 6.9, sistema de armazenamento de dados Oracle 10G Express Edition, modelo E-R com a ferramenta de modelagem e criação de estruturas de analise Power Designer. O estudo de caso foi realizado na empresa REVENDAS (Renata Vendas de Acessórios Femininos).
1. Introdução
O controle de estoque é muito importante para empresa, seja ela grande ou pequena, pois é através dele que ela será capaz de prever o quanto que será necessário comprar no próximo pedido, além de fornecer informações úteis sobre oque esta sendo vendido. Verificamos que muitas vezes os relatórios do setor de vendas não são muito claros e não condiz com a realidade, afinal, o setor de vendas quer visualizar os lucros. O principal objetivo do controle de estoque é otimizar o investimento em estoques, aumentando o uso eficiente dos meios internos de uma empresa, e minimizar as necessidades de capital investido em estoque.
O estoque ocorre em operações produtivas porque os ritmos de fornecimento e de demanda nem sempre andam juntos. Os estoques são usados para atender às necessidades decorrentes das diferenças entre fornecimento e demanda de uso seja na produção, seja na comercialização.
A evolução do mercado de software proporcionou o surgimento de técnicas, processos e ferramentas que objetivam melhorar a qualidade dos programas produzidos. A Engenharia de Software descreve uma série de procedimentos e tenta mostrar o melhor caminho para se projetar um software de qualidade, numa relação de custo/benefício. Porém, nada adiantaria ter as melhores definições se elas não forem aplicadas de maneira satisfatória, cumprindo com as necessidades da empresa.
Hoje é possível construir uma ferramenta que gerencie as competências da empresa, servindo de base à definição de metas, alocação em projetos dentro de uma empresa.
Um dos fatores mais relevantes ao desenvolvimento dos processos administrativos é a aplicação de tecnologia de informação, proporcionando um grande aumento de eficiência. Tais sistemas abrangem todas as ferramentas que a tecnologia disponibiliza para o controle e gerenciamento do fluxo de informação de uma organização (BALLOU, 1993).
O gerenciamento de estoque necessita cada vez mais da Tecnologia de Informação, utilizando sistemas integrados de gestão, desenvolvidos para integrar, controlar e gerenciar a cadeia de suprimentos com o objetivo final de atender melhor o cliente. Para obter vantagem competitiva, as empresas estão recorrendo aos sistemas, buscando automatizar seu processo produtivo utilizando as tecnologias.
Os Sistemas de Informação são os sistemas ou práticas utilizadas para melhorar o desempenho incluindo ter um custo operacional adequado, processos inteligentes e integração com fornecedores e clientes através de ferramentas que serão discutidas ao longo deste artigo.
Existem, no mercado, vários tipos de ferramentas que facilitam e tornam a informação mais acurada para aplicação na cadeia de suprimentos, buscando aprimorar e melhor integrar a esta necessidade crescente do mercado, em cima disso foi realizado pesquisas e acompanhamento para o desenvolvimento de um sistema com a finalidade de adaptação ao ambiente como ferramenta para a gestão de estoque.
A gestão de estoques bem sucedida envolve a criação de um plano de compras que vai garantir que os itens estejam disponíveis quando for necessária, (e que nem muito nem pouco seja comprado) pista de manutenção de inventário exige a utilização de um software, onde as empresas pretendem receber itens, em vez de manter altos níveis de estoque e materiais que não são utilizadas, manter suas entregas de materiais com base em previsões de vendas.
2. Objetivos do Projeto
Estudar o negócio envolvido no sistema, no caso a gestão de competências. Aplicar um processo de desenvolvimento proposto pela engenharia de software, a fim de acompanhar todo o projeto de maneira efetiva e obter um produto final de qualidade.
Utilizar, durante o projeto, as padronizações propostas pela Análise Orientada a Objetos, fazendo uso da UML como linguagem de notação de todas as etapas onde for conveniente. Utilizar a orientação a objetos durante a implementação do sistema. Projetar o sistema de acordo com a arquitetura Cliente/Servidor, utilizando a linguagem Java.
Integrar os conhecimentos adquiridos durante o curso superior de tecnologia em sistemas de informação em um projeto completo, o qual deve refletir as melhores práticas aprendidas nas disciplinas envolvidas em seu desenvolvimento. Como estudo de caso, implantar e utilizar o projeto em uma empresa real.
O objetivo geral é construir um sistema que seja capaz de permitir aos gestores de empresas, a trabalhar organizadamente controlando entradas e saídas de mercadorias.
Outro papel do sistema será auxiliar na revisão da estrutura remuneratória de uma empresa, que deverá ser focada em metas e permitirá remuneração por produtividade. Para isso, será utilizada uma escala de apuração dos resultados. Enfim, o sistema deverá dar suporte a um controle eficaz de entrada e saída de produtos aos que fizerem uso.
3. Definições
Considerando a complexidade de técnicas aplicadas para o desenvolvimento desse sistema de informação, o SGE, a seguir serão explicitados os métodos aplicados, demonstrando, na descrição de cada um, sua forma de aplicação.
3.1 Sistema Gerencial de estoque
Sistemas de gerenciamento empresarial são sistemas onde integra de forma eficaz todo o operacional da empresa. Por ser um sistema que abrange toda a parte gerencial da empresa, a implantação dele não é simples exigindo uma série de modificações prévias.
Considerando a definição acima, podemos dizer que um SGE (Sistema Gerencial de Estoque) consiste basicamente na integração das atividades de estoque, compras, vendas, logística, etc. Com o benefício direto de facilitar, tornar mais rápido e preciso o fluxo de informação permitindo assim o controle dos processos de negócios.
O Sistema de Gerenciamento de Estoque, chamado de SGE, é uma tecnologia utilizada em armazéns onde ele integra e processa as informações de localização de material, controle e utilização da capacidade produtiva de mão-de-obra, além de emitir relatórios para os mais diversos tipos de acompanhamento e gerenciamento.
O sitema prioriza uma determinada tarefa em função da disponibilidade de um funcionário alimentando as informaçoes no SGE. Com este recurso ocorre um aumento na produtividade com a capacidade de controlar o dispositivo de movimentação de material automaticamente com a função de controlar a entrada e saída de mercadorias.
Com uma ferramenta desse porte a empresa passa a ter um ganho na produtividade com a economia de tempo nas operações compra e venda e estocagem de mercadoria e ainda controlar o estoque de produtos no seu armazém. Podendo ainda permitir que o gerente controle as operações de armazém apenas observando.
O SGE oferece uma variedade de relatórios para auxiliar no gerenciamento das atividades; tem flexibilidade de hardware; a customização é ilimitada a mudança de campos e nomes, e modulos ele oferece um ótimo acompanhamento e controle das atividades e solicita um custo reduzido de software e hardware requerido para a implementação dessa solução.
O sistema de controle de estoque é uma forma sistemática para lidar com o fluxo de material e será benéfico para a instituição e ajudara na supervisão, controle da ordenação, armazenamento e uso de componentes que a empresa vai usar na produção ou compra dos itens que vai vender bem como, a supervisão e controle de quantidades de produtos para venda.
O sistema de controle de estoque pode ser usado para automatizar um processo de vendas e cumprimento de ordem. Esse sistema contém formulários para ser preenchido, e em seguida, solicita operadores para escolher os itens necessários. Inventário físico contagem e contagem em ciclo são características de muitos sistemas de inventário de controle que podem melhorar a organização.
3.2 Definições do Ambiente de Desenvolvimento
A criação de um software deve possui um planejamento e um estudo analítico dos processos pelos quais ele será responsável. A escolha de ferramentas para tal trabalho é de suma importância e pode trazer agilidade se bem aplicadas, como problemas se mal aplicadas, a sua criação, o autor deste trabalho será o recurso humano para o projeto proposto. Quanto aos recursos materiais, serão utilizados computador pessoal, uma impressora e materiais de escritório de propriedade do autor deste trabalho.
Os recursos de software utilizados serão:
• Linguagem de programação Java
• Pacotes Microsoft Office 10.0
• Ambiente de desenvolvimento NetBeans IDE 6.9.1.
• Banco de Dados Oracle 10G Express Edition
• Ferramenta Case - Power Designer 9.0.
• Ferramenta para relatórios Jasper Reports
3.2.1 A linguagem de programação Java
Java é uma linguagem de programação orientada a objetos feita na Sun Microsystems, hoje Oracle Corporation, lançada em 1995. A base da sintaxe do Java é C e C++, derivou dessas linguagens mesmo. Porém, programar em Java é mais simples, pois é alto nível. Isso quer dizer que não nos preocupamos tanto com detalhes baixo nível, como memória, processamento, ponteiros, lixo etc. Pois o Java já provém um gerenciamento automático de memória e um coletor de lixo, que facilitam o desenvolvimento, porem consome mais processamento.
Em linguagens de programação, como em C, o programa é convertido em código de máquina (Assembly) e rodará especificamente na sua máquina. Se tentar rodar em um celular, não irá conseguir, pois é outra arquitetura. A diferença do Java é que os programas não são compilados diretamente na arquitetura de computadores, ao invés disso, roda na JVM - Java Virtual Machine, uma máquina virtual, e esta é implementada nos mais diversos dispositivos, o que torna o Java referência quando o assunto é portabilidade.
Atualmente, Java é uma das linguagens de programação mais famosas do mundo. Se você usa Internet, é quase que impossível não ter usado Java para ter tido acesso ao site daquele banco, ou usou para entrar numa rede social ou jogar um jogo online.
A base da programação Java são as classes e seus objetos, as classes possuem métodos e características que são comuns a todos os objetos. Java é bastante flexível por conta da possibilidade de expansão através das bibliotecas, ou APIs, além das suas extensões.
Um ponto fraco do Java, em relação a outras linguagens de programação, é o peso. É um pouco lento, principalmente se compararmos com a eficiência de linguagens como C e C++.
A maior parte do Java é lançada sobre licença de software livre, diferente de sua linguagem 'gêmea' C# que é da Microsoft. Portanto, é bem comum encontrarmos aplicações gratuitas feitas em Java.
3.2.2 Pacotes Microsoft Office 10.0
O Microsoft Office é uma suíte de escritório de aplicações desktop, servidores e serviços para o Microsoft Windows e Mac OS X, sistemas operacionais, introduzido pela Microsoft em 1 de agosto de 1989. Inicialmente, um termo de marketing para o conjunto empacotado de aplicações, a primeira versão do Office contida Microsoft Word, Microsoft Excel e Microsoft PowerPoint. Ao longo dos anos, os aplicativos do Office têm crescido substancialmente mais estreita com recursos compartilhados, como um corretor ortográfico comum, OLE integração de dados e Microsoft Visual Basic for Applications linguagem de script.
A Microsoft também posiciona Office como uma plataforma de desenvolvimento para a linha de negócios de software sob as aplicações de escritório, negócios da marca. Escritório é relatado para ser usado por mais de um bilhão de pessoas em todo o mundo. As versões atuais são o Office 2010 para Windows, lançado em 15 de junho de 2010; e Office 2011 para Mac OS X, lançado 26 de outubro de 2010. O novo Escritório de 2013 (versão 15 da suíte Office) tem rumores para ser liberada em Dezembro de 2012.
3.2.3 Ambiente de desenvolvimento NetBeans IDE 6.9.1.
Um ambiente de desenvolvimento baseado em Java (IDE), a plataforma originalmente foi desenvolvido por dom Inclui funções de interface de usuário, editor de código-fonte, editor GUI, controle de versão, bem como suporte para aplicativos distribuídos (CORBA, RMI, etc.) e aplicações Web (JSPs, servlets, etc.). Em 1999, a Sun adquiriu o NetBeans, Desenvolvimento de NetBeans e rebatizada pela Forte for Java Community Edition (Sun adquiriu Forte em 1999). Em 2000, a Sun fez o NetBeans IDE código de fonte aberto. www.netbeans.org.
Figura 1. Tela de desenvolvimento NetBeans.
3.2.4 Banco de Dados Oracle 10G Express Edition
O Banco de Dados Oracle (comumente referido como Oracle RDBMS ou simplesmente como Oracle) é um objeto-relacional de sistema de gestão de banco de dados (ORDBMS) produzidos e comercializados pela Oracle Corporation.
Larry Ellison e seus amigos, ex-colegas de trabalho Bob Miner e Ed Oates , começaram a consultoria Software Development Laboratories (SDL), em 1977. SDL desenvolveu a versão original do software Oracle. O nome da Oracle vem do nome de código de uma CIA projeto financiado pelo Ellison havia trabalhado em tempo anteriormente empregado pela Ampex.
Um sistema com base de dados Oracle é identificado por um identificador de sistema alfanumérico ou SID. Dispõe de um conjunto de sistema operacional de processos e memórias estruturadas que interagem com o armazenamento. {Processos típicos incluem PMON (o monitor do processo) e SMON (o monitor do sistema)} Documentação do Oracle pode se referir por uma instância de banco de dados ativo como um "reino de memória compartilhada".
É m banco de dados e desenvolvido em plataforma robusta. O Oracle foi escolhido por ser uma base de dados muito confiável também por possuir ferramentas estruturadas para soluções de diversas tarefas. A versão 10G Express Edition é livre com limite de quatro gigabytes de informação suportando o volume de dados gerados por processos do SGE.
Figura 2. Tela de gerenciamento de banco de dados Oracle 10G
3.2.5 Ferramenta Case - Power Designer 9.0
PowerDesigner é uma colaboração na modelagem empresarial a ferramenta produzida pela Sybase . PowerDesigner é executado sob o Microsoft Windows como uma aplicação, e é executado sob Eclipse através de um plug-in . PowerDesigner suporta arquitetura orientada a modelo para design de software. O PowerDesigner usa formato de arquivo “.pdm.” PowerDesigner modelagem de dados foi lançada no mercado em 2002.
É uma ferramenta de fácil utilização para o desenvolvimento do Banco de Dados, também para criação do diagrama “Entidade-Relacionamento” quanto da geração de script SQL para o Banco de Dados.
Figura 3. Tela de desenvolvimento Power Designer
3.2.6 Ferramenta para relatórios Jasper Reports
O JasperReports é um poderoso e flexível gerador de relatórios open source. É fácil de ser integrado a aplicações Java empresariais. Portanto, para usar diretamente o JasperReports, precisamos manipular sua estrutura de relatórios XML — uma atividade relativamente técnica, para usar só o formato XML representa uma tarefa longa, dolorosa e pouco compensadora.
Existem algumas alternativas disponíveis que são muito mais fáceis de usar. A melhor de todas, é o uso de um editor visual para projetar, compilar e testar os relatórios.
Um dos editores visuais mais úteis que podemos usar é o iReport, que foi utilizado para a realização deste projeto.
Figura 4. Tela de edição iReport
4. Metodologia
Para desenvolver as metodologias aplicadas no desenvolvimento do sistema, foi feito um estudo de um ano e a uma empresa do ramo comercial na atividade de revenda de acessórios localizada na cidade de Passo Fundo, empresa de pequeno porte, de propriedade de Renata dos Santos Fraporti.
O sistema esta aplicado na forma de protótipo auxiliando-a no controle de compra e venda das suas mercadorias, bem como no controle do estoque. Essa aplicação de desenvolvimento, fez com que testes fossem realizados durante cada processo desenvolvido bem como a analise da veracidade das informações geradas.
O SGE foi desenvolvido com a finalidade de controlar a parte prática das entidades rurais, o mesmo não trabalha com técnicas aprofundadas de controle de pagamento e contas a receber. Para este fim existem sistemas contábeis que realizam tais processos em entidades ou empresas.
A seguir serão apresentadas as etapas de desenvolvimento do Sistema de controle de estoque. Os diagramas E-R desenvolvidos e que representam à estrutura do sistema e sua funcionalidade estão nos anexos finais deste artigo.
5. Objetivos do Sistema
O SGE foi desenvolvido com a finalidade de controlar a parte prática dos processos de uma empresa. Com seu objetivo baseado sempre na organização e controle, o SGE faz o controle desde a compra do armazenamento ate a venda final na empresa sempre gerando informações de alta confiança para o controle de gastos e análise de empreendimentos, fornecendo relatórios com custo benefícios das mercadorias movimentadas e informações de fundamental importância para gerenciamento dos lucros da empresa.
Dentre as tarefas apresentadas, o SGE ainda poderá ser implementado com funções e tarefas conforme a necessidade da empresa.
5.1 Descrição
O SGE é um sistema aplicativo destinado à controle de estoque para pequenas ou medias empresas que realizam essa tarefa. Em linguagem de programação Java com base de dados Oracle. É um software multiplataforma, poderá ser implementado em ambiente Windows ou Linux, esta uma das funcionalidades da aplicação Java, com controle de usuários e de backup e restauração de dados.
Software é projetado para ajudar as empresas a gerenciar o estoque, vendas, compras, transporte e funções relacionadas. Soluções de inventário de software de gestão, muitas vezes trabalhar com código de barras, código para suportar controle de estoque e administração. O termo geral de inventário de software pode abranger aspectos adicionais de operações de uma empresa, incluindo os sistemas de gestão de armazéns, gestão da cadeia de suprimentos e gestão de operações em produtos ou componentes de fornecedores para armazéns, entre armazéns, e, finalmente, para locais de varejo ou diretamente aos clientes. Controle de Estoque Básico ajuda a preencher e monitorar os produtos de uma empresa. Com um conjunto fundamental de ferramentas para atingir esta meta, mesmo novato será o passo certo para este programa seja útil.
Interface muito simples de aparência do programa para facilitar, desde o seu arquivo de ajuda e Tutorial foram formulada e projetados com direção. O sistema gerente de estoque é dividido em alguns comandos simples para o seu controle de estoque. O sucesso do programa articulada na construção de um banco de dados do produtos. Depois que cadastrar todas as nossas ações um nome, número do produto e preço, estará apto para gerenciar o inventário. Encomenda, transporte e alocação desses produtos, (como quantidade e destinatário). Entrada manual será imediatamente refletida no estoque, porém inicialmente não terá a possibilidade de testar um scanner de códigos de barras.
5.2 Principais Funcionalidades da Ferramenta
Um programa rápido e conveniente que permite que os usuários de ambas as estimativas preparar ordens de serviço e notas fiscais de impressão a partir de uma única tela. São armazenadas para uso futuro para que possam ser facilmente recuperados e revisados. As estimativas ordens de trabalho pode ser impresso como uma fatura ou atualizados.
Preços de inventário e de serviço são calculados automaticamente, bem como o total final da fartura. Isso poupa tempo de ter que calcular manualmente a fatura e evita erros de cálculo. O inventário é automaticamente ajustado para refletir as peças usadas para cada fatura. Um especial "link" função auxilia na preparação da fatura e ordens de trabalho reduzindo ainda mais o tempo de processamento.
Abaixo serão descritas as principais funcionalidades da ferramenta SAAG, aonde as mesmas são aplicadas e qual a importância de cada uma.
A função principal do Sistema Gerencial de estoque é a administração de estoque, onde o sistema recebe as informações e as analisa armazenando em um banco de dados. Funciona basicamente como um ERP para administração do estoque e armazenamento de dados sobre a entidade e com o objetivo ainda de ser modulado futuramente para mais funcionalidades, tais como controle financeiro, controle gerencial total da empresa.
6. Tela de Login
Tela que dará permissão para o usuário ter acesso ao sistema, onde será necessário ter cadastrado um nome e uma senha para o acesso.
Figura 5. Tela de Login
6.1 Menu principal do sistema
Na tela do menu principal o usuário terá acesso após a validação da senha, nesta tela disponibiliza acesso para todos os aplicativos do sistema, onde será a área de trabalho do usuário.
Figura 6. Tela do Menu
6.2 Manutenções Do Cadastro de Usuários
O Registro de usuários podem ser configurados e armazenados na seção de cadastros de usuários. Listas de usuários pode ser impresso para permitir a atualização e melhor visualização.
Figura 7. Tela de Cadastro de Usuários
6.3 Manutenções Do Cadastro de Cliente
Registros de clientes podem ser configurados e armazenados na seção de cadastros de clientes. Listas de clientes pode ser impresso para permitir a atualização de registros de clientes. Etiquetas de endereço pode ser impresso para ser usado com malotes enviado aos clientes.
Figura 8. Tela de Cadastro de Clientes
6.4 Manutenções Do Cadastro de Fornecedores
Registros de fornecedores podem ser configurados e armazenados na seção de cadastros de fornecedores. Listas de fornecedores pode ser impresso para permitir a atualização de registros de fornecedores.
Figura 9. Tela de Cadastro de Fornecedores
6.5 Manutenções do cadastro de produtos
A opção Estoque permite a inclusão e manutenção de produtos. Deve-se inserir uma descrição do item, especificar o tipo a que ele pertence, preço, custo médio. Desta forma, o programa processa todas estas informações e remete um valor para o produto em questão.
Este preço de venda sugerido pode ser corrigido, sendo uma sugestão para fazer com que sua empresa obtenha lucros no processo de venda.
Uma das principais funcionalidades do sistema é o controle de estoque analítico da movimentação de mercadorias e matérias de uso da entidade. Quando é realizado um compra de produtos, o mesmo e encaminhado para armazenamento, uma sala, local com prateleiras moduladas para a função. Para um controle rigoroso o sistema requer informações para a subdivisão do estoque: produto, local de armazenamento, data de compra formações de divisões e subdivisões do controle de estoque. Outras informações que formam a entrada também estão presentes, configurando o registro de compra e a ligação com o fornecedor.
Assim como as entradas, as aplicações devem possuir as informações principais de estoque, onde esta se alocando a mercadoria. O empreendimento apresenta os locais e em qual prateleira esta armazenado
O produto é dinâmico em termos de compra e venda por isso um cadastro de produtos é realizado definindo o nome dos produtos a serem movimentados.
Figura 10. Tela de Cadastro de Produtos
6.6 Controlando as vendas da empresa
Com a opção Vendas, pode-se inserir o registro de saída de mercadorias, ou seja, todas as vendas novas que ocorrem na empresa devem ser incluídas no programa, para que o processo de estoque ocorra da maneira correta.
As vendas significam a lucratividade e quando uma venda é realizada, diversas informações são utilizadas para um controle analítico desse processo. Informações como número de pedido, data, valor, cliente que geram análise de movimentação posteriormente. É um dos controles mais minuciosos da movimentação do estoque, pois depende de varias informações.
6.7 Controlando as compras da empresa
Com as informações concebidas pelo SGE em relação a vendas, podemos ter uma idéia de como planejar a próxima compra sabendo quais foram os produtos mais vendidos, esses conjuntos de informações iram gerar uma receita de planejamento. Para planejar modelos de estoques
Com a opção notas de entrada, pode-se inserir o registro de entrada de mercadorias, ou seja, todas as compras também devem ser incluídas no programa, para que o processo de controle no estoque ocorra da maneira correta, englobando compra e venda de mercadoria.
7. Emissão de relatórios
A verificação de relatórios diários pode ser concluído em poucos minutos. O programa automaticamente mantém o controle de todas as vendas para o dia, bem como todo o dinheiro recebido de clientes devido. Tudo o que é necessário para ser inserido são as movimentações diárias. Um relatório completo diário é impresso para manutenção de registros.
Sistema de SGE também oferece a emissão de relatórios com listas de clientes, estoque de seus produto, fornecedores. Os arquivos são gerados mediante o trabalho e inclusão de informações no sistema.
Com este programa simples é possível otimizar o trabalho de muitos funcionários, bem como garantir vantagem competitiva para sua empresa em relação aos concorrentes, obtendo informações relevantes em um curto intervalo de tempo.
8. Desenvolvimento Prático da Ferramenta
A seguir serão demonstrados alguns exemplos da aplicação do sistema gerencial, bem como suas telas e a interatividade com o usuário, sistema esse desenvolvido com as técnicas apresentadas nas secções anteriores.
8.1 Desenvolvimento Prático da Ferramenta
Abaixo veremos as linhas de código sql de algumas tabelas criadas no banco de dados.
8.1.1 Tabela: CLIENTE_CAD
create table CLIENTE_CAD (
ID INTEGER not null,
NOME VARCHAR(50),
RAZAOSOCIAL VARCHAR(100),
CONTATO VARCHAR(100),
DATANASCIMENTO DATE,
SEXO VARCHAR(10),
ENDERECO VARCHAR(50),
BAIRRO VARCHAR(50),
CIDADE VARCHAR(50),
ESTADO VARCHAR(2),
CEP VARCHAR(50),
COMPLEMENTO VARCHAR(50),
FONE1 VARCHAR(50),
FONE2 VARCHAR(50),
FONE3 VARCHAR(50),
EMAIL VARCHAR(50),
RG VARCHAR(50),
CPF VARCHAR(50),
CNPJ VARCHAR(50),
INCESTADUAL VARCHAR(50),
TIPO VARCHAR(50),
OBSERVACAO VARCHAR(100),
ATIVO INTEGER,
RESTRICAO INTEGER,
BOLETO INTEGER,
ENDERECOCOBRANCA VARCHAR(250),
ENDERECOENTREGA VARCHAR(250),
constraint PK_CLIENTE_CAD primary key (ID)
8.1.2 Tabela: COMPRA_CAD
create table COMPRA_CAD (
ID INT not null,
NUM_COMPRA INT,
DATA_ENTRADA DATE,
DATA_COMPRA CHAR(10),
ID_CLIENTE CHAR(10),
constraint PK_COMPRA_CAD primary key (ID)
);
8.1.3 Tabela: FORNECEDOR_CAD
create table FORNECEDOR_CAD (
ID INTEGER not null,
NOME VARCHAR(50),
RAZAOSOCIAL VARCHAR(100),
CONTATO VARCHAR(100),
DATANASCIMENTO DATE,
SEXO VARCHAR(10),
ENDERECO VARCHAR(50),
BAIRRO VARCHAR(50),
CIDADE VARCHAR(50),
ESTADO VARCHAR(2),
CEP VARCHAR(50),
COMPLEMENTO VARCHAR(50),
FONE1 VARCHAR(50),
FONE2 VARCHAR(50),
FONE3 VARCHAR(50),
EMAIL VARCHAR(50),
RG VARCHAR(50),
CPF VARCHAR(50),
CNPJ VARCHAR(50),
INCESTADUAL VARCHAR(50),
TIPO VARCHAR(50),
OBSERVACAO VARCHAR(100),
ATIVO INTEGER,
RESTRICAO INTEGER,
BOLETO INTEGER,
ENDERECOCOBRANCA VARCHAR(250),
ENDERECOENTREGA VARCHAR(250),
constraint PK_FORNECEDOR_CAD primary key (ID)
);
8.1.4 Tabela: PRODUTO_CAD
create table PRODUTO_CAD (
ID CHAR(10) not null,
NOT_ID INTEGER,
DESCRICAO CHAR(10),
DATA_CADASTRO CHAR(10),
UNIDADE CHAR(10),
ID_FORNECEDOR CHAR(10),
COD_BARRAS CHAR(10),
LOTE CHAR(10),
ESTOQUE CHAR(10),
ESTOQUE_MINIMO CHAR(10),
ID_CATEGORIA CHAR(10),
PRATELEIRA CHAR(10),
ESTADO CHAR(10),
OBSERVACAO CHAR(10),
CUSTO CHAR(10),
PERCENTUAL CHAR(10),
VALOR_VENDA CHAR(10),
constraint PK_PRODUTO_CAD primary key (ID)
);
8.1.5 Tabela: PROD_COMPRA
create table PRODUTO_COMPRA (
ID INT not null,
ID_COMPRA INT,
ID_ITEM INT,
QUANT_ITEM INT,
VALOR_ITEM FLOAT,
constraint PK_PRODUTO_COMPRA primary key (ID)
);
8.1.6 Tabela: PRODUTO_VENDA
create table PRODUTO_VENDA (
ID INT not null,
ID_VENDA INT,
ID_ITEM INT,
QUANT_ITEM INT,
VALOR_ITEM FLOAT,
constraint PK_PRODUTO_VENDA primary key (ID)
);
9. Modelagens do banco de dados
Figura 11.Parte de criação e modelação do banco de dados com a ferramente de modelagem Power Designer
10. Conexão com o banco de dados.
Abaixo veremos as linhas de código fonte que ira realizar a conexão diretamente com a base de dados.
package utilitarios;
import java.sql.*;
import java.util.HashMap;
import javax.swing.*;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
//import org.netbeans.mobility.antext.preprocessor.PPLine.Error;
public class conexao{
final private String driver = "oracle.jdbc.driver.OracleDriver";
final private String usuario= "BD_SYSCOMERCIAL";
final private String senha = "MT257913";
public Connection conexao;
public Statement statement;
public ResultSet resultset;
public boolean conecta (String url){
boolean result = true;
try{
Class.forName(driver);
conexao = DriverManager.getConnection("jdbc:oracle:thin:@//127.0.0.1:1521/XE",usuario,senha);
//JOptionPane.showMessageDialog(null,"Conectou");
}
catch(ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null,"Sistema Não Instalado Corretamente - Drives de Conexão em Falta"+Driver);
result = false;
}
catch(SQLException Fonte){
JOptionPane.showMessageDialog(null,"Servidor não Encontrado. Verifique!"+Fonte);
result = false;
}
return result;
}
public void desconecta(){
boolean result = true;
try {
conexao.close();
//JOptionPane.showMessageDialog(null,"Desconectado");
}
catch(SQLException errosql){
JOptionPane.showMessageDialog(null,"Não foi possivel desconectar "+errosql);
result = false;
}
}
public void executesql(String sql){
try {
statement = conexao.createStatement(resultset.TYPE_SCROLL_SENSITIVE, resultset.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
}
catch(SQLException errosql){
JOptionPane.showMessageDialog(null,"Ação Não Executada. Verifique o Relacionamento dos dados!"+errosql+sql);
}
}
public void gerar_relatorio()
{
JasperPrint rel = null;
try
{
HashMap map = new HashMap();
String arquivoJasper = "relatorios/rela_clientes.jasper";
rel = JasperFillManager.fillReport(arquivoJasper, map, conexao);
}
catch (JRException e)
{
JOptionPane.showMessageDialog(null,e.getMessage());
}
}
}
11. Codigo fonte da tela de login.
Abaixo veremos algumas linhas de código fonte da tela de login.
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jdom.input.SAXBuilder;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
public class login_xml extends javax.swing.JFrame {
ArrayList<String> enderecos = new ArrayList<String> ();
/** Creates new form login_xml */
public login_xml() {
initComponents();
carrega_urlxml();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
new login_usuario().show();
this.setVisible(false);
}//GEN-LAST:event_jButton1ActionPerformed
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextField1ActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_jTextField1ActionPerformed
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
gerarxmlloading();
}//GEN-LAST:event_jButton2ActionPerformed
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
int valida = JOptionPane.showConfirmDialog(null,"Deseja Excluir a URL?");
if (valida==0)
{
int x = jTable1.getSelectedRow();
String ip = ((String) jTable1.getValueAt(x,0));
removexml(ip);
JOptionPane.showMessageDialog(null,"URL Excluída");
}
else
{
JOptionPane.showMessageDialog(null,"URL Não Excluída");
}
}//GEN-LAST:event_jTable1MouseClicked
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new login_xml().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField jTextField1;
// End of variables declaration//GEN-END:variables
public void gerarxmlloading()
{
//Declaração dos elementos que irão compor a estrutura do documento.
Element ips = new Element("ips");
Element caminho = null;
//"Setando" os atributos e conteúdos
for (int z=0;z<enderecos.size();z++)
{
caminho = new Element("caminho");
caminho.setText(enderecos.get(z).toString());
ips.addContent(caminho);
}
caminho = new Element("caminho");
caminho.setText(jTextField1.getText());
ips.addContent(caminho);
//Criando Documento com JDOM
Document doc = new Document();
doc.setRootElement(ips);
try{
//escrevendo no Doc
XMLOutputter out = new XMLOutputter();
java.io.FileWriter writer = new java.io.FileWriter("url.xml");
out.output(doc, writer);
writer.flush();
writer.close();
}
catch(Exception e)
{
//e.getMessage();
}
//fecha arquivo de xml de loading
carrega_urlxml();
}
public void carrega_urlxml()
{
//carrega por xml os ips possiveis + 0 127.0.0.1 que é o servidor
enderecos.clear();
try{
//Aqui você informa o nome do arquivo XML.
File f = new File("url.xml");
//Criamos uma classe SAXBuilder que vai processar o XML
SAXBuilder sb = new SAXBuilder();
//Este documento agora possui toda a estrutura do arquivo.
Document d = sb.build(f);
//Recuperamos o elemento root
Element blog = d.getRootElement();
//Recuperamos os elementos filhos (children)
List elements = blog.getChildren();
Iterator i = elements.iterator();
DefaultTableModel tabela = (DefaultTableModel)jTable1.getModel();
tabela.setNumRows(0);
while (i.hasNext())
{
Element element = (Element) i.next();
String valorurl = element.getText();
enderecos.add(valorurl);
tabela.addRow(new Object[]{valorurl});
}
}
catch (Exception e)
{
//JOptionPane.showMessageDialog(null,"Arquivo de Dados não encontrado (Configurações)");
}
}
public void removexml(String ip)
{
//Declaração dos elementos que irão compor a estrutura do documento.
Element ips = new Element("ips");
Element caminho = null;
//"Setando" os atributos e conteúdos
for (int z=0;z<enderecos.size();z++)
{
if (ip!=enderecos.get(z).toString())
{
caminho = new Element("caminho");
caminho.setText(enderecos.get(z).toString());
ips.addContent(caminho);
}
}
//Criando Documento com JDOM
Document doc = new Document();
doc.setRootElement(ips);
try{
//escrevendo no Doc
XMLOutputter out = new XMLOutputter();
java.io.FileWriter writer = new java.io.FileWriter("url.xml");
out.output(doc, writer);
writer.flush();
writer.close();
}
catch(Exception e)
{
//e.getMessage();
}
//fecha arquivo de xml de loading
carrega_urlxml();
}
}
12. Justificativa
Mesmo com a grande evolução tecnológica pela qual o mundo tem passado no desenvolvimento de sistemas são as pessoas que desempenham o papel primordial (PRESSMAN, 2000). São elas que, dentre outras coisas, determinam quais processos serão seguidos, quais recursos materiais serão necessários ou que ferramentas deverão ser utilizadas como apoio. Quanto mais talentoso, organizado e dedicado for o time envolvido no projeto de um software, maiores as chances de o mesmo atender a todos os objetivos para os quais o software está sendo feito. Entretanto, apenas contar com a arte e a sorte na execução de tarefas importantes no desenvolvimento de software pode levar o projeto ao fracasso total.
Segundo a engenharia de software, as pessoas também são recursos (humanos) de um projeto e, como tais, devem interagir com outros recursos (ferramentas de hardware e software) a fim de levar a frente cada etapa da construção do sistema (PRESSMAN, 2000). A figura 1 demonstra o relacionamento entre os recursos.
13. Considerações Finais
A vantagem competitiva baseada em sistemas integrados de gestão de estoque, ocorre com o entendimento da necessidade de aquisição de tecnologia de informação para integração da cadeia produtiva, a fim de melhor atender o cliente final é atualmente a fonte de vantagem competitiva mais cobiçada no mercado, porém devem ser repensados os processos organizacionais.
14. Referências
GONÇALVES, Edson . Dominando NetBeans. ed. Ciencia Moderna.
RAMALHO, Jose Antonio Alves . “Oracle 10g .
TAMASSIA, GOODRICH ,Michael T., Roberto. Estruturas de Dados E Algoritmos Em Java 4 Ed.
<netbeans.org › Community › Sources.> Acesso em 16/07/12 22:00
<www.oracle.com/> acesso em 19/07/12 23:30
< www.sybase.com.br/products/.../powerdesigner > acesso em 10/06/12/
< www.java.com>
< forum.codigofonte.net › Programação › JAVA >acesso em 20/06/13
< http://pt.wikipedia.org/wiki/Java_(linguagem_de_programação) >acesso em 20/06/13
< http://java.sun.com/products/jfc/tsc/sightings/ >acesso em 20/06/13
< https://netbeans.org/ >acesso em 20/06/13
< http://www.oracle.com/index.html >acesso em 22/06/13
< http://community.jaspersoft.com/project/jaspersoft-studio/releases >acesso em 23/06/13
...