FACULDADE DE E NGENHARIA DE G UARATINGUETÁ E SPECIALIZAÇÃO EM I NFORMÁTICA E MPRESARIAL

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Andréa Silva de Oliveira

Guaratinguetá - SP Junho, 2008

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Andréa Silva de Oliveira

Monografia apresentada à Faculdade de Engenharia de Guaratinguetá, da Universidade Estadual Paulista, como parte dos requisitos para a obtenção do certificado de Especialista em Informática Empresarial.

Orientador: Prof. Dr. Edson Luiz França Senne

Guaratinguetá - SP Junho, 2008

Ficha catalográfica preparada na Seção de Aquisição e Tratamento da Informação do Serviço Técnico de Biblioteca e Documentação - FEG/UNESP

Oliveira, Andréa Silva de O48d Desenvolvimento de um sistema de compras para uma fábrica de

alimentos / Andréa Silva de Oliveira, Guaratinguetá, 2008. 50 f.:il. Bibliografia: f.49-50 Monografia de Especialização em Informática Empresarial - Universidade Estadual Paulista, Faculdade de Engenharia de Guaratinguetá, 2008. Orientador: Prof. Dr. Edson Luiz França Senne.

1. UML (Linguagem de modelagem padrão)

I. Título CDU 519.682

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

DADOS CURRICULARES

Andréa Silva de Oliveira NASCIMENTO: (28/08/1983) - Local (Campinas, São Paulo)

FILIAÇÃO:

Paulo Afonso Pinto de Oliveira Rosa Maria Silva de Oliveira

(2004)

Tecnólogo em Automação de Escritórios e Secretariado Faculdade de Tecnologia de Guaratinguetá - FATEC

UNESP/FEG-CEIE, 2008

i

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Dedico esse trabalho ao meu pai, por todos os exemplos de vida e ensinamentos que me deixou.

UNESP/FEG-CEIE, 2008

ii

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

AGRADECIMENTOS

Agradeço a Deus que me deu capacidade e força para vencer os obstáculos e dificuldades que encontrei. Ao meu orientador Prof. Dr. Edson Luiz França Senne pela habilidade e dedicação com que me orientou nesse trabalho. À minha mãe, por ter me dado força nos momentos mais difíceis. E ao meu namorado, que sempre me apoiou e incentivou.

UNESP/FEG-CEIE, 2008

iii

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

UNESP/FEG-CEIE, 2008

iv

Sumário

1

Introdução 1.1 1.2 1.3 1.4 1.5 Objetivo do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descrição do funcionamento do módulo de compras . . . . . . . . . . . . Desenvolvimento do trabalho . . . . . . . . . . . . . . . . . . . . . . . . Resultados esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organização da monografia . . . . . . . . . . . . . . . . . . . . . . . . .

1 2 2 3 4 5 7 8 10 12 12 12 14 14 17 17 18 19

2

Modelagem orientada a objetos 2.1 2.2 2.3 Etapas do desenvolvimento do sistema . . . . . . . . . . . . . . . . . . . Conceitos básicos de modelagem orientada a objetos . . . . . . . . . . . Tecnologias utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 2.3.2 2.3.3 2.3.4 UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagramas da UML . . . . . . . . . . . . . . . . . . . . . . . . . Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

Modelagem do sistema de compras 3.1 3.2 Diagramas de caso de uso . . . . . . . . . . . . . . . . . . . . . . . . . . Fluxos de eventos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Fluxo de eventos para o caso de uso "Inserir fornecedor" . . . . .

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9

Fluxo de eventos para o caso de uso "Alterar fornecedor" Fluxo de eventos para o caso de uso "Excluir fornecedor"

. . . . . . . .

20 21 22 23 24 24 25 26 27 27 28 31 31 32 33 35 37 39 41 43 45 47 49

Fluxo de eventos para o caso de uso "Inserir material" . . . . . . Fluxo de eventos para o caso de uso "Alterar material" . . . . . . Fluxo de eventos para o caso de uso "Excluir material" . . . . . . Fluxo de eventos para o caso de uso "Inserir requisições" . . . .

Fluxo de eventos para o caso de uso "Realizar cotações" . . . . . Fluxo de eventos para o caso de uso "Efetuar compras" . . . . .

3.2.10 Fluxo de eventos para o caso de uso "Receber mercadorias" . . . 3.2.11 Fluxo de eventos para o caso de uso "Movimentar estoque" 3.3 4 . . .

Estrutura da base de dados . . . . . . . . . . . . . . . . . . . . . . . . .

Funcionamento do sistema 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Tela inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Botões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadastro de Usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadastro de Materiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadastro de Fornecedores . . . . . . . . . . . . . . . . . . . . . . . . . . Requisição de Material . . . . . . . . . . . . . . . . . . . . . . . . . . . Cotação de Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Movimento de Estoque . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

Conclusão

Referências Bibliográficas

UNESP/FEG-CEIE, 2008

vi

Lista de Figuras
3.1 3.2 3.3 3.4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Caso de uso principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . Caso de uso: Cadastro de fornecedores . . . . . . . . . . . . . . . . . . . Caso de uso: Cadastro de materiais . . . . . . . . . . . . . . . . . . . . . Modelagem de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tela inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu Cadastros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu Processos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Botões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadastro de Usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pesquisar por login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relatório de Usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cadastro de Materiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pesquisar por descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 19 22 29 31 32 32 33 33 34 34 35 36 36 37 38 38 39 40

4.10 Relatório de Materiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.11 Cadastro de Fornecedores . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12 Pesquisar por razão social . . . . . . . . . . . . . . . . . . . . . . . . . . 4.13 Relatório de Fornecedores . . . . . . . . . . . . . . . . . . . . . . . . . 4.14 Requisição de Material . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15 Relatório de Requisições . . . . . . . . . . . . . . . . . . . . . . . . . .

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.16 Cotações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.17 Relatório de Cotações . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.18 Compra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.19 Relatório de Compras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.20 Movimento de Estoque . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.21 Relatório de Movimento de Estoque . . . . . . . . . . . . . . . . . . . .

41 42 43 44 45 46

UNESP/FEG-CEIE, 2008

viii

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Oliveira, A.S. - Desenvolvimento de um sistema de compras para uma fábrica de alimentos. Guaratinguetá, 2008. 50 p. Monografia (Especialização em Informática Empresarial) - Faculdade de Engenharia de Guaratinguetá, Universidade Estadual Paulista.

Resumo

A Tecnologia da Informação vem, cada vez mais, sendo usada pelas empresas para criar, tratar, armazenar e transferir informações entre seus setores e mesmo das empresas para seus clientes. Os sistemas informatizados permitem às empresas um maior controle do negócio e exercem grande influência no processo de tomada de decisões. Este trabalho consiste no desenvolvimento de um sistema para uma fábrica de alimentos. O objetivo do sistema é fornecer aos usuários informações sobre o estoque das matérias-primas e materiais de consumo para que seja possível organizar e planejar as requisições dos materiais a serem usados na produção de alimentos. O sistema objetiva também gerenciar o processo de compras junto a fornecedores, incluindo as informações de formas de pagamento e prazos de entrega. O sistema, portanto, pretende automatizar os processos envolvidos no processo de compras da empresa, auxiliando os funcionários no seu dia-a-dia e proporcionando aos diretores informações rápidas e seguras sobre a situação da empresa. O trabalho apresenta as etapas necessárias para o desenvolvimento de um sistema de informações e ressalta os benefícios da modelagem orientada a objetos para este processo de desenvolvimento.

