92
FATEC FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DO RIO PRETO IMPLEMENTAÇÃO DE UM SISTEMA DE INFORMAÇÃO PARA O CEASA DE SÃO JOSÉ DO RIO PRETO GABRIEL FERNANDO VIEIRA RIBEIRO E GUSTAVO MANSILIA PAULINO São José do Rio Preto 2007

Tcc Sistema Para o Ceasa

Embed Size (px)

Citation preview

  • FATEC

    FACULDADE DE TECNOLOGIA

    DE SO JOS DO RIO PRETO

    IMPLEMENTAO DE UM SISTEMA DE INFORMAO PARA O CEASA DE SO JOS DO RIO PRETO

    GABRIEL FERNANDO VIEIRA RIBEIRO

    E

    GUSTAVO MANSILIA PAULINO

    So Jos do Rio Preto

    2007

  • 2

    FATEC

    FACULDADE DE TECNOLOGIA

    DE SO JOS DO RIO PRETO

    IMPLEMENTAO DE UM SISTEMA DE INFORMAO PARA O CEASA DE SO JOS DO RIO PRETO

    GABRIEL FERNANDO VIEIRA RIBEIRO

    E

    GUSTAVO MANSILIA PAULINO

    So Jos do Rio Preto

    2007

    Trabalho de Concluso de Curso apresentado Faculdade de Tecnologia de So Jos do Rio Preto -

    FATEC, para obteno do grau de tecnlogo do Curso de Informtica Gesto de Negcios, sob orientao do Prof. Ph.D. Waldir Barros Fernandes Jnior e co-orintao do Prof. M.Sc. Ceclio Rodas

  • 3

    Ribeiro, Gabriel Fernando Vieira e Paulino, Gustavo Mansilia

    Implantao de um Sistema de Informao no CEASA de So Jos do Rio Preto. Gabriel Fernando Vieira Ribeiro e Gustavo Mansilia Paulino.

    So Jos do Rio Preto: [s.n.], 2007.

    Trabalho de Concluso de Curso (Informtica nfase Gesto de Negcios) Faculdade de Tecnologia de So Jos do Rio Preto FATEC.

    Bibliografia: f.50

    1. Sistema de Informao. 2. CEASA. . I. Gabriel Fernando Vieira Ribeiro e Gustavo Mansilia Paulino. II. Faculdade de Tecnologia de So Jos do Rio Preto. III. Implementao de um Sistema de Informao no CEASA de So Jos do Rio Preto

  • 4

    FATEC

    FACULDADE DE TECNOLOGIA DE SO JOS DO RIO PRETO

    BANCA EXAMINADORA:

    Nota Final: _______ ( ) em ___/___/2007

    _________________________________

    Prof. Ph.D. Waldir Barros Fernandes Jnior

    _________________________________

    Prof. Francisco Antonio de Almeida

    _________________________________

    Sr. Luprcio Donizete Fontana

  • 5

    AGRADECIMENTOS

    FATEC Rio Preto por toda estrutura oferecida durante nosso curso; ao Prof. Ph.D. Waldir Barros Fernandes Jnior, nosso orientador, por

    nos mostrar os caminhos a serem seguidos com este projeto, nos auxiliar no delineamento do escopo do mesmo, nos proporcionar total auxlio e orientao

    quando necessrios, confiar plenamente no nosso trabalho e por nos transmitir

    entusiasmo e convico;

    ao Prof. M.Sc. Ceclio, nosso co-orientador, pela prestao aos

    detelhas do projeto, ajuda e comprometimento; ao Prof. Francisco Antonio de Almeida, pela ateno e ajuda prestados

    na elaborao do projeto, pelas anlises contundentes e por todo auxlio no aprimoramento do projeto;

    ao Sr. Luprcio Donizete Fontana, gerente do CEASA Rio Preto, pela

    concesso do acesso a todas reas da organizao, aceitao das propostas de

    trabalho, interesse demonstrado e participao enriquecedora como membro da

    banca de avaliao deste projeto; ao Sr. Daniel Massayuki Ishizava, assistente administrativo do CEASA

    Rio Preto, pela pacincia em nos atender, explanar detalhadamente o

    funcionamento da organizao, cordialidade, disposio e colaborao

    incondicional;

    Prof. M.Sc. Maria Sueli Ribeiro, por nos apoiar e auxiliar durante

    toda a elaborao do projeto.

  • 6

    RESUMO E PALAVRAS-CHAVE No mercado de hortifrtis, o CEASA uma organizao de grande influncia

    e importncia, em contexto nacional, sendo o elo entre produtores e mercado, por meio dos permissionrios. Sendo assim, a principal atividade administrativa do CEASA o gerenciamento dos permissionrios que exercem atividades comerciais nos espaos alugados a eles. No CEASA de So Jos do Rio Preto, existem dificuldades para exercer essa atividade em virtude da no organizao dos dados utilizados. Foi constatada a falta de ferramentas especficas que atendam s necessidades do CEASA, sendo utilizadas, atualmente, planilhas eletrnicas de sutes de aplicativos de escritrio (Calc, da Sun Microsystems), contendo frmulas e distribuio de informaes que dificultam o manuseio delas, alm de no haver integridade dos dados gerenciais. Para levantar as variveis envolvidas nas dificuldades, foram realizados estudos dos processos do CEASA junto a seus colaboradores, a fim de encontrar limitaes e problemas na execuo dos processos vigentes. A partir dos levantamentos, foi elaborado um banco de dados centrado no escopo do CEASA (gerncia dos permissionrios) e, posteriormente, um sistema contendo interfaces para o usurio trabalhar com as informaes de maneira a aperfeioar e organizar os processos, alm de garantir integridade dos dados.

    Plavras-chave: Sistema de Informao, comrcio de hortifrtis, processos, banco de dados, gerenciamento, CEASA, central de abastecimento

  • 7

    ABSTRACT AND KEYWORDS In the market of produce, CEASA is an organization of great influence and

    importance on the national level, being the link between the producers and consumers, through the licensees. CEASA's main activity is to manage the licensees that comercialize produce in their rent spaces. There are difficulties to perform this activity at So Jos do Rio Preto's CEASA, due to the poor organization of the utilized data. It has been found the specific tools that meet CEASA s needs do not exist, being currently used instead electronics spread sheets of office production softwares (Calc, from Sun Microsystems), which contain formulas and information distribution that difficult their use, besides the fact that there is not integrity of managerial data. To survey the variables involved with such difficulties, studies on CEASA's processes had been carried out with its staff in order to find limitations and problems in the performance of its current processes. From the findings, a database has been made centered on the scope of CEASA (management of licensees), followed by a system containing interfaces for the user to work with information in a marnner to improve and organize processes guaranteeing integrity to data.

    Keywords: Information System, produce marketing, processes, database, management, CEASA, supply center

  • 8

    SUMRIO

    INTRODUO.............................................................................................................. 9 CAPTULO I FUNDAMENTAO TERICA ......................................................... 11

    1.1 CEASA ............................................................................................................. 11 1.1.1 Os Entrepostos ......................................................................................... 11 1.1.2 Histrico CEASA/CEAGESP .................................................................... 12 1.1.3 Dados do CEASA So Jos do Rio Preto ............................................. 13

    1.2 Recursos de TI ................................................................................................. 14 1.2.1 Conceitos de Sistemas de Informao..................................................... 14 1.2.2 Banco de Dados ....................................................................................... 18 1.2.3 Linguagem de Programao Java............................................................ 22

    CAPTULO II METODOLOGIA DA PESQUISA ...................................................... 26 2.1 Objetivos........................................................................................................... 26 2.2 Problemas e Hipteses .................................................................................... 26 2.3 Tipos de Pesquisas .......................................................................................... 28 2.4 Material e Mtodo............................................................................................. 28

    CAPTULO III DISCUSSO E RESULTADOS ....................................................... 30 3.1 Contextualizao dos Processos e Problemas ............................................... 30 3.2 O Sistema......................................................................................................... 33

    3.2.1 Modularizao........................................................................................... 33 3.2.2 Diviso em Camadas................................................................................ 35 3.2.3 Ferramentas Utilizadas ............................................................................. 36

    3.3 Implementao do Banco de Dados................................................................ 37 3.3.1 SGBD ........................................................................................................ 37 3.3.2 Stored Procedures .................................................................................... 39 3.3.3 Diagrama do Banco de Dados.................................................................. 39

    3.4 Implementao em Java .................................................................................. 41 3.5 Resultados Esperados x Atingidos .................................................................. 42

    CONCLUSO ............................................................................................................. 44 REFERNCIAS BIBLIOGRFICAS........................................................................... 46 APNDICE 1 .............................................................................................................. 47 APNDICE 2 .............................................................................................................. 62

  • 9

    INTRODUO

    O Projeto de Graduao desenvolvido orientado ao desenvolvimento de um Sistema de Informao (SI) para o Entreposto de hortifrtis Centro Estadual de Abastecimento (CEASA) de So Jos do Rio Preto, filiado Companhia de Entrepostos e Armazns Gerais de So Paulo (CEAGESP). O CEASA consiste num espao dedicado a comercializao de hortifrtis em atacado, sendo ele responsvel por gerir, em sua rea interna, vrios atacadistas (permissionrios) ali instalados, que devem pagar pelo uso do local.

    As atividades do CEASA caracterizam-se basicamente em obrigaes para com a CEAGESP e, principalmente, o controle dos permissionrios da unidade (atividades, espao ocupado, taxas individuais, pagamentos, contrato). Aps averiguao dos processos internos da administrao e gerncia do CEASA, foi constatado que no existe um banco de dados formal dos permissionrios instalados na unidade, com seus atributos (taxas, contatos, histrico e controle organizado de pagamentos e movimentaes, tipos de contrato) organizados, gerando dificuldade para controle dos dados e anlise sobre os mesmos.

    Essa pesquisa visa focar os pontos principais do funcionamento do CEASA, que gira em torno do gerenciamento dos atacadistas (permissionrios) instalados no estabelecimento. A partir da, foi desenvolvido um banco de dados sobre as principais variveis envolvidas, contendo funes de consulta, inseres, alteraes, pesquisas, devidamente implementadas e que sero acessadas por meio de um software.

    Durante o perodo de pesquisa, foram coletadas informaes sobre os processos e ocorrer paralelamente a etapa de programao.

    No trabalho, esto inclusos os aspectos tericos da melhoria de processos por auxlio da tecnologia da informao (TI), scripts do banco de dados (BD), cdigo-fonte do sistema, especificaes da CEASA, exemplos da interface do sistema, detalhes das pesquisas realizadas e a referncia bibliogrfica.

    Esta pesquisa visa aprimorar os processos do CEASA de So Jos do Rio Preto, por meio do desenvolvimento de um banco de dados de acordo com os padres de integridade de dados, alm de funcionalidades providas pela linguagem SQL de banco de dados e, interface utilizando linguagem de programao JAVA. relevante, pois se for concluda com xito e uma soluo aplicvel for encontrada,

  • 10

    alm de a unidade de Rio Preto poder ser beneficiada, outras 12 unidades do interior do Estado de So Paulo podem aproveitar tal soluo.

    Sua importncia consiste em informatizar processos, de forma a melhorar a eficincia e controle interno do CEASA. O detalhe decisivo para a proposio desse Projeto foi a constatao da falta de um sistema personalizado dentro da administrao e gerncia do CEASA, que acarreta em grande dispndio de tempo para realizao de tarefas rotineiras (alterao de dados dos permissionrios, consultas, novos cadastros de dados) e gerenciais (anlises sobre os dados). Atualmente so usadas solues ineficientes para gerenciar os dados, tais como arquivos de planilhas eletrnicas (Calc, da Sun Microsystems) e editores de textos (Writer, da Sun Microsystems), alm de dados arquivados na forma de papel.

    Assim, para o desenvolvimento deste trabalho, a presente pesquisa foi dividida em: Captulo I, Fundamentao Terica; Captulo II, Metodologia da Pesquisa; Captulo III, Discusso e Resultados.

    Com isso, fica exposta a estrutura geral deste projeto, abrangendo sua finalidade, seu embasamento, sua forma e seu resultado.

  • 11

    CAPTULO I FUNDAMENTAO TERICA

    Neste captulo, so expostos os segmentos tericos que embasaram os captulos vindouros, e servem de apoio para aplicao das propostas apresentadas.

    Primeiramente aborda a organizao CEASA desde sua constituio ao seu atual contexto. Posteriormente, so apresentados conceitos de Sistemas de Informao, Banco de Dados e Linguagem de Programao Java, utilizados para concretizao do projeto.

    1.1 CEASA

    Nos tpicos vindouros so contextualizados os CEASAs, com nfase no de So Jos do Rio Preto, assim como as variveis que o influenciam e a evoluo dos entrepostos e suas estruturas, no comrcio de hortifrtis. Os dados contidos nesse segmento foram resgatados do portal da CEAGESP (2007)1, via Internet.

    1.1.1 Os Entrepostos

    Um entreposto um armazm onde so guardados ou vendidos produtos agrcolas. Em sua origem remota, os primeiros entrepostos comerciais surgiram por volta do sculo IV a.C., proveniente do armazenamento agrcola dos povos que habitavam as regies frteis s margens do rio Nilo e na Mesopotmia.

    No caso da CEAGESP, seus entrepostos atacadistas funcionam como ponto de encontro de produtores e comerciantes. As unidades da capital e do interior funcionam como canais de distribuio da produo regional para feiras-livres, supermercados, sacoles, restaurantes e distribuidoras de hortifrtis.

    Ao mesmo tempo escoam as safras, movimentam o comrcio atacadista e varejista e diminuem os custos para o consumidor. No Entreposto da Capital, por exemplo, chegam os mais variados produtos, vindos de 1300 municpios brasileiros e de outros 12 pases. Depois de comercializados, eles partem para abastecer a populao de vrios municpios paulistas e de outros estados. Ao todo, a

    1Cf. http://www.ceagesp.gov.br

  • 12

    Companhia rene 13 Entrepostos no Estado.

    1.1.2 Histrico CEASA/CEAGESP

    A Companhia de Entrepostos e Armazns Gerais de So Paulo (CEAGESP) surgiu no ms de maio de 1969, proveniente da fuso de duas empresas mantidas pelo Governo de So Paulo: o Centro Estadual de Abastecimento

    CEASA

    e a

    Companhia de Armazns Gerais do Estado de So Paulo CAGESP. A empresa, num curto espao de tempo, tornou-se um grande centro de abastecimento em nvel nacional e acabou por consolidar sua atuao nas reas de comercializao de hortcolas e armazenagem de gros.

    Em 1977, a comercializao atingiu o recorde de 6,2 mil toneladas de produtos vendidos num s dia e superou o maior mercado do mundo, o Paris-Rungis, na Frana. No final dos anos 70, a empresa iniciou o processo de descentralizao, inaugurando em So Jos do Rio Preto a primeira unidade de comercializao fora da capital. Atualmente, a Companhia mantm onze unidades no interior, prximas a plos de produo e consumo.

    Nos anos 80, a CEAGESP passou a abranger um pblico consumidor maior, pois abriu o comrcio de varejo para consumidores finais. Criou o primeiro varejo com produtos frescos a preos controlados. Em 1983 vieram os sacoles para vender legumes e verduras por quilo a preo nico. Em 1984, surgiram os comboios, que funcionavam como mini-varejes.

    A rede de armazenagem tambm acompanhou o crescimento da Companhia. Em 1970, a CEAGESP construiu os primeiros silos horizontais do Pas, acoplados a graneleiros. Na poca, a rede recebia os estoques reguladores do governo federal, comprados em vrios Estados e armazenados em cidades do interior de So Paulo.

    A partir de 1986, os armazns da CEAGESP passaram a abrigar acar ensacado, por conta da expanso da cultura de cana-de-acar que, ao lado da laranja, assumiu a liderana da agricultura paulista. Em 1997, a CEAGESP foi Federalizada e vinculada ao Ministrio da Agricultura, Pecuria e Abastecimento.

    Atualmente, a CEAGESP coordena as atividades dos CEASAs paulistas; no entanto, cada unidade do CEASA tem autonomia prpria para trabalhar de acordo com suas necessidades e da regio em que esto instaladas.

  • 13

    1.1.3 Dados do CEASA So Jos do Rio Preto

    O CEASA

    So Jos do Rio Preto localiza-se na Avenida Joo Batista Vetorazzo, nmero 1600, bairro Distrito Industrial.

    Seus horrios de comercializao em atacado so as segundas, quartas e sextas-feiras das 5h30 s 12h e, em varejo, aos sbados das 7h s 12h. A feira de flores funciona as quartas das 6 s 9 horas para atacado e das 9 s 12 horas para varejo. Funciona tambm aos sbados das 7h s 12 h, para atacado e varejo.

    A data de incio das operaes do CEASA foi dia 01 de julho de 1979, possuindo at os dias atuais uma rea total de 193.599,00m, sendo 6.696,80m de rea construda.

    O volume mdio comercializado no CEASA, considerando toda a gama de produtos envolvidos nas transaes, alcana 7 mil toneladas por ms. Tem como principais produtos comercializados verduras, legumes, frutas, batata, cebola, flores e frios. O atual gerente da unidade o Sr. Luprcio Donizete Fontana.

    Um aspecto interessante sobre o CEASA de So Jos do Rio Preto, que envolve, alm do CEASA, os seus permissionrios e a prefeitura municipal, a adoo do Banco de Alimentos, que consiste nos alimentos que sobraram da comercializao no CEASA e que so armazenados de forma processada ou no em cmaras frias para posterior distribuio em estabelecimentos geridos pela prefeitura, como creches e escolas.

    Como j citado, o CEASA localiza-se no Distrito Industrial, numa rea de fcil acesso, alm de estar prximo ao aeroporto da cidade. A rea do CEASA grande, existindo rea livre para expanso. Na Figura 1, abaixo, pode-se observar o quarteiro ocupado pelo CEASA e seus arredores:

  • 14

    Figura 1: Vista area do CEASA So Jos do Rio Preto Fonte: Google Earth, 2007

    1.2 Recursos de TI

    Nesta parte do projeto, apresentado o embasamento terico sobre os recursos de TI utilizados, para a realizao da proposta desta pesquisa.

    1.2.1 Conceitos de Sistemas de Informao

    O termo informao difcil de ser definido, pois existem diversas interpretaes sobre seu significado, mas basicamente entende-se pelo ato de transmisso de conhecimento, que de alguma forma tem um valor til.

    Para Teixeira (2007)2, o conceito de informao, atualmente interpretado de forma ambgua, e muitas vezes atribudo erroneamente, eis suas afirmaes a respeito:

    2Cf. http://www.serprofessoruniversitario.pro.br

  • 15

    A palavra informao sempre foi ambgua e liberalmente empregada para definir diversos conceitos. Os dicionrios registram que a palavra tem sua raiz no latim informare, que significa a ao de formar matria, tal como pedra, madeira, couro etc. Parece ter entrado na lngua inglesa com sua atual grafia e utilizao no sculo XVI. A definio mais comum : a ao de informar; formao ou moldagem da mente ou do carter, treinamento, instruo, ensinamento, comunicao de conhecimento instrutivo . Esta definio permaneceu relativamente constante at os anos posteriores Segunda Guerra Mundial, quando entrou em voga utilizar informao como um termo tecnolgico para definir qualquer coisa que fosse transmitida por um canal eltrico ou mecnico. A palavra tornou-se parte do vocabulrio da cincia das comunicaes. Ento, de repente, podia ser aplicada a algo que, a rigor, no era necessariamente informativo. Seu uso foi extrapolado para o uso geral, designando algo dito ou comunicado, fizesse ou no sentido para o receptor. Atualmente, a liberdade gerada por essa definio amorfa, como era de esperar, incentiva seu emprego de forma ainda mais vaga. Informao tornou-se a palavra mais importante da nossa dcada, o sustento da nossa vida e do nosso trabalho.

    A informao, no contexto das empresas deve conter um ciclo de construo e distribuio, para que a mesma seja aproveitada e interpretada da melhor maneira possvel em benefcio da organizao, de acordo com Maas (2005):

    A informao um processo pelo qual a empresa informa-se sobre ela prpria e seu ambiente, e por ele informa ao seu ambiente sobre ela mesma. Este processo pode ser dividido em quatro subfunes: a) criao das informaes (coleta, aquisio, captao); b) comunicao das informaes (circulao, transmisso, difuso); c) tratamento das informaes (transformao, utilizao, interpretao); d) memorizao das informaes nas formas mais diversas. (p.54)

    Assim ento, atualmente define-se sistema de informao como a congregao de pessoas, estruturas da organizao, tecnologias da informao, processos e procedimentos, interligados, de forma a proporcionar empresa a dispor da informao quando precisar.

    A informao essencial para qualquer tipo de administrao. Assim sendo, esta precisa ser disponibilizada com agilidade

    disponvel no tempo certo e confiabilidade

    coesa, correta, para que esta possa ser realmente til a quem utiliz-la.

    A computao corporativa tem uma linha evolutiva particular, tendo como uma de suas principais metas, possibilitar que a informao tenha esse conjunto de caractersticas, criando novos e melhores instrumentos de apoio tomada de deciso. Um exemplo a tecnologia Enterprise Resource Planning (ERP) e seus

  • 16

    derivados, que otimizam o trfego de dados dentro da corporao, minimizam a manipulao e como conseqncia, asseguram uma maior confiabilidade para as informaes.

    Apesar de sua recente popularizao, o conceito dos sistemas integrados no novo, mesmo quando a informatizao no era uma realidade, afinal, os Sistemas de Informao no dependem de informtica ou tecnologia para serem elaborados; eles dependem de conhecimentos administrativos e operacionais. H algumas dcadas a TI era pouco acessvel, os equipamentos eram muito caros, havia pouca disponibilidade de mo-de-obra e sua instalao exigia grandes investimentos em infra-estrutura. Mas os Sistemas de Informao sempre existiram, de uma maneira ou outra, os dados eram processados e transformados em informaes, ainda que de uma forma muito mais trabalhosa.

    A principal vantagem proporcionada pela tecnologia aos Sistemas de Informao a capacidade de processar uma grande quantia de dados simultaneamente, tornando a disponibilizao das informaes demandadas, praticamente on-line. Mas esse potencial torna-se ineficaz se os sistemas (rotinas, processos, mtodos) no estiverem muito bem coordenados e analisados. Informatizar sistemas ruins traz novos problemas e nenhuma soluo, alm de nublar as possveis causas dessas falhas. Essa situao infelizmente bastante comum nas empresas, pois existe uma grande confuso sobre anlise de sistemas operacional-corporativos e programao desses sistemas.

    O desenvolvimento dos Sistemas de Informao, bem como sua anlise, devem ser feitos de maneira independente. Uma vez desenvolvidos os processos, resta apenas transmiti-los mquina. A eficincia dos sistemas no medida pela informatizao, mas pela qualidade e eficincia dos mtodos, assegurando a informao desejada, confivel e no tempo certo.

    Um importante aspecto acerca da informao a definio, em mbito organizacional, sobre qual o grau de necessidade da empresa sobre ela e qual a abordagem ser atribuda a ela em determinado contexto, segundo Maas (2005, p. 244), a respeito das caractersticas organizacionais necessrias ao uso correto da informao: para gerir a informao em qualquer organizao, importante ter caractersticas e atributos gerenciais que giram em torno da intencionalidade, da organizao, da intuio e da oportunidade .

  • 17

    Abaixo, na Figura 2, uma visualizao do funcionamento de um SI no contexto organizacional.

    Figura 2: O SI no contexto organizacional Fonte: DIMAP/UFRN, 2007

    Os Sistemas de Informao so peas fundamentais para as empresas, no apenas na elaborao de relatrios, mas fazem parte de todos os departamentos e atividades da companhia, desde o simples controle at a confeco de planos estratgicos complexos. Tudo que acontece, todos os processos so regidos por um sistema, que pode ou no ser informatizado. Mais uma vez, deve ser considerada a importncia do administrador nesse processo, que nada menos que vital para a corporao.

    Mais do que um modismo, a tecnologia deve ser compreendida como uma ferramenta, um dos diversos mtodos para assegurar qualidade, competitividade, reduo de custos e principalmente, satisfazer os desejos e anseios dos clientes. No se trata apenas de programao de computadores.

    O entendimento dessa diferena (desenvolvimento de Sistema de Informao versus Programao) proporciona a criao de processos/rotinas mais adequados, mais segurana, maior controle, alm de possibilitar empresa, uma anlise clara dos benefcios (ou no) que a informatizao pode trazer.

  • 18

    A Figura 3, a seguir, demonstra as variveis inerentes aos expedientes e planejamento de negcio, onde o Sistema de Informao deve atuar.

    Figura 3: Variveis de negcio abrangidas pelos Sis Fonte: Autores deste projeto

    Por fim, a implantao de um Sistema de Informao deve levar em considerao o ciclo da informao na organizao, passando pela entrada dos dados, processamento dos mesmos e sada na forma de informao til e inteligvel, alm da reteno do feedback desse processo, o qual importante para o aprimoramento do fluxo.

    1.2.2 Banco de Dados

    O banco de dados (ou base de dados, ou ainda BD) uma coleo de dados interrelacionados, representando informaes sobre um domnio especfico. Atualmente, o modelo de banco de dados mais utilizado o relacional.

    Ricarte (2007)3 define banco de dados relacional da seguinte forma:

    Um banco de dados relacional organiza seus dados em relaes. Cada relao pode ser vista como uma tabela, onde cada coluna

    3Cf. http://www.dca.fee.unicamp.br/cursos/PooJava/javadb/bdrel.html

  • 19

    corresponde a atributos da relao e as linhas correspondem as tuplas ou elementos da relao. Em uma nomenclatura mais prxima quela de sistemas de arquivos, muitas vezes, as tuplas so denominadas registros e os atributos, campos. Um conceito importante em um banco de dados relacional o conceito de atributo chave, que permite identificar e diferenciar uma tupla de outra. Por meio do uso de chaves possvel acelerar o acesso a elementos (usando ndices) e estabelecer relacionamentos entre as mltiplas tabelas de um sistema de banco de dados relacional.

    A viso de dados organizados em tabelas oferece um conceito simples para a estruturao dos dados, sendo um dos motivos do sucesso de sistemas relacionais de dados.

    Certamente, outros motivos para esse sucesso incluem o forte embasamento matemtico por trs dos conceitos, utilizados em bancos de dados relacionais, e a uniformizao na linguagem de manipulao de sistemas de bancos de dados relacionais, por meio da linguagem Structured Query Language (SQL).

    Um banco de dados representar sempre aspectos do mundo real. Assim sendo, uma base de dados uma fonte de onde se pode extrair uma vasta gama de informaes derivadas, que possui um nvel de interao com eventos, como o mundo real que representa. A forma mais comum de interao entre usurio e banco de dados, d-se por meio de sistemas especficos que por sua vez acessam o volume de informaes geralmente por meio da linguagem SQL.

    Para o desenvolvimento e gerenciamento de um banco de dados, atualmente so usados Sistemas Gerenciadores de Banco de Dados (SGBD) em detrimento de programao em determinada linguagem tradicional. Um SGBD uma coleo de programas que permite aos usurios criar e manter um banco de dados. O SGBD , portanto, um sistema de software de propsito geral que facilita os processos de definio, construo, manipulao e compartilhamento de banco de dados entre vrios usurios e aplicaes.

    Profissionalmente tratando-se, existem os Administradores de Banco de Dados (DBA) que controlam o acesso aos dados e controle do BD, os Projetistas de Banco de Dados (DBP), que analizam a forma de representao de dados em um banco de dados e forma como eles devem ser guardados.

    A definio de um banco de dados implica especificar os tipos de dados, as estruturas e as restries para os dados a serem armazenados em um banco de dados. Elmasri e Navathe (2005) mostram a funcionalidade de um SGBD e explicam essa diferena:

  • 20

    A construo de um banco de dados o processo de armazenar os dados em alguma mdia apropriada controlada pelo SGBD. A manipulao inclui algumas funes, como pesquisas em banco de dados para recuperar um dado especfico, atualizao do banco para refletir as mudanas do minimundo e gerar os relatrios de dados. O compartilhamento permite aos mltiplos usurios e programas acessar, de forma concorrente, o banco de dados. (p.4) No processamento tradicional de arquivos, a estrutura do arquivo de dados est embutida no programa da aplicao, sendo assim, qualquer mudana na estrutura de um arquivo pode exigir alteraes de todos os programas que acessam esse arquivo. Ao contrrio, os programas para acesso ao SGBD no exigem essas alteraes na maioria dos casos. A estrutura dos arquivos de dados armazenada no catlogo do SGBD separadamente do programa de acesso. (p. 7)

    Essas ferramentas tm por objetivo dinamizar a criao e o uso do banco de dados, assim como definir uma maior estruturao e funcionalidade, aumentando a integridade, rapidez de acesso e diminuindo redundncias de dados, apresentando, assim, vantagens em relao ao uso de programao comum. Segundo Elmasri e Navathe (2005):

    Essas redundncias, na definio e armazenamento dos dados resultam em um espao de armazenamento desperdiado e em esforos redundantes para manter os dados comuns atualizados. Na abordagem utilizando um banco de dados, um nico repositrio de dados definido uma nica vez, mantido e ento acessado por vrios usurios. As principais caractersticas da abordagem de um banco de dados versus a abordagem de processamento de arquivo so as seguintes:

    Natureza autodescritiva do sistema de banco de dados.

    Isolamento entre programas e os dados, e a abstrao dos dados.

    Suporte para mltiplas vises dos dados.

    Compartilhamento de dados e processamento de transaes multiusurios. (p. 7-8)

    Outra grande vantagem do uso de um SGBD o encapsulamento da estrutura do banco de dados parte do software. Alm de prover melhor manuseabilidade e manuteabilidade no banco, oferece a possibilidade de fornecer recursos de fcil uso pelos usurios, como inseres, alteraes, excluses, relatrios e acesso restrito (segurana).

    Na figura 4, est explicitada a estrutura de camadas de um sistema que utiliza um SGBD em seus diferentes nveis.

  • 21

    Figura 4 Camadas do banco de dados Fonte: Autores deste projeto

    O nvel fsico o mais baixo de abstrao, escreve como os dados esto realmente armazenados, englobando estruturas complexas de baixo nvel; o nvel conceitual descreve quais dados esto armazenados e seus relacionamentos. Neste nvel, o banco de dados descrito por meio de estruturas relativamente simples, que podem envolver estruturas complexas no nvel fsico; O nvel de vises do usurio descreve partes do banco de dados, de acordo com as necessidades de cada usurio, individualmente, sendo que o usurio no tem acesso direto estrutura relacional (nvel conceitual) do banco nem ao nvel fsico (dados armazenados).

    Bancos de dados, de forma geral, contm muitos dados, os quais por si s no tem grande valor. preciso o uso de tcnicas especiais para obteno de importantes informaes num lote de dados. Data mining (minerao de dados) uma das tcnicas mais utilizadas e de maior importncia atualmente. Souza (2007)4, descreve sua definio:

    Minerao de dados, ou data mining, o processo de anlise de conjuntos de dados que tem por objetivo a descoberta de padres interessantes e que possam representar informaes teis. Um padro pode ser definido como sendo uma afirmao sobre uma distribuio probabilstica. Estes padres podem ser expressos principalmente na forma de regras, frmulas e funes, entre outras.

    Atualmente, existe uma tendncia de mercado em se dizer que qualquer

    4Cf. http://www.imasters.com.br/artigo/1482/bi/data_mining/

  • 22

    problema ser resolvido, caso a empresa adquira um banco de dados. Naturalmente, em um ambiente com acesso constante ao banco de dados, onde a segurana seja de vital importncia e que o desempenho dos processos atuais estiverem comprometendo a empresa, a aquisio de um banco de dados poder ser um grande passo para soluo do problema.

    1.2.3 Linguagem de Programao Java

    Java uma linguagem de programao, muito utilizada atualmente. A seguir uma breve descrio de seu histrico e suas caractersticas. Indrusiak (1996)5, descreve seu histrico:

    A linguagem de programao Java foi desenvolvida nos laboratrios da Sun Microsystems, na primeira metade da dcada de 90, com o objetivo de ser mais simples e eficiente do que suas predecessoras. O alvo inicial era a produo de software para produtos eletrnicos de consumo (fornos de microondas, agendas eletrnicas etc.). Um dos requisitos para esse tipo de software ter cdigo compacto e de arquitetura neutra. A linguagem obteve sucesso em cumprir os requisitos de sua especificao, mas apesar de sua eficincia no conseguiu sucesso comercial.

    Com a popularizao da Internet, os pesquisadores da Sun Microsystems perceberam que aquele seria um nicho ideal para aplicar a recm criada linguagem de programao. A partir de ento, adaptaram o cdigo Java para que pudesse ser utilizado em microcomputadores conectados Internet, mais especificamente no ambiente da World Wide Web. Java permitiu a criao de programas batizados applets, que trafegam e trocam dados por meio da Internet e se utilizam da interface grfica de um web browser.

    Os principais web browsers, disponveis comercialmente, passaram a dar suporte aos programas Java, e outras tecnologias em reas como computao grfica e banco de dados, tambm, buscaram integrar-se com o novo paradigma proposto pela linguagem: aplicaes voltadas para o uso de redes de computadores.

    Java uma linguagem simples, pois possui um reduzido nmero de construes. A diminuio das construes mais suscetveis a erros de programao, tais como ponteiros e gerenciamento de memria via cdigo de programao tambm faz com que a programao em Java seja mais eficiente.

    5Cf. www.inf.ufrgs.br/tools/java/introjava.pdf

  • 23

    Contm um conjunto de bibliotecas que fornecem grande parte da funcionalidade bsica da linguagem, incluindo rotinas de acesso rede e criao de interface grfica.

    Baseada no paradigma da Orientao a Objetos - encapsulamento em um bloco de software, os dados (variveis) e mtodos de manipulao desses dados - a linguagem permite a modularizao das aplicaes, reuso e manuteno simples do cdigo j implementado. Assim, para Deitel e Deitel (2002):

    Os programas em Java consistem em partes chamadas classes. Estas consistem em partes chamadas mtodos, que realizam tarefas e retornam informaes ao completarem suas tarefas. (p. 59)

    Um objeto uma entidade do mundo real que tem uma identidade. Objetos podem representar entidades concretas (um arquivo, uma bicicleta) ou entidades conceituais (uma estratgia de jogo, uma poltica de escalonamento em um sistema operacional). Cada objeto ter sua identidade significa que dois objetos so distintos, mesmo que eles apresentem exatamente as mesmas caractersticas.

    O termo orientao a objetos pressupe uma organizao de software em termos de coleo de objetos discretos, incorporando estrutura e comportamento prprios. Esta abordagem de organizao essencialmente diferente do desenvolvimento tradicional de software, onde estruturas de dados e rotinas so desenvolvidas de forma apenas fracamente acopladas.

    A abordagem de orientao a objetos favorece a aplicao de diversos conceitos considerados fundamentais para o desenvolvimento de bons programas, tais como abstrao e encapsulao. Tais conceitos no so exclusivos desta abordagem, mas so suportados de forma melhor no desenvolvimento orientado a objetos do que em outras metodologias. Eis uma breve viso sobre esses conceitos:

    Abstrao: consiste em focalizar os aspectos essenciais inerentes a uma entidade e ignorar propriedades acidentais. Em termos de desenvolvimento de sistemas, isto significa concentrar-se no que um objeto e faz, antes de se decidir como ele ser implementado. O uso de abstrao preserva a liberdade para tomar decises de desenvolvimento ou de implementao apenas quando h um melhor entendimento do problema a ser resolvido.

    Encapsulao: consiste em separar os aspectos externos de um objeto, os quais so acessveis a outros objetos, dos detalhes internos de

  • 24

    implementao do objeto, os quais permanecem escondidos dos outros objetos. O uso de encapsulao evita que um programa torne-se to interdependente que uma pequena mudana tenha grandes efeitos colaterais.

    Compartilhamento: tcnicas de orientao a objetos promovem compartilhamento em diversos nveis distintos. A herana de estrutura de dados e comportamento permite que estruturas comuns sejam compartilhadas entre diversas classes derivadas similares, sem redundncia. O compartilhamento de cdigo usando herana uma das grandes vantagens da orientao a objetos.

    O processo de compilao - gerao de bytecodes (bytecode uma codificao que traduz o que foi escrito no programa para um formato que a JVM ou processador entenda e seja capaz de executar) - projetado para a deteco prvia dos possveis erros, evitando que os erros se manifestem em tempo de execuo. O uso de cdigo para tratamento de excees - exception handling - permite manter a consistncia da aplicao no caso de erros.

    Para ser compilado, um aplicativo Java utiliza a Java Virtual Machine (JVM). A JVM permite executar um cdigo em Java em qualquer plataforma. Segundo a definio da Sun (2007)6, a JVM pode ser entendida como "uma mquina imaginria implementada via software ou hardware que executa instrues vindas de bytecodes". Sendo assim se difere de outras linguagens de programao, como por exemplo o C++, que lida diretamente com o processador e seu bytecode especfico, atrelado a um determinado Sistema Operacional. A JVM permite a traduo de seus bytecodes para comunicao com o processador independentemente do sistema operacional. A seguir, na Figura 5 esse funcionamento explicitado.

    6Cf. www.sun.com

  • 25

    Figura 5 Processo de compilao Java versus C++ - Fonte: Infowester, 2007

    Assim, ento, esto compreendidas neste captulo as principais variveis envolvidas nesse projeto, que facilitam o entendimento e contextualizao do mesmo, alm de embas-lo.

  • 26

    CAPTULO II METODOLOGIA DA PESQUISA

    Este captulo contempla a problemtica envolvida neste projeto, assim como os meios de pesquisa utilizados e as especificaes dos trabalhos realizados.

    2.1 Objetivos

    Com esta pesquisa, objetiva-se desenvolver um Sistema de Informao que facilite e melhore a eficincia nos processos do CEASA de So Jos do Rio Preto.

    Utilizando um Sistema gerenciando um banco de dados para o CEASA, ser possvel obter as seguintes melhorias como maior agilidade nos processos comuns de manipulao de dados: incluso/modificao/consulta de dados referentes aos atacadistas e suas dependncias; obteno de relatrios de forma mais rpida e simplificada, utilizando tcnicas de data mining; prover garantia de consistncia e integridade na base de dados, assim como controle na manipulao de dados; determinar o tipo de informao a ser armazenada e manuseada pelo sistema.

    Portanto, o escopo do projeto a melhoria da efetividade das atividades e processos do CEASA, utilizando-se ferramentas de TI, mais precisamente nas atividades de controle de permissionrios.

    2.2 Problemas e Hipteses

    A pesquisa norteada pelo problema de gerenciamento de dados e informaes usados pelo CEASA, no qual no h um SI especfico desenvolvido. Assim, a obteno de relatrios e dados de forma rpida e precisa, atualmente inatingida.

    A princpio as relaes entre os dados parecem simples, mas uma anlise nos pormenores das operaes assim como as variveis envolvidas revelam uma estrutura de processo flexvel e, portanto, complexa e detalhada.

    A atividade principal do CEASA contabilizar os gastos totais de sua jurisdio, tais como energia eltrica, segurana, portaria, entre outros e distribu-los de forma ponderada aos permissionrios. A esse valor ponderado e distribudo individualmente adicionado o aluguel da rea que o permissionrio ocupa,

  • 27

    caracterizando assim, o boleto com o valor total a ser pago pelo permissionrio. A falta de padronizao e critrios, nos processos da empresa, chegou at,

    num passado recente, a ocasionar prejuzos no CEASA, pois, devido falta de controle das informaes, o clculo dos valores a serem pagos pelos permissionrios era mal dimensionado, gerando cobranas errneas e mal distribudas.

    De acordo com informaes coletadas junto aos colaboradores do CEASA, foi revelado que at cerca de um ano e seis meses passados, todos os controles sobre os dados e informaes eram feitos em documentos de papel, os quais geravam grande inconsistncia, perdas das informaes, desorganizao, demora na execuo dos processos internos e retrabalhos desnecessrios.

    Ento, foi adotado o uso de softwares no especialistas, principalmente planilhas eletrnicas (Calc, da Sun Microsystems) e editores de texto (Writer, da Sun Microsystems), no que diz respeito s atividades do CEASA. Ocorreram melhoras nos processos e houve reduo da ineficcia nos processos administrativos, no entanto essas ferramentas no especialistas ainda geram inconsistncias nos dados, demora para obteno de informao, alta dependncia para com o usurio no processamento e interface pouco apropriada. A vantagem aparente no uso de tais ferramentas o fato de terem a licena de uso gratuita.

    Para resolver tais questes, cogitou-se, neste projeto, desenvolver um sistema de informao personalizado que congregue os dados crticos (usados no dia-a-dia do CEASA, tais como informaes especficas dos permissionrios, seus registros de pagamentos, condies especiais individuais, contrato) e que seja capaz de prover relatrios gerenciais precisos.

    A nfase do sistema dada sobre o banco de dados, cuidando para que este tenha a consistncia, integridade, flexibilidade e recursos de acesso especialmente desenvolvidos para as atividades da organizao.

    Valendo-se de uma interface simples e funcional, assim como procedimentos padronizados, esse sistema, alm de prover as vantagens sobre banco de dados, seria de fcil interpretao para o usurio, que necessitaria de uma baixa carga de treinamento para oper-lo.

  • 28

    2.3 Tipos de Pesquisas

    As pesquisas a serem realizadas so primordialmente a pesquisa de campo, do tipo Quantitativa-Descritiva, e a pesquisa bibliogrfica. Sobre pesquisa bibliogrfica, entende-se por todo o material e informao j publicados em veculos como livros, artigos cientficos, jornais, monografias, teses, Internet, boletins, ou at meios de comunicaes orais/audiovisuais. Para se entender melhor pesquisa de campo do tipo Quantitativo-Descritiva, Marconi e Lakatos (2005) afirmam:

    [...] consistem em investigaes de pesquisa emprica cuja principal finalidade o delineamento ou anlise das caractersticas de fatos ou fenmenos, a avaliao de programas, ou o isolamento de variveis principais ou chave. (p. 189)

    As pesquisas realizadas envolvem informaes obtidas com os funcionrios do CEASA Rio Preto, que disponibilizaram documentos de controle interno e esclareceram dvidas sobre os processos funcionais para que fosse possvel desenvolver o projeto. Foi utilizado, tambm, material encontrado por pesquisa na Internet, alm de consultas a livros.

    2.4 Material e Mtodo

    Alm de todo material recolhido com pesquisa na Internet e dos livros relacionados consultados, tambm foram utilizados alguns documentos com dados funcionais do CEASA de So Jos do Rio Preto, que foram fornecidos. Todo esse material, que proporcionou compreenso do funcionamento das atividades exercidas pela organizao e direcionou este trabalho, ser fundamental para a elaborao e desenvolvimento do sistema.

    O sistema ser desenvolvido utilizando-se apenas softwares gratuitos. Para o desenvolvimento do banco de dados, o SGBD utilizado ser o SQL Server 2005 Express Edition, uma verso free do atual SGBD da Microsoft, o SQL Server 2005, e as interfaces sero feitas em Java, utilizando o programa de desenvolvimento NetBeans, verso 5.0, tambm free. Ambas ferramentas, apesar de serema gratuitas, so de grande qualidade, aceitao e utilizao no mercado. Para rodar o sistema, o microcomputador dever ter previamente instalados, o SQL Server em questo e o Java Virtual Machine (JVM).

  • 29

    O SQL Server 2005 Express Edition exige como requisitos do sistema, um processador Pentium 1.00 Ghz, 256 MB de memria RAM e 525 MB de disco rgido. Enquanto para o NetBeans, recomenda-se no mnimo, processador de 500 MHz Intel Pentium III ou equivalente, memria RAM de 512 MB e espao em disco de 850 MB. Para executar a atual verso da JVM, as configuraes mnimas necessria so um processador de 100 MHz e 32 MB de memria RAM.

    Portando, tanto para desenvolver quanto para executar o Sistema desenvolvido, os requisitos mnimos sero os do SQL Server, salvo o espao em disco rgido que dever acompanhar o exigido pelo NetBeans.

    Toda a equipe do CEASA Rio Preto colaborou significamente para as pesquisas realizadas. Ofereceram total liberdade e auxlio para consultas e esclarecimento de dvidas. Isto de grande importncia para compreenso das reais necessidades da organizao e, por conseguinte, que o sistema desenvolvido supra-as.

    O sistema ser desenvolvido usando apenas ferramentas livres, no havendo custos com aquisio de licenas.

    Conclu-se, neste capitulo, portanto, que o sistema dever proporcionar melhor desempenho e agilidade nas atividades da empresa, assim como maior segurana e confiabilidade.

  • 30

    CAPTULO III DISCUSSO E RESULTADOS No presente captulo, so apresentados os processos principais de

    formulao deste projeto, abrangendo desde os levantamentos iniciais e posteriores constataes ao processo prtico de implementao das solues propostas.

    3.1 Contextualizao dos Processos e Problemas

    Para a proposio de ferramentas que auxiliem e melhorem processos, preciso compreender os mesmos detalhadamente, desde tarefas simples at situaes que envolvem muitas variveis.

    No CEASA de So Jos do Rio Preto, foram cumpridas as seguintes etapas a fim de se obter uma viso sistmica e ao mesmo tempo centrada no escopo da organizao:

    a) Contatos iniciais

    primeiramente, foi estabelecido contato com o gerente e colaboradores com o propsito de lhes esclarecer os objetivos deste projeto assim como obter dos mesmos suas principais necessidades e a permisso para iniciar-se as avaliaes dos processos;

    b) Visitas

    foram realizadas quatro visitas unidade do CEASA com o objetivo de se conhecer os processos, as regras de negcio e as ferramentas utilizadas, utilizando artefatos como relato dos colaboradores e documentos diversos (sob forma de papel e digitais). Essa etapa foi caracterizada pela apresentao do contexto em que se encontra a organizao CEASA, assim como suas atividades e explicao do funcionamento dos processos internos da organizao;

    c) Levantamento das limitaes

    foram observados pontos falhos na organizao de dados e informaes, alm de processos realizados de maneira ineficiente.

    Aps estas etapas foi possvel delinear detalhadamente as atividades do CEASA e, percebeu-se que a nfase destas dada sobre os controles sobre os permissionrios instalados. Tais controles so caracterizados basicamente pelo apontamento do espao especfico que o permissionrio ocupa e sua respectiva taxa (definida multiplicando-se a taxa por metro quadrado fixa pelo total de metros quadrados ocupados), os servios (portaria, segurana, energia eltrica) que o mesmo opta por dispor (os servios so rateados entre aqueles que o utilizam).

  • 31

    No rateio de energia eltrica, especificamente, o rateio feito baseado no consumo de todos os equipamentos eltricos que o permissionrio utiliza, assim, so evitadas discrepncias nas cobranas.

    Ressalta-se que as contas mensais sobre os servios e energia eltrica so cobradas do CEASA, o qual quita esses valores com o pagamento do rateio dessas contas devidamente ponderadas e cobradas dos permissionrios.

    Todo ms, o CEASA tem por obrigao enviar relatrios a CEAGESP que referenciam o ms contbil anterior, estes contendo informaes como total de rea disponvel e utilizada, receita arrecadada, despesas, gastos internos diversos, folha de pagamento dos funcionrios do setor administrativo entre outros detalhes pormenorizados.

    Existe um acordo com a prefeitura de So Jos do Rio Preto, no qual o CEASA isento do pagamento de IPTU assim como gua e esgoto, em troca do fornecimento de alimentos para o banco de alimentos da prefeitura.

    Esclarecidos os detalhes da atividade principal, foram levantados os problemas mais relevantes. De acordo com relatos dos colaboradores, foi revelado que h cerca de pouco mais de um ano e meio atrs, todos os processos, controles e consultas a dados e informaes utilizados pela administrao do CEASA estavam sob a forma de papel.

    Devido ao uso do papel, muitos problemas graves ocorriam na administrao. A desorganizao, demora para manipulao de dados e grande inconsistncia dos mesmos, ocasionaram erros de clculos em boletos emitidos aos permissionrios, acarretando dficit contbil para o CEASA.

    Atualmente, os controles so feitos por meio de planilhas eletrnicas e editores de texto (Calc e Writer, da Sun Microsystems). Com isso obteve-se maior automatizao e confiabilidade nos processos em relao aos antigos mtodos. No houve mais problemas financeiros. A seguir, a Figura 6 mostra uma das telas das planilhas utilizadas.

  • 32

    Figura 6: Tela de planilha de controle do CEASA - Fonte: CEASA So Jos do Rio Preto, 2007

  • 33

    No entanto, o uso destas ferramentas no garantiu a total eliminao das inconsistncias e ainda gerou novas barreiras.

    As planilhas em questo foram desenvolvidas por um colaborador, e apenas este trabalha com ela e sabe manipul-la. Em caso de necessidade de outro colaborador manipular essas planilhas, foi constatada dificuldade de entendimento dos clculos e frmulas contidos nela, assim como dificuldades para encontrar dados e entend-los. Outro ponto a considerar-se o uso de muitas abreviaturas.

    Os dados so gravados de forma rstica, no sendo trabalhados de forma alguma. H repetio de dados, tanto na mesma, quanto em planilhas diferentes, pode haver, por exemplo, dados de diferentes meses misturados. No h obrigatoriedade de preenchimento de todos os dados necessrios por parte do usurio.

    Alm desses inconvenientes j descritos, existem muitas outras limitaes provenientes do uso de planilhas eletrnicas comuns. Pode haver muitos erros de usurio, como sobreposio de dados de uma clula, alterao errnea de frmulas, muitas linhas e/ou colunas numa mesma planilha, necessidade de reorganizar os dados constantemente, segurana dos dados e informaes limitado, dentre outras.

    3.2 O Sistema

    Para sanar as dificuldades e problemas encontrados, foi proposto um sistema personalizado, que reuniria os principais processos, as regras de negcio, alm novas funcionalidades teis ao CEASA.

    3.2.1 Modularizao

    A estrutura do sistema formada por diversos mdulos que interrelacionam-se. O principal mdulo desse sistema, o qual tem maior nfase, o controle de emisso de boletos dos permissionrios, justamente por ser a atividade central do CEASA. Resumidamente, esse mdulo caracterizado pelo clculo de valores a serem pagos por cada um dos permissionrios, mensalmente, por meio de frmulas pr-determinadas de rateio e distribuio de gastos.

    Foram contemplados os seguintes mdulos que abrangem o escopo do CEASA, sempre seguindo as restries impostas pelo banco de dados e contendo as funes de salvar, alteras, consultar e excluir:

  • 34

    Controle de permissionrios: neste mdulo, o usurio do sistema trabalha com os dados inerentes aos permissionrios instalados na unidade;

    Controle de cadastro de pavilho: controle do cadastro dos pavilhes existentes no CEASA;

    Controle de locais: prove gerenciamento dos locais existentes dentro dos pavilhes;

    Controle de servios disponveis: oferece controle sobre os servios existentes para os permissionrios;

    Gerenciador de contratos: gerencia os contratos dos permissionrios, que a relao dos mesmos com cada espao ocupado e servios utilizados;

    Controle contbil do CEASA: possibilita controle dos gastos gerais do CEASA, desde gastos administrativos, gastos relacionados a toda a estrutura do CEASA, incluindo os permissionrios;

    Gerador de boletos: mdulo responsvel pelo lanamento mensal dos boletos individuais dos permissionrios, contendo as descries das cobranas feitas;

    Controle de acesso (login): interface responsvel por permitir ou negar o acesso ao sistema. So exigidos aos usurios o nome de usurio e sua respectiva senha, previamente cadastrados.

    Essa modularizao do sistema permite que o desenvolvimento do mesmo seja fragmentado, organizado e mais eficiente. Alm dessas vantagens, propicia, tambm, facilidade de manuteno do mesmo, uma vez que, modificaes ou correes podem ser aplicadas diretamente apenas sobre o mdulo em questo.

    Outras facilidades percebidas se do para utilizao do sistema pelos usurios finais, j que a navegao pelo sistema simples e lgica. Abaixo, na Figura 7, um fluxograma simples proposto, serve como guia ao usurio do sistema.

  • 35

    Figura 7: Fluxograma de operao do sistema Fonte: Autores deste projeto

    3.2.2 Diviso em Camadas

    Portanto, para implementao do sistema foi utilizado o esquema de diviso em camadas do mesmo, contemplando todos os mdulos. As camadas so as seguintes:

    Camada de interfaces para o usurio: formulrios representados graficamente, com eventos (salvar/alterar, excluir, consultar etc). a representao grfica responsvel por trabalhar com os dados ao mesmo tempo em que gera visualizao para o usurio final em tempo real;

    Camada de lgica de negcio ou de conexo: a responsvel pelo processamento do sistema, ligando as aes solicitadas pela interface grfica do usurio com os dados armazenados no banco de dados. Nessa camada est contido o cdigo-fonte do sistema, dividido em classes (que referenciam os diferentes mdulos e segmentos do sistema) onde os comandos do usurio so processados de acordo com a programao implementada e, finalmente so enviadas ao SGBD as tarefas a serem

  • 36

    aplicadas sobre os dados;

    Camada de armazenamento: banco de dados e suas funcionalidades. Por meio de comandos enviados ao SGBD pela camada de lgica de negcio, so realizadas as tarefas solicitadas sobre os dados.

    Abaixo, na Figura 8, uma visualizao do processo de comunicao entre as camadas, conforme o projeto do presente sistema:

    Figura 8: Modelo de Diviso em Camadas Fonte: Autores deste projeto

    O uso desse modelo prov vantagens na estrutura e uso da aplicao, como o isolamento das diferentes setores do sistema, que facilita a manuteno e localizao de erros, o isolamento das camadas, protegendo-as e a facilidade de operao por parte do usurio final.

    At o presente momento, o sistema caracterizado como um prottipo, pois no teve todos os atributos e funcionalidades propostas implementadas nem houve testes em ambiente real.

    3.2.3 Ferramentas Utilizadas

    Para desenvolver o sistema, foram utilizadas as seguintes ferramentas:

    NetBeans 5.0: O NetBeans um ambiente integrado de desenvolvimento (IDE) que proporciona a criao de programas utilizando recursos grficos, centrado no desenvolvimento utilizando a linguagem Java. Para trabalhar com o NetBeans necessrio ser instalado, previamente, na mquina, uma das verses do Kit de Desenvolvimento Java (JDK), de

  • 37

    preferncia alguma recente. Para executar o programa desenvolvido preciso estar instalado a JVM. O NetBeans de uso livre, distribuda de forma gratuita na Internet pela Sun Microsystems, detentora de seus direitos.

    SQL Server 2005 Express: O SQL Server Express um SGBD baseado nas tecnologias do SQL Server 2005 e ocupa o lugar do MSDE 2000, ambos distribudos pela Microsoft. Ele um produto gratuito e possui caractersticas de rede e segurana que o diferenciam das demais edies do SQL Server 2005. Possui uma ferramenta grfica (SQL Express Manager), que permite realizar a administrao do servidor de banco de dados de uma forma simples e prtica. Tem suporte aos principais recursos de SGBD, como triggers, views, stored procedures e cursores.

    Como supracitado, essas ferramentas so distribuies gratuitas e proporcionam grande economia quanto ao custo de desenvolvimento, uso e manuteno do sistema, uma vez que atendem as necessidades do sistema proposto assim com as do CEASA.

    3.3 Implementao do Banco de Dados

    A abordagem principal para a proposta de sistema para o CEASA dada sobre o banco de dados. Na organizao, no existe um banco de dados formal, que respeite as regras de modelagem, de integridade de dados, de no-redundncia, de controle de acesso e que contenha funes de fcil acesso como consultas e relatrios.

    3.3.1 SGBD

    Como j citado neste projeto, o SGBD utilizado para o banco de dados o Microsoft SQL Server Express 2005, o qual possui as ferramentas necessrias a este banco de dados.

    No SQL Server 2005 Express existem algumas limitaes de uso, como limites do tamanho de banco de dados na ordem de 4 Gb, 50 instncias simultneas (acessos ao banco), uso de memria RAM de 1 Gb no mximo, alm de limitaes

  • 38

    quanto a integrao de algumas outras ferramentas da Microsoft para se trabalhar com banco de dados (OLAP Services/Data Mining, Notification Services, DTS, entre outras).

    importante ressaltar a importncia do SGBD como ferramenta principal na manipulao dos dados, obtendo-se assim, isolamento da maioria dos comando SQL em relao aplicao, alm de se poder trabalhar com os diversos recursos oferecidas pelo SGBD.

    Entretanto, no caso do sistema proposto, essas limitaes no influenciaro na performance/durabilidade da base de dados do CEASA, considerando que o nmero de instncias no deve ultrapassar trs ou quatro, a quantidade de memria RAM disponvel nas mquinas do CEASA menor que 1 Gb e as estimativas de crescimento da base de dados, mostram que as tecnologias atuais estaro obsoletas caso seja atingida a marca de 4 Gb.

    Na Figura 9, abaixo, pode-se observar uma queda no grau de crescimento do banco de dados, comparando-se ano a ano. No foram utilizados valores reais devido ao fato de o banco de dados e o sistema estarem em fase de desenvolvimento. O grfico apenas ilustrativo.

    Figura 9: Crescimento estimado do banco de dados Fonte: Autores deste projeto

    Ano 1 Ano 2 Ano 3 Ano 4 Ano 5 Ano 60

    2,55

    7,510

    12,515

    17,520

    22,525

    27,530

    32,535

    Crescimento estimado do BD

    Tamanho do banco (Mb)

  • 39

    3.3.2 Stored Procedures

    Um recurso do SGBD, muito utilizados neste projeto, foram as stored procedures (procedimentos armazenados), caracterizadas como um conjunto de comandos SQL para gerenciamento do banco de dados. Dentro das stored procedures so encapsuladas tarefas repetitivas, parmetros de entrada e pode haver retorno um valor de status (para indicar confirmao ou falha da execuo). Esse recurso oferece vantagens, tais como:

    Menor trfego de rede: vrias requisies podem ser implementadas numa nica stored procedure;

    Maior abstrao: os comandos SQL so armazenados nas stored procedures, separando-os da aplicao;

    Fcil manuteno: alterar uma procedure especfica mais fcil que modificar o cdigo-fonte do sistema e recompil-lo;

    Segurana: possvel implementar funes de segurana, como notificaes, restries e registro de aes;

    Automao: uma seqncia de aes sobre o banco de dados pode ser programada dentro de uma procedure e executadas apenas com uma requisio.

    No caso do sistema para o CEASA, as stored procedures foram utilizadas para implementar funes como controle de login de usurio, manuteno de dados (salvar, excluir, alterar), realizar consultas e executar clculos sobre os dados.

    Para cada tabela do banco de dados, existem procedures especficas, tanto com as funes comuns (salvar, excluir, alterar, consultas), quanto funes implcitas para o usurio, como clculos sobre os dados existentes e/ou inseridos.

    As procedures so executadas a partir das classes programadas, que tem por funo conectar as solicitaes do usurio s entidades do banco de dados, por meio das aes dos usurios feitas por meio das interfaces.

    3.3.3 Diagrama do Banco de Dados

    Inicialmente, o banco de dados proposto contm o mnimo de tabelas necessrias, assim como atributos e relacionamentos. Com esse banco de dados, o qual focado no escopo do CEASA, possvel ter controle e viso mais aprofundados sobre sua estrutura, e assim, gerenciar com maior preciso as

  • 40

    necessidades e modificaes sobre o mesmo. Existem algumas tabelas a serem definidas para aproximao maior do BD

    com o funcionamento completo e real de toda estrutura do CEASA, porm a inteno primria do banco e do projeto, como j explicado, a de solver o problema de gerenciamento dos permissionrios, utilizando apenas as variveis mais determinantes para tal.

    Abaixo, na Figura 10, o atual banco de dados mostrado por meio do diagrama de entidades relacionais (DER):

    Figura 10: Diagrama de Banco de Dados Fonte: Autores deste projeto

  • 41

    3.4 Implementao em Java

    A linguagem de programao Java definida como orientada a objetos. A viso do paradigma de orientao a objetos fornece uma abstrao muito prxima ao mundo real, organiza a estrutura do sistema, encapsula atributos e possibilita um fcil entendimento do mesmo.

    A separao dos objetos, relacionados as suas respectivas classes, modulariza a aplicao, fazendo com que a mesma seja constituda por diferentes setores, que podem ser implementados separadamente e, portanto, dividindo uma grande tarefa em outras menores, facilitando o trabalho de programao.

    No sistema proposto para o CEASA, as classes tm como funes principais trabalhar as interfaces e requerer os procedimentos ao banco de dados. As seguintes classes foram implementadas, at o presente momento:

    Conexo: classe responsvel por instanciar a conexo do sistema com o banco de dados, por meio de uma conexo ODBC, utilizando o SQL Server. Essa classe herdada pelas demais;

    Login: implementa a interface de login geral do sistema e chama a procedure responsvel;

    Consultar: essa classe contm as funes de pesquisa e consulta, universais para todo o sistema, sendo herdada pelas outras classes;

    Contratual: fornece a viso geral do contrato e permite gerenciar mudanas no mesmo;

    Pavilhes: controle do cadastro de pavilhes;

    Permissionrio: controle do cadastro dos permissionrios instalados;

    Tipo_local: controle do cadastro de locais nos pavilhes. As interfaces implementadas seguem um padro de esquema de cores, de

    estilo de botes, de disposio de itens, de forma a tornar a visualizao mais agradvel e prover uma experincia de usurio mais intuitiva. Na Figura 11, abaixo, um exemplo da interface, na tela de gerenciamento de contratos.

  • 42

    Figura 11: Tela de controle de contratos do sistema Fonte: Autores deste projeto

    3.5 Resultados Esperados x Atingidos

    Analisando a proposta inicial, comparando-a com o sistema no atual estgio (ainda um prottipo), possvel ter uma viso satisfatria sobre as metas que foram alcanadas, mesmo levando em conta as ressalvas.

    Desde a fase em que foram definidas as limitaes e dificuldades do CEASA, foi estabelecido que a meta principal do sistema era atingir o escopo das atividades do CEASA e sanar as principais deficincias.

    A atual verso do sistema no est completa, ainda so necessrios alguns ajustes e testes em ambiente real.

    Com o simples banco de dados montado, aliado estrutura de interfaces e programao implementadas at o momento, houve melhoras significativas

  • 43

    percebidas, citando-as:

    Melhora da segurana: com a criao de usurio e senhas para acessar os dados, o acesso ao sistema ser restrito;

    No existem dados redundantes: devido modelagem do banco de dados de acordo com as regras de criao de entidades;

    Organizao dos dados: os dados esto devidamente separados dentro de seus domnios, alm de se inter-relacionarem corretamente;

    Interface de usurio: as interfaces, montadas de forma a oferecer uma viso clara e objetiva de todos os processos so de fcil entendimento. Oferecem recursos de edio e consultas.

    No entanto, existem detalhes a serem implementados, destacando-se o clculo de energia eltrica a ser pago por cada permissionrio, que ocorre de forma diferente dos outros servios a serem pagos.

    Algumas regras de negcio precisam ser mais bem estudadas, h restries no banco de dados que devem ser implementadas a fim de reduzir riscos de alteraes indevidas por usurios, existem tarefas que podem ser automatizadas (ocultas para o usurio), o mdulo de gerenciamento de relatrios precisa ser idealizado, a interface precisa ser mais trabalhada, dentre outros a serem levantados aps os testes em ambiente real.

    Assim, ento, neste captulo ficam descritos todos os passos, desde o levantamento das necessidades do CEASA, descrio de todo o processo de implementao das solues propostas e impresses finais sobre o resultado obtido.

  • 44

    CONCLUSO

    Neste projeto, foram abordadas, de forma geral, as etapas de desenvolvimento de sistemas, embora no tenham sido executadas formalmente dentro das especificaes de engenharia de software, pois no h, por exemplo, documentao formatada do sistema.

    Porm, o objetivo deste projeto foi, basicamente, a melhora dos processos do CEASA de So Jos do Rio Preto, e, aps avaliaes sobre a organizao foi definido o escopo das atividades, centradas no controle de permissionrios.

    Portanto foram executadas diversas etapas at a chegada s concluses finais, comeando pelos contatos com o CEASA, levantamento de escopo e requisitos de sistema, observao de processos e dificuldades envolvidas, pesquisa bibliogrfica sobre tecnologias envolvidas para desenvolver o sistema proposto e finalmente a implementao do sistema at o seu atual estgio.

    O problema maior definido foi a forma de gerenciamento dos dados. Por essa razo, o sistema comeou a ser idealizado partindo apenas do banco de dados, contendo as principais variveis do contexto do CEASA. Aps o modelo bsico do banco de dados estar pronto, iniciou-se a implementao em Java, a fim de desenvolver interfaces que se comunicassem com o banco de dados.

    O resultado atingido foi consideravelmente satisfatrio e, problemas relativos aos dados como redundncia, falta de integridade, desorganizao, e acesso irrestrito foram reduzidos abruptamente com o sistema. No se pode afirmar que houve reduo total, pois o sistema ainda no se encontra totalmente implementado conforme planejado e no houve testes em ambiente real.

    Um detalhe importante, que certamente influencia positivamente para a aprovao do sistema em suas funes, so as interfaces para o usurio, que oferecem um meio simples e interativo de se trabalhar com as principais variveis.

    Como proposta para continuidade deste projeto, sugere-se o aprimoramento do sistema atual, assim como acrscimo de novos mdulos a fim de abranger todas as tarefas administrativas do CEASA.

    Para outros projetos, sugere-se um estudo da viabilidade de integrao de todos os CEASAs do Estado de So Paulo, por meio de um sistema nico via Internet e, o reaproveitamento das idias e conceitos principais do presente sistema desenvolvido para adaptao organizaes, pblicas ou particulares, que

  • 45

    trabalhem com locao de espaos e disponibilidade de servios. Este projeto pode ser visto como uma proposta de informatizao e melhoria

    de processos para todas as organizaes as pblicas que trabalham seus processos e dados de forma ineficaz e sem integridade.

  • 46

    REFERNCIAS BIBLIOGRFICAS

    CEAGESP. Portal da CEAGESP. Disponvel em: Acesso em 05 de Abril de 2007

    CEASA. Planilha CES JR Fev/2007. CEASA So Jos do Rio Preto, 2007

    CEASA. Portal do CEASA. Disponvel em: Acesso em: 15 de Abril de 2007

    DEITEL, H. M. e DEITEL P. J. Java Como Programar. 4 ed. Porto Alegre, Bookman, 2002

    ELMASRI, R. e NAVATHE, S. B. Sistemas de Banco de Dados. 4 ed, So Paulo, Pearson, 2005

    FERNANDES J. Departamento de Informtica e Matemtica Aplicada da UFRN. Disponvel em: Acesso em: 23 de Abril de 2007

    GOOGLE. Google Earth. Disponvel em: Acesso em:17 de Abril de 2007

    HAMCHER, S. Sistemas de Informao Gerenciais. Disponvel em: Acesso em: 17 de abril de 2007

    INDRUSIAK, L. S. Linguagem Java. Disponvel em: Acesso em: 5 de maio de 2007 INFOWESTER. Linguagem Java. Disponvel em: Acesso em: 20 de abril de 2007

    MAAS, A. V. Administrao de Sistemas de Informao. 6 ed. So Paulo, Editora rica, 2005 MARCONI, M. A. e LAKATOS, E. M. Fundamentos da Metodologia Cientfica. 6 ed. So Paulo, Atlas, 2005

    RICARTE, I. L. M. Bancos de Dados Relacionais. Disponvel em: Acesso em: 10 de maio de 2007

    SOUZA, M. de. Data Mining. Disponvel em: Acesso em: 10 de maio de 2007

    Sun Microsystems. Site da Sun. Disponvel em: Acesso em: 23 de abril de 2007

    TEIXEIRA, G. As Ambiguidades do Conceito de Informao. Disponvel em: . Acesso em: 10 de maio de 2007

  • 47

    APNDICE 1

    Script de criao das tabelas do banco de dados:

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[permissionarios]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[permissionarios](

    [per_codigo] [int] IDENTITY(1,1) NOT NULL, [per_nome] [varchar](80) NOT NULL, [per_CPF] [varchar](20) NOT NULL unique, [per_empresa] [varchar](80) NULL, [per_CNPJ] [varchar](20) NULL, [per_tel] [int] NULL,

    PRIMARY KEY CLUSTERED (

    [per_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY], UNIQUE NONCLUSTERED (

    [per_CPF] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[servicos]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[servicos](

    [ser_codigo] [int] IDENTITY(1,1) NOT NULL, [ser_nome] [varchar](40) NOT NULL,

    PRIMARY KEY CLUSTERED (

    [ser_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[usuarios]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[usuarios](

    [usuario] [varchar](20) NOT NULL unique, [senha] [varchar](10) NOT NULL, [usuNome] [varchar](80) NOT NULL

    ) ON [PRIMARY]

  • 48

    END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[divisao]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[divisao](

    [div_codigo] [int] IDENTITY(1,1) NOT NULL, [con_codigo] [int] NOT NULL, [per_codigo] [int] NOT NULL, [per_nome] [varchar](80) NOT NULL, [des_mes] [varchar](20) NOT NULL, [des_ano] [int] NOT NULL, [des_valor] [float] NOT NULL, [con_m2] [float] NOT NULL, [ser_nome] [varchar](40) NOT NULL, [AreaTotal] [float] NOT NULL, [AreaDeDivisao] [float] NOT NULL, [Pagamento] [float] NOT NULL,

    PRIMARY KEY CLUSTERED (

    [div_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[pavilhao]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[pavilhao](

    [pav_codigo] [int] IDENTITY(1,1) NOT NULL, [pav_nome] [varchar](50) NOT NULL unique,

    PRIMARY KEY CLUSTERED (

    [pav_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[contratos]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[contratos](

    [con_codigo] [int] IDENTITY(1,1) NOT NULL, [per_codigo] [int] NOT NULL, [tip_codigo] [int] NOT NULL, [con_m2] [float] NOT NULL, [con_contrato] [int] NOT NULL unique,

    PRIMARY KEY CLUSTERED (

  • 49

    [con_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[cont_servicos]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[cont_servicos](

    [con_codigo] [int] NOT NULL, [ser_codigo] [int] NOT NULL,

    PRIMARY KEY CLUSTERED (

    [con_codigo] ASC, [ser_codigo] ASC

    )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[despesas]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[despesas](

    [des_codigo] [int] IDENTITY(1,1) NOT NULL, [ser_codigo] [int] NOT NULL, [des_mes] [varchar](20) NOT NULL, [des_ano] [int] NOT NULL, [des_valor] [float] NOT NULL,

    PRIMARY KEY CLUSTERED (

    [des_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[tipo_local]') AND type in (N'U')) BEGIN CREATE TABLE [dbo].[tipo_local](

    [tip_codigo] [int] IDENTITY(1,1) NOT NULL, [tip_nome] [varchar](50) NOT NULL unique, [tip_TPRU] [float] NOT NULL, [pav_codigo] [int] NULL,

    PRIMARY KEY CLUSTERED (

    [tip_codigo] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END

  • 50

    GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK__contratos__per_c__0519C6AF]') AND parent_object_id = OBJECT_ID(N'[dbo].[contratos]')) ALTER TABLE [dbo].[contratos] WITH CHECK ADD FOREIGN KEY([per_codigo]) REFERENCES [dbo].[permissionarios] ([per_codigo]) GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK__contratos__tip_c__060DEAE8]') AND parent_object_id = OBJECT_ID(N'[dbo].[contratos]')) ALTER TABLE [dbo].[contratos] WITH CHECK ADD FOREIGN KEY([tip_codigo]) REFERENCES [dbo].[tipo_local] ([tip_codigo]) GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK__cont_serv__con_c__0AD2A005]') AND parent_object_id = OBJECT_ID(N'[dbo].[cont_servicos]')) ALTER TABLE [dbo].[cont_servicos] WITH CHECK ADD FOREIGN KEY([con_codigo]) REFERENCES [dbo].[contratos] ([con_codigo]) GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK__cont_serv__ser_c__0BC6C43E]') AND parent_object_id = OBJECT_ID(N'[dbo].[cont_servicos]')) ALTER TABLE [dbo].[cont_servicos] WITH CHECK ADD FOREIGN KEY([ser_codigo]) REFERENCES [dbo].[servicos] ([ser_codigo]) GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK__despesas__ser_co__3D5E1FD2]') AND parent_object_id = OBJECT_ID(N'[dbo].[despesas]')) ALTER TABLE [dbo].[despesas] WITH CHECK ADD FOREIGN KEY([ser_codigo]) REFERENCES [dbo].[servicos] ([ser_codigo]) GO IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK__tipo_loca__pav_c__7F60ED59]') AND parent_object_id = OBJECT_ID(N'[dbo].[tipo_local]')) ALTER TABLE [dbo].[tipo_local] WITH CHECK ADD FOREIGN KEY([pav_codigo]) REFERENCES [dbo].[pavilhao] ([pav_codigo])

    Script de criao das stored procedures:

    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spPermissionarios]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spPermissionarios](

    @per_codigo int, @per_nome varchar(80), @per_CPF varchar(20), @per_empresa varchar(80), @per_CNPJ varchar(20), @per_tel int)

    as begin

    begin transaction

    if (@per_codigo = 0) begin insert into permissionarios values (@per_nome, @per_CPF,

    @per_empresa, @per_CNPJ, @per_tel)

  • 51

    end else begin update permissionarios set

    per_nome = @per_nome, per_CPF = @per_CPF, per_empresa = @per_empresa, per_CNPJ = @per_CNPJ, per_tel = @per_tel where per_codigo = @per_codigo

    end commit transaction end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spPermissionariosSelect]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spPermissionariosSelect] (

    @per_codigo int ) as begin

    if (@per_codigo = 0) begin select * from permissionarios order by per_nome

    end else begin select * from permissionarios where per_codigo=@per_codigo

    end

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spPermissionariosExcluir]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spPermissionariosExcluir] (

    @per_codigo int )as begin

    begin transaction

    delete from permissionarios where per_codigo=@per_codigo

    commit transaction end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO

  • 52

    IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spContratosSelect]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spContratosSelect] (

    @con_codigo int ) as begin

    select a.con_codigo, a.con_contrato, a.con_m2, a.per_codigo, b.per_nome, a.tip_codigo, c.tip_nome, c.tip_TPRU

    from contratos a, permissionarios b, tipo_local c where a.con_codigo = @con_codigo and

    a.per_codigo = b.per_codigo and a.tip_codigo = c.tip_codigo

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDivisaoInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spDivisaoInsert](

    @des_mes varchar(20), @des_ano int, @ser_codigo int

    )as begin

    insert into divisao select b.con_codigo, a.per_codigo, a.per_nome, c.des_mes,

    c.des_ano, c.des_valor, b.con_m2, e.ser_nome, (select sum(con_m2)from contratos) AreaTotal, sum (b.con_m2) over (partition by d.ser_codigo)

    AreaDeDivisao, (c.des_valor / sum(b.con_m2) over (partition by

    d.ser_codigo)) * b.con_m2 Pagamento

    from permissionarios a, contratos b, despesas c, cont_servicos d, servicos e

    where a.per_codigo = b.per_codigo and c.ser_codigo = e.ser_codigo and d.ser_codigo = c.ser_codigo and d.con_codigo = b.con_codigo and c.des_mes = @des_mes and c.des_ano = @des_ano and c.ser_codigo = @ser_codigo

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spContratoExcluir]') AND type in (N'P', N'PC')) BEGIN

  • 53

    EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spContratoExcluir] (

    @con_codigo int )as begin

    delete from cont_servicos where con_codigo = @con_codigo delete from contratos where con_codigo = @con_codigo

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spContratoInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spContratoInsert] (

    @per_codigo int, @tip_codigo int, @con_m2 float, @con_contrato int

    ) as begin

    insert into contratos values (@per_codigo, @tip_codigo, @con_m2, @con_contrato)

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spContratoUpdate]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spContratoUpdate] (

    @con_codigo int, @per_codigo int, @tip_codigo int, @con_m2 float, @con_contrato int

    ) as begin

    update contratos set per_codigo = @per_codigo, tip_codigo = @tip_codigo, con_m2 = @con_m2, con_contrato = @con_contrato

    where con_codigo = @con_codigo

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON

  • 54

    GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spServicosSelectFull]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spServicosSelectFull]

    as begin

    select * from servicos

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spCodigoServicos]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spCodigoServicos](

    @ser_nome varchar(40) )as begin

    select ser_codigo from servicos where ser_nome = @ser_nome end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDespesaSelect]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spDespesaSelect](

    @des_codigo int )as begin

    select a.ser_nome, b.des_mes, b.des_ano, b.des_valor from servicos a, despesas b where b.des_codigo = @des_codigo and

    a.ser_codigo = b.ser_codigo end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spConsultaContratoServicos]') AND type in (N'P', N'PC')) BEGIN

  • 55

    EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spConsultaContratoServicos] (

    @con_codigo int, @ser_codigo int

    ) as begin

    select * from cont_servicos where con_codigo = @con_codigo and ser_codigo = @ser_codigo;

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spInserirContratoServicos]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spInserirContratoServicos] (

    @con_codigo int, @ser_codigo int

    ) as begin

    create table #temporaria ( cont_codigo int, serv_codigo int

    )

    insert into #temporaria select con_codigo, ser_codigo from cont_servicos where con_codigo = @con_codigo and ser_codigo = @ser_codigo

    DECLARE @contador int set @contador = (Select Count(*) From #temporaria) if (@contador = 0) begin

    insert into cont_servicos values (@con_codigo, @ser_codigo)

    end end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDeletarContratoServicos]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spDeletarContratoServicos] (

    @con_codigo int, @ser_codigo int

    ) as begin

    create table #temporaria ( cont_codigo int, serv_codigo int

  • 56

    )

    insert into #temporaria select con_codigo, ser_codigo from cont_servicos where con_codigo = @con_codigo and ser_codigo = @ser_codigo

    DECLARE @contador int set @contador = (Select Count(*) From #temporaria) if (@contador 0) begin

    delete from cont_servicos where con_codigo = @con_codigo and ser_codigo = @ser_codigo

    end end '

    END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spUsuariosAutenticacao]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spUsuariosAutenticacao] (

    @usuario varchar(20), @senha varchar(10)

    ) as begin

    select * from usuarios where usuario=@usuario and senha=@senha

    end '

    END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDespesaExcluir]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spDespesaExcluir] (

    @des_codigo int ) as begin

    delete from despesas where des_codigo = @des_codigo

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDespesaUpdate]') AND type in (N'P', N'PC'))

  • 57

    BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spDespesaUpdate] (

    @des_codigo int, @ser_codigo int, @des_mes varchar(20), @des_ano int, @des_valor float

    )as begin

    update despesas set ser_codigo = @ser_codigo, des_mes = @des_mes, des_ano = @des_ano, des_valor = @des_valor

    where des_codigo = @des_codigo

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDespesasInsert]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'Create procedure [dbo].[spDespesasInsert](

    @ser_codigo int, @des_mes varchar(20), @des_ano int, @des_valor int

    ) as begin

    insert into despesas values (

    @ser_codigo, @des_mes, @des_ano, @des_valor

    ) end '

    END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spDeletarDivisao]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spDeletarDivisao] (

    @ser_nome varchar(40), @des_mes varchar(20), @des_ano int

  • 58

    )as begin

    delete from divisao where ser_nome = @ser_nome and des_mes = @des_mes and des_ano = @des_ano

    end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spPavilhaoInserir]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE procedure [dbo].[spPavilhaoInserir](

    @pav_codigo int, @pav_nome varchar(50)

    ) as begin

    if (@pav_codigo = 0) begin insert into pavilhao values(

    @pav_nome )

    end else begin update pavilhao set

    pav_nome = @pav_nome where pav_codigo = @pav_codigo

    end end' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[spPavilhaoSelect]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[spPavilhaoSelect] (

    @pav_codigo int ) as be