Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE INFORMÁTICA (BACHARELADO) SISTEMA INFORMATIZADO PARA CONTROLE DE FARMÁCIAS JEFFERSON OLIVEIRA VIEIRA LAGES, NOVEMBRO DE 2003. UNIVERSIDADE DO PLANALTO CATARINENSE DEPARTAMENTO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE INFORMÁTICA (BACHARELADO) SISTEMA INFORMATIZADO PARA CONTROLE DE FARMÁCIAS Relatório do Trabalho de Conclusão de Curso submetido à Universidade do Planalto Catarinense para obtenção dos créditos de disciplina com nome equivalente no curso de Informática - Bacharelado. JEFFERSON OLIVEIRA VIEIRA Orientador: Prof. Douglas Nazareno Debiazi Vargas, M. Sc. LAGES, NOVEMBRO DE 2003 SISTEMA INFORMATIZADO PARA CONTROLE DE FARMÁCIAS JEFFERSON OLIVEIRA VIEIRA ESTE RELATÓRIO, DO TRABALHO DE CONCLUSÃO DE CURSO, FOI JULGADO ADEQUADO PARA OBTENÇÃO DOS CRÉDITOS DA DISCIPLINA DE TRABALHO DE CONCLUSÃO DE CURSO DO VIII SEMESTRE, OBRIGATÓRIA PARA OBTENÇÃO DO TÍTULO DE: BACHAREL EM INFORMÁTICA Prof. Douglas Debiazi Nazareno Vargas, M.Sc. Orientador BANCA EXAMINADORA: Prof. Alexandre Perin De Souza, M.Sc. UNIPLAC Prof. Edson Roberto de Souza Paes, M.Sc. UNIPLAC Prof. Angelo Augusto Frozza, Esp. Supervisor de TCC Prof. Alexandre Perin de Souza, M.Sc. Coordenador de Curso Lages, 03 de dezembro de 2003 iv SUMÁRIO SUMÁRIO ................................................................................................................... IV LISTA DE ILUSTRAÇÕES ..................................................................................... VII LISTA DE SIGLAS .................................................................................................... IX RESUMO ....................................................................................................................... X ABSTRACT ................................................................................................................ XI 1 INTRODUÇÃO ........................................................................................................... 1 1.1 Apresentação ............................................................................................................. 1 1.2 Definição do problema .............................................................................................. 2 1.3 Justificativa ................................................................................................................ 3 1.4 Objetivo geral ............................................................................................................ 4 1.5 Objetivos específicos ................................................................................................... 5 1.6 Metodologia ............................................................................................................... 5 2 FUNDAMENTOS E PROJETO DE SISTEMAS ................................................................... 7 2.1 Introdução à análise ................................................................................................... 7 2.2 Sistemas automatizados ............................................................................................. 7 2.3 A informação ............................................................................................................. 8 2.4 Conceito de sistema ................................................................................................... 8 2.4.1 Principais objetivos do sistema ......................................................................................... 9 2.4.2 Ambiente dos sistemas.................................................................................................... 10 2.4.3 Recursos utilizados pelo sistema .................................................................................... 10 2.4.4 Controles do sistema ...................................................................................................... 10 2.4.5 Sistema de informações .................................................................................................. 11 2.5 Conclusão ................................................................................................................ 12 3 CONCEITOS GERAIS DE BANCO DE DADOS ................................................................ 13 3.1 Conceitos ................................................................................................................. 13 3.2 Visões do banco de dados ........................................................................................ 13 3.3 Vantagens do banco de dados em relação à arquitetura tradicional ........................ 15 3.3.2 Vantagens do banco de dados ........................................................................................ 15 3.4 Normalização de dados ............................................................................................ 17 3.4.1 Primeira forma normal (1FN) ......................................................................................... 18 3.4.2 Segunda forma normal (2FN).......................................................................................... 18 3.4.3 Terceira forma normal (3FN).......................................................................................... 18 v 3.5 Modelo de entidade e relacionamento ..................................................................... 18 3.5.1 Cardinalidade de relacionamentos ................................................................................. 20 3.5.2 Atributos do relacionamento ........................................................................................... 22 3.5.3 Grau do relacionamento .................................................................................................. 23 3.5.4 Relacionamento binário .................................................................................................. 23 3.5.5 Relacionamento ternário ................................................................................................. 23 3.6 O banco de dados Interbase .................................................................................... 24 3.7 A ferramenta IBConsole .......................................................................................... 26 3.4 Conclusão ............................................................................................................... 27 4 PROJETO DO SISTEMA ............................................................................................... 28 4.1 Introdução ................................................................................................................ 28 4.2 Descrição do problema ............................................................................................ 28 4.3 Engenharia de requisitos .......................................................................................... 28 4.3.1 Atores ............................................................................................................................... 28 4.4 Diagrama de Use-Case ............................................................................................ 29 4.4.1 Cadastro .......................................................................................................................... 30 4.4.2 Entradas ..........................................................................................................................33 4.4.3 Relatórios ........................................................................................................................ 33 4.4.4 Atualização ...................................................................................................................... 36 4.4.5 Vendas ............................................................................................................................. 36 4.4.6 Contas .............................................................................................................................. 38 4.4.7 Caixa ................................................................................................................................ 39 4.4.8 Manutenção ..................................................................................................................... 40 4.5 Diagrama entidade relacionamento ......................................................................... 42 4.6 Conclusão ................................................................................................................ 43 5 SISTEMA INFORMATIZADO PARA FARMÁCIA ........................................................... 44 5.1 Criação do banco de dados ...................................................................................... 44 5.1.1 Criação de domínio ......................................................................................................... 45 5.1.2 Criação de tabelas ........................................................................................................... 45 5.1.3 Criação de generator ...................................................................................................... 46 5.1.4 Criação de trigger ........................................................................................................... 46 5.1.5 Criação de índices ........................................................................................................... 46 5.2 Desenvolvimento da aplicação ................................................................................ 47 5.2.1 Implementação do projeto ............................................................................................... 47 5.2.2 Data module .................................................................................................................... 48 5.2.3 Tela de cadastro .............................................................................................................. 49 5.2.4 Especificação de hardware ............................................................................................. 60 5.3 Conclusão ................................................................................................................ 60 6 FUNCIONALIDADES DO SISTEMA ............................................................................... 61 6.1 Cadastros ................................................................................................................. 61 6.2 Entradas ................................................................................................................... 62 6.3 Lançamento de receitas em caixa ............................................................................ 63 6.4 Contas a pagar ......................................................................................................... 63 6.4.1 Lançamento ..................................................................................................................... 63 6.4.2 Pagamentos ..................................................................................................................... 64 6.5 Vendas ..................................................................................................................... 64 vi 6.6 Contas à receber....................................................................................................... 66 6.6.1 Recebimentos crediário ................................................................................................... 66 6.6.2 Recebimentos convênio.................................................................................................... 67 6.7 Relatórios ................................................................................................................. 67 6.7.1 Relatório contas à pagar ................................................................................................. 68 6.7.2 Relatório de faltas ........................................................................................................... 68 6.7.3 Relatório de produtos ...................................................................................................... 69 6.7.4 Relatório de vendas ......................................................................................................... 69 6.7.5 Relatório clientes ............................................................................................................. 70 6.8 Atualização .............................................................................................................. 71 6.9 Caixa ........................................................................................................................ 71 6.10 Conclusão .............................................................................................................. 72 7 CONSIDERAÇÕES FINAIS ............................................................................................ 73 REFERÊNCIAS BIBLIOGRÁFICA......................................................................... 77 APÊNDICES ................................................................................................................ 78 APÊNDICE DOMÍNIOS ............................................................................................ 79 APÊNDICE TABELAS ............................................................................................... 80 APÉNDICE GENERATOR ....................................................................................... 87 APÊNDICE TRIGGER .............................................................................................. 88 APÊNDICE INDEX .................................................................................................... 92 ANEXO A ..................................................................................................................... 93 vii LISTA DE ILUSTRAÇÕES FIGURA 1 - Representação gráfica de entidade ................................................... 19 FIGURA 2 - Representação gráfica de atributos .................................................. 19 FIGURA 3 - Representação gráfica de relacionamento ........................................ 20 FIGURA 4 - Representação de ligação aluno e disciplina .................................... 20 FIGURA 5 - Representação gráfica ligação homem e mulher ............................. 21 FIGURA 6 - Representação gráfica de empregados e departamentos .................. 21 FIGURA 7 - Representação de ligação aluno e disciplina .................................... 22 FIGURA 8 - Representação atributos e relacionamentos ..................................... 22 FIGURA 9 - Representação de relacionamento binário ....................................... 23 FIGURA 10 - Representação de relacionamento ternário (1) ................................. 23 FIGURA 11 - Representação de relacionamento ternário (2) ................................. 24 FIGURA 12 - Representação de relacionamento ternário (3) ................................. 24 FIGURA 13 - Ferramenta IBConsole...................................................................... 26 FIGURA 14 - Use-Case do Sistema .......................................................................29 FIGURA 15 - Use-Case Cadastro ........................................................................... 30 FIGURA 16 - Use-Case Entradas ........................................................................... 33 FIGURA 17 - Use-Case Relatórios ......................................................................... 34 FIGURA 18 - Use-Case Atualização ...................................................................... 36 FIGURA 19 - Use-Case Vendas ............................................................................. 37 FIGURA 20 - Use-Case Contas a pagar e receber .................................................. 38 FIGURA 21 - Use-Case Caixa ................................................................................ 40 FIGURA 22 - Use-Case Manutenção ..................................................................... 41 FIGURA 23 - Diagrama Entidade Relacionamento ................................................ 42 FIGURA 24 - Ambiente Delphi 6 inÍcio do projeto ............................................... 47 FIGURA 25 - Data Module .................................................................................... 48 FIGURA 26 - Ambiente de cadastro do sistema ..................................................... 49 FIGURA 27 - Representação do DBGrid ............................................................... 52 FIGURA 28 - Representação do Qreport ............................................................... 52 FIGURA 29 - Cadastros do sistema ........................................................................ 61 FIGURA 30 - Entrada de mercadorias do sistema .................................................. 62 FIGURA 31 - Entrada de receita do sistema ........................................................... 63 FIGURA 32 - Lançamento de contas a pagar ......................................................... 63 FIGURA 33 - Pagamentos de contas ...................................................................... 64 FIGURA 34 - Formulário de vendas ....................................................................... 65 viii FIGURA 35 - Formulário fechamento de vendas ................................................... 65 FIGURA 36 - Contas receber crediário................................................................... 66 FIGURA 37 - Contas receber convênio .................................................................. 67 FIGURA 38 - Relatório de contas a pagar .............................................................. 68 FIGURA 39 - Gerar relatório de faltas.................................................................... 68 FIGURA 40 - Relatório de faltas ............................................................................ 69 FIGURA 41 - Relatório de produtos ....................................................................... 69 FIGURA 42 - Relatório de vendas .......................................................................... 70 FIGURA 43 - Relatório de compras cliente ............................................................ 70 FIGURA 44 - Formulário de atualização ................................................................ 71 FIGURA 45 - Formulário de caixa ......................................................................... 72 QUADRO 1 - Visões de banco de dados ................................................................ 14 QUADRO 2 - Criação do banco de dados .............................................................. 45 QUADRO 3 - Criação de domínios......................................................................... 45 QUADRO 4 - Criação de tabelas ............................................................................ 45 QUADRO 5 - Criação de generator ........................................................................ 46 QUADRO 6 - Criação de trigger ............................................................................. 46 QUADRO 7 - Criação de index ............................................................................... 47 QUADRO 8 - Código de inserção de dados ............................................................ 50 QUADRO 9 - Código de alteração de dados .......................................................... 51 QUADRO 10 - Código de exclusão de dados ........................................................... 52 QUADRO 11 - Código de pesquisa .......................................................................... 52 QUADRO 12 - Código de entrada ............................................................................ 54 QUADRO 13 - Código de saídas .............................................................................. 54 QUADRO 14 - Código do caixa ............................................................................... 55 QUADRO 15 - Código contas a pagar ...................................................................... 56 QUADRO 16 - Código lançamento de contas a pagar .............................................. 56 QUADRO 17 - Código contas a receber ................................................................... 57 QUADRO 18 - Código da atualização ...................................................................... 57 QUADRO 19 - Código de manutenção de valores ................................................... 59 QUADRO 20 - Código de manutenção de quantidades ............................................ 60 ix LISTA DE SIGLAS CPD -Central de processamento digital CPU -Unidade central de processamento DCB -Denominação comum brasileira DEC -Digital equipament corporation DFD -Diagrama de fluxo de dados DDL -Linguagem de definição de dados DML -Linguagem de manipulação dos dados ER -Entidade relacionamento FN -Forma normal MER -Modelo entidade relacionamento SGDB -Sistema de gerenciamento de banco de dados SGDBR -Sistema de gerenciamento de banco de dados relacional SQL -Strucured query linguage x RESUMO Este trabalho tem como objetivo mostrar a importância de um sistema informatizado para o ramo farmacêutico: realizando estudos, aplicando metodologias e implementando um sistema, através do qual, seja possível controlar algumas das particularidades de um sistema para farmácias tais como: preços tabelados, denominação comum brasileira, grupo de medicamentos (éticos, similares, portarias, perfumarias e outros). A falta de um gerenciamento administrativo pode causar vários problemas para uma empresa nesse ramo, problemas esses que dificultam a realização de tarefas básicas dentro de uma farmácia. Baseado em informações obtidas junto a estabelecimentos do ramo farmacêutico, pôde-se observar que na ausência de um sistema de gerenciamento de informações há uma dificuldade de manter em dia tarefas essenciais para o cotidiano da empresa. Com o uso de um sistema informatizado estas tarefas podem ser mais facilmente controladas. Com as informações obtidas junto às farmácias, foram efetuados diversos passos para atingir o objetivo. Inicialmente foi feita análise do sistema (fazendo a análise de requisitos e diagramas, utilizando ferramentas UML), com isto foram definidos as tabelas e seus atributos. A seguir foi criado o banco de dados, realizando a análise das informações que o banco de dados vai armazenar, e definindo o SGBD como sendo o Interbase 6.0. Após ter feito a análise de dados e criado o banco de dados foi utilizado do ambiente de programação Delphi 6 para implementação do sistema. Através deste sistema, pode-se ter acesso a diversas operações realizadas dentro do estabelecimento, facilitando o controle, oferecendo maior precisão dando aos usuários a praticidade de ter informaçõesatualizadas no sistema. Palavras-chave: Desenvolvimento de sistemas; Sistema de gerenciamento; Banco de Dados; Farmácias; xi ABSTRACT The main goal of this project is to show the importance of a computer system in the druggist branch: performing studies, applying methodologies and implementing a system through which it becomes possible to control some peculiarities of a drugstore system, such as: control of prices, Brazilian common denomination, group of medicines (ethic, similar, governmental decrees, perfumery and other aspects). The lack of administrative management may cause several problems to a company in this field, such problems may make it difficult to perform some basic tasks in a drugstore. Based on information acquired from druggist establishments, we can notice that the lack of an information management system causes some difficulties in keeping up essential tasks in the company’s everyday. With the use of a computer system, these tasks can be more easily controlled. From the information obtained, several steps were followed to achieve the goal. First, the system was analyzed (performing the analysis of requirements and diagrams, using UML tools), then, tables and attributes were defined. Afterwards, the database was created, performing the analysis of information that will be stored, and defining the Interbase 6.0 as the database management system (DBMS). After the system analysis and the creation of a database, the Delphi 6 programming environment was used to implement the system. Through this computer system for drugstores, we can access several operations performed inside the establishment, facilitating the control, offering more accuracy and providing the users the easiness of having updated information in the system. Key Words: Development of system; Management System; Database; Pharmacy. 1 INTRODUÇÃO 1.1 Apresentação O surgimento de novos produtos, mercadorias e legislações contribuem para mudanças no dia-a-dia de todos. Estas alterações de cotidiano afetam os mais diferentes tipos de pessoas e profissionais, principalmente os comerciantes, pois eles trabalham com a compra e venda de produtos e devem estar sempre preparados para os acontecimentos que ocorrem ao longo dos anos. Após um longo período de altos índices de inflação, troca de moeda e constantes remarcações de valores, os comerciantes acostumaram-se a fazer suas atualizações de preço com menor freqüência, por causa da estabilidade da econômia. Esta estabilização fez com que os valores das mercadorias fossem atualizados com um intervalo maior de tempo. Nesta época o comerciante poderia esperar um representante do fornecedor para obter uma nova listagem de preços, com a qual uma ou mais pessoas poderiam conferir, produto por produto, para atualizar seu novo preço de venda. Como se nota hoje neste período a realidade é que as mercadorias são reajustadas mês a mês e é preciso de agilidade e bom atendimento, o que pode ser conquistado com o uso da informática, utilizando as tecnologias de informações. Um programa de computador traz mais facilidade em efetuar varias tarefas em muitas áreas de uma empresa. E o trabalho dos profissionais ficam mais rápidos e confiáveis. A empresa pode estar perdendo dinheiro se não tiver um atendimento com 2 rapidez e qualidade nos serviços. Com a informática pode-se ter estes benefícios, pois esta tem ganhado um mercado cada vez maior, garantindo praticidade e a agilidade do trabalho, tanto em empresas de pequeno porte quanto em empresa de grande porte. Assim, a informática tem capacidade de permitir a automatização de um serviço completo e confiável em qualquer área de comércio. Todo este controle tem como objetivo o maior lucro possível nas vendas, visando o crescimento e organização da empresa como um todo. 1.2 Definição do problema O ramo farmacêutico tem um diferencial em relação a outros ramos de comércio, pois tem três grupos distintos de mercado, para os quais existe um tratamento diferenciado. Existe o um tipo de grupo de mercadorias que é formado por produtos controlados, os quais devem estar sempre atualizados com a tabela fornecida aos fabricantes pelo Governo Federal, uma vez que não pode haver diferença de preços nestes medicamentos ou mercadorias. Existe outro grupo de mercadorias em que somente o valor de custo é monitorado, sendo assim, o valor de venda é liberado a critério do estabelecimento. Há, ainda, o grupo no qual os valores de custo e venda são liberados. Estes produtos são comercializados com os preços livres: o valor de compra de determinado fornecedor adicionado da margem de lucro estipulada pelo estabelecimento, resulta no valor de venda final do produto. Com esta diferenciação de grupos faz com que os controles de entradas, de saída, de estoque e de preço, se tornem complexos para os proprietários do ramo farmacêutico. Com as constantes variações de preços que ocorrem devido à falta de estabilidade econômica, todo o ramo de comércio tem dificuldades de manter atualizados os preços das mercadorias. Estas atualizações normalmente são feitas manualmente, o que demanda um tempo muito grande para o término do serviço. 3 Além do tempo necessário para executar o processo de atualização nos produtos existentes em um comércio, precisa-se, também, de mais pessoas trabalhando nesta função. Este tipo de atualização, ainda assim, pode ter na maioria das empresas uma grande margem de erro, decorrente do trabalho manual feito por diferentes funcionários. Isto pode acarretar custos para a empresa, com a venda de produtos com preços desatualizados. As empresas estão cada vez mais em busca da perfeição dos serviços prestados e na comodidade, tanto para os seus clientes como para a própria empresa. Mas, esta perfeição ou comodidade muitas vezes é quebrada na hora da contagem e manutenção do estoque, dificuldade esta que os proprietários de estabelecimentos comerciais quase nunca sabem ao certo o que se têm em estoque, o que está faltando, o que teve saída em um dia de trabalho. No momento de fazer um pedido precisam verificar de prateleira em prateleira para saber os produtos que devem ser repostos. Este trabalho de controle de estoque é o modelo de trabalho de um estabelecimento sem a tecnologia da informática. 1.3 Justificativa A rotina de trabalho no controle do movimento de estoque, de caixa, de funcionários em uma empresa de comércio é feita com muitos papéis, etiquetas e digitação. É certo que, para o proprietário de um comércio que não tem um sistema de gerenciamento, fica mais complicado obter o controle das movimentações de um dia de trabalho. Além destes problemas, a atualização dos valores das mercadorias quando acontece um reajuste, demanda muito trabalho por ser uma tarefa manual. Tendo em vista estas dificuldades é que foi idealizado este trabalho, através do qual pretende-se facilitar o dia-a-dia de um comerciário, permitindo que ele tenha mais controle dos produtos vendidos dentro do seu estabelecimento. A informática apresenta-se como uma fiel parceira, que pode ajudar os empresários em vários setores, tanto do comércio como da indústria. Ela pode dar mais 4 tranqüilidade para controlar o estoque e a empresa como um todo. Num comércio, há muitas mercadorias que não podem estar faltando, por este motivo deve-se ter um controle de estoque mais eficiente. Os valores devem estar sempre atualizados conforme a tabela fornecida pelo Governo Federal e, sem o auxílio de um computador, esta tarefa torna-se mais difícil. O controle não atesta somentea quantidade de itens existentes no estoque de uma empresa de comércio, mas envolve controle de caixa, de estoque, de entradas e de saídas de mercadorias e a atualização de preços. Voltado para o ramo farmacêutico, este trabalho pretende facilitar a manutenção de estoque dentro de uma farmácia ou drogaria. O objetivo é criar um sistema para gerenciamento ou controle do estoque, controle de entradas e saídas, controle de contas, controle de pedidos, suporte a vendas e também a atualizar automaticamente os preços das mercadorias com o distribuidor que a empresa preferir, dispensando o trabalho manual. Com o sistema proposto, o proprietário ou pessoa autorizada poderá conectar-se ao distribuidor que escolher e fazer a atualização de preços. 1.4 Objetivo geral Este trabalho tem por objetivo fornecer para o proprietário de um ramo de comércio farmacêutico um melhor gerenciamento sobre o controle de estoque, controle financeiro, suporte a vendas e as compras e atualização de preços dos produtos, através de um sistema informatizado. O sistema tem a finalidade de facilitar o gerenciamento de uma farmácia, tendo em vista que uma das principais dificuldades existente neste ramo no momento de reajuste das mercadorias. Sabendo-se que a aleração de preços dos produtos depende esforço físico e tempo de serviço, o sistema oferece a opção de atualizar os valores dos produtos através de uma conexão direta com o fornecedor, permitindo assim a alteração automática. 5 Este método de atualização de preços dos produtos traz uma facilidade para o gerenciamento do ramo de comércio, dispensando gastos com funcionários que fazem esta atualização. 1.5 Objetivo específico Dentro do objetivo geral, podem-se destacar os seguintes objetivos específicos: a) Facilitar o dia-a-dia do proprietário de um ramo de comércio com uma maneira mais prática de controle de estoque; b) Atualizar os dados do estoque, por meio de conexão direta ou via arquivos enviados pelo fornecedor e manter assim seu estoque em dia com os seus respectivos valores legais; c) Controlar entrada e saída de mercadorias no estoque do estabelecimento, para saber os movimentos diários. 1.6 Metodologia O trabalho foi desenvolvido observando as seguintes etapas: a) Pesquisa no ramo farmacêutico sobre as necessidades do mercado e banco de dados; b) Pesquisa nos fornecedores existentes para colher informações sobre layout de listas de preços; c) Pesquisa bibliográfica sobre os assuntos abordados no decorrer do trabalho; d) Comentário sobre redes de computadores, sistemas de bancos de dados, análise e projetos de sistemas; e) O projeto foi desenvolvido no ambiente de programação Delphi, pois ele suporta as tecnologias que serão utilizadas; f) Os testes foram realizados conforme o desenvolvimento do projeto; 6 g) A validação do projeto foi realizada na etapa final, após serem realizados os testes necessários; h) A redação final do trabalho deu-se após a realização da validação; i) Foram utilizados para a realização do projeto recursos pessoais e alguns disponíveis pela UNIPLAC (Universidade do Planalto Catarinense); 7 2 Fundamentos e projeto de sistemas Neste capitulo são abordados conceitos sobre sistemas automatizados, a informação, conceito, objetivos, ambiente, recursos e controles de sistema. 2.1 Introdução à análise A análise de sistemas representa o estudo detalhado de uma área de trabalho ou processo, que acontece antes de uma ação que, quase sempre, implica no desenvolvimento de um conjunto de programas integrados, onde se forma um sistema destinado à execução controle e acompanhamento do processo. Processo: É uma série de acontecimentos sucessivos com uma relação de causa e efeito, por exemplo, em uma empresa tem uma série de causas e efeitos, matérias primas, recursos humanos, tecnologia etc, que geram um efeito (PERES, 1994). Programa: Escrito em códigos que em conjunto formam uma serie de ações que manipulam as informações e executam tarefas (PERES, 1994). 2.2 Sistemas automatizados Os sistemas automatizados, são compostos por vários componentes: Hardware de computadores: Estes são CPUs (computadores que processam informações), processadores, terminais, impressoras, unidades de fita magnéticas etc., que auxiliam na execução do sistema de computador (KUGLER,1990). 8 Pessoas: Aquelas que operam o sistema, que fornecem as entradas e utilizam as saídas e as que desempenham atividades de processamento manual em um sistema, para que ocorra tudo muito certo na execução do programa (KUGLER,1990). Dados: São informações armazenadas em um hardware, as quais o sistema conserva por um período de tempo, fazendo com estes vários procedimentos, determinações e instruções formais para a operação do sistema de computador específico (PERES, 1994). 2.3 A informação A princípio, as informações, de uma maneira geral, eram manipuladas com o uso do computador sem a preocupação de haver ou não redundâncias das informações. Por isso, era comum nas empresas existirem diversos arquivos com informações repetidas, o que dificultava a sua atualização. O que ocorria nas informações de grande parte das empresas, era transferir transações manuais para os computadores, sem se preocupar com a verificação e administração das informações. Entretanto, com a nova idéia empresarial baseada na performance dos processos administrativos e produtivos, bem como na qualidade dos serviços executados, as atividades relacionadas a processamento de dados, ou melhor o gerenciamento de informações, está ganhando seu espaço merecido. As informações mais confiáveis e rápidas servem para tomadas de decisões a todo instante nas empresas de uma forma geral. Com isso, o computador tornou-se uma ferramenta muito importante. Portanto, atualmente é impossível imaginar o crescimento ou a automatização de qualquer organização sem a presença de um computador. 2.4 Conceito de sistema 9 É muito comum se ouvir as expressões: sistema respiratório, sistema circulatório, sistemas de navegação e, mais especificamente nas empresas, sistema de folha de pagamento, sistema de contas a receber, sistemas de contabilidade, sistemas de planejamento de produção, entre outros. Os sistemas de computadores são construídos e administrados pelo homem, objetivando sempre um fim específico que normalmente está explícito em seu próprio nome. Segundo KUGLER (1990), para se ter uma idéia do que é um sistema, imaginando-se um conjunto de órgãos que operam de forma conjunta e coordenada. Por outro lado podemos imaginar um sistema de processamento de dados que de suporte à gerência do departamento de folha de pagamento de uma empresa. Fazendo todos os cálculos necessários, emitindo demonstrativos individuais de pagamento de funcionários, relatórios analíticos de todos os funcionários, relatórios gerenciais de uma forma geral, além de consultas nível de tela. Entretanto, pode-se definir sistema como um conjunto de partes que interagem, visando um objetivo especifico. Em processamento de dados pode-se conceituar sistema como sendo um conjunto de programas e rotinas de computação, que operam de forma conjunta realizando um objetivo especifico. 2.4.1 Principais objetivos do sistema Existem casos em que a diretoria das empresas fixam os objetivos a serem alcançados, inclusive as diretrizes a serem seguidas, mas por um motivo ou outro muda todo o percurso procurando-se não prejudicar a organização. Portanto, para se avaliar os objetivos de um sistema é indispensável que se convivacom os problemas e soluções diárias naquele ambiente de trabalho. Com estes exemplos, conclui-se que o analista que é interessado em avaliar um determinado sistema, deve começar obtendo informações verbais, registrando-as e, após suas considerações, fazer as devidas confrontações com o que na prática acontece. 10 2.4.2 Ambiente dos sistemas Quando se fala em um ambiente de sistemas, imagina-se uma sala com um monte de computadores, impressoras, todas as ferramentas de um CPD. Na verdade, o ambiente de sistemas é constituído por uma infinidade de fatores, inclusive os citados, que influenciam de forma direta ou indireta no funcionamento de um determinado sistema, podendo estes fatores serem internos ou externos ao sistema. Os fatores internos são aqueles que fazem parte do próprio sistema e os externos são os que, mesmo estando fora, influenciam na sua performance. Portanto, o ambiente de sistema é um conjunto de fatores que interferem direta ou indiretamente no seu funcionamento, estando dentro ou fora dele (POMPILHO, 1994). 2.4.3 Recursos utilizados pelo sistema Para o desenvolvimento de um determinado software, bem como, para implementações de um sistema até sua colocação em funcionamento, sem sombra de dúvidas, é preciso recursos financeiros, computadores, pessoal especializado, formulários, salas e outros suprimentos em geral. Sem esses meios, é óbvio que o sistema não pode nem mesmo existir. Portanto, a esse conjunto de fatores, chama-se de recursos utilizados pelo sistema (POMPILHO, 1994). 2.4.4 Controles do sistema Em todo e qualquer sistema, para que as informações geradas tenham um certo grau de confiabilidade, devem ser definidos controles para entradas de dados. É claro que se os dados de entradas estão corretos, as informações de saída devem ser corretas. Portanto, é indispensável que se faça consistência dos dados de entrada, isto é, que se determine parâmetros para validar os dados de entrada. Por exemplo, se o sistema permite a entrada de dados em branco, datas inválidas, valores inconsistentes, 11 pode-se imaginar o que irá obter-se de informações de saída, certamente informações erradas.. Diante dessas situações, torna-se indispensável uma profunda análise de dados de entrada para garantir informações de saída corretas. 2.4.5 Sistema de informações Em toda e qualquer organização empresarial, seus administradores necessitam tomar decisões a todo instante dependendo de cada situação existente e, é claro, baseado em informações que chegam às suas mãos. Normalmente, essas informações são coletadas através de diversos meios, variando pouco de empresa para empresa. Os meios mais comuns para essas operações são: Comunicações internas; Cartas; Relatórios; Terminais eletrônicos e outros. Evidentemente, é imprescindível que tais informações mereçam uma grande confiabilidade, caso contrário perde totalmente o seu sentido. É melhor não ter informações do que tê-las de forma incorreta ou desatualizada (KUGLER,1990). Se imaginar os danos que podem causar uma informação incorreta ou atrasada, conclui-se qual a sua importância para a organização. Os sistemas de informações de toda e qualquer organização são importantíssimos, inclusive para sua própria sobrevivência, e podem ser conceituados como sendo um conjunto de fatores coordenados que geram informações de qualquer natureza e com alguma finalidade prática. As informações, de uma forma geral, podem ser classificadas de acordo com a sua origem em internas ou externas. As informações internas são aquelas geradas dentro da própria empresa, no seu dia-a-dia, e as externas são as que vêm de fora da organização, como por exemplo, extratos bancários, correspondências de clientes, órgãos públicos e outras 12 (DEMARCO, 1989). 2.5 Conclusão Neste capítulo foram abordados sistemas automatizados, conceitos, objetivos, controles de ambiente e recursos dos sistemas, sistemas de informações e o papel do analista de sistema, que é o solucionador dos problemas que venham a ocorrer no sistema. Estes nos trazem as informações que foram essenciais para a implementação deste projeto, como por exemplo os dados que o sistema proposto vai trabalhar. 13 3 Conceitos gerais de banco de dados Este capítulo aborda conceitos de banco de dados, tipos de visões, linguagens, vantagens e desvantagens, normalização de banco de dados, diagramas de entidade e relacionamento, diagrama de fluxo de dados e componentes do mesmo. 3.1 Conceitos Um sistema de banco de dados é, basicamente, um sistema computadorizado de armazenamento de dados e registros. É um sistema computadorizado, cujo intuito é armazenar informações e permitir ao usuário buscar e atualizar estas informações quando necessário ou solicitado. Dado - É o valor do campo quando é armazenado no Banco de Dados. Por exemplo: O valor do campo "nome do cliente" para quem está fazendo a entrada de dados (FERREIRA, 2001). Banco de dados - Representa o arquivo físico de dados, armazenado em dispositivos periféricos, onde estão gravados os dados de diversos sistemas, para consulta e atualização pelo usuário (FERREIRA, 2001). Tabelas lógicas - Representam as estruturas de armazenamento de dados (arquivos) dos sistemas (FERREIRA, 2001). 3.2 Visões do banco de dados Os bancos de dados podem ser vistos a partir de diferentes tipos de visões: Visão Interna - É aquela vista pelo responsável pela manutenção e 14 desenvolvimento do SGBD (Sistema de gerenciamento de banco De dados). Existe a preocupação com a forma de recuperação e manipulação dos dados dentro do banco de dados. Visão Conceitual - É a visão do analista de desenvolvimento e do administrador das bases de dados. Existe a preocupação na definição de normas e procedimentos para manipulação dos dados, para garantir a sua segurança e confiabilidade, o desenvolvimento de sistemas e programas aplicativos e a definição, no banco de dados, de novos arquivos e campos. Na visão conceitual, existem 2 (duas) linguagens de operação que são: Linguagem de definição dos dados (DDL) - Linguagem que define as aplicações, arquivos e campos que irão compor o banco de dados (comandos de criação e atualização da estrutura dos campos dos arquivos); Linguagem de manipulação dos dados (DML) - Linguagem que define os comandos de manipulação e operação dos dados (comandos de consulta e atualização dos dados dos arquivos). Visão Externa - É a visão do usuário que opera os sistemas aplicativos, através de interfaces desenvolvidas pelo analista (programas), buscando o atendimento de suas necessidades. QUADRO 1: Visões de banco de dados UTILIZAÇÃO DAS APLICAÇÕES DESENVOLVIDAS VISÃO EXTERNA DESENVOLVIMENTO DE APLICAÇÕES UTILIZANDO RECURSOS DO S.G.B.D. VISÃO CONCEITUAL DESENVOLVIMENTO DO S.G.B.D. VISÃO INTERNA 15 3.3 Vantagens do banco de dados em relação à arquitetura tradicional Sistema tradicional - São aqueles em que os dados do sistema estão armazenados fisicamente separados um do outro. O acesso é feito pelos programas de aplicação, associando o nome externo dos arquivos e definindo todo o registro independente da utilização dos campos. Sistema de banco de dados - É aquele em que os dados são definidos para o SGBD através da DDL (linguagem de definição de dados). Fisicamente estão armazenados em um único local, sendo o acesso realizado apenas através do SGBD. Nos programas de aplicação, é necessário apenas definir os campos que serão utilizados pelo programa. SGDB- É o software responsável pelo gerenciamento (armazenamento e recuperação) dos dados no Banco de Dados (FERREIRA, 2001). Modelo de banco de dados - Modelo Relacional, Modelo Hierárquico e Modelo em Rede. Representa a estrutura física no qual o armazenamento dos dados foi projetado. O modelo identifica a estrutura interna de recuperação e armazenamento dos dados no qual o SGBD foi projetado (FERREIRA, 2001). O banco de dados do sistema na qual está sendo desenvolvido foi projetado no modelo hierárquico. 3.3.2 Vantagens do banco de dados Segundo FERREIRA (2001), entre as vantagens de se utilizar bancos de dados têm-se: a) Redução ou eliminação de redundâncias - Possibilita a eliminação de dados privativos de cada sistema. Os dados, que eventualmente são comuns a mais de um sistema, são compartilhados por eles, permitindo o acesso a uma única informação sendo consultada por vários sistemas. b) Eliminação de inconsistências - Através do armazenamento da informação em um único local com acesso descentralizado e, sendo compartilhada a vários sistemas, os usuários estarão utilizando uma 16 informação confiável. A inconsistência ocorre quando um mesmo campo tem valores diferentes em sistemas diferentes. Exemplo, o estado civil de uma pessoa é solteiro em um sistema e casado em outro. Isto ocorre porque esta pessoa atualizou o campo em um sistema e não o atualizou em outro. Quando o dado é armazenado em um único local e compartilhado pelos sistemas, este problema não ocorre. c) Compartilhamento dos dados - Permite a utilização simultânea e segura de um dado por mais de uma aplicação ou usuário, independente da operação que esteja sendo realizada. Deve ser observado apenas o processo de atualização concorrente, para não gerar erros de processamento (atualizar simultaneamente o mesmo campo do mesmo registro). Os aplicativos são, por natureza, multi-usuário. d) Restrições de segurança - Define para cada usuário o nível de acesso a ele concedido (leitura e gravação ou sem acesso) ao arquivo e/ou campo. Este recurso impede que pessoas não autorizadas utilizem ou atualizem um determinado arquivo ou campo. e) Padronização dos dados - Permite que os campos armazenados na base de dados sejam padronizados segundo um determinado formato de armazenamento (padronização de tabela, conteúdo de campos etc.) e o nome de variáveis seguindo os critérios e os padrões pré-estabelecido pela empresa. Por exemplo: Para o campo "Sexo" somente será permitido armazenamento dos conteúdos "M" ou "F". f) Independência dos dados - Representa a forma física de armazenamento dos dados no banco de dados e a recuperação das informações pelos programas de aplicação. Esta recuperação deverá ser totalmente independente da maneira com que os dados estão fisicamente armazenados. Quando um programa retira ou inclui dados o SGBD compacta-os para que haja um menor consumo de espaço no disco. Este conhecimento do formato de armazenamento do campo é totalmente transparente para o usuário. A independência dos dados permite os 17 seguintes recursos: Os programas de aplicação definem apenas os campos que serão utilizados independente da estrutura interna dos arquivos Quando há inclusão de novos campos no arquivo, será feita manutenção apenas nos programas que utilizam esses campos, não sendo necessário mexer nos demais programas. Observação: Nos sistemas tradicionais, este tipo de operação requer a alteração no layout de todos os programas do sistema que utilizam o arquivo. g) Manutenção da integridade - Consiste em impedir que um determinado código ou chave em uma tabela não tenha correspondência em outra tabela. Por exemplo: um código de uma determinada disciplina na tabela “Histórico Escolar” sem a sua descrição na tabela “Disciplina”. 3.4 Normalização de dados A normalização dos dados consiste em definir o formato lógico adequado para as estruturas de dados identificados no projeto lógico do sistema, com o objetivo de minimizar o espaço utilizado pelos dados e garantir a integridade e confiabilidade das informações. A normalização é feita através da análise dos dados que compõem as estruturas, utilizando o conceito chamado "Formas Normais (FN)". As FN são conjuntos de restrições nos quais os dados devem satisfazê-las. Por exemplo, pode-se dizer que a estrutura está na primeira forma normal (1FN) se os dados que a compõem satisfizerem as restrições definidas para esta etapa. A normalização completa dos dados é feita seguindo as restrições das quatro formas normais existentes, sendo que a passagem de uma FN para outra é feita tendo como base o resultado obtido na etapa anterior, ou seja, na FN anterior. Para realizar a normalização dos dados é primordial que seja definido um 18 campo chave para a estrutura, campo este que permite irá identificar os demais campos da estrutura. 3.4.1 Primeira forma normal (1FN) Consiste em retirar da estrutura os elementos repetitivos, ou seja, aqueles dados que podem compor uma estrutura de vetor. Pode-se afirmar que uma estrutura está normalizada na 1FN se não possuir elementos repetitivos. 3.4.2 Segunda forma normal (2FN) Consiste em retirar das estruturas que possuem chaves compostas (campo chave sendo formado por mais de um campo) os elementos que são funcionalmente dependentes de parte da chave. Pode-se afirmar que uma estrutura está na 2FN se ela estiver na 1FN e não possuir campos que são funcionalmente dependente de parte da chave. 3.4.3 Terceira forma normal (3FN) Consiste em retirar das estruturas os campos que são funcionalmente dependentes de outros campos que não são chaves. Pode-se afirmar que uma estrutura está na 3FN se ela estiver na 2FN e não possuir campos dependentes de outros campos não chaves. Após a normalização, as estruturas dos dados estão projetadas para eliminar as inconsistências e redundâncias dos dados, eliminando, desta forma, qualquer problema de atualização e operacionalização do sistema. A versão final dos dados poderá sofrer alguma alteração, para atender às necessidades específicas do sistema, a critério do analista de desenvolvimento durante o projeto físico do sistema. 3.5 Modelo de entidade e relacionamento O modelo de entidade de relacionamento (MER) consiste em mapear o 19 mundo real do sistema em um modelo gráfico que irá representar o modelo e o relacionamento existente entre os dados. Na seqüência serão apresentados conceitos relacionados com o MER e suas formas de representação gráfica. Entidade - Identifica o objeto de interesse do sistema e tem "vida" própria, ou seja, a representação abstrata de um objeto do mundo real sobre o qual desejamos guardar informações como exemplo: Clientes, Fornecedores, Alunos, Funcionários, Departamentos etc. não são entidades: Entidade com apenas um elemento; Operações do sistema; Saídas do sistema; Pessoas que realizam trabalhos (usuários do sistema); Cargos de direção Figura 1 : Representação gráfica de entidade Instância de Entidade - São os elementos da entidade, por exemplo: Cliente 10, Funcionário João, Aluno Pedro etc. Atributo - Informações que se deseja guardar sobre a instância de entidade, por exemplo: Nome do aluno, Número da turma, Endereço do fornecedor, Sexo do funcionário etc. Figura 2 : Representação gráfica de atributo Domínio do atributo - Universo de valores que um atributo pode armazenar, por exemplo: Conjunto de valores do atributo sexo do funcionário: M ou F; Conjunto de valores do atributo nome do aluno: 40 caracteresalfanumérico. Conjunto de valores do atributo salário: inteiro maior que 5000 20 Relacionamento - Representa a associação entre os elementos do conjunto de uma entidade com outra entidade. Figura 3 : Representação gráfica de relacionamento Conteúdo do campo - É o valor do campo armazenado no Banco de Dados. Ex. O valor do campo "nome do cliente" sem estar, momentaneamente, sendo utilizado (FERREIRA, 2001). Informação - É o valor que este campo representa para as atividades da empresa. Por exemplo, a resposta de uma consulta. Qual os nomes dos clientes localizados no Rio de Janeiro? (KUGLER, 1990). Um exemplo do modelo entidade relacionamento pode ser descrito como: O João está matriculado na disciplina de Banco de Dados Onde: João – É um elemento do conjunto de valores do atributo “Nome do aluno” da entidade “Aluno”; Banco de Dados – É um elemento do conjunto de valores do atributo “Nome da disciplina” da entidade “Disciplina”; Matriculado – É a ligação existente entre um aluno e uma disciplina. Figura 4 : Representação de ligação aluno e disciplina 3.5.1 Cardinalidade de relacionamentos Representa a freqüência com que existe o relacionamento como por exemplo: MATRICULADO ALUNO DISCIPLINA 21 Relacionamento 1:1 - O João é casado com a Maria. Onde: João - Elemento do conjunto de valores do atributo Nome da entidade Homem; Maria - Elemento do conjunto de valores do atributo Nome da entidade Mulher; Casado - Ligação entre um homem e uma mulher, sendo que um homem pode ser casado com uma e apenas uma mulher, assim como uma mulher pode ser casada com um e apenas um homem. Figura 5 : Representação gráfica ligação homem e mulher Relacionamento 1:N ou N:1 - O Pedro trabalha no Departamento Pessoal Onde: Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionário. Departamento Pessoal - Elemento do conjunto de valores do atributo Nome do departamento da entidade Departamento. Trabalha - Ligação entre um Funcionário e um Departamento, onde um funcionário pode trabalhar em um e somente um departamento e um departamento pode ter vários funcionários. Figura 6 : Representação gráfica de empregados e departamento Relacionamento N : M - O Antônio está matriculado na disciplina Banco de Dados Onde: Antônio - Elemento do conjunto de valores do atributo Nome da entidade N 1 EMPREGADOS DEPARTAMENTO LOTAÇÃO HOMEM MULHER CASAMENTO 1 1 22 Aluno. Banco de Dados - Elemento do conjunto de valores do atributo Nome da Disciplina da entidade Disciplina. Matriculado - Ligação existente entre um aluno e uma disciplina, onde um aluno pode estar matriculado em várias disciplinas e cada disciplina pode ter vários alunos matriculados. Figura 7 : Representação de ligação aluno e disciplina 3.5.2 Atributos do relacionamento Quando um determinado relacionamento possui atributos, também é conhecido como relacionamento valorado. Esta situação ocorre apenas em relacionamentos N : M. Por exemplo: Pedro trabalha no projeto Alfa 30 horas. Pedro - Elemento do conjunto de valores do atributo Nome da entidade Funcionário. Alfa - Elemento do conjunto de valores do atributo Nome do Projeto da entidade Projeto. Trabalha - Ligação existente entre um funcionário e um projeto. Neste caso, este funcionário trabalha 30 horas neste projeto, porém, este mesmo funcionário poderá trabalhar outro número de horas em outro projeto, assim como outro funcionário trabalha outro número de horas no mesmo projeto Alfa. Pode-se concluir que ás 30 horas é o atributo que pertence a Pedro no projeto Alfa. Figura 8 : Representação atributos de relacionamento TRABALHA FUNCIONÁRIO PROJETO N M HORAS DISCIPLINA ALUNOS MATRICULADO . N M 23 3.5.3 Grau do relacionamento Indica o número de entidade que se relacionam. 3.5.4 Relacionamento binário Quando existe o relacionamento entre apenas duas entidades. Exemplo: Um fornecedor comercializa materiais que são utilizados em diversos projetos. Figura 9 : Representação de relacionamento binário 3.5.5 Relacionamento ternário Quando existe o relacionamento entre três entidades. Exemplo: Um fornecedor comercializa materiais que são utilizados em projetos específicos. Figura 10 : Representação de relacionamento ternário (1) Exemplos de Relacionamento: O Professor Alberto leciona Estrutura de Dados e o aluno Pedro cursa Linguagem de Programação FORNECEDORES MATERIAIS PROJETOS UTILIZADO 1 N N COMERCIALIZA UTILIZAM FORNECEDOR MATERIAIS PROJETOS N M M N 24 Figura 11 : Representação de relacionamento ternário (2) Pedro comprou 1 Kg. de banana do vendedor Manoel Figura 12 : Representação de relacionamento ternário (3) Observação: Para que haja uma venda, tem que haver um cliente, um produto e um vendedor. 3.6 O banco de dados Interbase O Interbase é um SGBDR (Sistema Gerenciador de Banco de Dados Relacional) e foi desenvolvido para ser um banco de dados independente de sistema operacional e plataforma. Segundo RODRIGUES (2003), o Interbase foi desenvolvido no ano de 1985 por engenheiros da DEC (Digital Equipament Corporation), onde era chamado de Groton. A partir de 1986 passou a ser chamado de Interbase inicialmente na versão 2.0., com o desafio de tornar–se um SGBDR que incorporasse os benefícios inexistentes nos concorrentes da época (RODRIGUES, 2003). A Borland na versão 6 do Interbase resolveu adotar uma estratégia para aumentar a popularidade do seu produto. Ela tornou o seu produto de “Código Aberto” LECIONA CURSA PROFESSOR DISCIPLINA ALUNO N M N M 1 VENDA CLIENTES PRODUTOS VENDEDORES 1 N 25 (Open Source), ou seja, na versão 6 o Interbase passou a fornecer licenças de utilização e distribuição de graça, free (RODRIGUES, 2003), pela Internet. Com o Interbase sendo um produto gratuito os desenvolvedores de sistemas passam a contar com um banco de dados, segundo RODRIGUES (2003) “poderoso, eficiente e seguro e seu cliente não vai precisar pagar nada a mais por isso”. Certamente, o fator custo é uma das grandes vantagens do Interbase em relação aos seus concorrentes, além disso, o Interbase possuí as seguintes características: a) Muti-plataformas: O Interbase é compatível com a maioria das plataformas e sistemas operacionais existentes, dentre eles os principais são: Windows 9x, Windows NT, Linux, Solaris (RODRIGUES, 2003). b) Gerenciamento de Transações: Uma transação ou um conjunto de transações é um grupo de operações que geralmente numa situação de falhas deve se realizar por completo (sucesso) ou não se realizar (insucesso), no banco de dados (SILVA, 2000, p. 4). O Interbase gerencia essas transações permitindo que aplicações-clientes iniciem diversas transações simultâneas (SILVA, 2000, p. 4); c) Acesso Multi-usuário: O Interbase dá suporte à execução de diversas aplicações clientes em acessos de forma simultânea em um mesmo banco de dados (SILVA, 2000, p. 3). Essas mesmas aplicações podem ter acesso a vários bancos de dados ao mesmo tempo; d) Nível de Bloqueio: Quando dois ou mais usuários tentam atualizar ou acessar a mesma faixa de dados podem surgir problemas ameaçando a integridade do banco de dados. Em sistemas multi-usuárioesse tipo de problema é freqüente e chamado de concorrência (SILVA, 2000, p. 4). Existem duas estratégias atualmente para solucionar o problema da concorrência, são as estratégias de “bloqueio pessimista” e de “bloqueio otimista”. A estratégia de “bloqueio pessimista” é utilizada geralmente em bancos de dados locais como o Paradox (SILVA, 2000, p. 4). Já a estratégia de “bloqueio otimista” é utilizada pela maioria dos servidores SQL (Structured Query Language), inclusive o Interbase. 26 3.7 A ferramenta IBConsole A ferramenta IBConsole é uma interface que foi desenvolvida em Delphi 6.0 e que agrupa duas interfaces que se destacaram em versões anteriores do Interbase, são ela: Interbase Server Manager e Interbase Interactive SQL (SILVA, 2000, p. 14). A IBConsole, segundo SILVA (2000, p. 14), apresenta as seguintes características: a) Administrar a segurança do servidor; b) Fazer backup de bancos de dados e restaurar backups; c) Analisar estatísticas sobre servidores e bancos de dados; d) Verificar a integridade dos bancos de dados. Na figura 13 é mostrada a tela principal do IBConsole. Figura 13 : Ferramenta IBConsole 27 3.4 Conclusão Como se pode ver neste capítulo, a implementação de um banco de dados é necessário para que se tenha uma maior integridade do sistema. Com o auxílio de um sistema de gerenciamento de banco de dados (SGDB) pode-se ter melhor controle das informações contidas no banco de dados. Com o gerenciamento dos dados pode-se fazer as operações (seleção, exclusão, gatilhos e outros), com maior confiança de que está tratando o dado correto. 28 4 PROJETO DO SISTEMA 4.1 Introdução Neste capítulo é descrita a modelagem de um sistema de gerenciamento para farmácias, onde são mostrados todos os passos utilizados para a implementação do sistema de gerenciamento, engenharia de requisitos, atores, diagrama de Use-Case e diagrama de entidade relacionamento, fazendo a descrição dos mesmos e o projeto de banco de dados. 4.2 Descrição do problema Esta modelagem, foi feita com base nos problemas que ocorrem em estabelecimentos de farmácias, nos quais todas as ações efetuadas ainda são manuais como mostrado no anexo A. Levando em consideração este tipo de acontecimento é que foi projetado este sistema, tendo como principal fator um controle mais eficiente de um estabelecimento do ramo de farmácia. 4.3 Engenharia de requisitos 4.3.1 Atores Foram definidos dois atores que terão ação neste projeto, os atores são: o ator gerente, com acesso a todas as funções do sistema, e o ator usuários, com as suas 29 permições mostradas na figura 15 mostrada abaixo. 4.4 Diagrama de Use-Case Feitos com base nas informações obtidas em estabelecimentos de farmácia, os diagramas de Use-Cases mostram como é utilizado o sistema de informatização de farmácia. Para que fosse possível visualizar a atividades que ocorrem no dia-a-dia na farmácia, foi utilizado uma ferramenta de Use-Case o (Rational Rose Demo 4). A demonstração das tarefas do sistema mostrada na figura 14. Cadastros Entradas Relatórios Atualização Vendas Usuário Manutenção Contas Gerente Caixa Figura 14 : Use-Case do Sistema O Use-Case vizualizado na figura 14, mostra os atores e suas atividades realizadas durante o dia-a-dia em uma farmácia. Este sistema possui dois tipos de usuários, sendo eles o gerente, com acesso a todos os benefícios do sistema, e o 30 usuário simples, ou funcionário, que tem acesso somente em alguns recursos do sistema. Os casos citados na figura 14, sendo eles cadastros, entradas, caixa etc. Todos estes casos tem as suas expanções e suas funções especificas como mostra os Use-Cases abaixo relacionados. 4.4.1 Cadastro Conforme apresentado no Use-Case da figura 15, o gerente e o usuário podem fazer cadastros dentro do sistema, mostrado nos fluxos abaixo a descrição de seu funcionamento. Fornecedores Clientes Produtos Funcionarios Empresas Laboratório Codigo DCB Taxa Juros Forma Pgto Senhas Grupo Clientes Codigo Barrras Codigo No Fornecedor Grupo Clientes Gerente Usuário Cadastro Cad Fornecedor Cad Clientes Cad Funcionarios Cad Empresa Cad Laboratorio Cad Cod DCB Cad Tx Juros Cad Forma Pgto Cad Senhas Cad Grupo Med Cad Cod Barras Cad Cod Fornecedor M M M Cad Grupo Clientes Cad Produtos Figura 15 : Use-Case do Cadastro 31 Fluxo Principal: O sistema em sua tela principal apresenta um menu de cadastro, neste menu o usuário pode fazer qualquer cadastro que ali estiver. Fluxo Alternativo: Cadastro de Produtos Após a escolha da opção por cadastro de produtos o sistema abrirá uma tela, onde o usuário pode cadastrar qualquer produto, sendo alguns campos de preenchimento obrigatórios para o sucesso do cadastro. Fluxo Alternativo: Cadastro de Clientes Após a escolha da opção por cadastro de clientes o sistema abrirá uma tela onde o usuário preencherá os campos em branco e quando todos campos estiverem preenchidos gravará os dados do referido cliente, sendo que o mesmo poderá ser de qualquer grupo de clientes. Fluxo Alternativo: Cadastro de Fornecedores Após a escolha da opção por cadastro de fornecedores o sistema abrirá uma tela onde o usuário preencherá os campos em branco, e quando todos os campos estiverem preenchidos o usuário gravará os dados do referido fornecedor. Fluxo Alternativo: Cadastro de Funcionários Após a escolha da opção por cadastro de funcionários o sistema abrirá uma tela onde o usuário preencherá os campos em branco, e quando todos campos estiverem preenchidos o usuário gravará os dados do referido funcionário. Fluxo Alternativo: Cadastro de Empresas Após a escolha da opção por cadastro de empresas o sistema abrirá uma tela onde o usuário preencherá os campos em branco, e quando todos campos estiverem preenchidos o usuário gravará os dados da referida empresa. Fluxo Alternativo: Cadastro de Laboratório Após a escolha da opção por cadastro de laboratório o sistema abrirá uma tela onde o usuário preencherá o campo em branco, e quando o campo estiver preenchido o usuário gravará os dados do referido laboratório. Fluxo Alternativo: Cadastro de Código DCB Após a escolha da opção por cadastro de Código DCB o sistema abrirá uma 32 tela onde o usuário preencherá o campo em branco, e quando o campo estiver preenchido o usuário gravará o Código DCB. Fluxo Alternativo: Cadastro de Taxa de Juros Após a escolha da opção por cadastro de taxa de juros o sistema abrirá uma tela onde o usuário preencherá os campos em branco e, quando todos campos estiverem preenchidos, o usuário gravará os dados da taxa de juros. Fluxo Alternativo: Cadastro de Forma de Pagamento Após a escolha da opção por cadastro de forma de pagamento o sistema abrirá uma tela onde o usuário preencherá os campos em branco e, quando todos campos estiverem preenchidos, o usuário gravará os dados da forma de pagamento. Fluxo Alternativo: Cadastro de Senhas Após a escolha da opção por cadastro de Senhas o sistema abrirá uma tela onde o usuário preencherá os campos em branco e, quando todos campos estiverem preenchidos, o usuário gravará a senha pessoal. Fluxo Alternativo: Cadastro de Grupo de Clientes Após a escolha da opção por cadastro de grupo de clientes o sistema abrirá uma tela onde o usuário preencherá o campo em branco e, quando o campo estiver preenchidos, o usuário gravará o grupo. FluxoAlternativo: Cadastro de Grupo de Medicamentos Após a escolha da opção por cadastro de grupo de medicamentos o sistema abrirá uma tela onde o usuário preencherá o campo em branco e, quando o campo estiver preenchidos, o usuário gravará o grupo. Fluxo Alternativo: Cadastro de Código de Barras Após a escolha da opção por cadastro de código de barras o sistema abrirá uma tela onde o usuário preencherá os campos em branco e, quando os campos estiverem preenchidos, o usuário gravará o código de barras do referido produto, sendo que um produto pode ter mais de um código de barras cadastrados. Fluxo Alternativo: Cadastro de Código do Produto no Fornecedor Após a escolha da opção por cadastro de Código do Produto no Fornecedor o sistema abrirá uma tela onde o usuário preencherá os campos em branco e, quando 33 os campos estiverem preenchidos, o usuário gravará o código do produto no fornecedor referido de onde foi adquirido o produto. 4.4.2 Entradas Conforme apresentado no Use-Case da figura 16, o gerente e usuário podem lançar as entradas dentro do sistema. Segue abaixo a descrição de seu funcionamento. Gerente Usuário Mercadorias Entradas Compra Receitas Entrada de valores Figura 16 : Use-Case de Entradas Fluxo Principal: O sistema apresenta na sua tela principal um menu onde tem a opção de entradas, neste o usuário tem a possibilidade de dar entrada de mercadorias (quantidade) e valores extras em caixa. Fluxo Alternativo: Entrada de Mercadorias Após o usuário ter a opção de entrada de mercadorias, o sistema apresenta uma tela onde o usuário vai digitar o código do fornecedor, número da nota fiscal de entrada, valor de ICMS, valor do repasse e valores extras da nota, a partir de então o usuário começa a inserir ítens na nota de entrada digitando o código do produto no fornecedor. Fluxo Alternativo: Entrada de Receita Após o usuário escolher a opção de entrada de receitas o usuário vai inserir valores extras no caixa, precisando também apresentar um motivo para efetuar a referida entrada. 4.4.3 Relatórios 34 Conforme apresentado no Use-Case da figura 17, o gerente e usuário podem emitir os relatórios do sistema. A descrição de seu funcionamento é apresentada a seguir. Usuário Gerente Contas Pagar Mercadorias em Faltas Produtos Vendas Clientes Inandiplentes Extrato Crediario Extrato Convênio Compras Relatórios Extrato Compra Extrato Convenio Extrato Crediario Inandiplentes Clientes Vendas ProdutosFaltas Dividas Figura 17 : Use-Case Relatórios Fluxo Principal: Relatórios O sistema apresentará na tela principal e nele um menu de opções contendo a opção de relatórios, nesta opção de menu existem as opções de relatórios de contas a pagar, mercadorias em falta, produtos, vendas, clientes, inadimplentes, extrato de crediário e extrato de convênio. Fluxo Alternativo: Contas a Pagar Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, na qual terá que entrar com a data inicial e data final do período em que ele quer saber o quanto está devendo e vai ter o resultado em uma grade na tela. Fluxo Alternativo: Mercadorias em Falta Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, na qual terá que entrar com os códigos dos grupos, os quais ele quer saber os medicamentos que estão faltando no estoque, ou seja, todos os produtos em que o estoque estiver menos que o estoque mínimo. 35 Fluxo Alternativo: Estoque Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, na qual terá que entrar com o código do grupo de produtos em que ele quer ter acesso listando o que tem em estoque e que estão ativos. Se o usuário digitar o código igual a ‘0’ (zero), o sistema vai dar o entender que o usuário quer visualizar todos os grupos, sendo assim será visualizado em uma grade com todos os produtos. Fluxo Alternativo: Vendas Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, na qual terá que entrar com a data do dia em que quer saber as vendas. Após ter escolhido a data, o usuário visualizará na tela todas as vendas realizadas no dia selecionado. Fluxo Alternativo: Inadimplentes Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, onde terá o nome dos clientes que tem suas compras com a data de vencimento em atraso. Fluxo Alternativo: Extrato de Crediário Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, na qual terá que entrar com a data inicial e data final do período em que ele quer saber o quanto o cliente está devendo, e também as compras efetuadas pelo cliente neste período de tempo selecionado, o resultado será ilustrado em uma grade na tela. Fluxo Alternativo: Extrato de Convênio Escolhendo esta opção de relatório, o usuário, vai visualizar uma tela, na qual terá que entrar com o código da empresa conveniada e o código do cliente, sendo que se o usuário digitar o código ‘0’ (zero) no campo de código de cliente, o sistema vai entender que está se pedindo o extrato de todos os clientes da referida empresa, e o período em que quer visualizar os débitos dos referidos clientes da referida empresa, sendo assim vai ter o resultado na tela. Fluxo Alternativo: Compras Escolhendo esta opção de relatório, o usuário vai visualizar uma tela, na qual terá que entrar com o código do fornecedor e a data do período em que quer saber. Assim, vai ter na tela a relação de compras efetuadas no dado período com o total geral do referido fornecedor, tendo a opção de fazer o pagamento das compras feitas 36 no referido período. 4.4.4 Atualização Conforme apresentado no Use-Case da figura 18, o gerente e usuário podem fazer a atualização de preços do sistema. A descrição de seu funcionamento é a seguir apresentada. Atualizar Preço Usuário Figura 18 : Use-Case Atualização Fluxo Principal: Atualizar Preço O sistema apresentará na tela principal um menu de opções contendo a opção de atualização, nesta opção de menu existe a opção de atualizar, na qual o usuário vai digitar o código do fornecedor que ele quer atualizar os preços de seu estoque, e posteriormente o usuário vai digitar o código dos grupos que ele quer que atualize os preços. Após preenchidos os campos e presionando o botão de atualizar, o sistema vai realizar a atualização, e quando terminar o processo o sistema gera uma mensagem de atualização completa. 4.4.5 Vendas Conforme apresentado no Use-Case da figura 19, o gerente e usuário podem fazer qualquer tipo de venda no sistema. A descrição de seu funcionamento é abaixo apresentada. 37 Usuário Avista A Prazo Convênio Vendas Vda Avista Vda Prazo Vda Convênio Figura 19 : Use-Case Vendas Fluxo Principal: Vendas O sistema apresentará na tela principal e nele um menu de opções contendo a opção de vendas, nesta opção de menu existem as opções de vendas, e no fechamento de uma venda o usuário vai ter uma opção de venda a vista, venda a prazo e venda no convênio. Fluxo Alternativo: A vista Escolhendo esta opção no fechamento de uma venda o usuário vai digitar: o código do funcionário, código da venda (que será padrão o código número ‘1’), forma de pagamento, condição de pagamento, desconto, arredondamento, acréscimos (se houver) e o sistema vai mostrar o valor final da venda, tendo a opção de imprimir ou não imprimir. Fluxo Alternativo: A Prazo Escolhendo esta opção no fechamento de uma venda o usuário vai digitar o código do funcionário, código da venda (que
Compartilhar