Palavras-chave: UML, Análise orientada a objetos, Modelagem, Linguagem Java.

UNESP/FEG-CEIE, 2008

ix

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Oliveira, A.S. - Development of a purchase system for a food industry. Guaratinguetá, 2008. 50 p. - Monografia (Especialização em Informática Empresarial) - Faculdade de Engenharia de Guaratinguetá, Universidade Estadual Paulista.

Abstract

The Information Technology has, more and more, been used by the companies in order to create, to treat, to store and to transfer information inside the companies and even from the companies for their customers. The computerized systems allow the companies to have a larger control of the business and they have great influence in the decision making process. This work describes the development of a information system for a food industry. The objective of the system is to supply information on the stock of the raw materials and consumption materials to their users, so that can be possible to organize and to plan the requests of the materials which are used in the production of foods. The system also aims at to manage the purchase process with the suppliers, including the information about payment ways and delivery periods. The system intends that the purchase process of the company be automated, aiding the employees in their work and providing fast and safe information about the situation of the company to the managers. The work presents the necessary stages for the development of a information system and emphasizes the benefits of the objects oriented modelling in this development process.

Keywords: UML, Object oriented analysis, Modelling, Java language.

UNESP/FEG-CEIE, 2008

x

Capítulo 1 Introdução
A Tecnologia da Informação possibilita a utilização da informática em qualquer empresa. Os softwares desenvolvidos para o controle interno das organizações estão sendo cada vez mais usados como um meio de criar, armazenar e transferir a informação entre setores das empresas e mesmo das empresas para seus clientes. Os sistemas informatizados permitem um maior controle para as empresas e exercem grande influência no processo de tomada de decisões. Estes sistemas transformam a informação de modo que esta possa ajudar empregados e gerentes a tomar decisões, analisar e resolver diversos tipos de problemas [LAUDON e LAUDON 1999]. Se a informação não é precisa ou completa, decisões ruins podem ser tomadas, custando muito dinheiro à organização. Além disso, se a informação não é fornecida no tempo certo, ela pode ter pouco valor para a empresa. O valor da informação está diretamente ligado ao modo como ela ajuda os tomadores de decisões a atingirem os objetivos da organização [STAIR 1998]. Além da eliminação de tarefas repetitivas, o uso de um sistema informatizado por uma empresa possibilita uma maior segurança com relação às informações e conseqüentemente uma diminuição de erros em processos que passarão a ser realizados de forma automatizada. Resultados precisos, maior controle das operações realizadas nas empresas e a grande possibilidade de decisões estratégicas são as maiores motivações para automatizar processos em uma empresa. E é a razão para o desenvolvimento desse trabalho.

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

1.1

Objetivo do trabalho

Esse trabalho consiste no desenvolvimento de um sistema para uma fábrica de alimentos. A empresa ainda não possui um controle informatizado das compras de matérias-primas e materiais de consumo. O principal objetivo desse trabalho é desenvolver um sistema que possa controlar as operações envolvidas nesse processo de compras. O sistema fornecerá aos usuários informações sobre o estoque das matérias-primas e materiais de consumo. Com base nessas informações, os funcionários poderão organizar e planejar melhor as requisições dos materiais, sem deixá-los atingir o estoque mínimo. Outro controle importante que o sistema fornecerá é o das cotações junto aos fornecedores. Muitas vezes, a diretoria não toma conhecimento de algumas delas e do processo de escolha de fornecedores. Todas as cotações realizadas deverão ser armazenadas no sistema, incluindo as informações de formas de pagamento e prazos de entrega. Com a chegada das mercadorias, o usuário dará baixa na compra, confirmando as quantidades recebidas e dando entrada em estoque de todas elas. O sistema irá fornecer também ao usuário uma tela para realização de saídas de materiais do estoque. O usuário deverá registrar no sistema as saídas de cada matéria-prima e material de consumo que for utilizado. Deve-se ressaltar que, futuramente, o sistema poderá incluir um módulo de produção. Nesse módulo, a cada produção realizada, o sistema atualizaria automaticamente o estoque de todas as matérias-primas utilizadas na produção.

1.2

Descrição do funcionamento do módulo de compras

Há várias atividades envolvidas no funcionamento do módulo de compras. As principais são: • Cadastro de matérias-primas; • Cadastro de materiais de consumo; • Cadastro de fornecedores;
UNESP/FEG-CEIE, 2008 2

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

• Requisições de compra; • Cotações; • Compras; • Recebimento de mercadorias e entrada em estoque; • Movimentação de estoque. Quando o funcionário insere uma nova requisição, o sistema verifica se a matériaprima e/ou material de consumo que o funcionário deseja requisitar já está cadastrado. Caso não esteja, o sistema informa ao usuário para que ele efetue o cadastro inicialmente. Em seguida, o funcionário faz a requisição da matéria-prima ou de algum material de consumo que esteja precisando. Um funcionário do setor de compras seleciona as requisições e dá início às cotações de preços com os fornecedores. Caso haja algum fornecedor novo, o funcionário deve providenciar o cadastro do mesmo no sistema. Com as cotações finalizadas, é realizada a análise de preços, condições de pagamento e prazos de entrega de cada uma delas. Com base nessas informações, será decidido qual a melhor cotação para a empresa e de qual fornecedor será efetuada a compra. Com a chegada da mercadoria na empresa, é dado baixa na compra e na requisição. Também é atualizado o estoque dos materiais e matérias-primas compradas. Conforme esses itens forem sendo utilizados, o usuário deverá acessar a tela de movimentação de estoque para informar as quantidades utilizadas. O sistema atualizará o estoque desses materiais.

1.3

Desenvolvimento do trabalho

Para desenvolver o sistema, foi realizada uma pesquisa na empresa para saber como são mantidos os cadastros de fornecedores, matérias-primas e materiais de consumo. Também foi pesquisado como são feitas as requisições, cotações e compras e se é mantido
UNESP/FEG-CEIE, 2008 3

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

um histórico dessas compras. Também foi pesquisado como a empresa espera que o sistema automatizado controle esses processos. A partir da pesquisa foram constatadas as seguintes deficiências no processo de compras: • Não existe cadastro das matérias-primas e materiais de consumo; • Não existe cadastro dos fornecedores; • Não existe controle dos materiais e matérias-primas que estão em falta e das requisições; • Não existe controle das cotações; • Não existe controle das compras; • Não existe controle do recebimento de mercadorias e entrada em estoque; • Não existe controle das movimentações de estoque. Com as informações colhidas na empresa, foi realizada a análise do sistema desenvolvido e a definição e criação das tabelas do banco de dados. O sistema foi desenvolvido na linguagem Java, utilizando o PostgreSQL como sistema gerenciador de bancos de dados (SGDB).

1.4

Resultados esperados

Como resultado desse trabalho, espera-se que o sistema desenvolvido solucione as deficiências constatadas, fornecendo informações precisas e seguras da situação do estoque da empresa. Espera-se que o sistema proporcione um controle correto do estoque, trazendo benefícios diretamente ligados ao tempo e dinheiro da empresa. Informações precisas da situação atual do estoque permitem que as compras sejam realizadas no tempo certo, evitando gastos antecipados quando estas ocorrem antes do tempo necessário e impedindo possíveis atrasos de produção quando os níveis de estoque estiverem abaixo do mínimo.
UNESP/FEG-CEIE, 2008 4

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Outro resultado importante que o sistema trará para a diretoria da empresa é o controle das escolhas de fornecedores, evitando que funcionários beneficiem, por diversas razões, fornecedores que não oferecem os melhores preços e formas de pagamento. O objetivo fundamental do sistema é contribuir ao máximo com a melhoria do fluxo de trabalho da empresa, possibilitando que os processos sejam realizados de maneira correta e padronizada. Além de proporcionar informações concretas para a tomada de decisões estratégicas por parte do alto escalão da empresa.

1.5

Organização da monografia

Além de uma breve descrição dos objetivos do trabalho nesse capítulo, esse trabalho está desenvolvido da seguinte forma: O Capítulo 2 apresenta alguns conceitos de modelagem orientada a objetos, as etapas de desenvolvimento do sistema e a tecnologias utilizadas nesse trabalho, como UML, Java e PostgreSQL. O Capítulo 3 apresenta a modelagem do sistema desenvolvido, utilizando os conceitos de modelagem orientada a objetos e de UML apresentados no Capítulo 2. O Capítulo 4 apresenta o funcionamento do sistema, através da apresentação de suas telas. O Capítulo 5 apresenta as considerações finais desse trabalho, mostrando a importância de considerar todas as etapas no desenvolvimento de um sistema. Além de deixar, como sugestão, o desenvolvimento de outros módulos que complementam o módulo de compras desenvolvido.

UNESP/FEG-CEIE, 2008

5

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

UNESP/FEG-CEIE, 2008

6

Capítulo 2 Modelagem orientada a objetos
O processo de informatização dentro de uma empresa traz inúmeras implicações, que vão desde mudanças nas rotinas de trabalho até reestruturações organizacionais. Construir esses sistemas de informação é um processo de resolução de problemas e as ferramentas e tecnologias utilizadas são decisivas para o seu desenvolvimento. Os sistemas de informação são dinâmicos, estão em constante mudança e costumam aumentar em tamanho, complexidade e abrangência. Essas mudanças se devem a diversos fatores, como a necessidade de melhorias por parte dos clientes e de novas estratégias devido a mudanças no mercado. A tecnologia mais utilizada hoje pelas empresas de desenvolvimento de sistemas é a orientação a objetos. Quando os sistemas são desenvolvidos corretamente, eles se tornam flexíveis a mudanças e podem ser mantidos com facilidade, rapidez e de maneira correta. Modelar um sistema é uma forma bastante eficiente de documentá-lo. O primeiro passo no desenvolvimento de um sistema é descobrir o que o sistema deve fazer, determinando quais são as necessidades a serem atendidas. A esse conjunto de necessidades, dá-se o nome de requisitos.

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

2.1

Etapas do desenvolvimento do sistema

Uma das primeiras fases no desenvolvimento de um software é o levantamento de requisitos. Esta etapa serve para descobrir e conhecer as necessidades do usuário e o que ele deseja que o sistema realize. Esta é uma etapa de planejamento e é muito importante, pois as decisões tomadas nesta fase determinam a qualidade e o preço do sistema final. Sem um bom planejamento e levantamento das informações, um sistema corre o risco de ser mal desenvolvido, não atendendo às necessidades reais da empresa. Nesta etapa, são realizadas entrevistas com usuários, especialistas e analistas de negócios para determinar quais são os requisitos funcionais e conhecer os processos que devem ser automatizados [LEME FILHO 2003]. As entrevistas devem ser realizadas até que as necessidades do usuário sejam bem compreendidas. Depois de cada entrevista, é de suma importância manter documentadas as pautas das entrevistas e os e-mails trocados. Logo após o levantamento dos requisitos, passa-se à fase em que as necessidades apresentadas pelo cliente são analisadas. Esta etapa é conhecida como análise de requisitos. É nela que os requisitos enunciados pelos usuários serão examinados, verificando se os mesmos foram bem especificados e compreendidos. A partir da etapa de análise de requisitos, são determinadas as reais necessidades do sistema de informação. Um dos principais problemas enfrentados na fase de levantamento de requisitos é o de comunicação, caracterizando-se pela dificuldade em conseguir compreender um conjunto de conceitos vagos e abstratos que representam as necessidades dos clientes para transformá-los em conceitos concretos e inteligíveis. A grande questão é saber se as necessidades dos usuários foram realmente bem compreendidas, se algum tópico deixou de ser abordado, se algum item foi especificado incorretamente ou se algum conceito precisa ser mais bem explicado. Estas questões devem ser resolvidas o quanto antes, para que o projeto do software não tenha que sofrer modificações no decorrer do seu desenvolvimento, o que poderia causar grandes atrasos e até a necessidade de remodelar totalmente o projeto [GUEDES 2004]. Outro grande problema encontrado durante as entrevistas é o fato de que os usuários
UNESP/FEG-CEIE, 2008 8

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

não têm realmente certeza do que querem. Às vezes, é necessário sugerir muitas características e funções do sistema que o cliente não sabia como formular ou não havia imaginado. Na realidade, na maioria das vezes, é preciso reestruturar o modo como as informações são utilizadas pela empresa e apresentar maneiras de combiná-las e apresentá-las de modo que possam ser mais bem aproveitadas pelos usuários. Em muitos casos é realmente isso o que os clientes esperam, porém em outros, os clientes oferecem fortes resistências a qualquer tipo de mudança na forma como a empresa manipula suas informações e é preciso um grande esforço para provar ao cliente que as modificações sugeridas permitirão um melhor desempenho do software, além de ser útil para a própria empresa. Na realidade, neste último caso é preciso trabalhar bastante o aspecto social da implantação de um sistema informatizado na empresa, porque muitas vezes a resistência não é tanto por parte da gerência, mas pelos usuários finais que serão obrigados a mudar a forma como estavam acostumados a trabalhar e aprender a utilizar uma nova tecnologia. Todo processo de mudança desencadeia ansiedades, expectativas, temores e mudanças de comportamento. Nos momentos em que ocorre a introdução de automação, ela quase sempre é vista imediatamente como uma ameaça ao emprego. É necessário lidar adequadamente com isso. É corrente a ilusão de que a automação diminui a dependência dos funcionários. O contrário é mais verdadeiro, pois os sistemas necessitam de pessoas que os operam e que precisarão se capacitar para fazê-lo. Se a introdução da automação for conduzida de modo adequado, os funcionários terão a oportunidade de se capacitar e evoluir. Depois de realizada a análise e definidos os processos que serão automatizados, terá início a modelagem de dados. Caso seja necessário, as possíveis telas do sistema poderão ser planejadas, simulando a entrada de algumas informações e possibilitando uma melhor visualização dos dados. Depois do modelo pronto, o sistema começará a ser desenvolvido [MATSUKI 2008]. Em seguida, poderão ser realizados os testes e o treinamento do sistema com os usuários. Esta etapa servirá para verificar se o sistema foi desenvolvido de acordo com as necessi-

UNESP/FEG-CEIE, 2008

9

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

dades definidas na etapa de planejamento. Depois de validados todos os módulos do sistema e de treinados os usuários, o sistema poderá ser implantado. Quanto mais cuidadosos e detalhados tiverem sido os trabalhos das etapas anteriores, mais tranqüila e suave será a etapa de implantação. É importante realizar um acompanhamento da implantação para solucionar dúvidas que venham a ocorrer e corrigir eventuais problemas que vierem a surgir [REGENSTEINER 1999].

2.2

Conceitos básicos de modelagem orientada a objetos

Objeto: elemento que representa algum conceito do mundo real. É uma instância de uma classe e é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Cada objeto tem uma identidade única, mesmo se seu estado (valor de seus atributos) for idêntico ao de outro objeto [FURLAN 1998]. Abstração: denota as características essenciais de um objeto que o distinguem de todos os outros objetos e portanto, oferece limites conceituais bem definidos, relativos a perspectiva do observador [FURLAN 1998]. Encapsulamento: ocultamento de informações. Este mecanismo é utilizado para impedir o acesso direto ao estado de um objeto, disponibilizando externamente apenas os métodos que alteram estes estados [WIKIPEDIA 2008]. Modularidade: divisão do sistema em módulos menores que se interligam, ficando mais fácil compreendê-los e gerenciá-los individualmente [WIKIPEDIA 2008]. Classe: conjunto de objetos que possuem as mesmas propriedades (atributos) e o mesmo comportamento (métodos). A classe é o conceito e o objeto é o que dá vida ao conceito [WIKIPEDIA 2008]. Super-classe: elemento mais geral utilizado para evitar as redundâncias de descrição [WIKIPEDIA 2008].
UNESP/FEG-CEIE, 2008 10

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Sub-classe: elemento mais específico utilizado para descrever as particularidades das classes [WIKIPEDIA 2008]. Herança: capacidade de um novo objeto tomar todos atributos e operações de um objeto existente. A nova classe herda todas as propriedades e comportamentos da superclasse. A nova classe é chamada de sub-classe. A linguagem Java permite organizar tipos semelhantes de classes em categorias chamadas hierarquias de classes, onde classes de baixo nível (sub-classes) podem usar serviços das classes mais altas na sua hierarquia (super-classes). Todos os atributos e operações comuns ao objeto e à classe base são herdados por seus descendentes. A herança, ou compartilhamento de atributos e operações dentro de uma hierarquia de classes, é um dos pontos fortes da programação orientada a objetos [FURLAN 1998]. Generalização: processo de criação de super-classes. É uma relação na qual os objetos de um elemento especializado (um filho) pode ser substituído por objetos do elemento geral (o pai) [FURLAN 1998]. Especialização: processo de criação de sub-classes. É especificar um caso geral de maneira mais detalhada, até chegar ao conceito mais restrito [FURLAN 1998]. Polimorfismo: termo usado para designar o fato de uma mesma operação poder assumir vários comportamentos, e também a capacidade de uma variável referir-se a objetos diferentes [FURLAN 1998]. Mensagem: comunicação entre o usuário e um objeto ou entre objetos. Uma mensagem é composta do nome do objeto que a receberá, de um seletor que representa o nome da operação que será executada e de parâmetros definidos pela assinatura da operação de destino [FURLAN 1998].

UNESP/FEG-CEIE, 2008

11

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

2.3
2.3.1

Tecnologias utilizadas
UML

A UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) surgiu da união de três métodos de modelagem: o método de Booch, o método OMT de Jacobson e o método OOSE de Rumbaugh. Estas eram, até meados da década de 90, os três métodos de modelagem orientada a objetos mais populares entre os profissionais da área de desenvolvimento de software. A união dessas metodologias contou com o amplo apoio da Rational Software, que incentivou e financiou a união das três metodologias [MEDEIROS 2004]. A UML é uma linguagem visual utilizada para modelar sistemas computacionais por meio do paradigma de Orientação a Objetos. O objetivo da UML é ajudar a definir as características do software, tais como seus requisitos, seu comportamento, sua estrutura lógica, a dinâmica de seus processos e suas necessidades físicas em relação ao equipamento sobre o qual o sistema deverá ser implantado. Todas essas características são definidas por meio da UML antes do software começar a ser realmente desenvolvido [GUEDES 2004]. A UML é composta por diferentes tipos de diagrama, cada um representando o sistema sob uma determinada ótica. A utilização de diversos diagramas permite que falhas sejam descobertas, diminuindo a possibilidade da ocorrência de erros futuros.

2.3.2

Diagramas da UML

Diagrama de Casos de Uso: é o diagrama mais geral e informal da UML, sendo utilizado normalmente nas fases de levantamento e análise de requisitos do sistema. Procura identificar os atores que utilizarão o software e os serviços que o sistema disponibilizará aos atores, conhecidos como casos de uso. Diagrama de Classes: é o diagrama mais utilizado e o mais importante da UML. Define a estrutura das classes utilizadas pelo sistema, determinando os atributos e métodos
UNESP/FEG-CEIE, 2008 12

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

de cada classe, além de estabelecer como as classes se relacionam e trocam informações entre si. Diagrama de Objetos: fornece uma visão dos valores armazenados pelos objetos de um Diagrama de Classes em um determinado momento da execução de um processo do software. Diagrama de Seqüência: preocupa-se com a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos em um determinado processo. Diagrama de Comunicação: era conhecido como Diagrama de Colaboração até a versão 1.5 da UML, tendo seu nome modificado para Diagrama de Comunicação a partir da versão 2.0. Esse diagrama está amplamente associado ao Diagrama de Seqüência; na verdade, um complementa o outro. As informações mostradas no Diagrama de Comunicação são, com freqüência, praticamente as mesmas apresentadas no Diagrama de Seqüência, porém com um enfoque diferente, visto que este diagrama não se preocupa com a temporalidade do processo, concentrando-se em como os objetos estão vinculados e quais mensagens trocam entre si durante o processo. Portanto, o diagrama de seqüência enfatiza a seqüência no tempo e o diagrama de comunicação enfatiza os relacionamentos entre os objetos. Diagrama de Estados: procura representar as alterações no estado sofridas por um objeto dentro de um determinado processo. Diagrama de Atividades: preocupa-se em descrever os passos a serem percorridos para a conclusão de uma atividade específica. Diagrama de Componentes: representa os componentes do sistema quando este for ser implementado em termos de módulos de código-fonte, bibliotecas, formulários, arquivos de ajuda, módulos executáveis etc. e determina como esses componentes estarão estruturados e interagirão para que o sistema funcione de maneira adequada. Diagrama de Implantação: determina as necessidades de hardware do sistema, servidores, estações, topologias e protocolos de comunicação.
UNESP/FEG-CEIE, 2008 13

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Diagrama de Pacotes: representa os sub-sistemas englobados por um sistema de forma a determinar as partes que o compõem.

2.3.3

Java

Java é uma linguagem de programação orientada a objetos que foi desenvolvida pela Sun Microsystems. É antes de tudo uma linguagem simples, fortemente tipada, independente de arquitetura, robusta, segura, extensível, bem estruturada, distribuída, multithreaded e com coletor de lixo. Java é uma linguagem de alto nível muito parecida com C++, porém, mais simples. Java não possui sobrecarga de operadores, structs, unions, aritmética de ponteiros, herança múltipla, arquivos .h, diretivas de pré-processamento e a memória alocada dinamicamente é gerenciada pela própria linguagem, que usa algoritmos de coletor de lixo para liberar regiões de memória que não estão mais em uso. Java é uma linguagem independente de plataforma. Isto quer dizer que um programa em Java pode funcionar em qualquer sistema operacional. Isto é possível porque existe uma Máquina Virtual para cada sistema operacional e que se encarrega de executar o programa de Java. Atualmente Java é utilizado em um amplo leque de possibilidades e praticamente qualquer aplicação pode ser feita em Java e muitas vezes com grandes vantagens. Com Java pode-se programar páginas web dinâmicas, com acesso à base de dados, utilizando XML, independentemente da conexão de rede e do sistema utilizado. Em geral, qualquer aplicação acessável através da web pode ser construída utilizando Java.

2.3.4

PostgreSQL

O PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) objeto-relacional de código aberto, com mais de 15 anos de desenvolvimento. É extremamente robusto e confiável, além de ser flexível e rico em recursos. Ele é considerado objeto-relacional por implementar, além das características de um SGBD relacional, algumas características de
UNESP/FEG-CEIE, 2008 14

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

orientação a objetos, como herança e tipos personalizados. A equipe de desenvolvimento do PostgreSQL sempre teve uma grande preocupação em manter a compatibilidade com os padrões SQL92/SQL99 [POSTGRESQL 2008]. O PostgreSQL oferece muitas funcionalidades, como: comandos complexos, chaves estrangeiras, gatilhos, visões e integridade transacional. Além disso, o PostgreSQL pode ser ampliado pelo usuário de muitas maneiras como, por exemplo, adicionando novos tipos de dados, funções, operadores, funções de agregação e através da utilização de linguagens procedurais.

UNESP/FEG-CEIE, 2008

15

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

UNESP/FEG-CEIE, 2008

16

Capítulo 3 Modelagem do sistema de compras
Nesse capítulo é apresentada a modelagem do sistema desenvolvido, utilizando os conceitos de modelagem orientada a objetos e de UML já apresentados no capítulo anterior. O capítulo apresenta também a modelagem da base de dados do sistema desenvolvido.

3.1

Diagramas de caso de uso

Como apresentado anteriormente, os diagramas de caso de uso têm o objetivo de identificar os atores que utilizarão o sistema e os serviços que serão disponibilizados a eles. A Figura 3.1 apresenta o diagrama de caso de uso principal elaborado na modelagem do sistema de compras. Este diagrama apresenta todas as funcionalidades do sistema.

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Figura 3.1: Caso de uso principal

3.2

Fluxos de eventos

Em seguida, serão apresentados os fluxos de eventos para cada caso de uso. Os casos de uso "Cadastro de fornecedores" e "Cadastro de materiais" são compostos de outros casos de uso. Por esse motivo, necessitam ser melhor detalhados. As Figuras 3.2 e 3.3 apresentam, respectivamente, esses casos de uso.

UNESP/FEG-CEIE, 2008

18

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Figura 3.2: Caso de uso: Cadastro de fornecedores

As seções a seguir, se referem aos casos de uso que compõem o caso de uso "Cadastro de fornecedores".

3.2.1

Fluxo de eventos para o caso de uso "Inserir fornecedor"

Descrição: Este caso de uso aborda o procedimento adotado para o cadastro de fornecedores no sistema. O caso de uso se inicia quando o usuário deseja cadastrar um novo fornecedor no sistema e finaliza quando o cadastro é realizado ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário.
UNESP/FEG-CEIE, 2008 19

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Inserir fornecedor (IF) ou Sair (QUIT). Se a atividade selecionada for Inserir fornecedor (IF), o sub-fluxo S-1: "Inserir fornecedor" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Inserir fornecedor": O sistema apresenta uma janela para entrada dos seguintes dados: código (E1), razão social, fantasia, CNPJ, endereço, bairro, cidade, estado, cep, telefone, fax, site e e-mail. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de cadastro de um fornecedor já cadastrado. O usuário pode fornecer um novo código ou terminar o caso de uso.

3.2.2

Fluxo de eventos para o caso de uso "Alterar fornecedor"

Descrição: Este caso de uso aborda o procedimento adotado para a alteração de algum fornecedor cadastrado no sistema. O caso de uso se inicia quando o usuário deseja alterar dados de um fornecedor no sistema e finaliza quando a alteração é realizada ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Alterar fornecedor (AF) ou Sair (QUIT). Se a atividade selecionada for Alterar fornecedor (AF), o sub-fluxo S-1: "Alterar fornecedor" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Alterar fornecedor": O sistema apresenta uma janela solicitando o
UNESP/FEG-CEIE, 2008 20

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

código (E1) do fornecedor a ser alterado. O sistema exibe uma janela para alteração dos dados: razão social, fantasia, CNPJ, endereço, bairro, cidade, estado, cep, telefone, fax, site e e-mail. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de alteração de um fornecedor não cadastrado. O usuário pode fornecer um novo código ou terminar o caso de uso.

3.2.3

Fluxo de eventos para o caso de uso "Excluir fornecedor"

Descrição: Este caso de uso aborda o procedimento adotado para a exclusão de fornecedores no sistema. O caso de uso se inicia quando o usuário deseja excluir um fornecedor no sistema e finaliza quando a exclusão é concluída ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Excluir fornecedor (EF) ou Sair (QUIT). Se a atividade selecionada for Excluir fornecedor (EF), o sub-fluxo S-1: "Excluir fornecedor" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Excluir fornecedor": O sistema apresenta uma janela para entrada do código do fornecedor (E1) que deseja excluir. O sistema exibe o código e a razão social para confirmação da exclusão. O sistema exclui o fornecedor e o caso de uso reinicia. Fluxos alternativos: E-1: Houve uma tentativa de exclusão de um fornecedor não cadastrado. O usuário pode fornecer um novo código ou terminar o caso de uso.

UNESP/FEG-CEIE, 2008

21

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Figura 3.3: Caso de uso: Cadastro de materiais

As seções a seguir, se referem aos casos de uso que compõem o caso de uso "Cadastro de materiais".

3.2.4

Fluxo de eventos para o caso de uso "Inserir material"

Descrição: Este caso de uso aborda o procedimento adotado para o cadastro de materiais no sistema. O caso de uso se inicia quando o usuário deseja cadastrar um novo material no sistema e finaliza quando o cadastro é realizado ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário.
UNESP/FEG-CEIE, 2008 22

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Inserir material (IM) ou Sair (QUIT). Se a atividade selecionada for Inserir material (IM), o sub-fluxo S-1: "Inserir material" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Inserir material": O sistema apresenta uma janela para entrada dos seguintes dados: código (E1), descrição do material, tipo e estoque mínimo. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de cadastro de um material já cadastrado. O usuário pode fornecer um novo código ou terminar o caso de uso.

3.2.5

Fluxo de eventos para o caso de uso "Alterar material"

Descrição: Este caso de uso aborda o procedimento adotado para a alteração de materiais no sistema. O caso de uso se inicia quando o usuário deseja alterar dados de um material no sistema e finaliza quando a alteração é realizada ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Alterar material (AM) ou Sair (QUIT). Se a atividade selecionada for Alterar material (AM), o sub-fluxo S-1: "Alterar material" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Alterar material": O sistema apresenta uma janela solicitando o código (E1) do material a ser alterado. O sistema exibe uma janela para alteração dos
UNESP/FEG-CEIE, 2008 23

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

dados: descrição do material, tipo e estoque mínimo. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de alteração de um material não cadastrado. O usuário pode fornecer um novo código ou terminar o caso de uso.

3.2.6

Fluxo de eventos para o caso de uso "Excluir material"

Descrição: Este caso de uso aborda o procedimento adotado para a exclusão de materiais no sistema. O caso de uso se inicia quando o usuário deseja excluir um material no sistema e finaliza quando a exclusão é concluída ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Excluir material (EM) ou Sair (QUIT). Se a atividade selecionada for Excluir material (EM), o sub-fluxo S-1: "Excluir material" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Excluir material": O sistema apresenta uma janela para entrada do código do material (E1) que deseja excluir. O sistema exibe o código e a descrição para confirmação da exclusão. O sistema exclui o material e o caso de uso reinicia. Fluxos alternativos: E-1: Houve uma tentativa de exclusão de um material não cadastrado. O usuário pode fornecer um novo código ou terminar o caso de uso.

3.2.7

Fluxo de eventos para o caso de uso "Inserir requisições"

Descrição: Este caso de uso aborda o procedimento adotado para a requisição de materiais no sistema. O caso de uso se inicia quando o usuário deseja requisitar um material no sistema e finaliza quando a requisição é realizada ou quando o usuário cancela o procediUNESP/FEG-CEIE, 2008 24

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

mento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Requisitar material (RM) ou Sair (QUIT). Se a atividade selecionada for Requisitar material (RM), o sub-fluxo S-1: "Requisitar material" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Requisitar material": O sistema apresenta uma janela para entrada dos seguintes dados: código (E1) do material e quantidade requisitada. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de requisição de um material não cadastrado. O usuário pode fornecer um novo código, ir para o caso de uso "Cadastrar material" ou terminar o caso de uso.

3.2.8

Fluxo de eventos para o caso de uso "Realizar cotações"

Descrição: Este caso de uso aborda o procedimento adotado para a realização de cotações de materiais no sistema. O caso de uso se inicia quando o usuário deseja realizar cotação para as requisições cadastradas no sistema e finaliza quando a cotação é realizada ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Realizar cotação (RC) ou Sair (QUIT).
UNESP/FEG-CEIE, 2008 25

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Se a atividade selecionada for Realizar cotação (RC), o sub-fluxo S-1: "Realizar cotação" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Realizar cotação": O sistema apresenta uma janela para a escolha da requisição. Em seguida, oferece uma janela para entrada dos seguintes dados: código do fornecedor (E1), preço, forma de pagamento e prazo de entrega. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de cotação de um fornecedor não cadastrado. O usuário pode fornecer um novo código, ir para o caso de uso "Cadastrar fornecedor" ou terminar o caso de uso.

3.2.9

Fluxo de eventos para o caso de uso "Efetuar compras"

Descrição: Este caso de uso aborda o procedimento adotado para a realização de compras de materiais no sistema. O caso de uso se inicia quando o usuário deseja realizar compra para as cotações realizadas no sistema e finaliza quando a compra é realizada ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Efetuar compra (EC) ou Sair (QUIT). Se a atividade selecionada for Efetuar compra (EC), o sub-fluxo S-1: "Efetuar compra" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Efetuar compra": O sistema apresenta uma janela para a escolha da cotação e confirmação da compra. O sistema salva os dados e o caso de uso é reiniciado.
UNESP/FEG-CEIE, 2008 26

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

3.2.10

Fluxo de eventos para o caso de uso "Receber mercadorias"

Descrição: Este caso de uso aborda o procedimento adotado para a realização de recebimento de materiais no sistema. O caso de uso se inicia quando o usuário deseja receber uma compra realizada no sistema e finaliza quando a compra é recebida ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Receber mercadorias (RM) ou Sair (QUIT). Se a atividade selecionada for Receber mercadorias (RM), o sub-fluxo S-1: "Receber mercadorias" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Receber mercadorias": O sistema apresenta uma janela para a escolha da compra e confirmação das quantidades recebidas de cada material. O sistema salva os dados e o caso de uso é reiniciado.

3.2.11

Fluxo de eventos para o caso de uso "Movimentar estoque"

Descrição: Este caso de uso aborda o procedimento adotado para a realização de entradas e saídas no estoque de materiais no sistema. O caso de uso se inicia quando o usuário deseja efetuar uma movimentação de estoque no sistema e finaliza quando a movimentação é realizada ou quando o usuário cancela o procedimento. Pré-condições: O caso de uso "Login" deve ser executado antes que este caso de uso se inicie. Atores envolvidos: Usuário. Fluxo principal: Este caso de uso se inicia após o usuário ter realizado login no sistema. Na seqüência o usuário deve selecionar a atividade desejada: Movimentar estoque
UNESP/FEG-CEIE, 2008 27

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

(ME) ou Sair (QUIT). Se a atividade selecionada for Movimentar estoque (ME), o sub-fluxo S-1: "Movimentar estoque" será executado. Se a atividade selecionada for Sair (QUIT) o caso de uso termina. Sub-fluxos: S-1 "Movimentar estoque": O sistema apresenta uma janela para entrada dos seguintes dados: código (E1) do material, tipo de movimento e quantidade. O sistema salva os dados e o caso de uso é reiniciado. Fluxos alternativos: E-1: Houve uma tentativa de movimentação de um material não cadastrado. O usuário pode fornecer um novo código, ir para o caso de uso "Cadastrar material" ou terminar o caso de uso.

3.3

Estrutura da base de dados

A modelagem de uma base de dados exige um grande entendimento do problema a ser solucionado. A utilização de modelos é importante para que se tenha uma visão mais clara e também para que se possa representar formalmente a realidade analisada. A modelagem da base de dados foi feita utilizando o software Toad Data Modeler, anteriormente conhecido como Case Studio, que tem o intuito de auxiliar a modelagem de dados [DEVMEDIA 2008]. As tabelas foram criadas no PostgreSQL para serem utilizadas pelo sistema. As tabelas que compõem o sistema são: • Usuario: armazena a identificação ("login") e a senha de cada usuário do sistema; • Fornecedor: armazena dados cadastrais dos fornecedores da empresa; • Material: armazena os materiais de consumo e as matérias-primas que a empresa utiliza. O atributo tipo define se é material ou matéria-prima; • MaterialFornecedor: armazena os materiais fornecidos para cada um dos fornecedores;
UNESP/FEG-CEIE, 2008 28

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

• MovimentoEstoque: armazena as entradas e saídas de estoque de cada material; • Requisicao: armazena as requisições dos funcionários da empresa; • Cotacao: armazena as cotações realizadas no sistema; • ItemCotacao: armazena os itens cotados junto aos fornecedores; • CotacaoRequisicao: relaciona o material requisitado com o material cotado. A Figura 3.4 mostra a modelagem de dados realizada para o sistema desenvolvido.

Figura 3.4: Modelagem de dados

UNESP/FEG-CEIE, 2008

29

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

UNESP/FEG-CEIE, 2008

30

Capítulo 4 Funcionamento do sistema
Nesse capítulo apresenta-se o funcionamento do sistema desenvolvido, através da apresentação de suas telas.

4.1

Tela inicial

A Figura 4.1 apresenta a página inicial do sistema. O usuário deverá digitar seu "login" e senha, e clicar no botão Acessar. Se o login digitado já estiver cadastrado e a senha estiver correta, o usuário terá acesso ao menu principal do sistema.

Figura 4.1: Tela inicial

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

A Figura 4.2 apresenta os sub-items do menu Cadastros. Esses sub-items serão apresentados nas seções de 4.2 a 4.4.

Figura 4.2: Menu Cadastros

A Figura 4.3 apresenta os sub-items do menu Processos. Esses sub-items serão apresentados nas seções de 4.5 a 4.8.

Figura 4.3: Menu Processos

4.2

Botões

A figura 4.4 apresenta os botões existentes nas telas do sistema.
UNESP/FEG-CEIE, 2008 32

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Figura 4.4: Botões

4.3

Cadastro de Usuários

A Figura 4.5 apresenta a tela de cadastro de usuário. Essa tela é acessada através do menu Cadastros -> Usuário.

Figura 4.5: Cadastro de Usuários

A tela de Cadastro de Usuários mostra todos os usuários cadastrados. Para inserir um novo registro, o usuário deve clicar no botão Novo e preencher os campos requisitados. Em seguida, clicar no botão Salvar. Caso já exista um usuário cadastrado com o mesmo login, o sistema apresentará uma mensagem informando e requisitando que seja digitado
UNESP/FEG-CEIE, 2008 33

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

outro login. o sistema apresentará mensagem também caso algum campo obrigatório não tenha sido digitado. O sistema também oferece a opção de pesquisar algum usuário cadastrado. Para isso, deve-se clicar no botão Pesquisar, que está ao lado do campo login. O sistema vai abrir uma tela para o usuário digitar o login que se deseja pesquisar. A Figura 4.6 mostra essa tela de pesquisa. Depois de digitar o login, o usuário deve clicar no botão OK. Se este login não estiver cadastrado, o sistema apresentará uma mensagem de erro. Caso contrário, o sistema apresentará as informações referentes ao registro localizado.

Figura 4.6: Pesquisar por login

O botão Imprimir oferece um relatório de todos os usuários cadastrados. A Figura 4.7 mostra um exemplo desse relatório.

Figura 4.7: Relatório de Usuários

UNESP/FEG-CEIE, 2008

34

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.4

Cadastro de Materiais

A Figura 4.8 apresenta a tela de cadastro de matéria-prima e material de consumo. Essa tela é acessada através do menu Cadastros -> Material.

Figura 4.8: Cadastro de Materiais

A tela de Cadastro de Materiais mostra todos os materiais cadastrados. Para inserir um novo registro, o usuário deve clicar no botão Novo e preencher os campos requisitados. Em seguida, clicar no botão Salvar. Caso algum campo obrigatório não tenha sido digitado, o sistema exibirá uma mensagem solicitando o preenchimento desse campo. O sistema também oferece a opção de pesquisar alguma matéria-prima ou material de consumo pelo código ou pela descrição. Para pesquisar por código, deve-se clicar no botão Pesquisar, que está ao lado do campo código. Para pesquisar por descrição, deve-se clicar no botão Pesquisar, que está ao lado do campo descrição. O sistema vai abrir uma tela para o usuário pesquisar o que se deseja. A Figura 4.9 apresenta a tela
UNESP/FEG-CEIE, 2008 35

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

de pesquisa por descrição. Depois de digitar a descrição, o usuário deve clicar no botão OK. Se não houver cadastrado nenhum material com essa descrição, o sistema apresentará uma mensagem de erro. Caso contrário, o sistema apresentará as informações referentes ao registro localizado.

Figura 4.9: Pesquisar por descrição

O usuário pode alterar qualquer registro cadastrado e em seguida, clicar no botão Salvar. Para excluir algum material cadastrado, deve-se clicar no botão Excluir. O botão Cancelar cancela qualquer operação que esteja sendo executada pelo usuário. O botão Imprimir oferece um relatório de todas as matérias-primas e materiais de consumo cadastrados. A Figura 4.10 mostra um exemplo desse relatório.

Figura 4.10: Relatório de Materiais

UNESP/FEG-CEIE, 2008

36

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.5

Cadastro de Fornecedores

A Figura 4.11 apresenta a tela de cadastro de fornecedor. Essa tela é acessada através do menu Cadastros -> Fornecedor.

Figura 4.11: Cadastro de Fornecedores

A tela de Cadastro de Fornecedores mostra todos os fornecedores cadastrados. Para inserir um novo registro, o usuário deve clicar no botão Novo e preencher os campos requisitados. Em seguida, clicar no botão Salvar. Caso algum campo obrigatório não tenha sido digitado, o sistema exibirá uma mensagem solicitando o preenchimento desse campo. O sistema também oferece a opção de pesquisar algum fornecedor pelo código ou
UNESP/FEG-CEIE, 2008 37

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

pela razão social. Para pesquisar por código, deve-se clicar no botão Pesquisar, que está ao lado do campo código. Para pesquisar por razão social, deve-se clicar no botão Pesquisar, que está ao lado do campo razão social. O sistema vai abrir uma tela para o usuário pesquisar o que se deseja. A Figura 4.12 apresenta a tela de pesquisa por razão social.

Figura 4.12: Pesquisar por razão social

O usuário pode alterar qualquer registro cadastrado e em seguida, clicar no botão Salvar. Para excluir algum fornecedor cadastrado, deve-se clicar no botão Excluir. O botão Cancelar cancela qualquer operação que esteja sendo executada pelo usuário. O botão Imprimir oferece um relatório de todos os fornecedores cadastrados. A Figura 4.13 mostra um exemplo desse relatório.

Figura 4.13: Relatório de Fornecedores

UNESP/FEG-CEIE, 2008

38

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.6

Requisição de Material

A Figura 4.14 apresenta a tela de requisição de matéria-prima e material de consumo. Essa tela é acessada através do menu Processos -> Requisição.

Figura 4.14: Requisição de Material

A tela de Requisição de Material mostra todos as requisições cadastradas no sistema. As requisições possuem três "status" diferentes. Quando o usuário faz uma nova requisição, ela fica com o status "A". Quando é realizada alguma cotação para ela, a requisição fica com o status "C". E quando essa cotação gera uma compra, a requisição fica com status "E". O usuário só pode alterar e excluir requisições com status "A". Para inserir um novo registro, o usuário deve clicar no botão Novo e preencher os campos requisitados. Em seguida, clicar no botão Salvar. Caso algum campo obrigatório não tenha sido digitado, o sistema exibirá uma mensagem solicitando o preenchimento desse campo.
UNESP/FEG-CEIE, 2008 39

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

O sistema também oferece a opção de pesquisar alguma requisição pelo código. Para isso, deve-se clicar no botão Pesquisar, que está ao lado do campo código. O sistema vai abrir uma tela para o usuário pesquisar o que se deseja. Depois de digitar o código da requisição, o usuário deve clicar no botão OK. Se não tiver nenhuma requisição com esse código, o sistema apresentará uma mensagem de erro. Caso contrário, o sistema apresentará as informações referentes ao registro localizado. O usuário pode alterar qualquer registro cadastrado e em seguida, clicar no botão Salvar. Para excluir alguma requisição, deve-se clicar no botão Excluir. O botão Cancelar cancela qualquer operação que esteja sendo executada pelo usuário. O botão Imprimir oferece um relatório de todas as requisições. A Figura 4.15 mostra um exemplo desse relatório.

Figura 4.15: Relatório de Requisições

UNESP/FEG-CEIE, 2008

40

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.7

Cotação de Material

A Figura 4.16 apresenta a tela utilizada para realizar a cotação de matéria-prima e material de consumo. Essa tela é acessada através do menu Processos -> Cotação.

Figura 4.16: Cotações

A tela de Cotação de Material mostra todas as cotações realizadas no sistema. As cotações possuem três status diferentes. Quando o usuário faz uma nova cotação, ela fica com o status "A". Quando ela gera uma compra, a cotação fica com o status "C". E quando essa compra é recebida e é dado entrada em estoque dos materiais, a cotação fica com status "E". O usuário só pode alterar e excluir cotações com status "A". Para inserir um novo registro, o usuário deve clicar no botão Novo e preencher os campos requisitados. Em seguida, clicar no botão Salvar. Caso algum campo obrigatório não tenha sido digitado, o sistema exibirá uma mensagem solicitando o preenchimento desse campo. Depois de preencher as informações da cotação, como fornecedor, prazo de entrega e forma de pagamento, o usuário deve incluir os materiais requisitados na cotação. Para
UNESP/FEG-CEIE, 2008 41

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

isso, ele deve selecionar o material na grade Requisições em Aberto e enviar para a grade Itens da Cotação. A grade Requisições em Aberto apresenta todas as requisições que ainda não foram compradas. Para excluir algum material da Cotação, ele deve selecionar o material na grade Itens da Cotação e enviar para a grade Requisições em Aberto. O usuário pode alterar qualquer registro cadastrado e em seguida, clicar no botão Salvar. Para excluir alguma cotação, deve-se clicar no botão Excluir. O botão Cancelar cancela qualquer operação que esteja sendo executada pelo usuário. O botão Imprimir oferece um relatório de todas as requisições. A Figura 4.17 mostra um exemplo desse relatório.

Figura 4.17: Relatório de Cotações

UNESP/FEG-CEIE, 2008

42

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Para realizar uma compra da cotação, o usuário deve clicar no botão Efetuar Compra. O sistema irá alterar o status da cotação para "C".

4.8

Compras

A Figura 4.18 apresenta a tela de compras. Essa tela é acessada através do menu Processos -> Compra.

Figura 4.18: Compra

A tela de Compras mostra todas as compras realizadas no sistema. Uma compra só pode ser realizada a partir de uma cotação realizada antes. Nessa tela, não é possivel alterar nem excluir as compras. A grade Itens da Compra, mostra todos os materiais pertencentes a essa compra. As informações mostradas são: Código Material, Descrição do Material, Quantidade,
UNESP/FEG-CEIE, 2008 43

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

Quantidade Recebida, Preço e Preço Total. A informação Quantidade mostra as quantidades que foram compradas. A informação Quantidade Recebida será destinada para o usuário digitar as quantidades que realmente forem recebidas. Quando as mercadorias chegarem à empresa, o usuário deverá digitar as quantidades recebidas nessa grade, e em seguida, clicar no botão Receber Mercadorias. O sistema dará entrada em estoque de todos os materiais recebidos, atualizando a quantidade em estoque. O sistema atualizará também o campo último preço do material. O status da compra ficará "E". O botão Imprimir oferece um relatório de todas as compras do sistema. A Figura 4.19 mostra um exemplo desse relatório.

Figura 4.19: Relatório de Compras

UNESP/FEG-CEIE, 2008

44

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.9

Movimento de Estoque

A Figura 4.20 apresenta a tela de movimento de estoque. Essa tela é acessada através do menu Processos -> Movimento Estoque.

Figura 4.20: Movimento de Estoque

A tela de Movimento de Estoque mostra todos os movimentos realizados. Para realizar um novo movimento de estoque, o usuário deve clicar no botão Novo e preencher os campos requisitados. Em seguida, clicar no botão Salvar. O sistema atualizará a quantidade em estoque do material escolhido. Se o usuário estiver realizando uma saída de estoque, o sistema irá verificar se o material possui em estoque a quantidade desejada. Se não possuir, o sistema não efetuará a saída de estoque. O usuário não pode alterar nem excluir nenhuma movimentação de estoque. O botão Cancelar cancela qualquer operação que esteja sendo executada pelo usuário. O botão Imprimir oferece um relatório de todos os movimentos realizados. A Figura
UNESP/FEG-CEIE, 2008 45

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

4.21 mostra um exemplo desse relatório.

Figura 4.21: Relatório de Movimento de Estoque

UNESP/FEG-CEIE, 2008

46

Capítulo 5 Conclusão
Esse trabalho apresentou todas as etapas do desenvolvimento de um sistema para uma fábrica de alimentos, desde o levantamento e análise de requisitos, até o desenvolvimento do sistema em si. Com os conceitos de modelagem orientada a objetos e também de UML, foi realizada a modelagem do sistema em questão. De posse dessa modelagem, foi possível desenvolver um sistema para auxiliar os funcionários no seu dia-a-dia, a controlar as operações envolvidas no processo de compras e a oferecer aos diretores informações precisas da situação da empresa. Com o sistema desenvolvido, foi realizada uma apresentação de seu funcionamento para todos os funcionários envolvidos. O módulo desenvolvido foi aprovado, pois atende a todas as necessidades pedidas, como: cadastro de fornecedor, matéria-prima e material de consumo, requisições de compra, cotações, compras e movimentações de estoque. Em seguida, serão realizados testes do sistema junto aos usuários. Depois de concluídos os testes, o sistema será implantado na empresa, começando pelo cadastro dos usuários, matérias-primas, materiais de consumo e fornecedores. Depois de todos os usuários treinados e de completados os cadastros, o sistema desenvolvido começará a ser utilizado. Com a realização desse trabalho, constatou-se como é importante considerar todas as etapas no desenvolvimento de um sistema. Levantar e analisar requisitos, conversar com os usuários, analisar as necessidades descobertas e modelar o sistema são etapas

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

muito importantes e que servem como base para o desenvolvimento de um sistema. Além disso, ter a documentação do sistema auxilia quando há a necessidade de manutenção. A documentação auxilia também na adição de novos módulos ao sistema. Esse trabalho deixa como proposta, o desenvolvimento de novos módulos, como o de "contas a pagar" e o de "produção", que podem complementar o sistema desenvolvido até o momento. O módulo de "contas a pagar" deverá controlar os pagamentos das compras realizadas junto aos fornecedores. O módulo de "produção" deverá controlar a transformação das matérias-primas em produto acabado. Cada produto deverá ter sua composição cadastrada e a cada produção realizada, deverá ser feita a saída de estoque das matérias-primas utilizadas. O acoplamento de novos módulos a esse de compras já desenvolvido, só trará benefícios para a empresa, automatizando outros processos e auxiliando os funcionários em seus trabalhos, além de proporcionar à empresa um maior controle de seu empreendimento.

UNESP/FEG-CEIE, 2008

48

Referências Bibliográficas
[DEVMEDIA 2008]DEVMEDIA. Devmedia. Disponível em:

<http://www.devmedia.com.br>. Acesso em 19 junho 2008. [FURLAN 1998]FURLAN, J. D. Modelagem de objetos através da UML. 1. ed. São Paulo: MAKRON Books, 1998. 329. [GUEDES 2004]GUEDES, G. T. A. UML - Uma abordagem prática. 1. ed. São Paulo: Novatec, 2004. 319. [LAUDON e LAUDON 1999]LAUDON, K. C.; LAUDON, J. P. Sistemas de informação. 4. ed. Rio de Janeiro: LTC, 1999. 389. [LEME FILHO 2003]LEME FILHO, T. Metodologia de desenvolvimento de sistemas. 1. ed. Rio de Janeiro: Axcel Books, 2003. 154. [MATSUKI 2008]MATSUKI, C. T. Modelagem de dados. SQL Magazine, v. 5, n. 51, p. 48–49, 2008. [MEDEIROS 2004]MEDEIROS, E. S. Desenvolvendo software com UML 2.0. 1. ed. São Paulo: MAKRON Books, 2004. 264. [POSTGRESQL 2008]POSTGRESQL. Postgresql-br. Disponível em:

<http://www.postgresql.org.br>. Acesso em 14 janeiro 2008. [REGENSTEINER 1999]REGENSTEINER, R. J. Elementos básicos para o planejamento da automação do varejo. 1. ed. São Paulo: SENAC, 1999. 106.

Desenvolvimento de um sistema de compras para uma fábrica de alimentos

[STAIR 1998]STAIR, R. M. Princípios de sistemas de informação. 2. ed. Rio de Janeiro: LTC, 1998. 451. [WIKIPEDIA 2008]WIKIPEDIA. Wikipedia. Disponível em: <http://pt.wikipedia.org>. Acesso em 11 março 2008.

UNESP/FEG-CEIE, 2008

50

Sign up to vote on this title
UsefulNot useful