UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMA ELETRÔNICO DE DOCUMENTOS INSTITUCIONAIS DA UNIVALI Área de Sistema de Informação por Jediael de Lima Patrício Luis Carlos Martins, Esp. Orientador Itajaí (SC), junho de 2005 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMA ELETRÔNICO DE DOCUMENTOS INSTITUCIONAIS DA UNIVALI Área de sistema de informação por Jediael de Lima Patrício Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Luis Carlos Martins, Esp. Itajaí (SC), junho de 2005 i Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer SUMÁRIO LISTA DE ABREVIATURAS ............................................................... iv LISTA DE FIGURAS .............................................................................. v LISTA DE TABELAS ............................................................................ vi RESUMO................................................................................................ vii ABSTRACT .......................................................................................... viii 1. INTRODUÇÃO ................................................................................... 9 1.1. OBJETIVOS................................................................................................... 12 1.1.1. Objetivo Geral.............................................................................................. 12 1.1.2. Objetivos Específicos ................................................................................... 12 1.2. METODOLOGIA .......................................................................................... 13 1.3. ESTRUTURA DO TRABALHO ................................................................... 16 2. FUNDAMENTAÇÃO TEÓRICA .................................................... 17 2.1. DEFINIÇÃO................................................................................................... 17 2.2. DEFINIÇÃO DE DOCUMENTOS ............................................................... 18 2.2.1. Organização de documentos........................................................................ 19 2.2.2. Processo de digitalização ............................................................................. 20 2.2.3. Recuperação de documentos ....................................................................... 21 2.3. TECNOLOGIAS DO GED ............................................................................ 22 2.3.1. Soluções empresariais .................................................................................. 24 2.4. BANCO DE DADOS PARA GED ................................................................. 27 2.4.1. Introdução .................................................................................................... 27 2.4.2. Banco de Dados Objeto-Relacional............................................................. 28 2.4.3. Banco de Dados ditos Textuais.................................................................... 30 2.5. INDEXAÇÃO AUTOMÁTICA..................................................................... 32 2.5.1. Identificação de Palavras............................................................................. 33 2.5.2. Remoção de Stop-Words ............................................................................. 34 2.5.3. Word Stemming ........................................................................................... 35 2.5.4. Word Phrase Formation.............................................................................. 36 2.6. ÍNDICES......................................................................................................... 38 2.6.1. Índices Invertidos......................................................................................... 39 2.6.2. Índices para a Próxima Palavra .................................................................. 40 2.7. LOBS (LARGE OBJECT)............................................................................. 42 2.7.1. Tipos de dados.............................................................................................. 42 2.7.2. Blob (Binary Large Object)......................................................................... 43 2.7.3. Tabelas Blob................................................................................................. 43 2.8. ORACLE TEXT............................................................................................. 45 2.8.1. Índices Oracle Text ...................................................................................... 46 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 2.8.2. Recuperar Informação ................................................................................ 51 3. DESENVOLVIMENTO.................................................................... 57 3.1. INTRODUÇÃO .............................................................................................. 57 3.2. LEVANTAMENTO DE REQUISITOS........................................................ 57 3.3. MODELAGEM DE PROCESSOS................................................................ 58 3.3.2. Diagrama de Atividades .............................................................................. 62 3.4. DIAGRAMA DE CLASSE ............................................................................ 66 3.5. MODELAGEM DE DADOS ......................................................................... 67 3.5.1. Dicionário de Dados ..................................................................................... 69 3.6. IMPLEMENTAÇÃO ..................................................................................... 72 3.6.1. Oracle Text................................................................................................... 72 3.6.2. Sistema.......................................................................................................... 78 3.7. VALIDAÇÃO E PLANEJAMENTO PARA IMPLANTAÇÃO ................. 87 4. CONCLUSÃO ................................................................................... 89 REFERÊNCIAS BIBLIOGRÁFICAS ................................................. 91 GLOSSÁRIO.......................................................................................... 95 APÊNDICE A – Modelagem ................................................................. 96 APÊNDICE B – ARTIGO................................................................... 107 ANEXOS C........................................................................................... 117 iii Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer LISTA DE ABREVIATURAS ACID ADF API BLOB B+ CTTMAR DDE DI DLL DM GED HTML ICR ISO OCR PDF RF SGBD SGBDOO SGBDOR SGBDR SQL TCC TI TIFF UNIVALI XML Propriedades de Atomicidade, Consistência, Isolamento e Durabilidade Automatic Document Feeder Application Program Interface Binary Large Object Abreviação utilizada para árvore B Centro de Ciências Tecnológicas da Terra e do Mar Dynamic Data Exchange Document Imaging Dynamic Link Library Document Management Gerenciamento Eletrônico de Documentos Linguagem de Marcacão Hypertexto Reconhecimento Inteligente de caracteres manuscritos International Organization for standardization Optical Character Recognition Adobe Reader Download Requisito Funcional Sistema Gerenciador Banco de Dados Sistema Gerenciador Banco de Dados Orientado Objeto Sistema Gerenciador Banco de Dados Objeto Relacional Sistema Gerenciador Banco de Dados Relacional Structured Query Language Trabalho de Conclusão de Curso Tecnologia da informação Tagged Image File Format Universidade do Vale do Itajaí eXtended Markup Language Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer LISTA DE FIGURAS Figura 1. Visão geral de uma interação com GED..........................................................................11 Figura 2. Função Similariedade .....................................................................................................31 Figura 3. Estrutura de uma Lista Invertida .....................................................................................33 Figura 4. Identificação de termos válidos.......................................................................................34 Figura 5.Identificação de Stop-Words ............................................................................................35 Figura 6.Etapas do processo de indexação automática ...................................................................37 Figura 7. Índice invertido .............................................................................................................40 Figura 8. Índice para a próxima palavra .........................................................................................41 Figura 9. Comando SQL para criação da tabela .............................................................................43 Figura 10. Comando SQL para popular a tabela.............................................................................44 Figura 11. Comando SQL para criação dos índices na tabela .........................................................47 Figura 12. Estrutura de índice para atualização da tabela ...............................................................47 Figura 13. Estrutura de índice para Configuração ..........................................................................48 Figura 14. Configuração de palavras para a Stoplist.......................................................................51 Figura 15. Configuração de termos e frases para a Stoplist.............................................................51 Figura 16. Configuração de termos e frases para a Stoplist.............................................................51 Figura 17. Configuração de termos e frases para a Stoplist.............................................................51 Figura 18. Comando de recuperação de Informação com comando constains ................................52 Figura 19. Exemplo com uso de operador. .....................................................................................53 Figura 20. Comando de criação de uma enciclopédia definida como Case-insensitive....................54 Figura 21. Comando de criação de frase para incorporar ao Thesaurus. .........................................54 Figura 22. Comando de criação do relacionamento entre as frases. ................................................55 Figura 23. Comando de recuperação utilizando sinônimos.............................................................55 Figura 24. Comando de seleção com score. ...................................................................................55 Figura 25. Organização dos Use-Cases..........................................................................................59 Figura 26. Diagramas de casos de uso do sistema: visão do administrador.....................................60 Figura 27. Diagramas de atividade: consulta de documentos..........................................................64 Figura 28. Diagramas de atividade: cadastro de documentos..........................................................65 Figura 29. Diagrama de Classe ......................................................................................................66 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer LISTA DE TABELAS Tabela 1. Aplicações da Tecnologia da Informação .......................................................................18 Tabela 2 . Soluções em produtos GED...........................................................................................26 Tabela 3. Fornecedores e seus produtos .........................................................................................30 Tabela 4. Lista de operadores do grupo1........................................................................................52 Tabela 5. Lista de operadores do grupo2........................................................................................53 Tabela 6. - Descrição das Tabelas de Dados utilizadas no Sistema.................................................69 Tabela 7. Dicionário de dados da tabela TBL_DOCUMENTO ......................................................69 Tabela 8. Dicionário de dados da tabela TBL_CATEGORIAS ......................................................70 Tabela 9. Dicionário de dados da tabela TBL_MENU_USUA.......................................................70 Tabela 10. Dicionário de dados da tabela TBL_MENU .................................................................70 Tabela 11. Dicionário de dados da tabela TBL_LOGS_ACESSO ..................................................70 Tabela 12. Dicionário de dados da tabela TBL_CONSELHOS ......................................................70 Tabela 13. Dicionário de dados da tabela TBL_VINCULAÇÃO ...................................................70 Tabela 14. Dicionário de dados da tabela TBL_TIP_VINCULO....................................................71 Tabela 15. Dicionário de dados da tabela TBL_PESSOA ..............................................................71 Tabela 16. Dicionário de dados da tabela TBL_DOC_ARMAZENA.............................................71 Tabela 17. Dicionário de dados da tabela TBL_RES_DOCUMENTO ...........................................71 Tabela 18. Dicionário de dados da tabela TBL_PRI_CATEGORIA...............................................71 Tabela 19. Dicionário de dados da tabela TBL_USUARIOS .........................................................72 Tabela 20. Dicionário de dados da tabela TBL_CATE_USUA ......................................................72 Tabela 21. Resultado da seleção utilizando SCORE.......................................................................78 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer RESUMO PATRICIO, Jediael de Lima. Sistema Eletrônico de Documentos Institucionais da UNIVALI. Itajaí, 2005. 113 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)– Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, 2005. Este Trabalho de Conclusão de Curso de Ciência da Computação, teve como objetivo o desenvolvimento de uma aplicação, com características de um sistema de informação para armazenamento e recuperação de documentos institucionais da Universidade do Vale do Itajaí – UNIVALI. O sistema foi requisitado pela Secretaria dos Conselhos Superiores da Universidade para suprir a carência de uma aplicação que possibilitasse aos gestores efetuarem consultas na legislação institucional de maneira mais eficiente, auxiliando-o no processo decisório. Com base nas características de uma aplicação de Gerenciamento Eletrônico de Documentos (GED), o sistema foi construído para funcionar no ambiente Web, tendo sido implementado na linguagem de programação PHP, suportado pelo Sistema Gerenciador de Banco de Dados (SGBD) Oracle 9.i. com o pacote Oracle Text, o qual reúne algumas funcionalidades para tratamento de documentos textuais. De acordo com a proposta do projeto, pretende-se disponibilizar o GED no ambiente da intranet da UNIVALI, tão logo encerre a validação e os testes de funcionalidade. Palavras-chave: Sistema de informação. Gerenciamento Eletrônico de Documentos. Oracle Text. Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer ABSTRACT This Work of Conclusion of Course of Computer science, had as objective the development of an application, with characteristics of a system of information for storage and institucional document recovery of the University of the Valley of Itajaí - UNIVALI. The system was requested by the Secretariat of the Superior Advice of the University to supply the lack of an application that made possible the managers to effect consultations in the institucional legislation in more efficient way, assisting it in the power to decide process. On the basis of the characteristics of an application of Electronic Management of Documentos (GED), the system was constructed to function in the Web environment, having been implemented in the programming language PHP, supported for the Gerenciador System of Bank of Dados (SGBD) Oracle 9.i. with the package Oracle Text, which congregates some functionalities for literal document treatment. In accordance with the proposal of the project, is intended to disponibilizar the GED in the environment of the Intranet of the UNIVALI, so soon it locks up the validation and the tests of functionality. Keywords: System of information. Electronic Document management. Oracle Text Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 1. INTRODUÇÃO A Universidade do Vale do Itajaí, assim como as demais Instituições de Ensino Superior, possuem seus próprios documentos internos, que são documentos produzidos dentro da sua estrutura organizacional, abrangendo a Reitoria, Pró-Reitorias e Conselhos Superiores, cuja finalidade é estabelecer diretrizes e procedimentos para a gestão institucional. Esses documentos são elaborados, revisados e, após um parecer de deferimento, passam a compor a normatização da universidade, podendo revogar legislações anteriores. Entre os documentos institucionais os principais são: estatutos, regimentos, resoluções, determinações, portarias, instruções normativas, pareceres e editais. Atualmente, a UNIVALI não dispõe de um sistema de Gerenciamento Eletrônico de Documentos (GED), ou seja, tecnologia para captar, armazenar, recuperar e gerenciar informações, o que dificulta o processo de divulgação e restringe o controle de versões dos diversos documentos produzidos, resultando, por vezes, em tomadas de decisão com base em documentos ultrapassados ou incompletos. Alguns documentos possuem vigência, com início e fim determinados, outros permanecem vigentes até que sejam revogados. Outra característica comum nas resoluções, determinações e instruções normativas é haver vinculação com outros documentos, o que requer maior controle de versões e mecanismos de divulgação de forma agrupada. Do ponto de vista da utilização dos documentos, a maior dificuldade dos gestores é saber identificar quais os documentos relacionados e vigentes com as necessidades de tomada de decisão. Como exemplo, se um coordenador precisar informar ao acadêmico sobre as normas e procedimentos para solicitação de trancamento de matrícula, será necessário primeiro identificar os documentos vigentes que tratam do assunto, o que requer um tempo considerável tanto na recuperação quanto na checagem da validade desses documentos. Considerando que os documentos institucionais são uns dos principais instrumentos para apoiar a tomada de decisão, durante o trabalho de conclusão de curso desenvolveu-se um sistema de informação com características de GED, o qual possibilita a indexação, armazenamento e recuperação dos documentos institucionais. Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Segundo Laudon e Laudon (1999), os sistemas de informação essencialmente transformam a informação em uma forma utilizável para a coordenação de fluxo de trabalho de uma organização, ajudando o gerente a uma tomada de decisão. “Um sistema de informação pode ser definido como um conjunto de componentes interrelacionados trabalhando juntos para coletar, armazenar, processar e distribuir informação com a finalidade de facilitar o planejamento, o controle, a coordenação, a análise e o processo decisório em organizações” LAUDON E LAUDON (1999). O trabalho proposto objetivou construir uma ferramenta para auxiliar na organização dos documentos institucionais de forma eletrônica, propiciando agilidade na recuperação das informações e auxiliando as tomadas de decisão por parte dos gestores, bem como facilitando a divulgação aos demais integrantes da Universidade (professores, funcionários técnicoadministrativos, acadêmicos), conforme a área de atuação e escopo dos documentos. A intenção inicial foi disponibilizar o acesso ao sistema eletrônico de documentos a partir da Intranet da UNIVALI, aproveitando a autenticação dos usuários para habilitar as funcionalidades previstas para cada categoria (gestores, professores, funcionários etc). Entretanto, por se tratar de um projeto acadêmico, desenvolvido como trabalho de conclusão de curso e utilizando recursos ainda não avaliados pelo Departamento de Tecnologia da Informação da UNIVALI como, o pacote Oracle Text, optou-se por desenvolver a aplicação sem a integração com o cadastro de pessoas da Intranet da Universidade até que haja uma aprovação da aplicação para torná-la corporativa. No GED a recuperação dos documentos é realizada a partir de termos ou de palavras-chave. O sistema permite disponibilizar a vinculação entre os documentos, identificando as versões vigentes e revogadas. Para tanto, foi utilizado um sistema gerenciador de banco de dados que manipule tipos de dados textuais e conceitos de GED. Em uma análise da tecnologia da informação, o GED contribui para a organização da grande quantidade de documentos gerados pelos conselhos superiores. A manipulação de documentos faz parte da realidade institucional e cada documento é uma fonte não estruturada de informação que pode ser perdida quando não é bem organizada. De acordo com Carvalho (2000), o GED permite uma recuperação mais eficiente, melhor segurança e controle de versão dos documentos. Muitas das características do GED, como catalogação e indexação, foram herdadas dos tradicionais sistemas de recuperação da informação que são amplamente estudados no campo da Ciência da Informação. 10 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Zotto (2002) define GED como uma tecnologia da computação que visa captar, armazenar, recuperar e gerenciar informações de forma eletrônica. Os documentos originais (em papel) são convertidos para os formatos de imagens eletrônicos, indexados (geração índices de pesquisa) e arquivados em equipamentos com capacidade alta de armazenamento. Oliveira Filho (2004) relata que o grande diferencial da solução de GED é sem dúvida o recurso de busca textual. Os documentos importados no sistema passam por um processo de catalogação, tratamento de texto e armazenamento, referenciando o diretório do sistema operacional onde os documentos estão disponíveis para as consultas. Rocha et al. (2002) descreve que as informações são armazenadas em um banco de dados que manipule textos e imagens, onde podem ser armazenado e recuperado, por ferramentas que trabalham com indexação de documentos. O banco que manipula é o chamado Banco de Dados Textual, que é uma coleção de documentos que pode também ser visto como um largo conjunto de registros, em que cada registro contém apenas uma lista de palavras de tamanho arbitrário. Este largo registro pode ser comparado ao campo BLOB (Binary Large Object), criado para armazenamento de qualquer tipo de informação. Pode-se citar como tecnologias de GED, Document Imaging (DI), Document management (DM), Workflow entre outras. Para compreender o sistema proposto, a Figura 1 ilustra uma possível interação com o GED. GED e Servidor Banco de Dados WEB Usuários que armazenam documentos Usuários que Consultam documentos Figura 1. Visão geral de uma interação com GED. 11 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer A implementação dessa aplicação GED para a Intranet foi desenvolvida com uma linguagem de programação voltada para WEB, o PHP, utilizando como banco de dados, ORACLE 9i, que possa realizar armazenamento das informações textuais. A UML (Unified Modeling Language) foi utilizada para a modelagem e documentação da aplicação. 1.1. OBJETIVOS 1.1.1. Objetivo Geral O objetivo geral deste Trabalho de Conclusão de Curso foi o desenvolvimento de um sistema de informação para armazenamento e recuperação de documentos institucionais da Universidade do Vale do Itajaí. 1.1.2. Objetivos Específicos Os objetivos específicos desse trabalho foram os seguintes: • Pesquisa dos conceitos e tecnologias de indexação, armazenamento e recuperação em Banco de Dados; • Pesquisa de tecnologias e produtos de GED no dito Banco de Dados Textuais; • Realização do levantamento de requisitos do GED institucional; • Definição da arquitetura do sistema (tecnologias/ferramentas); • Elaboração da modelagem do sistema; • Implementação e testes da aplicação; • Validação da aplicação; • Implantação da aplicação para um conjunto de documentos em um SGDB que manipule documentos (formatos PDF e DOC); • Teste e avaliação da utilização por parte dos usuários; e • Documentação do desenvolvimento do projeto. 12 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 1.2. METODOLOGIA Foram necessárias cinco etapas para a execução deste projeto de pesquisa e cumprimento dos objetivos específicos apresentados anteriormente. As etapas (1) estudo (2) modelagem foram realizadas durante a disciplina Trabalho de Conclusão de Curso I (TCC I) do 9º período do curso, enquanto as demais foram realizadas na disciplina TCC II do 10º período do curso, ou seja, etapas (3) desenvolvimento (4) validação (5) documentação. Etapa 1: Estudo Essa etapa visou definir exatamente o tema deste projeto e adquirir o conhecimento necessário sobre as soluções e tecnologias existentes com o objetivo de desenvolver a aplicação, incluindo as seguintes atividades: • Pesquisa dos conceitos e tecnologias de indexação, armazenamento e recuperação no ditos bancos de dados textuais: a pesquisa foi realizada através da Internet, por sites de procura como o Google, Yahoo e Lycos. A pesquisa foi iniciada com a busca de artigos científicos que referenciassem a tecnologia de indexação, armazenamento e recuperação. A pesquisa se estendeu a outros sites, em português e inglês, que tratavam do assunto. Também foi realizada uma pesquisa em livros especializados em indexação de documentos; • Pesquisa de tecnologias e produtos de GED no ditos bancos de dados textuais: a pesquisa de tecnologias e soluções em GED ocorreu por meio por sites de procura como Google, Yahoo e Lycos. A análise das informações encontradas certificou a procedência das mesmas, sua quantidade, relevância, características desejáveis e limitações relacionadas à aplicação desejada; • Realização do levantamento de requisitos do GED institucional: a pesquisa se realizou juntamente com os setores geradores de documentos institucionais, por exemplo, Secretária dos Conselhos Superiores. Foram realizadas entrevistas para obter detalhes que definissem os requisitos para o GED, sendo uma atividade imprescindível para a construção do sistema proposto; e • Definição da arquitetura do sistema (tecnologias/ferramentas): a definição da arquitetura utilizada foi elaborada a partir das pesquisas de tecnologias de Sistemas 13 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Gerenciadores de Banco de Dados (SGBD) em ambientes de programação Web (opção foi o PHP em função da estrutura da Intranet da Univali), bem como a utilização do campo BLOB que se adequou aos requisitos definidos. Os principais critérios para a definição do SGBD foram o formato e o tempo de recuperação dos documentos textuais em um banco de dados, com a utilização do pagote Oracle Text, que possui mecanismos de indexação e armazenamento de documentos. Etapa 2 : Modelagem Esta etapa visou elaborar a modelagem de processos e de dados do sistema proposto, levando em consideração o funcionamento desejado da aplicação GED no SGBD selecionado, incluindo a seguinte atividade: • Elaboração da modelagem do sistema: foram realizados a análise e o projeto do sistema proposto, compreendendo os requisitos, especificações do sistema GED. Foram utilizados os seguintes artefatos da UML: Casos de Uso, Diagrama de Atividades, Diagrama de Classes e Projeto de Banco de Dados. Etapa 3 : Desenvolvimento Esta etapa visou transformar o modelo de dados e de processos da etapa de modelagem numa aplicação GED suportada por um banco de dados, incluindo a seguinte atividade: • Implementação e teste da aplicação: com base na modelagem, a implementação da aplicação foi feita usando a linguagem de programação PHP e o SGBD Oracle, contemplando os testes de implementação e parte da validação dos requisitos funcionais e não funcionais. Etapa 4 : Validação e Implantação Nesta etapa está sendo realizada uma experimentação do GED com o objetivo de validar os requisitos definidos, eliminando erros existentes em sua modelagem ou desenvolvimento, incluindo as seguintes atividades: • Validar a aplicação: os testes de validação serão realizados por alguns gestores (dois coordenadores de curso e um diretor de centro) e funcionários técnico-administrativos ( uma secretária dos conselhos superiores); 14 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer • Implantação da aplicação para um conjunto de documentos institucionais: a implantação da aplicação será feita após a aprovação do Departamento de Tecnologia da Informação, uma vez que o GED será instalado num dos servidores corporativos da Universidade. Pretende-se restringir a implantação para um conjunto de documentos, testando o processo de indexação, armazenamento e recuperação eletrônica dos mesmos; e • Avaliar a utilização por parte dos usuários: os testes para avaliar a implementação serão realizados inicialmente pela Coordenação do Curso de Ciência da Computação, tanto como gestor como membro de colegiado, analisando a utilidade e funcionalidade da aplicação para auxiliar no processo decisório. Etapa 5 : Documentação Esta etapa visou deixar registrado todo o processo pertinente à aplicação GED, permitindo que outros pesquisadores reproduzam a nova solução, incluindo as seguintes atividades: • Documentação da proposta (TCC I): a redação do TCC I foi realizada ao longo do primeiro semestre 2004, através das produções textuais que são os indicadores físicos das atividades já planejadas. Procurou-se ter um texto final conciso, claro, bem apresentado e com boa cadência. O objetivo do TCC I foi definir bem o tema/problema de pesquisa, justificar sua importância e abrangência, fornecer o referencial teórico e apresentar a solução proposta; e • Documentação da aplicação pronta (TCC II): a redação do TCC II foi realizada ao longo do segundo semestre de 2004 e primeiro semestre de 2005, através das produções textuais que são os resultados das atividades realizadas. Seguindo a redação do TCC I o texto final procurou estar conciso, claro, bem apresentado e com boa cadência. O objetivo do TCC II foi documentar o desenvolvimento da solução proposta, de forma que possa ser reproduzida por outros pesquisadores, além de apresentar a verificação e validação do projeto e, bem como os resultados alcançados e as conclusões. 15 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 1.3. ESTRUTURA DO TRABALHO Este trabalho está estruturado em 4 capítulos descritos a seguir: Neste capítulo, Introdução, foram expostos o problema a ser resolvido, os objetivos pretendidos e, a metodologia adotada para cumprimento dos objetivos estabelecidos. O segundo capítulo apresenta a fundamentação teórica necessária para o desenvolvimento do trabalho, abordando especialmente os assuntos GED e SGBD quanto aos mecanismos de indexação e recuperação de documentos. O terceiro capítulo apresenta o desenvolvimento do trabalho, para qual seguiu-se as etapas de construção e validação do sistema de informação, com características de um GED, a partir da definição do escopo da aplicação e das especificações dos processos apresentados no TCC I. O quarto capítulo apresenta as conclusões sobre o sistema implementado. 16 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 2. FUNDAMENTAÇÃO TEÓRICA 2.1. DEFINIÇÃO Um sistema de gerenciamento de documentos é um sistema de informação capaz de armazenar, recuperar e manter a integridade de documentos, entre outras funcionalidades. Diversas razões explicam a atual efervescência do mercado de gerência de documentos. A principal delas é a percepção da vital importância que os documentos possuem como repositório do conhecimento das organizações, uma vez que a maior parte de suas informações vitais estão contidas em documentos não-estruturados. (SADIQ, 1997, apud MACEDO, 2003). GED (Gerenciamento Eletrônico de Documentos) nada mais é do que a transformação do documento papel em documento eletrônico, agregando a ele elementos que possibilitem a sua recuperação de uma forma rápida, segura e eficaz (MONACO, 1999). Mas a visão de um GED pode ter uma outra definição, pois com a evolução das tecnologias e dos sistemas de informação, houve a necessidade de integração total entre processos e o GED está genericamente embutido nas ferramentas de tomada de decisão além de ter multiplicado-se para auxiliar em diversas áreas como gerenciamento de documentos técnicos, gerenciamento de documentos de normas de qualidade International Organization for Standardization (ISO), Reconhecimento Inteligente de Caracteres Manuscritos (ICR), análise e vetorização de mapas, controle do fluxo de processos, gerenciamento de relatórios, entre outras (CENADEM, 2002). O GED é uma tecnologia da computação que visa captar, armazenar, recuperar e gerenciar informações de forma eletrônica. Os documentos originais (em papel) são convertidos para os formatos de imagens eletrônicas, indexados (geração de índices de pesquisa) e arquivados em equipamentos com capacidade alta de armazenamento. Esta conversão é feita utilizando-se equipamento denominado escaner (scanner) que faz a varredura do documento, transformando-o em uma informação digital que será reconhecida pelo computador (ZOTTO, 2002). Segundo Pacini (2002) GED converte informações que podem ser voz, texto e imagens para a forma digital. Funciona com software e hardware específicos e usa as mídias eletrônicas, em geral, para armazenamento. Um sistema de GED usa a tecnologia da informação para captar, armazenar, localizar e gerenciar versões digitais das informações. O GED implementa categorização de documentos, tabelas de temporalidade, ações de disposição e controla níveis de 17 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer segurança. Como uma espécie de leque em constante abertura, muitas tecnologias já fazem parte do GED com o propósito de melhor e mais eficientemente administrar toda a documentação gerada e recebida. A Tabela 1, lista os vários recursos encontrados em Tecnologia da Informação (TI), onde o GED já faz parte como um recurso embutido aos demais. Tabela 1. Aplicações da Tecnologia da Informação Revista Kmword – publicação internacional na área de gestão do conhecimento Correio eletrônico Internet Intranet Extranet Banco de Dados Relacionais Gerenciamento eletrônico de Documentos Captura de dados (OCR/ICR/Barcode) Data Warehousing Workflow Call Center ERP – Planej. Rec. Empresariais Redes (LAN´s e WAN´s) Internet Intranet Extranet Data Warehousing Data Mining CENADEM – Centro Nacional de desenvolvimento do Gerenciamento da Informação Internet Intranet Extranet Group Ware Workflow Data Warehouse Workflow Data Mining Process Visualization White Board Simulação Gerenciamento eletrônico de Documentos COLD Delphi Computing Group Fonte: THIVES JR (2000). 2.2. DEFINIÇÃO DE DOCUMENTOS Os documentos envolvidos no sistema GED são referenciados como Gerenciamento de Documentos ou Gestão de documentos, como relata Bax e Bax (2002) em seu artigo, pois a diferença entre gestão de documentos é que o GED manipula essa gama de informação de forma eletrônica. Sem esquecer que não apenas documentos eletrônicos são manipulados pelo GED, mas também documentos em papel que são processados de forma eletrônica. Segundo Santos et al. (2003), Gestão de Documentos assegura a produção, administração, manutenção e destinação dos documentos, refletindo as informações registradas em seu contexto Os autores do Jornal mundo da imagem relatam que documento eletrônico é diferente de um documento que foi produzido em suporte papel e mais tarde digitalizado para dentro de um 18 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Sistema de GED. O próprio conceito de GED esclarece: “Um Sistema de Gerenciamento Eletrônico de Documentos usa tecnologia da computação para captar, armazenar, localizar e gerenciar versões eletrônicas dos documentos em papel”. (MUNDO DA IMAGEM, 1997, apud FLORES, 2004). Conforme Koch (1998, apud BAX e BAX, 2002) o GED é dividido em dois grupos de soluções: os de Gerenciamento de Imagens de Documentos (DI – Document Imaging), e os de Gerenciamento de Documentos (DM – Document Management). O ciclo de vida das informações define por qual grupo será gerenciado. A primeira tecnologia de GED que surgiu enfatizava basicamente a digitalização de documentos de origem papel, gerando-se imagens digitais dos documentos. Os documentos no formato imagem são, em média, dez vezes maiores que os textuais, e não podem ser processados por sistemas típicos de processamento de dados. Com o avanço da tecnologia e a disseminação dos microcomputadores na última década fizeram com que boa parte da geração dos documentos passasse a ser feita pelos sistemas digitais. Num ambiente de escritório, isso significa a geração de documentos em processadores de texto, planilhas eletrônicas e todas as demais ferramentas dessa natureza. A quantidade de documentos digitais geradas cresce vertiginosamente, exigindo ferramentas para controle de localização, atualização, versões e mesmo de temporalidade de guarda dos documentos. Dentro dessa necessidade ou ciclo que o DM é utilizado. (CENADEM, 2005). O Gerenciamento de Documentos, foco do projeto de TCC, é ponto fundamental, visto que todo o sistema de informação está envolvido com documentos gerados pela Instituição. Na sua grande maioria documentos, no formato PDF e DOC, que serão agregados ao sistema pelos usuários geradores dos documentos. 2.2.1. Organização de documentos A geração de documentos em qualquer instituição ou organização é em grande quantidade e de certa forma mal estruturada. Existe a ciência que estude os Documentos, Segundo Arquivo Nacional (1993, apud FLORES, 2004), o estudo de arquivos que são conjunto de documentos produzidos e/ou recebidos por órgãos públicos, instituições de caráter público, entidades privadas, pessoas físicas em decorrência do exercício de suas atividades, é conhecida como Arquivologia. Para Richter (1997, apud FLORES, 2004) a Arquivologia estuda os documentos, e a informação 19 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer contida nos documentos, desde sua criação, organização e utilização da informação, preocupando-se com a preservação do patrimônio documental que estuda os arquivos com o fim de identificar sua essência e história, propondo medidas para cumprir sua missão que é a custódia dos documentos e a recuperação das informações neles contidas. Um Sistema de GED contempla organizações baseadas na informação, com arquiteturas estruturais dinâmicas com o intuito de democratizar a informação no ambiente institucional. A utilização da organização da Arquivologia é importante para definir parâmetros na estrutura dos sistemas de informação (GED), sabendo que a realidade Institucional ainda está bastante distante da desejada, e possivelmente tende-se a trabalhar com sistemas híbridos, diferentes tipos de mídia, ainda por algum tempo. Flores (2004) relaciona várias áreas de interesse da Ciência da computação com o estudo da Arquivologia como Compiladores, Sistemas Operacionais, Gerenciadores de Bancos de Dados, Engenharia de Software, Sistemas Especialistas e Inteligência Artificial. Alguns parâmetros do sistema de informação são definidos pelas funções da Arquivologia, e tratam entre outras coisas do período de manipulação dos documentos, que são fundamentais para o funcionamento eficaz do sistema de informação. Segundo Santos et al. (2003), descreve que gerenciar documentos de forma eletrônica é uma solução que traz resultados significativos para a Instituição como redução de espaço físico, alta velocidade e precisão na localização de documentos, controle documental, maior agilidade nas transações entre organizações, minimização de perda e extravio de documentos entre outros. 2.2.2. Processo de digitalização Os gerenciadores de documentos eletrônicos possuem características semelhantes no seu processo de digitalização de documentos, que podem ser no formato DOC, .XLS além de PDF. Para os documentos em formato de papel ou mesmo meio magnéticos, existem métodos que fazem esse processo, conhecidos como escaneamento, conversão e importação de documentos. Conforme Bax e Bax (2002), a conversão do documento de papel ou microfilme é bastante similar à utilização de uma copiadora: os documentos em papel podem ser "escaneados" e aqueles em microfilme podem ser salvos em formato de imagem. 20 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer O escaneamento dos documentos é realizado através de um Scanner que captura as imagens e armazena no sistema. A escolha do Scanner depende da necessidade da Instituição como quantidade, volume de documentos e investimento pretendido. Um bom sistema de captura de imagens tem a capacidade de utilizar uma grande variedade de scanners, o sistema também deve ter um sistema automático de alimentação (Automatic Document Feeder – ADF), para possibilitar que uma quantidade de papel possa ser colocada em uma bandeja e copiada automaticamente. A maioria das Instituições tem necessidades de copiar documentos de tamanho padrão no formato A4 (21,0 x 29,7 cm), para outros formatos são necessários scanners maiores. A velocidade do scanner é outra característica que deve ser considerada. Scanners para a captura de imagens manuseiam entre 10-200 páginas por minuto. Segundo Bax e Bax (2002) a conversão de documentos é o processo de transformação dos documentos eletrônicos em imagens permanentes para serem armazenados no GED. Há aplicações no ambiente Windows, tais como Microsoft Word, Excel ou Autodesk AutoCAD, que podem imprimir arquivos gerando imagens inalteráveis. A partir destas imagens é possível armazenar em arquivos no formato TIFF (Tagged Image File Format). Este processo de conversão também gera um arquivo de texto completo, retendo o formato visual e o layout original do documento. A utilização da conversão eletrônica de documentos permite substituir o processo de escaneamento, e economizando papel e recursos de impressão além de produzir uma imagem de melhor qualidade. O último método citado para a digitalização de documentos é a importação de arquivos, que traz para dentro do GED arquivos eletrônicos, como por exemplo, documentos do Office (da Microsoft), gráficos, áudio ou vídeos. Bax e Bax (2002) citam que os arquivos podem ser movidos, “arrastados e soltos”, para dentro do sistema de imagens, mas são versões modificáveis e permanecem em seu formato original, por isso esse tipo de importação é o mais usado em sistemas GED. Esses arquivos podem ser visualizados em seu formato original ou ser usado através de um visualizador embutido no próprio gerenciador. 2.2.3. Recuperação de documentos Segundo Mônaco (1999), os programas de recuperação têm função básica de localizar os documentos que foram previamente inseridos no sistema com uma coisa em comum, pesquisa campos pré-indexados em uma base de dados, que foi alimentada nas etapas de digitalização (indexação) e armazenamento. Ainda de acordo com o autor: 21 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer A qualidade do processo de recuperação de documentos está diretamente ligada ao sistema de indexação utilizado. O sistema deve interagir com os usuários através de ferramentas simples e intuitivas, sem a necessidade de uso de códigos, símbolos ou operadores complicados e difíceis de memorizar. Isso é importante, pois possibilita a localização de qualquer documento da coleção com base apenas no que o usuário sabe no momento sobre o documento. Há modos de recuperação de documentos que podem significar realização de pesquisa por campos ou mesmo em uma navegação em um diretório. Dependendo da informação que o usuário possuir sobre o documento, pode ser apenas uma palavra ou uma frase, a pesquisa em texto (fulltext) possibilitará a recuperação de arquivos relevantes. O interessante neste tipo de sistema é ter uma recuperação intuitiva e amigável. Para usuários que já estão familiarizados com o conteúdo de um documento possam pesquisar esta informação para encontrar exatamente o que precisam. Alguns sistemas permitem apenas busca por palavras-chave indexadas, mas que nem sempre são interessantes a partir do momento que a pessoa que faz a pesquisa não é a mesma que indexa as palavras chaves. Um sistema para ser realmente útil deve permitir a pesquisa baseada na indexação completa do texto (full-text indexing). Segundo Bax e Bax (2002), utilizar o nome do documento ou a árvore de diretórios pode ser simples e intuitivo, como também não pode ser o melhor ou mais rápido, pois algumas vezes a pessoa pode saber qual documento procura, mas não sabe onde está localizado e nem como foi nomeado. Em um sistema completo os usuários têm a possibilidade de criar moldes (ou templates) de formulários de busca com campos definidos pelo usuário. Pesquisar por campos indexados permite que o usuário possa passar por vários registros rapidamente a procura do que lhe interessa. Para maximizar a efetividade das buscas um sistema completo deve ser capaz de combinar pesquisa por campos com pesquisa em texto. 2.3. TECNOLOGIAS DO GED Segundo Cenadem (2005), essas tecnologias foram sendo agregadas ao GED na medida em que, com o passar do tempo, surgiu nas empresas uma necessidade mais completa para o gerenciamento de documentos. É um conjunto de tecnologias que permite o gerenciamento de documentos de forma digital. Tais documentos podem ser das mais variadas origens e mídias, como papel, microfilme, som, imagem e mesmo arquivos já criados na forma digital. GED é formado pelas seguintes tecnologias: 22 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer • Gerenciamento de Documentos (Document Management): Zotto (2002) menciona que as soluções são voltadas ao gerenciamento do ciclo de vida de um documento, desde a sua criação, revisão até sua expiração. Os produtos enquadrados nesta divisão não gerenciam obrigatoriamente imagens, mas também arquivos oriundos de editores de texto, planilhas e outras formas de geração de arquivos eletrônicos. Bax e Bax (2002), relatam que num processo semelhante a tecnologia de imagens, os documentos eletrônicos são indexados e arquivados em dispositivos de alta capacidade, e utilizando-se de sistemas de busca, são recuperados e mostrados na sua forma original; • Gerenciamento de Imagens (Document Imaging): já os produtos do gerenciamento de Imagens ou processamento de Imagens são voltados para armazenamento de imagens captadas através de scanners e indexadas em uma base de imagens. Geralmente disponibiliza uma interface para o usuário na forma de pastas/sub-pastas onde estão armazenadas e indexadas as imagens dos documentos (formato de exibição semelhante ao Explorer do Windows); • Integração com sistemas de processamento de dados (Imaging enable): segundo Mônaco (1999), normalmente em uma solução híbrida misturando imagem e documento eletrônico, é uma boa saída para organizações que queiram melhorar bastante a gerência das suas informações. São soluções de gerenciamento de imagens que disponibilizam bibliotecas de sub-rotinas que podem ser integrados a sistemas de informação via recursos como Application Program Interface (API), Dynamic Link Library (DLL) e Dynamic Data Exchange (DDE). Estes sistemas passariam a utilizar funções de acesso e recuperação de imagem aliando a uma pesquisa em uma base de dados. Permite mostrar dados e imagens em uma mesma tela; • Gerenciamento de Documentação Técnica (Engineering Document Management): são produtos voltados para o gerenciamento de documentação técnica, envolvendo arquivos gerados eletronicamente em softwares CAD, até documentos em papel em formato A0. Permite a transformação de documentos (plantas A0 - imagem raster) em imagem tipo CAD (imagem vector); • Reconhecimento Ótico de Caracteres (OCR – Optical Character Recognition): são ferramentas utilizadas para reconhecimento de caracteres a partir de uma imagem digital (na forma datilografada ou impressa). O caracter reconhecido é transformado em dado eletrônico, podendo ser manipulado por sistemas de informação, editores de textos ou 23 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer planilhas, por exemplo. Existe ainda uma variação desta ferramenta quanto ao que se refere ao reconhecimento da escrita. Estes softwares são chamados ICR (Intelligent Character Recognition). Geralmente são ferramentas dotadas de uma concepção de reconhecimento de caracteres cursivos levando-se em conta aspectos como inclinação, pressão sobre o papel, etc; • Recuperação de Textos Total (Full Text Retrieval): estas ferramentas são integradas a outras ferramentas, como OCR. Através desta ferramenta é possível recuperar documentos a partir de qualquer palavra de seu conteúdo. Os documentos capturados pelo scanner (digitalizados) são submetidos a um processo de reconhecimento (OCR) e indexados numa base dados integradas com imagens dos documentos; • Saída de Computador para Disco Laser (COLD): são produtos voltados ao gerenciamento de relatórios emitidos por sistemas de informação, geralmente residentes em grandes computadores. Os relatórios são armazenados na forma de dado eletrônico, permitindo a recuperação por palavras do seu conteúdo, partes do relatório ou mesmo índices previamente indicados na geração dos relatórios. O resultado é apresentado em diversas formas: tela do computador, FAX, impressora e outros. No momento da exibição pode ser acoplado a uma máscara de layout (formulário com logotipos, assinatura), permitindo ao usuário a visualização e impressão do resultado real de como seria se fosse impresso (ex: contracheques, notas fiscais, faturas de telefones, etc); e • Gerenciamento de Fluxo de Trabalho (Workflow): são soluções que gerenciam as estruturas dos processos de fluxo de trabalho de uma organização. Permite desenhar, por exemplo, o caminho que um documento deve seguir desde sua etapa de criação até sua aprovação, definindo critérios como segurança, visualização, limites de liberação, para cada documento pertencente ao processo. Pode ser dividido em Workflow de produção onde é composto por diversos módulos que são desenvolvidas de acordo com as tarefas, sendo controlados e monitorados por um sistema central. 2.3.1. Soluções empresariais Mundo da Imagem (2003), cita como uma tendência à utilização de produtos de Web Content Management, ou seja, produtos customizáveis que a empresa adapta a sua realidade, sendo que muitas dessas soluções já trazem de forma nativa, ferramentas para gerenciamento de 24 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer documentos, como DI, DM e Workflow. As soluções para GED têm caminhado para uma nova realidade, desenvolvimento de software que suporte a plataforma livre. O Linux representa essa tecnologia de plataforma livre, sendo um sistema operacional livre e confiável. Tanto que grandes empresas como Oracle têm atestado que o Linux é uma retaguarda confiável e sólida. (CENADEM 2005). O tema de GED livre é abordado de uma forma futurística, necessitando de um amadurecimento, pois a adoção para software livre ainda não é uma realidade em grande parte da empresas. Segundo CENADEM (2005), o software livre representa maior disseminação das tecnologias em todos os sentidos. No GED isso representa uma maior utilização das características de gerenciamento, pois sua implementação tornaria mais acessível às empresas brasileiras, que em vez de pagar por soluções multinacionais, optaria pelos livres. O software de GED em plataforma livre permita a instituições mais liberdade na definição da sua base de computadores, sejam servidores ou clientes. Algumas soluções de produtos em GED que suportam plataformas livres podem ser observadas na Tabela 2. Segundo Jesus (2003), muitas soluções baseadas em GED são voltadas principalmente à localização de documentos com maior agilidade pela integração de documentos em papel ou em meio eletrônico com os sistemas de informação das organizações. São exemplos potenciais da aplicação do GED: • Gerenciamento e busca otimizada de documentos públicos (legislação, ofícios, decretos, portarias etc.); • Gerenciamento de documentos contábeis e fiscais; • Gerenciamento de documentos de recursos humanos e de fundos de pensões; • Gerenciamento, com suporte a revisão e controle de versão, para documentos de normalização e certificação de qualidade (ISO); e • Gerenciamento de documentos técnicos e suas características como documentos de AutoCad, CadMap e CorelDraw. 25 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Tabela 2 . Soluções em produtos GED Nome Produto Fabriante/País origem Archidoc Siav – Italia BR/Search Padrão IX - Brasil Dellaplus Dellacenter - Brasil Flypaper Image Technology – Brasil FullBase WTB Tecnologia da Informação- Brasil Galileo Siav – Italia Six Tech GDS Gerenciador Desenvolvimento de de Documentos Sistemas de informática Satech – Brasil IBM Content Manager IBM – EUA Isodoc (com modulo intranet) SoftExpert – Brasil OnBase Hyland/Onbase – EUA SiteScape Enterprise Form SiteSpace inc. – EUA Staffware Staffware –Inglaterra Webdesk Datasul-Brasil Ambiente suportado Nível de customização Windows NT e linux Windows NT, Unix (IBM, HP,SUN) e Linux Windows NT e Linux Produto pronto (out of the box) Windows NT, Unix(SUN) e Linux Windows NT, Unix (IBM, HP,SUN), Linux, FreeBDS e BeOS Windows NT e Linux Windows NT, Unix (IBM, HP,SUN) e Linux Ferramenta de desenvolvimento Ferramenta de desenvolvimento Produto customizável Produto customizável Ferramenta de desenvolvimento Produto pronto e também customizável Produto customizável Produto customizável Windows NT, Unix (IBM, HP,SUN), Ferramenta de desenvolvimento, Linux, zSeries produto pronto e também (IBMAS/400) e zSeries customizável (IBM OS/390) Windows NT e Linux Produto customizável Windows NT, Unix (IBM, HP,SUN) e Linux Windows NT, Unix (IBM, HP,SUN) e Linux, Tru64 Unix Windows NT, Unix (IBM, HP,SUN) e Linux Windows NT, Unix (IBM, HP,SUN) e Linux Ferramenta de desenvolvimento, customizavel Ferramenta de desenvolvimento, produto customizável Produto customizável Produto customizável Fonte: Adaptado de CENADEM (2005) 26 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 2.4. BANCO DE DADOS PARA GED 2.4.1. Introdução Segundo Fanderuff (2000), um Banco de Dados é baseado em uma percepção do mundo real, que consiste em uma coleção de objetos básicos, chamados de tabelas, e em relacionamento entre estes objetos. Os sistemas de informação em gerenciamento eletrônico de documentos são responsáveis em armazenar e posteriormente recuperar as informações armazenadas em uma base de dados. Estas informações são documentos digitalizados ou documentos eletrônicos, ou seja, informações textuais. Em função do avanço da informática, existem pesquisas voltadas na área de armazenamento de informações textuais, a fim de que seja possível uma melhor localização das informações que se encontram em banco de dados através da Internet ou em Intranets. Conforme Siberschatz (1996, apud FRANCO, 2001) comenta que, em 1990, a comunidade internacional de pesquisas em Bancos de Dados publicou um relatório reconhecendo que as novas aplicações de Bancos de Dados deveriam armazenar algo mais do que registros numéricos e caracteres; deveriam prever também formas não tradicionais de dados como textos, vídeos, imagens gráficas, palestras, etc, já que estas são as formas naturais da informação em nossa realidade. Ainda conforme o autor estes dados não-estruturados necessitam de mecanismos computacionais diferentes dos tradicionalmente usados, para que possam ser coletados, armazenados, manipulados e consultados, diferentemente dos dados estruturados (convencionais) que são tratados por meios tradicionais, pelo fato de existir linguagens formais tais com o SQL. Segundo Wives (1997), a necessidade de modos de armazenamento e pesquisa de informações não são facilmente transformadas em tabelas, porque possuem registros e campos, e por este fato são objetos de estudo da comunidade científica desde a década de 60. Porém mesmo com toda essa dificuldade, estes dados são amplamente encontrados e manipulados nas páginas da Web e em programas multimídia, pelos chamados motores de busca, como Altavista, Yahoo, Google entre outros. Destaca-se então a realidade de um banco de dados voltado para as informações textuais (documentos no formato texto) e que pode então ser chamado de Banco de Dados Textual. Esta preocupação em manipular e armazenar informações em forma de tabelas, com a criação de campos que suportassem os dados, fez com que os bancos convencionais migrassem para um novo conceito de SGBD. 27 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Silva (1999), descreve que o surgimento dos SGBDs objeto-relacional, trouxe uma nova visão, pois é mais representativo em semânticas e construções de modelagens do que os SGBDs relacionais, ou seja, convencionais. Esse novo tipo de SGBD pode então atender as necessidades que a comunidade tanto questiona, como: projetos de engenharia, imagens, bancos de dados científicos, sistemas de informação geográficas, multimídia, entre outros. Estas aplicações possuem requisitos e características que diferem do processamento de negócios tradicional, incluindo estruturas para objetos, novos tipos de dados para armazenar imagens e grandes itens textuais e a necessidade de definir novas operações específicas das aplicações. Segundo Silva (1999), os novos tipos de campos criados para essa nova gama de aplicações, são descritos pela evolução dos vários tipos de mídias, extensões que os fabricantes desenvolvem a cada nova aplicação. Para solucionar o tratamento de dados não convencionais é que se estabeleceu um padrão, adotado pela maioria SGBDs, denominado campo BLOB (Binary Large Object). Este campo, de formato binário, é descrito mais adiante neste trabalho. 2.4.2. Banco de Dados Objeto-Relacional Conforme Silva (1999), o modelo objeto-relacional tem sido baseado na idéia de estender o modelo relacional, fornecendo um sistema de tipos mais rico – através da inclusão de características de orientação a objetos – e adicionando construções às linguagens de consultas relacionais, tal como SQL, para manipular os novos tipos de dados adicionados. Tais extensões tentam preservar os fundamentos relacionais, enquanto estendem o poder de modelagem dos dados. Entretanto, ainda não se pode afirmar que existe um modelo objeto-relacional aceito como padrão. Os SGBDs baseados neste modelo sofrem o mesmo problema que os SGBDs orientados a objetos, pois há muitas diferenças nos produtos disponíveis no mercado. Vieira Jr. et al. (2000), também ressalta que, nos últimos anos, a tecnologia de banco de dados relacionais não vem conseguindo atender às exigências das aplicações comerciais, que requerem recursos não disponíveis nos Sistema Gerenciador de Banco de Dados Relacional (SGDBRs). Entre os requerimentos desses novos aplicativos estão os objetos complexos (textos, imagens). Os sistemas orientados a objeto surgiram visando suprir as limitações dos sistemas relacionais, porém o princípio relacional ainda tem maior consolidação e está presente na maior parte do mercado. 28 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Ainda segundo o autor, ressalta que estes modelos agregam uma série de novas facilidades características dos sistemas orientados a objetos, mantendo todas as funções básicas dos sistemas relacionais. Eles são relacionais porque suportam SQL e são orientados a objeto porque suportam dados complexos. Há necessidade de manipular dados multimídia, dados geográficos, imagens e outros, têm implicado na perda de desempenho e complexidade nos sistemas, pois os SGBDs deixam apenas disponível o uso de objetos binários (BLOBs) para serem tratados da maneira que o usuário desejar, uma vez que a estrutura de armazenamento de tais dados é completamente invisível para o SGBD que não consegue acessá-los de maneira satisfatória. Mas segundo o autor, os sistemas objetos-relacionais passaram a disponibilizar a criação de novos tipos de dados, ou seja, padronizando para o SGBD a maneira de armazenar estes dados internamente. Porém, apenas definir novos tipos de dados não é o bastante, é necessário uma maneira otimizada de acessar os dados, sendo de fundamental importância para o sucesso da tecnologia dos SGBDs. Esta maneira de acessar os dados denomina-se “Método de Acesso”. Assim Vieira Jr. et al. (2000), define método de Acesso como modo de manipular dados, tendo a capacidade de ler e escrever diretamente na origem do dado. Além disso, índices também se enquadram nessa categoria de métodos de acesso, uma vez que podem prover meios rápidos ou alternativos de obter os dados junto à base. Um método de acesso bastante conhecido e utilizado é Árvore B-tree*. Há duas características que podem ser abordadas ainda em se tratando de sistema objetorelacional. Em uma abordagem os dados estendidos devem estar realmente dentro do SGBD tendo a possibilidade de adoção de certas propriedades, como controle de transações. Em uma outra abordagem adota–se em não manter o dado estendido dentro do SGBD, utilizando mecanismo de camada de software, como o CORBA que quando necessário tem acesso aos dados (ibidem). Esses métodos de acesso serão descritos mais adiante neste trabalho, onde os mecanismos para acessar os dados em uma tabela serão vistos. Na Tabela 3, estão descritos os produtos e seus fornecedores que a partir das novas versões de SGBDs, suportam métodos de acesso em seus produtos, comparando com o Sistema Gerenciador de Banco de Dados Relacionais (SGBDR), o 29 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Sistema Gerenciador de Banco de Dados Objeto Relacional (SGBDRO) e o Sistema Gerenciador de Banco de Dados Orientado a Objeto (SGBDOO). Tabela 3. Fornecedores e seus produtos Fornecedor SGBDR SGBDRO Oracle Sybase Informix IBM UniSQL Computer Associates Gemstone O2 Object design Objectivity Oracle 7x System 10/11 Dynamic Server DB/2 Oracle 8x OpenIngres SGBDOO Universal Server Universal Database UniSQL Jasmine Gemstone O2 Object Store Objectivity/DB Fonte: VIEIRA JR. (2000) 2.4.3. Banco de Dados ditos Textuais Rocha (2002), define Banco de Dados Textual (que manipule dados textuais) como sendo grandes volumes de dados textuais, ou seja, um largo conjunto de registros em que cada registro contém apenas uma lista de palavras de tamanho arbitrário, (que podem ser encontradas em programas multimídia e nas páginas WWW da Internet) que devem ser armazenados, recuperados e atualizados. Mas que são difícil de organizar em tabelas, ou seja, em um banco de dados relacional (convencional) como visto anteriormente. Já Wives (1997), relata que em um Banco de Dados Textual, ou Sistema de Recuperação de Informação como são tratadas por ele, as informações não estão distribuídas em uma forma tabular, pois não há campos, capazes de identificar os atributos específicos de determinados registros, ou seja, não armazenadas em tabelas. Estas informações estão distribuídas em uma seqüência de caracteres não existindo atributos para classificá-las. A busca de informações textuais é diferente da tradicional, pois não possuem a maturidade de um banco de dados tradicional em relação a alguns aspectos, como exemplo, o controle de concorrência. Conforme Salton (1983, apud WIVES, 1997), os Bancos de Dados tradicionais preocupamse com o armazenamento, manutenção e a recuperação de informações disponíveis explicitamente no sistema. Por exemplo, para se buscar informações sobre determinada pessoa em um banco de 30 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer dado tradicional, basta percorrer a tabela que possui o atributo “nome” e localizar o registro que possui o nome da pessoa desejado. Mais em um banco de dados dito textual, a localização não seria por registro, já que os dados não estão dispostos em uma forma tabular. A busca seria realizada comparando cada palavra do documento com o da pesquisa, isso se torna inviável na medida que se tem muitos dados para pesquisar. O melhor modo para uma pesquisa em banco de dado dita textual é adotar que há nos textos um assunto em comum, utilizado para a busca de palavras chaves ou termos que o documento possua. Decorrente disso, um banco de dados dito textual tem como base a seguinte teoria, proposta por Salton (1983, apud WIVES, 1997): perguntas são submetidas pelo usuário, perguntas estas baseadas em palavras que identificam a idéia desejada por este usuário. Os documentos são identificados pelos termos que eles contém, portanto, a localização de um documento desejado pelo usuário dá-se a partir da identificação da similaridade entre o(s) termo(s) fornecido(s) pelo usuário e os termos que identificam os documentos contidos na base de dados. A Figura 2 representa esta teoria na forma de esquema: PERGUNTAS FUNÇÃO DE SIMILARIDADE DOC. Figura 2. Função Similariedade Fonte: WIVES (1997) Esta função Similaridade busca identificar uma relação entre os termos da consulta e os termos dos documentos. Todavia os conceitos atribuídos a Banco de Dados Tradicionais devem ser estendidos a esse tipo de documento textual. Segundo DeFazio (1995, apud WIVES, 1997), os estudos na área de integração indicam que um SGBD deve: • Suportar armazenamento, indexação, recuperação e modificação de documentos; • Semânticas de transação que possuam as propriedades ACID (Propriedades de Atomicidade, Consistência, Isolamento e Durabilidade); e • Extensões de linguagem de consulta que permitam a seleção de documentos relevantes (em forma de ranking). 31 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Estas características apresentadas não podem ser realizadas pelos bancos de dados ou SGBDs relacionais para os documentos textuais, sendo necessário mecanismos que façam essa integração. Porém, a evolução das tecnologias de informação tende ao desenvolvimento de SGBDs Objeto-relacional que possuam campos de tamanho variável como VARCHAR() (texto tamanho variável) e o BLOB que proporcionam uma maior flexibilidade para armazenamento de informações textuais, visto que pode armazenar até gigabytes de texto, imagens e vídeos. Wives (1997), relata que para tornar possível o acesso a esses documentos, é preciso utilizar uma estrutura auxiliar, o índice, isso porque fica inviável pesquisar todos os textos toda vez que for requisitado uma consulta. A indexação faz o mapeamento dos documentos para que sejam pesquisados pela função de similaridade. 2.5. INDEXAÇÃO AUTOMÁTICA A indexação automática é uma das mais simples (também pode ser chamada de FullText, pois analisa todo o documento). Segundo Jesus (2003), na Indexação Automática (full text) existem ferramentas como Microsoft SQL Server, que a partir de versões mais atuais trazem um recurso chamado Full-Text Search, que permite a criação de um índice externo ao banco que pode ser utilizado para pesquisa em campos de texto longo. De acordo com Jesus (2003), índices Full-Text podem ser utilizados para diferentes propósitos e devem estar sempre atualizados, assim sempre que o dado de uma coluna associada ao índice for modificado o índice Full-Text também deve ser atualizado. Indexação automática constitui-se de várias etapas. Ao final das etapas, os termos resultantes são adicionados a um arquivo de índice cuja estrutura geralmente é baseada em Arquivos Invertidos (ou Listas Invertidas). Segundo Salton (1983, apud WIVES, 1997), outros tipos de arquivos podem ser utilizados, mas a experiência mostra que este tipo de estrutura é uma das mais eficientes para a indexação de documentos. Yates e Frakes (1992) descrevem que um índice é uma estrutura de dados crítica porque reserva rapidamente grandes volumes de dados, sendo uma das estruturas mais utilizadas. A Figura 3 apresenta um exemplo da estrutura de uma lista invertida. 32 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Arquivo de Documentos Arquivo de índice (lista invertida) Termo Apontadores Identificador Conteúdo : : : : diretor A12 G43 A12 ..... figura A13 A30 U01 A13 ....... informação A13 G35 : ...... informática Z21 G43 ...... : : : recuperação A13 U01 : : : : ....... : Figura 3. Estrutura de uma Lista Invertida Fonte: WIVES (1997) Basicamente, a estrutura permite que um único termo aponte para vários documentos. As principais etapas encontradas neste método são: • identificação de palavras; • remoção de stopwords; • word stemming ; e • identificação de termos compostos. 2.5.1. Identificação de Palavras Realiza a identificação de palavras nos documentos que serão indexados. Analisam-se as seqüências de caracteres do documento. Salton (1983, apud WIVES, 1997), aconselha fazer um Dictionary lookup, ou seja, um dicionário para comparar as seqüências de caracteres retiradas do texto, com a finalidade de validar estas palavras, realmente saber se existem. O processo de validação torna-se bastante útil, a partir do momento que o documento apresenta muitos caracteres inválidos ou palavras com erros gramaticais. Quando há seqüências de caracteres inválidas, elas devem ser eliminadas e as palavras com erros corrigidas. Pode-se aplicar ainda um processo de filtragem naqueles arquivos que possuem formatos de texto específicos, a fim de eliminar as 33 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer seqüências de controle e/ou formatação de texto. Outra função do dicionário é auxiliar a identificação de termos específicos, quando se deseja utilizar palavras pré-definidas no índice, evitando que palavras desconhecidas sejam identificadas como índice (ou seja, evita a utilização de um vocabulário descontrolado). Um Analisador Léxico que identifique seqüências de caracteres e monte palavras pode ser utilizado. Yates e Frakes (1992), relatam o uso da identificação de palavras como um dos processos da indexação de documentos. Na Figura 4, a seguir apresenta o trecho de um documento com seqüências de caracteres. Estas seqüências marcadas são seqüências inválidas, e não devem passar pela fase de identificação de palavras. Já as demais seqüências podem ser identificadas como termos válidos. Os termos sublinhados são termos identificados como incorretos pelo dicionário, e devem ser corrigidos. Os caracteres de pontuação são desprezados. ...à ¡ ± ·á ' > ' - * Þ Ý Na maioria das vezes os documentos retornados pelas ferramentas de ' >' recuperação de informacoes ' > ' envolvem um contexto mais amplo, fazendo com que o usuario tenha que garimpar, ou seja, especificar ou filtrar estes documentos (0 que demanda tempo e conhecimento ) a fim de obter a informação que ele realmente necessita ' * ' ..... Figura 4. Identificação de termos válidos Fonte: WIVES (1997) 2.5.2. Remoção de Stop-Words Wives (1997), descreve que a remoção de Stop-words seleciona em um documento as palavras que não podem ser adicionados há estrutura de índice. As palavras que aparecem em todos os documentos ou na maioria deles são um exemplo. Yates e Frakes (1992), relatam que pode ser realizado através da eliminação das stop-words (tais como artigos e conetivos). Isso porque utilizar uma dessas palavras como índice não é capaz de selecionar documentos relacionados a um assunto específico. Preposição é um exemplo deste tipo de palavra, pois é um termo que serve para fazer o encadeamento de idéias e palavras, portanto, são termos para uma compreensão em uma literatura, e não ao conteúdo dos documentos. A grande maioria das palavras que aparecem em documentos não deve ser indexada, pois sua utilização compromete a precisão e a eficiência do sistema. 34 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Há sistemas já implementados, e foi construída uma estrutura (uma lista) contendo todas as palavras que não devem ser indexadas. A esta estrutura foi atribuído o nome de "stop-list", e as palavras presentes nesta lista são conhecidas como Stop-words. O processo de obtenção das stopwords pode ser manual, onde o projetista do sistema avalia quais palavras devem ou não ser indexadas (o que varia de língua para língua, ou até mesmo entre sistemas). Há ainda a possibilidade de se montar esta lista automaticamente, verificando-se quais são as palavras com maior freqüência (que aparecem em mais documentos), e selecionando-as como stop-words. Então, após uma palavra ser reconhecida no processo de indexação, sua presença na Stop-list é verificada. Caso exista na lista de palavras negativas, ela não é adicionada ao índice. Na Figura 5, apresenta o documento resultante da etapa anterior, após ser validado por uma stop-list. Neste caso a lista de Stop-words contém artigos, preposições, conjunções e algumas seqüências de caracteres que não devem ser adicionadas ao índice por possuírem freqüência elevada. ...... Na maioria das vezes os documentos retornados pelas ferramentas de recuperação de informações evolvem um contexto mais amplo, fazendo com que o usuário tenha que garimpar ou seja especificar ou filtrar estes documentos que demanda tempo e conhecimento a fim de obter a informação que ele realmente necessita ..... Figura 5.Identificação de Stop-Words Fonte: WIVES (1997) Apenas com estas etapas já é possível criar-se índices que localizem documentos a partir da comparação direta entre os termos da consulta do usuário e os termos presentes nos documentos. Mas é um método ainda ineficiente, e algumas técnicas adicionais podem ser utilizadas a fim de melhorá-lo. Riloff (1995, apud WIVES, 1997) menciona que há autores que citam as técnicas a seguir como desnecessária. 2.5.3. Word Stemming Yates e Frakes (1999), descrevem stemming como aquele que reduz palavras distintas a sua raiz gramatical comum. Segundo Wives (1997), a identificação de radicais (agrupamento de palavras similares), a fim de melhorar a eficiência e solucionar o problema do vocabulário. É uma técnica que procura reduzir a variância morfológica de um termo e, portanto, depende muito da linguagem utilizada nos documentos (técnicas elaboradas para uma língua não podem ser utilizadas 35 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer em outra). A técnica consiste em identificar os radicais das palavras, e adicioná-las no arquivo de índice desta forma. Uma maneira de identificar os radicais das palavras é remover seus sufixos e prefixos. Outro exemplo é a eliminação dos plurais das palavras. Assim, todas as palavras que possuem o mesmo radical, e, portanto com significados similares (mas categorias diferentes de linguagem: adjetivo, verbo, advérbio...) são reconhecidas pelo mesmo identificador (as palavras são armazenadas de uma só forma – o radical), facilitando a consulta. A desvantagem deste método é que ele pode acabar utilizando palavras muito abrangentes, não recuperando documentos específicos (de termos específicos). 2.5.4. Word Phrase Formation Segundo Yates e Frakes (1992), a formação de frases ou termos é a identificação de grupos de substantivo (que elimina adjetivos, advérbios, e verbos). A formação de frases termos agrupa as palavras adjacentes para formar novos termos, buscando solucionar o problema dos termos abrangentes, pois as idéias estão agrupadas em contextos, e palavras compostas geralmente categorizam melhor o assunto, ou seja, formação de palavras específicas. A utilização de palavras mais específicas consegue fazer com que o sistema recupere documentos de forma mais precisa, justamente pelo fato destas palavras aparecerem em um número menor de documentos. O conceito de frase-termo, não pode ser interpretado como utilização das duas palavras de forma independente. Ou seja, caso o usuário não tenha de alguma forma especificado que as duas palavras devem aparecer juntas, ou o sistema não possua alguma técnica que unifique as duas palavras, a consulta pode se tornar ainda mais abrangente. Isso significa que seriam retornados tanto documentos que tratam de um assunto quanto documentos que tratam do outro assunto. De certa forma não é interessante armazenar estas frase-termo, pois este processo exige tempo e conforme Salton (1983, apud WIVES, 1997) não aumenta a eficiência do sistema. Entretanto, o que pode ser feito é armazenar as distâncias entre as palavras de um documento e deixar que a técnica de consulta avalie se as palavras se enquadram com adjacentes. A Figura 6 resume o processo total de Indexação, onde os documentos são indexados pela ferramenta, e ao final é gerado um arquivo de índice que mostra os arquivos procurados. 36 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Documentos Identificador Palavras Remoção de Stopwords Steeming Apontadores Termo Simples Formação de Frases- Termo Termo Composto Arquivo de Índice Figura 6.Etapas do processo de indexação automática Fonte: WIVES (1997) Há ainda outras técnicas de localização e métodos, chamados de ferramentas de auxílio que podem ser ou não incorporados às ferramentas de recuperação de informação abaixo são citadas algumas: • Thesaurus: segundo Salton (1986), Thesaurus é uma estrutura hierárquica de palavras, ou seja, um grupo ou classe de palavras que são identificadas por termoschaves, em uma determinada área de interesse. O thesaurus é usado para processar três finalidades principais, uma é distinguir os termos que são permitidos como identificadores das classes, identificação de sinônimos e a definição de termos mais específicos em grupos com vocábulo mais específicos; • Relevance Feedback: segundo Salton (1986) a Relevance Feedback é uma técnica desenvolvida para realizar pesquisas mais detalhadas, facilitando a recuperação de informações. Esta técnica define que o usuário depois de uma pesquisa preliminar, identifique quais os documentos tem uma maior relevância para sua pesquisa, através desta resposta o sistema pode realizar novas iterações que obtenha melhores respostas; • Term Weighting: segundo Salton (1986) è a relação de relevância que um determinado documento tem para uma pesquisa. As técnicas usadas para conseguir as porcentagens de relevância em uma busca de documentos são várias, mas podem 37 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer citar a freqüência de termos em um documento. Que consiste em identificar a quantidade de vezes que uma palavra aparece em um documento e o número de documentos que esta palavra aparece, podendo assim calcular a porcentagem de relevância dos documentos; e • Expressões Booleanas: segundo Salton (1986) as expressões booleanas são operadores conhecidos: AND (e), OR (ou) e NOT (não/negação). Estes termos são utilizados para localizar os documentos na estrutura de índices. Um exemplo que representa a utilização dos operadores é quando o usuário quer restringir uma busca ou especificar, e tem que de uma maneira identificar ao sistema que um termo aparece no mesmo documento, ou identificar o termo que não podem aparecer juntos no documento como, por exemplo, computador and programa. 2.6. ÍNDICES Índices são estruturas de dados que são criados para permitir a rápida localização dos registros dentro de uma tabela. Assim, como o índice de um livro ajuda o leitor a encontrar informações sobre determinado assunto mais rapidamente, um índice sobre uma tabela provê uma forma rápida de acessar os dados da mesma (JESUS, 2003). A indexação é o meio pelo qual a função de Similaridade vai comparar os termos da consulta com os termos presentes nos documentos, e após localizar os documentos relacionados com o assunto desejado pelo usuário. Os índices permitem a indexação de documentos, também chamada full-text, através da criação de catálogos executando consultas requisitadas pelo SGBD. Os tipos de consultas suportadas podem ser busca por palavras, frases e por proximidade de palavras. Os índices Full-Text em sua pesquisa são menos precisos do que as usualmente feitas em índices do próprio banco, nos quais o resultado da pesquisa é um conjunto de linhas onde cada linha tem a palavra ou frase pesquisada exatamente da mesma forma como foi escrita. Jesus (2003), frisa que ao utilizar-se o índice Full-Text o resultado da pesquisa pode trazer a forma no plural ou singular de um substantivo pesquisado, as várias formas que um verbo pesquisado pode aparecer no texto, as palavras de uma frase juntas ou separadas classificadas por proximidade, ou pode haver até diferenças entre letras maiúsculas e minúsculas no texto procurado e no encontrado. Qualquer operação de modificação nos registros envolvidos deve ser atualizada 38 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer nos índices, por esse motivo é que o índice intervem na performance das operações. 2.6.1. Índices Invertidos Ziviani (2003), considera um conjunto de documentos, onde cada documento é atribuído, um conjunto de palavras-chave ou atributos. Um arquivo invertido é constituído de uma lista ordenada (ou índice) de palavras-chave (atributos), onde cada palavra-chave tem uma lista de apontadores para os documentos que contêm aquela palavra-chave. Este é o tipo de índice utilizado pela maioria dos sistemas para recuperação em arquivos constituídos de texto. Os arquivos invertidos são usados na implementação de índices lexicográficos, de índices ordenados. A busca por frases acontece nesses arquivos invertidos, porque possuem um apontador para cada documento onde a palavra aparece, juntamente com a posição da palavra no documento. A busca nesse índice torna-se mais eficiente, porém adiciona a dimensão do índice. A utilização de arquivo invertido aumenta a eficiência de pesquisa em várias ordens de magnitude, característica importante para aplicações que utilizam grandes arquivos constituídos de texto. Baseado nas pesquisas de Harman (1992, apud ROCHA, 2002), o custo para se ter essa eficiência é a necessidade de armazenar uma estrutura de dados que pode ocupar entre 2% e 100% do tamanho do texto original, dependendo da quantidade de informação armazenada no índice, mais a necessidade de atualização do índice toda vez que o arquivo de documentos sofre alguma alteração. Diversas técnicas de otimização podem ser empregadas na consulta de frases com arquivos invertidos, algumas delas foram vistas neste trabalho como remoção de palavras mais freqüentes, remoção de artigos, remoção de preposições etc., tornando o índice menor e agilizando a pesquisa. A Figura 7 mostra um exemplo de um arquivo invertido, a referência para os documentos e as posições onde os termos ocorrem no documento. A pesquisa por frase é feita da seguinte forma em índices invertidos: (i) o termo é pesquisado, após com o resultado gera uma lista temporária de documentos e posições com o termo que foi pesquisado. (ii) Com a lista temporária para pesquisar o próximo termo, retira-se dela todos os documentos cujo termo pesquisado não ocorre na posição adequada, sendo assim na posição 39 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer subseqüente ao termo anteriormente pesquisado. (iii) Repetindo-se a pesquisa para os próximos termos até que todos tenham sido pesquisados, ou ainda se a lista esteja vazia indicando que o termo não foi encontrado. DOC1 P1, P2, P3, P4 DOC2 P2, P4, P5, P6 DOC4 P1, P2, P5 DOC5 P10, P11 PALAVRA1 PALAVRA2 PALAVRA3 PALAVRA4 DOC3 P1, P2,, P4 DOC5 P2, P4, P6 DOC6 P1, P2, P5 DOC8 P1, P2, P4 DOC1 DOC2 DOC3 DOC6 P1, P3, P4 P2, P3 P1, P2, P5 P1, P2, P3 Figura 7. Índice invertido Fonte: JESUS (2003) 2.6.2. Índices para a Próxima Palavra Um índice para a próxima palavra consiste em um vocábulo de palavras distintas, segundo Hugh (1999, apud ROCHA, 2002), e para cada uma dessas palavras “w”, uma lista com as próximas palavras que a sucedem. Esta lista para a próxima palavra consiste de todas as palavras “s” que sucedem “w” em algum lugar no documento. Para cada par “ws” existe uma seqüência de localidades, determinando o documento e a posição em que esse par ocorreu. 40 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer sempre casa estudar vou limpar positions 2.23 98,76 Docid 6 8 positions 12.21 1,15 Docid 5 7 positions 31,78 98,108 Docid 1 5 positions 13.23 25 Docid 1 1 positions 2 98,100 Docid 5 8 positions 4,42 18,78 todos para cantar Docid 5 4 zelar poder lembrar Primeiro nível saltar Segundo nível Documentos e posições Figura 8. Índice para a próxima palavra Fonte: JESUS (2003) A Figura 8 mostra um exemplo de índice para a próxima palavra. Na primeira árvore tem-se a lista das palavras que ocorrem no banco de dados e que possuem uma palavra subseqüente. Para cada palavra da primeira árvore tem-se um ponteiro para uma segunda árvore denominado árvore de próximas palavras. Nessa segunda árvore cada nó tem um ponteiro para uma lista dos documentos onde o par de palavras ocorre. A lista de documentos tem o identificador do documento e as posições onde o par de palavras ocorre no documento e, são através dessas posições que são feitas buscas por frases. 41 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 2.7. LOBS (LARGE OBJECT) Segundo Almeida (2005), os Large Objects, ou LOBs como são conhecidos, são tipos de dados que podem armazenar até 4GB de informação binária, como imagens, sons, vídeos, arquivos PDF e outros formatos, em uma ou mais colunas de uma única tabela do seu banco de dados. 2.7.1. Tipos de dados Almeida (2005), cita os seguintes tipos de dados caracterizados como LOBs: • Blob: são tipos de dados binários; • Clob: são tipos de dados alfanuméricos, podendo armazenar caracteres compatíveis com o charset do banco de dados; • Nlob: são tipos de dados alfanuméricos, podendo armazenar caracteres compatíveis com o national charset do banco de dados; • Bfile: são tipos de dados binários armazenados fora do banco de dados em arquivos do sistema operacional, com TXT e HTML(Linguagem de Marcacão Hypertexto). Algumas características dos LOBs são citadas para um melhor entendimento do seu funcionamento no SGBD Oracle: • Os LOBs podem armazenar até 4GB de dados; • Pode-se trabalhar com 2 modos de operação, Interna (Lógica) e Externa (Física); • Permite replicação dos dados, exceto para BFile que trabalha com a parte física; • Suporte a tipos de objetos; • O sistema de acesso aos dados para as LOBs é de forma randômica, isso permite ganho de performance nas consultas; • Habilitação para transações, COMMIT e ROLLBACK, exceto para BFile; • O comando SELECT retorna a localização das LOBS e não os dados armazenados; 42 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer • Pode-se trabalhar com mais de uma coluna LOB nas tabelas, ampliando o armazenamento da tabela; • Existem pacotes específicos para administrar colunas LOBs no banco de dados; • Existem views específicas no dicionário de dados para administração de LOBs dentro do banco de dados; e • Funções SQL podem ser utilizadas, porém, com algumas restrições dependendo do tipo de LOB. 2.7.2. Blob (Binary Large Object) Segundo Michelazzo (2001), define o BLOB (Binary Large Object) como um grande campo binário criado para o armazenamento de qualquer tipo de informação em formato binário, dentro de uma tabela em um banco de dados. Santana (2001), descreve que em campo BLOB pode-se guardar imagem, som, textos longos, textos longos formatados, ou qualquer coisa de formato binário. Além disso, se um registro contém uma imagem, o próximo poderia conter um trecho musical e assim por diante. Um campo BLOB não está vinculado a nenhum tipo de dado em específico, sendo assim considerado multi-formato e variável. O campo BLOB tornou-se um padrão em banco de dados. No MySQL, por exemplo, este campo é dividido em quatro tipos, sendo que a diferença existente de um para o outro é unicamente a capacidade de armazenamento e trabalho do campo. 2.7.3. Tabelas Blob Segundo Oracle (2002), criação desse campo é realizada pela estrutura de comando do SQL Plus. Na criação das tabelas, além de conter campos necessários para as outras informações, também são incluídos os campos BLOB, onde os arquivos binários serão armazenados. O comando SQL/PLUS a seguir exemplifica a criação de uma tabela que usa o campo Blob. Criação das tabelas: create table documento (arquivo varchar2(64), doc blob); Figura 9. Comando SQL para criação da tabela 43 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Com a criação da tabela é necessário preencher seus campos, este preenchimento pode ser realizado com External lobs (Bfiles) são os grandes objetos de dados binários armazenados em arquivos do sistema operando fora dos tablespaces. O campo Blob é considerado um Internal lobs, pois os dados binários são armazenados dentro das tablespaces de uma maneira que otimize os espaços e forneça acesso eficiente. A ação de popular a tabela é realizada com a função bfilename(),onde é identificada o arquivo que deve ser armazenado no campo Blob. Este arquivo deve estar em um diretório já especificado anteriormente. O comando do dbms_lob realiza as etapas de abrir arquivos Bfile, ler o conteúdo que esta descriminado pelo Bfilename , salvando em uma variável o seu tamanho, o insert juntamente com a função empty_blob inicializa o Blob com um atributo antes de povoar. Por fim, o arquivo é salvo, o dbms_lob fecha o arquivo, terminando o procedimento de inserção de um documento binário em um campo Blob. A Figura 10 apresenta o código da descrição do procedimento insert_doc_blob (). create directory TEMP AS '/opt/oracle/temp'; create or replace procedure insert_doc_blob ( Diretorio varchar2, arquivo varchar2) is V_ARQUIVO bfile; V_CAMPO_LOB blob; V_TAM_ARQUIVO integer; begin V_ARQUIVO:=bfilename(Diretorio,Arquivo); dbms_lob.fileopen ( V_ARQUIVO, dbms_lob.file_readonly ); V_TAM_ARQUIVO:=dbms_lob.getlength(V_ARQUIVO); insert into docs values (arquivo,empty_blob) returning doc into V_CAMPO_LOB; dbms_lob.loadfromfile(V_CAMPO_LOB,V_ARQUIVO,V_TAM_ARQUIVO); dbms_lob.fileclose(V_ARQUIVO); -- commit; end; Figura 10. Comando SQL para popular a tabela Toda a ação de recuperação de informação realizada com o campo Blob também pode ser realizada em determinados campos. Como citado anteriormente, há métodos e técnicas de recuperação de informação para bases textuais. Os bancos de dados objeto-relacionais ao incluírem 44 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer este padrão de armazenamento, dados binários, em seus SGBDs abrem a janela para a extensa área de Recuperação de Informação (RI). A Recuperação de Informação então é necessidade real nesses SGBDs, pois se há possibilidade de armazenamento há também a possibilidade de recuperar e mostrar estas informações aos usuários das aplicações. Para o SGBD Oracle, em estudo, tem-se uma preocupação em atender essa necessidade a partir do Oracle 9.i., que inclui em sua instalação o Intermídia. O Intermídia possui um pacote chamado Oracle Text que é composto de muitos dos métodos e técnicas vistos anteriormente, para recuperar informações do banco de dados e disponibilizar aos usuários, atendendo sua necessidade de informação. A seguir, é descrito com mais detalhes o pacote Oracle Text, por se tratar da solução encontrada para atender os requisitos funcionais da aplicação GED proposta, especialmente em relação à utilização dos métodos descritos anteriormente. 2.8. ORACLE TEXT O Oracle Text é uma ferramenta que permite a construção de aplicações de busca, em documentos, através de palavras-chaves e da classificação de documentos, fornecendo potencialidades na indexação e recuperação (ORACLE, 2002). Sua finalidade é permitir que os usuários encontrem o texto que contenha palavra(s) desejada(s) ou termos da pesquisa. O Oracle Text suporta os mais comuns formatos de texto, como HTML, XML(eXtended Markup Language), DOC(word) e PDF(Adobe Reader Download ). A aplicação de busca necessita criar um índice do tipo Contexto e se utilizar do operador CONTAINS para retornar os documentos que contenha a palavra da busca. O Oracle Text apresenta uma variedade de operadores que juntamente com CONSTAINS possibilitam a recuperação de documentos conforme a necessidade de busca do usuário. Esta busca pode ser realizada usando uma cláusula estruturada, o SELECT. Além disso, o Oracle Text permite a definição de uma enciclopédia para a aplicação de busca denominada Thesaurus. Com esta enciclopédia é possível processar buscas mais inteligentes. É possível definir sinônimos e alguns termos mais prováveis para a busca a ser realizada. Para o retorno da busca realizada pela aplicação o Oracle Text executa a utilização do 45 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer operador SCORE. Este operador calcula a contagem de relevância, quantidade de vezes, que as palavras aparecem em um documento retornado em uma busca, usa-se um algoritmo chamado de freqüência inversa, baseado na fórmula de Salton. O SCORE possibilita fazer uma classificação nos documentos retornados, dando uma equivalência maior para o documento em que a palavra aparece mais vezes. Sendo ainda possível o uso de outros operadores como Stemming (procura por palavras com mesmo radical), operadores lógicos AND, OR, NOT e MINUS, o Fuzzy procura por palavras que possuam similaridade, e Near procura por palavras próximas das outras. O Oracle Text fornece uma busca de texto poderosa e uma gerência inteligente adicionada ao Oracle9i, que permite uma recuperação rápida e exata da informação (ORACLE, 2002). 2.8.1. Índices Oracle Text Um índice do Oracle Text é uma configuração do domínio index. Uma aplicação de busca pode criar um índice do tipo CONTEXT e recuperar com o operador CONSTAINS. Índices são criados para tabelas que contenham documentos, ponteiros para um documento, ou fragmentos de texto. A criação de um índice Oracle Text é realizada com o SQL padrão. Isto significa que um índice do Oracle Text opera como um índice do Oracle. É atribuído um nome para referenciar o índice e pode ser manipulado com instrução padrão do SQL. Um benefício de criar um índice do Oracle Text é o tempo de resposta para uma busca. (ORACLE, 2002). O Oracle Text indexa o texto convertendo todas as palavras em tokens. A estrutura geral de um índice de CONTEXT é um índice invertido onde cada palavra contém uma lista para documentos (linhas) que contém essa palavra. Um exemplo: depois de indexado o texto, a palavra “cachorro” pode ter uma entrada em Documento1, Documento3 e Documento5. Isso significa que a palavra “cachorro” está contida nas linhas que armazenam os documentos um, três e cinco. Os índices que compõem o pacote Oracle Text são: • Context: o índice de contexto possui uma grande potencialidade de recuperação Fulltext, 46 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer tem-se a possibilidade recuperar documentos de diferentes formatos como: MS Word, HTML, XML, ou PDF. Com índice de contexto, pode-se comparar seu índice com uma variedade de métodos de recuperação; • Ctxcat: o primeiro índice de texto projetado especificamente para catálogos do eBusiness. Este tipo de índice de catálogo prove flexibilidade na procura e classificação do documento na própria rede; • Ctxrule: este índice é criado em uma tabela para estruturar uma classificação na aplicação do documento, onde as perguntas definem os critérios da classificação ou do roteamento; e • Ctxxpath: este índice é criado para quando houver a necessidade de busca em uma coluna de Xmltype. O índice utilizado para indexação neste trabalho é o Context. A Figura 11 apresenta o comando SQL que representa o modo de criação do índice no Oracle. Criação dos índices: Create index idx_lob_docs on docs(DOC) indextype is ctxsys.context; Figura 11. Comando SQL para criação dos índices na tabela Para que o índice reconheça uma inserção ou alteração no banco de dados, é necessário realizar atualizações no índice, é recomendado fazer Jobs, que ficarão atualizando o índice em um intervalo de tempo determinado. Para realizar esta atualização utiliza-se o código da Figura 12: Atualização: alter index idx_lob_docs rebuild Figura 12. Estrutura de índice para atualização da tabela A criação desse tipo de índice implica na descrição de vários parâmetros internos. Os quais são por default criados, a partir do comando descrito na Figura 11. Mas, todos estes parâmetros que influem na indexação dos documentos são o idioma inglês americano. Assim, a configuração destes índices é um ponto de grande importância para o funcionamento da indexação em conseqüência na recuperação de informações pelo índice. A Figura 13 mostra a estrutura que deve ser configurada para um melhor desempenho do índice. 47 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Os parâmetros descritos na Figura 13 são os essenciais para uma indexação apropriada para um determinado sistema de busca. O restante dos parâmetros não mencionado, por default, é configurado na criação do índice. Create index idx_lob_docs on docs(DOC) indextype is ctxsys.context PARAMETERS([datastore datastore_pref] [filter filter_pref] [charset column charset_column_name] [format column format_column_name] [lexer lexer_pref] [language column language_column_name] [wordlist wordlist_pref] [storage storage_pref] [stoplist stoplist] [section group section_group] [memory memsize] [populate | nopopulate]') Figura 13. Estrutura de índice para Configuração 2.8.1.1. Datastore O datastore possui tipos para especificar como seu texto é armazenado. Para criar uma preferência do datastore, deve usar um dos seguintes tipos: (ORACLE, 2002) • direct_datastore: os dados são armazenados internamente na coluna do texto. Cada linha é posicionada como um único documento; • multi_column_datastore: os dados são armazenados em uma tabela do texto em mais de uma coluna. As colunas são concatenadas para criar um documento virtual, um por linha; • detail_datastore: os dados são armazenados internamente na coluna do texto. O documento consiste em uma ou mais linhas armazenadas em uma coluna do texto em uma tabela do detalhe, com a informação de encabeçamento armazenada em uma tabela mestra; e • file_datastore: os dados são armazenados externamente em área do sistema operacional; • nested_datastore: os dados são armazenados em uma tabela aninhada. 48 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer • url_datastore: os dados são armazenados externamente nas área situadas em um Intranet ou na Internet. Os localizadores de recurso uniforme (urls) são armazenados na coluna do texto. • user_datastore: os originais são sincronizados no tempo de criação do índice e procedimento de armazenado. 2.8.1.2. Filter O Filter é uma opção para definir preferências nos parâmetros que determinam como o texto é filtrado na indexação. Para documentos formatados, o Oracle armazena documentos em seu formato nativo e usa filtros para construir um texto provisório ou versões do HTML dos documentos.(ORACLE 2002). Para criar uma preferência do filtro usa-se um dos seguintes tipos: • charset_filter: usa-se para converter documentos; • inso_filter: filtro para documentos formatados. Exemplo: ASCII Text; • null_filter: nenhum filtro. Usa-se para os originais do HTML, ou XML; • user_filter: filtro externo; e • procedure_filter: filtro armazenado em procedimento. 2.8.1.3. Lexer Usa-se a preferência do lexer para especificar a linguagem do texto a ser indexado. Para criar uma preferência existem os seguintes tipos de Lexer: • basic_lexer: Lexer para extrair o símbolo do texto em linguagem, tais como os ingleses e a maioria de línguas européias ocidentais que usam o espaço branco; e • multi_lexer: Lexer para indexação de tabela que contém documentos de idiomas diferentes (japonês, chinês e koreano). O basic_lexer possui os seguintes atributos: 49 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer • index_stems: especificação da linguagem para usar com o stemmer ($); • index_themes: especificação de sim ou não para indexar a informação do tema em uma linguagem; • index_text: especificação de sim ou não para a informação da palavra de índice. O default é não; • prove_themes: especificação de sim ou não. O prove_themes está relacionado na tentativa de encontrar temas em um documento; e • theme_language: especificação de qual base de conhecimento usar para a geração do tema quando os index_themes forem ajustados para sim. 2.8.1.4. Wordlist O Wordlist é usado para permitir as opções de busca como stemming, combinação fuzzy para um idioma. Para criar uma preferência do wordlist usa-se o basic_wordlist, que é o único tipo disponvel. O basic_wordlist possui alguns atributos opcionais para a definição em uma linguagem, dos quais destacam-se: • stemmer: especificação da linguagem stemmer a ser usada; • fuzzy_match: especificação do conjunto de combinação fuzzy a ser usado; • fuzzy_score: especificação de um limite mínimo default para contagem fuzzy. O texto com as contagens abaixo deste número não retornarão; e • fuzzy_numresults: especificação do número máximo de expansões fuzzy. O recomendável é utilizar um número entre Zero e 5.000. 2.8.1.5. Stoplist A Stoplists identifica as palavras em uma linguagem que não devem ser indexadas. Em inglês, pode-se também identificar os stopthemes que não devem ser indexados. O Oracle Text 50 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer fornece stoplists default para a maioria dos idiomas europeus, incluindo inglês, francês, alemão, espanhol, holandês, e o dinamarquês. A Figura 14 mostra a configuração do parâmetro de Stoplist, onde as palavras ali anexadas não serão indexadas pelo índice no momento em que forem inseridos na tabela. Begin ctx_ddl.create_stoplist('mystop', 'BASIC_STOPLIST'); ctx_ddl.add_stopword('mystop', 'é'); ctx_ddl.add_stopword('mystop', 'teu'); ctx_ddl.add_stopword('mystop', 'o'); ctx_ddl.add_stopword('mystop', 'a'); ctx_ddl.add_stopword('mystop', 'meu'); ctx_ddl.add_stopword('mystop', 'este'); ctx_ddl.add_stopword('mystop', 'esta'); end; Figura 14. Configuração de palavras para a Stoplist. Além de palavras, o Stoplist pode incorporar também frases e termos. A Figura 15 apresenta como são anexadas as frases. Begin Ctx_ddl.add_stoptheme('ged_stoplist', 'universidade do vale'); end; Figura 15. Configuração de termos e frases para a Stoplist. Há também comandos de exclusão de palavras e termos, como também para excluir Stoplist, conforme demonstram as Figuras 16 e 17. Begin ctx_ddl.drop_stoplist('ged_stoplist'); end; Figura 16. Configuração de termos e frases para a Stoplist. Begin Ctx_ddl.remove_stoptheme('ged_stoplist', 'universidade do vale'); end; Figura 17. Configuração de termos e frases para a Stoplist. 2.8.2. Recuperar Informação 51 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer A recuperação de informação no pacote do Oracle Text é realizada por uma função chamada CONTAINS. Esta função é aplicada no SQL juntamente com o comando SELECT, seus parâmetros de busca podem ser vistos na Figura 18. SELECT arquivo FROM docs WHERE CONTAINS (doc, 'palavra', 1) > 0; Figura 18. Comando de recuperação de Informação com comando constains Esta função de recuperação de informação pode ser refinada com a aplicação de operadores booleanos, lógicos e outros operadores que proporcionam um refinamento na busca de informações nos documentos indexados pelo índice. Este comando pode ler palavra por palavra, indexado pelo índice que está em forma de token, recuperando todos os documentos que represente à pesquisa. A lista com alguns dos operadores pode ser observado na Tabela 4. Tabela 4. Lista de operadores do grupo1. Operador Símbolo Equivalence = Near ; Weight * Threshold > Minus - Not ~ Whitin Nenhum And & Or | Accumulate , Descrição Especificar uma aceitável substituição para uma palavra na pesquisa. Contagem baseada na proximidade de dois ou mais termos da pesquisa. Próprio para contagem, usa-se com score Expressão elimina documentos com resultados inferiores ao especificado (>75) Procura por documentos que contém um termo da pesquisa menos o segundo termo. Procura por documentos que contém um termo da pesquisa e não um outro Operador para estreitar uma busca em documentos originais. Procura documentos que contém uma lista de ocorrência de cada termo da pesquisa. Documentos que contém com uma lista de ocorrência para qualquer do termo da questão. Procura por documentos que contém uma lista de ocorrência de qualquer termo da pesquisa. Fonte: ORACLE (2002) A precedência de operador determina a ordem em que os componentes de uma expressão de uma busca são avaliados. Os operadores de uma busca podem ser divididos em dois grupos de operadores que têm sua própria ordem da avaliação. A avaliação ocorre em uma ordem da esquerda 52 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer para a direita de acordo com a precedência de seus operadores. Os operadores com precedência mais elevada são aplicados primeiramente. Os operadores da precedência igual são aplicados pela ordem em que aparecem na expressão da esquerda para a direita. O segundo grupo é listado na Tabela 5. Tabela 5. Lista de operadores do grupo2. Operador Símbolo About Nenhum Stem $ Fuzzy Nehum Soundex ! Descrição ABOUT ampliando o número de documentos relevantes voltados para algumas pesquisas. Busca por termos que tem a mesma causa lingüística que o termo da pesquisa. Pesquisa com palavras incluídas, que são palavras similares para o termo especificado. Operador para expandir busca de palavras que têm sons similares. Fonte: ORACLE (2002) A Figura 19 apresenta um exemplo de uma consulta com um operador citado, onde seu resultado apresentara uma lista de documentos que contenham a palavra dog que esteja próxima da palavra cat por no mínimo 10 palavras. SELECT arquivo FROM docs WHERE CONTAINS (doc,'near((dog, cat), 10) ' , 1) > 0; Figura 19. Exemplo com uso de operador. 2.8.2.1. Thesaurus O Oracle Text permite criar enciclopédias case-sensitive ou case-insensitive que definem o synonym e relacionamentos hierárquicos entre palavras e frases. Pode-se, então, recuperar os documentos que contém o texto relevante, expandindo a busca para incluir termos similares ou relacionados como definidos na enciclopédia (ORACLE, 2002). 2.8.2.1.1. Case-insentive Em uma enciclopédia Case-insentive, os termos são armazenados igualmente, não tendo diferença de como foram incorporados, ou seja, armazenados no BD. Ao criar uma enciclopédia com o ctx_thes.create_thesaurus, a enciclopédia é Case-insentive por default. 53 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Quando uma enciclopédia Case-insentive é especificada em uma busca, o Oracle Text é incapaz de distinguir entre os termos que têm sentido diferentes. Um exemplo é uma enciclopédia Case-insentive é criada com as entradas diferentes para os dois sentidos distintos do termo “turquia” (o país ou o tipo do pássaro). Usando a enciclopédia, em uma busca pela palavra “turquia” ou “pássaro”, são convertidas em uma só. No caso a enciclopédia visualiza a busca como “turquia”, recuperando todos os documentos que possuam o mesmo sentido. A Figura 20 apresenta a criação de uma enciclopédia case-insentive (ORACLE, 2002) Begin Ctx_thes.create_thesaurus('tech_thes',False); End; Figura 20. Comando de criação de uma enciclopédia definida como Case-insensitive. 2.8.2.1.2. Case-sensitive Em uma enciclopédia case-sensitive, os termos (palavras e frases) são armazenados exatamente como foram incluídas. A busca retornará apenas termos com sentido igual ao definido. Ao criar o Thesaurus se for definida como verdadeira, a enciclopédia tornar-se case-sensitive. Com a criação do thesaurus é necessário incorporar sinônimos, termos, frases a enciclopédia. A Figura 21 apresenta a criação da palavra frase na enciclopédia. Begin Ctx_thes.create_phrase('tech_thes','Reitor'); Ctx_thes.create_phrase('tech_thes','José Roberto Provessi'); End; Figura 21. Comando de criação de frase para incorporar ao Thesaurus. Mesmo incluindo palavras a enciclopédia é necessário realizar um relacionamento entre estas palavras. Para isso pode-se especificar uma das seguintes relações (ORACLE, 2002). • BT (broader terms): adiciona uma relação hierárquica entre os termos; • NT (narrower terms): adiciona uma relação hierárquica entre os termos; • RT (related terms): adiciona uma relação associativa; • SYN (sinônimo): adiciona uma frase e ou palavra a seu sinônimo; e 54 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer • Specify language: adiciona tradução para uma frase ou palavra. A Figura 22 apresenta o relacionamento entre frases na enciclopédia criada. Begin Ctx_thes.create_relation('tech_thes','Reitor','NT','José Roberto Provessi'); End; Figura 22. Comando de criação do relacionamento entre as frases. Com a definição da enciclopédia, recuperam-se documentos através da busca usando as definições realizadas. A Figura 23 apresenta a função CONTAINS utilizando os operadores definidos. select id FROM tbl_doc_arm WHERE CONTAINS (DOC_BLOB,'SYN(reitor,ged)',1)>0"; Figura 23. Comando de recuperação utilizando sinônimos. 2.8.2.2. Score O operador SCORE é utilizado com a indicação SELECT juntamente com a função CONTAINS. Este operador retorna valores que representam uma indicação da freqüência em que um termo aparece em um documento. Este operador realiza o chamado ranking de relevância. Para calcular uma contagem da relevância para um documento em uma busca de palavra, o Oracle Text usa um algoritmo inverso da freqüência baseado na fórmula de Salton. O inverso da freqüência supõe que os termos que freqüentemente ocorre em um grupo de documentos são termos únicos, assim estes termos são selecionados com baixa contagem pelo operador. Para que um documento receba uma contagem alta, o termo da busca deve ocorrer freqüentemente no documento e não tão freqüente no grupo de documentos. A Figura 24 apresenta comando de seleção que utiliza o SCORE para realizar uma contagem de termos e uma classificação de ranking de relevância. select SCORE(1) score FROM tbl_doc_arm WHERE CONTAINS (DOC_BLOB,'SYN(reitor,ged)',1) > 0 ORDER BY SCORE(1) DESC"; Figura 24. Comando de seleção com score. 55 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer O Oracle Text tem uma grande quantidade de operadores e de funções para expressar a qualidade em suas buscas. Em relação a essa qualidade, destacam-se os seguintes termos: • Exact Match: incorpora uma ou mais palavras chaves que são contidas no original; • Word Positioning: procura por uma frase, ou palavras, perto de uma frase ou de uma palavras na mesma sentença; • Inexact Match: procura por palavras que possuam sinônimos, erros de datilografia, com a mesma raiz lingüística; • Intelligent Match: procura por temas nos originais. Por exemplo, “carro”, a busca traria tudo que se referisse a esta palavra no caso “automóvel”; • Boolean Combinations: recuperam a informação com os operadores AND, OR e NOT; e • Relevance Ranking: classifica resultados de acordo com o texto, combinando os critérios da busca. 56 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 3. DESENVOLVIMENTO 3.1. INTRODUÇÃO O Sistema Gerenciador Eletrônico de Documentos Institucionais tem como propósito gerenciar os documentos que são publicados pela Secretaria dos Conselhos Superiores da UNIVALI, tanto na sua armazenagem quanto na sua recuperação, fornecendo suporte à tomada de decisão em relação à legislação educacional. O sistema também possibilita aos usuários cadastrados consultar os documentos, oferecendo segurança e disponibilidade de acesso. A modelagem do Sistema foi realizada na ferramenta Enterprise Architect, voltada para a UML. Na modelagem de dados utilizou-se a ferramenta ERWin para a construção do Diagrama Entidade-Relacionamento. Para a implementação do sistema foi utilizada a linguagem PHP, uma vez que a UNIVALI utiliza esta linguagem de programação para as aplicações Web. Para armazenar os dados provenientes da aplicação foi utilizado o SGBD Oracle 9.i., visto que também é utilizado pela UNIVALI nas aplicações corporativas, além de possuir embutido um pacote de funcionalidades, denominado Oracle Text, que possibilita o armazenamento e a recuperação de dados binários em campos Blob, sendo assim possível a implementação do sistema GED proposto. 3.2. LEVANTAMENTO DE REQUISITOS A etapa de levantamento de requisitos é imprescindível em qualquer projeto de software, uma vez que é nessa etapa que se identifica as necessidades de automatização dos processos e as possíveis dificuldades ou restrições, resultando posteriormente no escopo do sistema. As técnicas utilizadas para o levantamento dos requisitos envolveram entrevistas e observações de procedimentos junto à Secretária dos Conselhos Superiores e Coordenação do Curso de Ciência da Computação. Ficou evidenciada a preocupação da Secretária dos Conselhos Superiores quanto aos aspectos de segurança, especialmente em relação ao acesso não autorizado aos documentos, uma vez que nem todos os documentos produzidos podem ser disponibilizados para consulta. Diante dessa preocupação, foi sugerido que cada documento armazenado contenha um indicador de restrição de acesso, a ser definido pelo administrador do sistema. Assim, ficou estabelecido que os 57 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer usuários poderão acessar somente os documentos que estejam com restrição compatível com o seu nível de autorização. A Secretaria dos Conselhos Superiores já dispunha de um sistema de informação de controle de documentos publicados, construído no ambiente Microsoft Access. Contudo, esse sistema não atendia completamente às necessidades, limitando-se apenas ao cadastro de alguns dados dos documentos, sem vincular o documento digitalizado. Nesse sistema é possível consultar alguns elementos do documento, tais como número do documento, data de publicação e assunto que trata o mesmo. No âmbito da UNIVALI também não havia registro de algum sistema ou ferramenta similar, de tal forma que pudesse ser ampliado ou adequado às necessidades de um GED. Vale ressaltar que a proposta inicial deste trabalho era focar o desenvolvimento mais nos mecanismo de indexação, armazenamento e recuperação de documentos em banco de dados textuais. Entretanto, considerando a dificuldade de identificar quais as técnicas e algoritmos que os fornecedores de SGBD implementam em seus produtos e, considerando a importância da aplicação GED no contexto de documentos institucionais da UNIVALI, houve uma revisão dos objetivos iniciais e a decisão pesou mais para a construção de uma aplicação, utilizando-se o pacote de funcionalidades Oracle Text. Os seguintes requisitos funcionais foram identificados para o sistema proposto: • RF01 - o sistema deve permitir o cadastramento arquivo PDF ou DOC do documento; • RF02 - o sistema deve permitir a consulta de documento através de palavras chaves; • RF03 - o sistema deve permitir nível de restrição à consulta de documentos; • RF04 – o sistema deve permitir para cada usuário um tipo de menu; • RF05 - o sistema deve permitir identificação da validade de documentos; e • RF06 - o sistema deve permitir vinculação entre documentos. 3.3. MODELAGEM DE PROCESSOS Com base na identificação dos requisitos do sistema, a etapa seguinte do trabalho foi construir a modelagem de processos. Para tanto, utilizou-se os conceitos e as técnicas de desenvolvimento de software vistos no decorrer do curso de Ciência da Computação. 58 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer A notação utilizada neste projeto para a modelagem de processos foi baseada na UML, restringindo-se à construção dos Casos de Uso e Diagrama de Atividades. Para facilitar a modelagem dos processos e possibilitar uma consistência entre os documentos produzidos, optou-se pela utilização da ferramenta Enterprise Architect, uma vez que esta possibilita a construção dos artefatos UML, auxiliando o desenvolvedor na visualização dos módulos do sistema e como devem ser implementados. 3.3.1.1. Casos de Uso EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 - U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U nre nre nre nre nre nre nre nre nre nre nre gis gis gis gis gis gis gis gis gis gis gis ter ter ter ter ter ter ter ter ter ter ter ed ed ed ed ed ed ed ed ed ed ed TR TR TR TR TR TR TR TR TR TR TR IAL IAL IAL IAL IAL IAL IAL IAL IAL IAL IAL Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi on on on on on on on on on on on EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 - U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U nre nre nre nre nre nre nre nre nre nre nre gis gis gis gis gis gis gis gis gis gis gis ter ter ter ter ter ter ter ter ter ter ter ed ed ed ed ed ed ed ed ed ed ed TR TR TR TR TR TR TR TR TR TR TR IAL IAL IAL IAL IAL IAL IAL IAL IAL IAL IAL Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi on on on on on on on on on on on Segundo Larman (2000), os diagramas Caso de Uso (ou Use-Case) descrevem os requisitos de um sistema de maneira consensual entre usuários e desenvolvedores. Estes diagramas fornecem uma descrição consciente e clara das responsabilidades atribuídas ao sistema. Diagramas de Casos de Uso são definidos como conjunto de seqüências de ações que um sistema desempenha para gerar resultados observáveis a um ator específico. A Figura 25 apresenta a organização dos Casos de Uso em pacotes. Pacote 01 - Cadastro + Admi nistrador + UC 01.01 Loga no Sistema + UC 01.02 Manter Ti po Documento + UC 01.03 Manter Vi ncul o + UC 01.04 Manter Documento + UC 01.05 Manter Conselho + UC 01.06 Manter Usuário + UC 01.07 Manter Categoria + UC 01.08 Manter Privilégio + UC 01.09 Manter Restrição + UC 01.10 Log Acesso + UC 01.11 Manter Si tuação + UC 01.12 Vincula Documento Pacote 03 - Configuração Sistema + + UC 03.01 Manter Menu + UC 03.02 Manter Menu categori a + UC 03.03 Manter Categoria/Usuári o Figura 25. Organização dos Use-Cases Pacote 02 - Consulta + Usuário + UC 02.01 Consulta Documento 59 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer U C 0 1 .0 1 L og a no S i s te m a « in clu d e » « in clu d e » « in clu d e » « in clu d e » U C 0 1 . 0 4 M a n te r D o c u m e n to U C 0 1 .0 2 M a n te r Ti p o D o c u m e n to « in cl u d e » U C 0 1 . 0 7 M a n te r C a te g o r ia « in clu d e » « in clu d e » U C 0 1 .0 9 M a n te r R e s tr i ç ã o « in clu d e » « in clu d e » « in cl u d e » « in clu d e » U C 0 1 .0 3 M a n te r V inc ulo U C 0 1 . 0 5 M a n te r C o ns e lho U C 0 1 .1 1 M a n te r S i tu a ç ã o U C 0 1 .1 0 L o g Acesso U C 0 1 .0 6 M a n te r U s u á r io U C 0 2 . 0 1 C o n s u l ta D o c u m e n to (f ro m P a c o t e 0 2 - C o n s u l t a ) Figura 26. Diagramas de casos de uso do sistema: visão do administrador Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 - U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U nr nr n n n n n n n n n n n n n n n n n n n n eg eg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg ste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste red red red red red red red red red red red red red red red red red red red red red red red TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV er er er er er er er er er er er er er er er er er er er er er er er sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio n n n n n n n n n n n n n n n n n n n n n n n de um administrador do sistema. EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 - U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U 1- U nr nr n n n n n n n n n n n n n n n n n n n n eg eg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg reg ste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste iste red red red red red red red red red red red red red red red red red red red red red red red TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV LV er er er er er er er er er er er er er er er er er er er er er er er sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio sio n n n n n n n n n n n n n n n n n n n n n n n EA O modelo de Casos de Uso do sistema é apresentado na Figura 26, onde observa-se a visão USE U C 0 1 .1 2 V inc ula D o c u m e n to A d m i n i s tr a d o r U C 0 1 . 0 8 M a n te r P r i v i lé g i o 60 A seguir, apresenta-se a especificação dos Casos de Uso “cadastramento de documentos” e “consulta de documentos” para compreensão do sistema. A especificação dos demais Casos de Uso encontra-se no Apêndice I. UC 01.04 Manter Documento Objetivo: Realizar a inclusão, alteração e exclusão dos documentos e seus respectivos dados. Pré-condição: Administrador deve estar logado no sistema eletrônico de documentos. Cadastra Documento: {Principal}. 1. administrador seleciona opção cadastro de documento; 2. administrador informa e seleciona dados do documento a ser cadastrado; 3. administrador atribui nível de restrição ao documento; 4. administrador seleciona arquivo (PDF/DOC) do documento a ser cadastrado; 5. administrador confirma cadastro documento; 6. sistema insere dados documento;e 7. sistema confirma cadastro documento. Documento vincular: {Alternativo}. No passo 6 o administrador pode realizar vinculação entre documentos a partir do UC 01.12. alterar documento {Alternativo}. Se no passo 1 o administrador optar por alterar segue a ordem abaixo. 1.1 administrador seleciona opção alterar documento; 1.2 administrador seleciona documento a ser alterado; 1.3 .administrador confirma as alterações no documento; 1.4. administrador anexa arquivo; 1.5. administrador confirma alteração documento; 1.6. sistema altera dados do documento;e 1.7. sistema confirma alteração documento; Excluir documento {Alternativo}. No passo 1 o administrador pode escolher a opção excluir documento. 1.1. administrador seleciona documento a ser excluido; 1.2. administrador confirma a exclusão no documento; 1.3. sistema exclui dados do documento;e 1.4. sistema confirma exclusão documento; Documento Cadastrado: {Exceção}. Se no passo 6 o documento já estiver cadastrado a operação apresenta mensagem "Documento já Cadastrado”. Retorna ao passo 2. Documento campos preencha: {Exceção}. Se no passo 6 faltar preencher campos sistema apresenta mensagem "Preencha todos os campos”. Retorna ao passo 2. Excluir erro {Exceção}. No passo 1.2. se os dados do documento não foram selecinado ou preenchido apresenta mensagem " preenche campos". Alterar erro {Exceção}. No passo 1.5 se os dados estiverem incompletos apresenta mensagem " Não pode ser Alterado" Retorna passo 1.2 61 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer UC 02.01 Consulta Documento Objetivo: Consultar documentos armazenados no banco de dados, através de palavras chaves, ou dados persistentes ao documento. Consulta busca simples: {Principal}. 1. usuário seleciona opção de consulta simples; 2. usuário digita palavra chave para pesquisa; 3. sistema realiza pesquisa da palavra chave nos documentos cadastrados; 4. sistema compara a restrição de cada documento encontrado com privilegio do usuário que realiza pesquisa ; 5. sistema lista documentos encontrados que tenha permissão para ser exibido; 6. usuário seleciona documento da lista; 7. o documento selecionado é visualizado; e 8. usuário retorna para nova consulta ou retorna ao menu. Busca simples dados não encontrados: {Exceção}. Se no passo 3 os documentos não forem encontrados informa mensagem " documento não encontrados ". Retorne passo 2. Documento busca simples campos preencha:{Exceção}. Se no passo 3 os campos não forem preenchidos informa mensagem "preencha campo pesquisa". Retorne passo 2. Consulta busca avançada: {Alternativo}. No passo 1 se o usuário optar por uma busca avançada segue a seqüência abaixo. 1.1. usuário informa argumentos da pesquisa: palavra chave, tipo documento, conselho; 1.2. sistema faz pesquisa através dos campos na base de dados; 1.3. sistema compara a restrição de cada documento encontrado com privilegio do usuário que realiza pesquisa; 1.4. sistema retorna uma lista de documento(s) pesquisado(s) que tenham permissão para ser exibido. 1.5. lista com documentos encontrados é exibida; 1.6. usuário seleciona documento da lista; 1.7. o documento selecionado é visualizado; e 1.8. usuário retorna, para nova consulta ou retorna ao menu. Documento busca avançado campo preencha: {Exceção}. Se no passo 1.2 os campos não forem preenchidos apresenta mensagem “Preencha os campos”. Retorna passo1. 1. Busca avançada dados não encontrados: {Exceção}. Se no passo 1.2 os documentos não forem encontrados informa mensagem " Não há dados para a palavra pesquisada ".(TEL 002) Retorne passo 1.1. 3.3.2. Diagrama de Atividades Um Diagrama de Atividades ilustra as fases de um processo do sistema. Cada fase pode implicar na execução de outra ou em um final esperado (LARMAN, 2000). Para representar o sistema é preciso considerar as diferentes interações com o usuário. Assim, existem alguns diagramas de atividades para as funcionalidades da aplicação. 62 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer A Figura 28 apresenta o Diagrama de Atividades do “cadastro de documentos”. O diagrama representa graficamente as atividades executadas pelo administrador nesse processo. A Figura 27 apresenta o Diagrama de Atividades da “consulta de documentos”, que pode ser realizada a partir de uma palavra chave, ou em modo avançado através de campos pré-definidos para busca do documento no banco de dados. Os diagramas apresentados nesta seção representam os principais fluxos do sistema GED proposto, sendo que os demais Diagramas de Atividades estão no Apêndice I. 63 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -U -U -U -U -U -U -U -U -U -U -U -U -U -U -U -U nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg e ist ist ist ist ist ist ist ist ist ist ist ist ist ist ist ist er er er er er er er er er er er er er er er er ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed e TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA L L L L L L L L L L L L L L L Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rs rs rs rs rs rs rs rs rs rs rs rs rs rs ion ion ion ion ion ion ion ion ion ion ion ion ion io NÃ O NÂ O B u sc a a v a n ç a d a ? In ic io C o n s u l ta S IM P e sq u i sa r ? F in a l c o n s u l ta G e r a u m a Te la " A r q u i v o n ã o e n c o n tr a d o " NÃ O M o s tr a l i s ta d e d o c u m e n to s v i z u a l i z a r o u t ro d o c u m e n to S IM V iz u a liz a a r q u iv o P D F ou DO C Figura 27. Diagramas de atividade: consulta de documentos Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA 3. 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 51 .51 .51 .51 .51 .51 .51 .51 .51 .51 .51 .51 .51 .51 .51 .51 nr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg e ist ist ist ist ist ist ist ist ist ist ist ist ist ist ist ist er er er er er er er er er er er er er er er er ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed e TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA LV LV LV LV LV LV LV LV LV LV LV LV LV LV L er er er er er er er er er er er er er er sio sio sio sio sio sio sio sio sio sio sio sio sio sio n n n n n n n n n n n n n S IM U s u a r i o d ig ita P a la v r a Chav e S i s te m a P r o c u r a d o c u m e n to s s is te m a c o m p a r a r e s tr iç ã o d o c u m e n to c o m p r i v i l é g i o u s u á r io Não O d o c u m e n to e n c o n t ra d o ? S im u s u á r io S e le c io n a o d o c u m e n to EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1- 1nr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr Unr eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg e ist ist ist ist ist ist ist ist ist ist ist ist ist ist ist ist er er er er er er er er er er er er er er er er ed ed ed ed ed ed ed ed ed ed ed ed ed ed ed e TR TR TR TR TR TR TR TR TR TR TR TR TR TR TR IA IA IA IA IA IA IA IA IA IA IA IA IA IA IA LV LV LV LV LV LV LV LV LV LV LV LV LV LV L er er er er er er er er er er er er er er sio sio sio sio sio sio sio sio sio sio sio sio sio sio n n n n n n n n n n n n n A rg u m e P e s q u is a c hav e, docum e n to s d e (p a l a v r a ti p o d e n to , e tc . ) EA EA EA EA EA EA EA A dm inis tra d or s e le c ion a D o c u m e nto a s e r e x c lu ido NÃ O a dm inis tra d or e x c lui do c um e n to EA 65 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer EA Figura 28. Diagramas de atividade: cadastro de documentos EA d o cu m e n to e xc l u i r o u tro d o cu m e n to EA NÃ O on on on on on on on on on on on on rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve AL AL AL AL AL AL AL AL AL AL AL AL AL RI RI RI RI RI RI RI RI RI RI RI RI RI d T dT d T d T dT d T d T dT d T d T d T d T dT ere ere ere ere ere ere ere ere ere ere ere ere ere ist ist ist ist ist ist ist ist ist ist ist ist ist reg reg reg reg reg reg reg reg reg reg reg reg reg Un Un Un Un Un Un Un Un Un Un Un Un Un 1- 1 - 1 - 1- 1 - 1 - 1- 1 - 1 - 1 - 1 - 1- 1 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 EA S IM EA EA EA S IM a d m inis tra d or s e le c io na o pç ã o e x c lu ir do c u m e nto F in a l c a d a s tro EA EA EA S IM on on on on on on on on on on on on rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve AL AL AL AL AL AL AL AL AL AL AL AL AL RI RI RI RI RI RI RI RI RI RI RI RI RI d T dT d T d T dT d T d T dT d T d T d T d T dT ere ere ere ere ere ere ere ere ere ere ere ere ere ist ist ist ist ist ist ist ist ist ist ist ist ist reg reg reg reg reg reg reg reg reg reg reg reg reg Un Un Un Un Un Un Un Un Un Un Un Un Un 1- 1 - 1 - 1- 1 - 1 - 1- 1 - 1 - 1 - 1 - 1- 1 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 EA EA EA EA EA EA EA EA EA EA EA EA NÃ O a dm in is tra do r s e le c io n a d o c u m e nto a s e r a lte r a d o A l te ra r o u tro NÃ O S a i r d o C a d a stro In ic io EA EA a dm in is tra do r c o nfirm a a lte ra ç ã o EA EA EA EA on on on on on on on on on on on on rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve AL AL AL AL AL AL AL AL AL AL AL AL AL RI RI RI RI RI RI RI RI RI RI RI RI RI d T dT d T d T dT d T d T dT d T d T d T d T dT ere ere ere ere ere ere ere ere ere ere ere ere ere ist ist ist ist ist ist ist ist ist ist ist ist ist reg reg reg reg reg reg reg reg reg reg reg reg reg Un Un Un Un Un Un Un Un Un Un Un Un Un 1- 1 - 1 - 1- 1 - 1 - 1- 1 - 1 - 1 - 1 - 1- 1 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 S IM a dm in is tra do r in s e re no v os d a do s EA EA EA d o cu m e n to s? a dm inis tra d or c on firm a c a d a s tro C a d a stra r m a i s a dm in is tra do r a n e x a a rq uiv o d o d oc um e n to a s e r c a da s tra do a dm in is tra do r de fin e d e re s triç ã o p a ra do c u m e nto a s e r c a d a s tra d o a d m inis tr a d or e ntra c o m d a do s re la c io n a d os c o m do c um e n to a s e r c a d a s tra d o (n úm e ro , tip o do c um e n to, a n o d iv u lga ç ã o ) 3.4. DIAGRAMA DE CLASSE A Figura 29 apresenta a pré-modelagem dos dados do sistema proposto, por meio do diagrama de Classes. Figura 29. Diagrama de Classe Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 3.5. MODELAGEM DE DADOS A Modelagem de Dados compreende a criação das tabelas e seus atributos utilizados pelo sistema no banco de dados, conforme definição realizada nos modelos lógico e físico do banco de dados e ilustrados nas Figuras 30 e 31, respectivamente. O SGBD utilizado foi o Oracle 9.i. por ser um banco estável e robusto, além de dispor na sua versão um pacote que permite à aplicação realizar buscas em documentos, bem como utilizá-la em ambiente Web. A partir da modelagem de dados na ferramenta ERWin foi gerado um script para a criação das tabelas do sistema no SGBD Oracle. Figura 30 – Modelo lógico do banco de dados 67 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 31 – Modelo Físico do banco de dados Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 3.5.1. Dicionário de Dados O Dicionário de Dados contém a lista e a descrição das tabelas utilizadas pelo sistema (Tabela 6) e a definição dos atributos dessas tabelas, identificando quais desses atributos são chaves primárias e chaves estrangeiras (Tabela 7 a 20). Convencionou-se a simbologia PK para representar as chaves primárias e FK para chaves estrangeiras. Tabela 6. - Descrição das Tabelas de Dados utilizadas no Sistema NOME TABELA TBL_USUARIOS TBL_ CATE_USUA TBL_CATEGORIAS TBL_MENU_USUA TBL_MENU TBL_LOGS_ACESSOS TBL_CONSELHOS TBL_VINCULAÇÃO TBL_TIP_VINCULO TBL_SITUACAO TBL_PESSOA TBL_DOC_ARMAZENA TBL_TIP_DOCUMENTO TBL_RES_DOCUMENTO TBL_PRI_CATEGORIAS TBL_DOCUMENTO DESCRIÇÃO Tabela referente aos usuários do sistema Tabela das categorias e respectivos usuários Tabela que define as categorias de acesso ao sistema Tabela das categorias e menus/opções do sistema Tabela dos menus do sistema Tabela referente aos dados de log de acesso Tabela referente aos Conselhos Superiores existentes Tabela referente ao vínculo com outros documentos Tabela referente aos tipos de vínculos existentes Tabela referente à situação de um documento Tabela com os dados cadastrais dos usuários Tabela que armazena o documento binário Tabela referente ao tipo do documento no sistema Tabela define nível de acesso ao documento Tabela define privilégios da categoria aos documentos Tabela com os dados dos documentos armazenados Tabela 7. Dicionário de dados da tabela TBL_DOCUMENTO ATRIBUTO COD_DOC COD_RES COD_TIPO COD_SITU COD_CONS COD_DOC_ARM TIPO NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER DESCRIÇÃO Chave primária – Código do documento Chave estrangeira – Código restrições Chave estrangeira – Código tipo Chave estrangeira – Código situação Chave estrangeira – Código conselho Chave estrangeira – Código documento armazenado DATA_DIVULGA DATE Data divulgação do documento ANO_DIVULGA NUMBER Ano divulgação documento CABEÇALHO VARCHAR2(100) Assunto que o documento está relacionado NUMERO_DOC NUMBER Número do documento DATA_INI_VALIDADE DATE Data inicial para validade do documento DATA_FIM_VALIDADE DATE Data final para validade do documento Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Tabela 8. Dicionário de dados da tabela TBL_CATEGORIAS ATRIBUTO COD_CATE COD_PRI DESCR_CATE TIPO NUMBER NUMBER VARCHAR2(35) DESCRIÇÃO Chave primária - Código da categoria Chave estrangeira - Código do privilégio Descrição da categoria Tabela 9. Dicionário de dados da tabela TBL_MENU_USUA ATRIBUTO COD_CATE COD_MENU TIPO NUMBER NUMBER DESCRIÇÃO Chave estrangeira - Código da categoria Chave estrangeira - Código do menu Tabela 10. Dicionário de dados da tabela TBL_MENU ATRIBUTO COD_MENU DESCR_MENU TIPO TIPO NUMBER VARCHAR2(35) NUMBER DESCRIÇÃO Chave primária – Código do menu Descrição do menu para o sistema Classificação de tipo de menu para o sistema Tabela 11. Dicionário de dados da tabela TBL_LOGS_ACESSO ATRIBUTO COD_LOG COD_USUA DT_LOG DESCR_LOG TIPO NUMBER NUMBER DATE LONG VARCHAR DESCRIÇÃO Chave primária – Código do log Chave estrangeira – Código do usuário. Hora de inclusão do log no sistema Descrição da atividade no sistema Tabela 12. Dicionário de dados da tabela TBL_CONSELHOS ATRIBUTO COD_CONS DESCR_CONS ABREV TIPO NUMBER VARCHAR2(35) VARCHAR2(15) DESCRIÇÃO Chave primária – Código do Conselho Superior Descrição do nome do Conselho Superior Abreviatura do Conselho Superior Tabela 13. Dicionário de dados da tabela TBL_VINCULAÇÃO ATRIBUTO COD_DOC COD_TIP_VINCULO COD_DOC_VINCULADO TIPO NUMBER NUMBER NUMBER DESCRIÇÃO Chave estrangeira – Código do documento Chave estrangeira – Código do tipo vínculo Código dos documentos vinculados 70 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Tabela 14. Dicionário de dados da tabela TBL_TIP_VINCULO ATRIBUTO COD_TIP_VINCULO DESCR_VINCULO TIPO DESCRIÇÃO NUMBER Chave primária – Código do tipo de vínculo VARCHAR2(10) Descrição do tipo de vínculo Tabela 15. Dicionário de dados da tabela TBL_PESSOA ATRIBUTO COD_PESS NOME RG CPF ENDERECO COMPLEMENTO BAIRRO CEP CIDADE TELEFONE_COM TELEFONE_RES TELEFONE_CEL EMAIL TIPO NUMBER VARCHAR2(20) VARCHAR2(10) VARCHAR2(20) VARCHAR2(30) VARCHAR2(20) VARCHAR(10) VARCHAR(10) VARCHAR2(20) NUMBER NUMBER NUMBER VARCHAR2(60) DESCRIÇÃO Chave primária – Código da pessoa Nome da pessoa RG da pessoa CPF da pessoa Endereço de contato da pessoa Complementares do endereço Bairro do endereço CEP do endereço Cidade do endereço Telefone comercial Telefone residencial Telefone celular E-mail da pessoa Tabela 16. Dicionário de dados da tabela TBL_DOC_ARMAZENA ATRIBUTO COD_DOC_ARM NOME_DOC DOC_BLOB TIPO NUMBER VARCHAR2(35) BloB DESCRIÇÃO Chave primária – Código do documento armazenado Nome do documento armazenado Dados binários Tabela 17. Dicionário de dados da tabela TBL_RES_DOCUMENTO ATRIBUTO COD_RES DESCR_RES TIPO NUMBER VARCHAR2(35) DESCRIÇÃO Chave primária – Código da restrição Descrição da restrição para os documentos Tabela 18. Dicionário de dados da tabela TBL_PRI_CATEGORIA ATRIBUTO COD_PRI DESCR_PRI TIPO NUMBER VARCHAR2(35) DESCRIÇÃO Chave primária – Código do privilégio Descrição do privilégio aos documentos 71 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Tabela 19. Dicionário de dados da tabela TBL_USUARIOS ATRIBUTO COD_USUA COD_PESS LOGIN SENHA TIPO NUMBER NUMBER VARCHAR2(20) VARCHAR2(20) DESCRIÇÃO Chave primária – Código do usuário Chave estrangeira – Código da pessoa Login de acesso do usuário Senha de acesso ao sistema Tabela 20. Dicionário de dados da tabela TBL_CATE_USUA ATRIBUTO COD_USUA COD_CATE COD_CONS TIPO NUMBER NUMBER NUMBER DESCRIÇÃO Chave estrangeira - Código do usuário Chave estrangeira - Código da categoria Chave estrangeira - Código do Conselho Superior 3.6. IMPLEMENTAÇÃO 3.6.1. Oracle Text No desenvolvimento deste projeto foi utilizado o pacote Oracle Text na configuração do índice, que possibilita o full text dos arquivos armazenados nas tabelas, de maneira apropriada a atender as necessidades encontradas nos documentos dos Conselhos Superiores da UNIVALI. Como descrito anteriormente, a criação do índice é composta de vários parâmetros fundamentais. Tanto a criação do índice como a dos parâmetros desse índice, utilizados no projeto, podem ser observados nesta seção. A Figura 32 apresenta o código utilizado para a criação da tabela TBL_DOC_ARMAZENA, relacionada no Diagrama ER e utilizada para armazenar os arquivos que são gerados pelos Conselhos Superiores. Create table tbl_doc_armazena( cod_doc_arm number not null, nome_doc varchar (60), doc_Blob blob not null ); Figura 32. Comando SQL para criação da tabela. 72 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Com base na Figura 32, pode-se observar na Figura 33 a criação do índice de contexto, responsável pela indexação dos arquivos armazenados na tabela TBL_DOC_ARMAZENA (doc_blob) para o projeto. create index idx_doc_armazena on tbl_doc_armazena(doc_blob) indextype is ctxsys.context parameters ( 'datastore ged_datastore lexer ged_lexer filter CTXSYS.NULL_FILTER wordlist ged_wordlist stoplist ged_stoplist' ); Figura 33. Comando SQL para criação do índice de Contexto. A criação do índice de contexto para a tabela no banco de dados requer a definição dos parâmetros de configuração. Estes parâmetros, já mencionados anteriormente, são definidos antes da criação do índice. Os parâmetros definem o modo como o índice deve indexar, ou seja, relacionar em forma de uma lista as palavras contidas nos arquivos armazenados. A seguir pode-se observar a criação desses parâmetros para o índice IDX_DOC_ARMAZENA. A Figura 34 apresenta o parâmetro datastore que é denominado ged_datastore. Já na Figura 35 é apresentado o parâmetro lexer denominado ged_lexer, assim também acontece com o parâmetro filter, definido como null_filter, ou seja, não havendo filtros. Na Figura 36 é apresentado o parâmetro wordlist, denominado ged_wordlist, e, por fim o parâmetro stoplist, que aparece na Figura 37 denominado ged_stoplist. Begin ctx_ddl.create_preference('ged_datastore','DIRECT_DATASTORE'); end; Figura 34. Comando SQL para criação do parâmetro de configuração datastore. Begin ctx_ddl.create_preference('ged_lexer', 'BASIC_LEXER'); end; Figura 35. Comando SQL para criação do parâmetro de configuração lexer. Begin ctx_ddl.create_preference('ged_wordlist', 'BASIC_WORDLIST'); end; Figura 36. Comando SQL para criação do parâmetro de configuração wordlist. 73 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Begin ctx_ddl.create_stoplist('ged_stoplist', 'BASIC_STOPLIST'); end; Figura 37. Comando SQL para criação do parâmetro de configuração stoplist. Nesse ponto da configuração têm-se apenas os parâmetros criados, faltando adicionar dados a estes parâmetros ou simplesmente setar uma opção no determinado parâmetro. Apresenta-se na Figura 38 a definição de opções do parâmetro ged_lexer, onde o atributo index_themes é atribuído com valor sim para palavras termos, theme_language é definido juntamente com o index_themes, ou seja, define que possibilitará o uso da base de dados contidas no thesaurus, o qual é abordado mais adiante nesta seção. E, por fim, o atributo index_text que define “sim” para informação de palavras indexadas. Begin ctx_ddl.set_attribute ( 'ged_lexer', 'index_themes', 'yes'); ctx_ddl.set_attribute ( 'ged_lexer', 'theme_language', 'auto'); ctx_ddl.set_attribute ( 'ged_lexer', 'index_text', 'yes'); end; Figura 38. Comando SQL para definição do parâmetro de configuração ged_lexer. Na Figura 39 apresenta-se a definição do parâmetro ged_wordlist. begin ctx_ddl.set_attribute('ged_wordlist','FUZZY_MATCH','auto'); ctx_ddl.set_attribute('ged_wordlist','FUZZY_SCORE','0'); ctx_ddl.set_attribute('ged_wordlist','SUBSTRING_INDEX','TRUE'); ctx_ddl.set_attribute('ged_wordlist','FUZZY_NUMRESULTS','5000'); ctx_ddl.set_attribute('ged_wordlist','STEMMER','auto'); end; Figura 39. Comando SQL para definição do parâmetro de configuração ged_wordlist Na Figura 40 apresenta-se a definição do parâmetro ged_stoplist. begin ctx_ddl.add_stopword ('ged_stoplist', 'a'); ctx_ddl.add_stopword ('ged_stoplist', 'bem'); ctx_ddl.add_stopword ('ged_stoplist', 'de'); end; Figura 40. Comando SQL para definição do parâmetro de configuração ged_stoplist 74 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Os parâmetros utilizados pelo índice já estão criados, porém ainda há necessidade de se criar uma enciclopédia, no caso conhecido como thesaurus. Com o thesaurus pode-se criar uma base de conhecimento capaz de recuperar arquivos através de sinônimos da palavra usada na busca, frases ou termos, além de tradução de palavras definidas no thesaurus. A Figura 41 apresenta a criação do thesaurus ged para o projeto. Begin ctx_thes.create_thesaurus('ged', false); end; Figura 41. Comando SQL para criação do thesaurus ged. Assim como nos parâmetros de configuração do índice, há necessidade de incluir informações no thesaurus, essas informações obedecem a seguinte ordem. Ao criar-se frases para o thesaurus, elas são associadas de quatro formas: • Podem ser relacionadas por uma relação hierárquica (NT/BT); • Podem ser relacionadas por uma relação associativa (RT); • Podem ser relacionadas por uma relação de sinônimos (SYN); e • Podem ser relacionadas por uma relação de especificação de língua (tradução) begin ctx_thes.create_phrase('ged','Reitor'); ctx_thes.create_phrase('ged','José Roberto Provesi'); end; Figura 42. Comando SQL para incluir frase no thessaurus ged. begin ctx_thes.create_relation('ged', 'Reitor', 'NT', 'José Roberto Provesi'); end; Figura 43. Comando SQL para relacionar frase ao thessaurus ged. Ao finalizar a configuração e a criação do índice, como também a criação da enciclopédia, base de conhecimento, pode-se então realizar o armazenamento dos arquivos para posteriormente recuperação dos mesmos. Esse armazenamento é realizado através do procedimento 75 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer insert_doc_blob. A Figura 44 apresenta a execução do procedimento, que tem como definição o diretório onde o arquivo está fisicamente e o nome do arquivo que será armazenado. begin insert_doc_blob('diretório','nome_arquivo'); end; Figura 44. Procedimento para armazenar arquivos Após o arquivo ser armazenado no banco de dados será necessário realizar uma atualização do índice. A Figura 45 apresenta essa atualização. begin alter index idx_doc_armazena rebuild; end; Figura 45. Atualização do índice no banco de dados. Finalizado o armazenamento do arquivo pela função apresentada na Figura 45 pode-se, então, recuperar esses arquivos através da função de SELECT/CONTAINS. A Figura 46 apresenta esse comando SQL responsável pela recuperação dos arquivos no banco de dados. A função CONTAINS passa como parâmetro, para recuperar o arquivo, o campo onde está sendo armazenado os arquivos e a palavra que deve ser procurada. SELECT arquivo FROM docs WHERE CONTAINS (doc_blob, 'oracle') > 0; Figura 46. Comando SQL responsável por selecionar arquivos armazenados no banco de dados. Juntamente com a função CONTAINS, apresentada pela Figura 46, há outros operadores que realizam essa recuperação dos arquivos armazenados. No projeto destacou-se a utilização dos seguintes operadores: • Operadores lógicos: AND, OR, MINUS; e • Synonym (sinônimos); O comando SQL apresentado na Figura 46 pode ser estendido para os operadores citados. A Figura 47 apresenta a recuperação com o uso dos operadores lógico AND, que retornará arquivos 76 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer que contenham as palavras pesquisadas. Já a Figura 48 apresenta a recuperação com o operador OR, que retorna arquivos que contenham pelo menos uma das palavras pesquisadas. Estes exemplos também podem ser interpretados para o uso do operador MINUS, que retorna arquivos que contenham apenas uma das palavras da pesquisa, ou seja, “oracle minus text”. SELECT arquivo FROM docs WHERE CONTAINS (doc_blob, ' oracle and text ’) > 0; Figura 47. Comando SQL utilizando operador AND SELECT arquivo FROM docs WHERE CONTAINS (doc_blob, ' oracle or text ’) > 0; Figura 48. Comando SQL utilizando operador OR Já o operador SYN recupera arquivos com uma diferença, não apenas a palavra da pesquisa, mas também os sinônimos destas palavras. Isso é possível, pois ao configurar o índice, adiciona-se ao thesaurus criado palavras e seus sinônimos. A Figura 49 apresenta o comando SQL para a recuperação com sinônimos. SELECT arquivo FROM docs WHERE CONTAINS (doc_blob, 'SYN(oracle,ged)’) > 0; Figura 49. Comando SQL utilizando operador SYN A descrição aqui apresentada permite a construção de uma tabela no banco de dados, o armazenamento de arquivos binários e a recuperação dos mesmos arquivos. Porém, a recuperação de arquivos armazenados no banco de dados possibilita a classificação dos mesmos em uma estrutura conhecida como ranking de relevância. Para isso, utiliza-se uma função de contagem denominada SCORE. A Figura 50 apresenta a utilização desta função. select SCORE(1) score FROM tbl_doc_arm WHERE CONTAINS (DOC_BLOB,'SYN(reitor,ged)',1) > 0 ORDER BY SCORE(1) DESC"; Figura 50. Comando SQL utilizando a função SCORE 77 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer O resultado da seleção da Figura 46 pode ser visto na Tabela 21, onde a coluna SCORE representa a freqüência, freqüência inversa, que esta palavra aparece no documento. Tabela 21. Resultado da seleção utilizando SCORE SCORE 10 NOME_DOC Determinação 025/03 A Tabela 21 representa o resultado esperado, pois na relação de documentos armazenados para testes encontra-se apenas uma com a palavra “Reitor”. Este valor é o resultado de um algoritmo de freqüência inversa, que apresenta um valor percentual de 10%. Com a demonstração do ranking de relevância, conclui-se o esforço de criar, armazenar e recuperar arquivos através do Oracle Text para o sistema eletrônico de documentos. Ao finalizar esta seção, ressalta-se a importância dos recursos apresentados para a implementação de sistemas que trabalhem com a questão de armazenamento e recuperação de arquivos textuais. 3.6.2. Sistema Após as definições dos requisitos, modelagem dos processos e de dados, deu-se início à fase de implementação do sistema, inicialmente previsto para funcionar na Intranet da UNIVALI. Entretanto, achou-se prudente implementar o sistema para executar no ambiente local e somente após os testes e validação da aplicação por parte da Secretaria dos Conselhos Superiores e Departamento de Tecnologia da Informação da UNIVALI, avançar as negociações visando a adequação e integração do GED ao ambiente da Intranet. Vale ressaltar que autenticação do usuário pelo sistema seria uma funcionalidade suprimida, uma vez que no ambiente Intranet há uma autenticação única para todas as aplicações, ou seja, a tabela “Pessoa” da Universidade. A partir do momento em que houve a definição no projeto pela utilização do pacote Oracle Text, como parte fundamental na implementação do sistema, foi necessário dedicar um tempo significativo para a atividade específica de estudos e testes aprofundados, de forma a avaliar sua aderência à proposta do GED. Além do pacote Oracle Text, o SGBD Oracle 9.i. exigiu tempo para a instalação, configuração e testes do banco de dados num ambiente de desenvolvimento local, pois 78 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer não havia disponibilidade de um computador servidor para o SGBD e o banco de dados da aplicação. Outro fator que requereu um tempo de estudos e testes foi à linguagem de programação PHP, haja vista que não foi alvo de utilização durante as disciplinas do Curso de Ciência da Computação e, naturalmente, como qualquer novidade para um desenvolvedor necessita de uma dedicação maior para a aprendizagem. Para superar essas dificuldades, além da bibliografia específica sobre esses assuntos, fez-se necessário estabelecer uma rede de contatos com pessoas envolvidas diretamente na área de desenvolvimento Web com a utilização do SGBD Oracle. Vale salientar que a escolha do PHP não foi uma decisão puramente técnica, mas pesou o fato do Departamento de Tecnologia da Informação da Univali já utilizar essa linguagem de programação para desenvolver as aplicações que executam no meio Intranet. O sistema foi implementado utilizando uma biblioteca de classes em PHP (PHP: Hypertext Preprocessor) denominado PHPLib - UNIVALI. A biblioteca, desenvolvida no próprio CTTMar (Centro de Ciências Tecnológicas da Terra e do Mar), está disponível para toda a comunidade como código aberto. Os tipos de classe utilizados foram: • classCabecalho: esta classe é responsável pela criação do layout das páginas. A partir desta classe, ocorrem chamadas para outras classes que compõe a estrutura das páginas, menus e outros elementos do layout; • classRodape: a classe é responsável pelo fechamento das páginas. Esta classe, além de incluir o rodapé na página, insere os últimos elementos HTML de fechamento da página; • classListagem: esta classe é utilizada para apresentar uma lista de itens ao usuário. A apresentação é feita através de uma tabela HTML; • classCad: a classe classCad é utilizada para criação de formulários HTML. Esta classe trabalha em conjunto com as classes responsáveis pela criação dos elementos de formulários HTML, como campoBotao e campoTexto; e • classCadListagem: esta classe trata basicamente de uma adaptação da classListagem para aceitar elementos de formulários HTML. A diferença entre esta classe e a classCad é que nesta classe é possível apresentar uma listagem contendo múltiplas colunas com 79 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer elementos de formulário. A classe classCad foi projetada para apenas um campo de formulário por linha. Além dessas classes, diversas outras compõem a biblioteca. A biblioteca utiliza também um arquivo de definições, onde são definidas diversas variáveis e constantes de configuração do site, como cores, endereços e expressões regulares (KOKUBO, 2004). A partir desses contatos e aprendizado as primeiras funcionalidades do sistema que puderam ser implementadas foram: cadastro de pessoas e de documentos. Seguindo a modelagem já definida, percebeu-se que era preciso prever a diferenciação dos usuários a partir da autenticação no sistema. Assim, foi necessário construir uma estrutura onde a funcionalidade do sistema é disponibilizada aos usuários de acordo com a categoria a que pertençam (Secretária dos Conselhos Superiores, Coordenadores de Curso ect). Dessa forma, o sistema pode ser parametrizado conforme os tipos de usuários e funcionalidades que se deseja que tenham acesso. Todos os processos previstos na modelagem foram implementados utilizando-se o modo local, isto significa que o sistema está sendo executado em apenas um computador que assumiu a função de cliente e de servidor. Isto não impede que o sistema possa ser validado e posteriormente disponibilizado na Internet ou Intranet, através de um tablespace no servidor de banco de dados Oracle 9.i. e um espaço no servidor de aplicações. No que se refere à segurança da aplicação, além da restrição de acesso por categoria de usuários, foi utilizado a técnica de sessions do PHP para autenticação de usuários. O funcionamento da sessions garante que ao entrar no sistema, o login e senha do usuário são registrados em uma sessão que ficará atrelada ao browser de visualização do site. Esta medida garante que nenhum usuário que não esteja cadastrado venha a acessar o sistema. O sistema possui uma classificação automática de documentos, o ranking de relevância. Este ranking foi implementado com critérios de intervalos, são atribuídos 05 intervalos distintos. O primeiro vai de 0 a 20 %, o segundo de 20% a 40% e assim por diante até 100%. Para distinguir um intervalo do outro foi convencionado que os documentos que retornarem com um valor percentual que encaixe no primeiro intervalo recebe uma imagem de um siri, se o valor percentual encaixe no segundo intervalo recebe duas imagens de siri e assim por diante. Cada documento retornado possui um valor em percentual que o difere um do outro. 80 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Isto é possível porque o sistema utiliza a função do Oracle Text, Score. Esta função utiliza uma equação que leva em conta a quantidade de documentos, somada com a quantidade de vezes que a palavra aparece nos documentos. Assim a função gera valores no intervalo de 1 a 100%, desse modo tem-se a oportunidade de implementar uma classificação, Ranking de relevância, para os documentos no sistema eletrônico de Documentos. Também houve a preocupação de atender à restrição definida pela Secretária dos Conselhos Superiores, implementando um mecanismo controle de privilégios e restrições em relação aos usuários/categorias e os documentos cadastrados na aplicação GED. Essa restrição é comum nas aplicações GED, uma vez que certos documentos não são disponibilizados aos usuários que não atendam ao nível de privilégio estipulado. Para solucionar esse tipo de restrição, implementou-se a seguinte estratégia: o privilégio de um superusuário pode ser definido como 100% de privilégio, sendo assim, todo documento que possui restrição menor ou igual que 100% pode ser visualizado; para restringir consultas a usuários comuns pode-se definir sua categoria como 50%, sendo assim, todo documento que tiver restrição maior que 51% não pode ser visualizado pelo usuário em questão. A consulta dos documentos cadastrados pela Secretária dos Conselhos Superiores pode ser realizada em dois módulos. O primeiro é a consulta por palavra–chave, onde a palavra digitada será comparada em todos os documentos cadastrados e retornará qualquer documento que conter a palavra da pesquisa. O segundo módulo é uma consulta avançada, onde os campos que definem um documento no seu cadastramento podem ajudar na busca exata de um documento. São campos de busca avançada: número documento, data da divulgação, ano da divulgação, tipo do documento. A palavra-chave nesse contexto serve para um filtro dos documentos que podem ser retornados, aumentando as chances de sucesso na pesquisa. Como resultados da fase de implementação do projeto seguem algumas interfaces do sistema, consideradas como relevantes para ilustração da aplicação do GED. 81 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 51. Tela de Login Figura 52. Tela de opção usuário administrador 82 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 53. Tela de opção usuário membro Figura 54. Tela de cadastro de documentos A Figura 55 apresenta uma seqüência de telas onde se recuperam documentos através de uma palavra-chave exemplo “Calendário”. 83 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 55. Tela de consulta de documentos Figura 56. Tela de consulta listando os documentos 84 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 57. Tela de consulta avançada Figura 58. Tela de consulta avançada preenchida 85 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 59. Tela de consulta avançada listagem de documentos Figura 60. Tela de vínculos relacionados a um documento 86 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 61. Tela de vinculação de documentos 3.7. VALIDAÇÃO E PLANEJAMENTO PARA IMPLANTAÇÃO Definidos os requisitos do projeto e implementadas as funcionalidades previstas na modelagem, as fases de implantação, treinamento e avaliação visam colocar o sistema em funcionamento na Secretaria dos Conselhos Superiores. A validação do sistema terá sua realização pela Secretária dos Conselhos Superiores, bem como pelo Coordenador do Curso de Ciência da Computação durante o mês de junho/2005. A Tabela 22 é o formulário a ser apresentado à Secretaria dos Conselhos Superiores para validação do GED. 87 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Funcionalidade Cadastramento documento Cadastramento tipo documento Cadastramento vínculo Cadastramento conselhos Cadastramento categoria Cadastramento usuário Cadastramento privilégio Cadastramento restrição Cadastramento situação Vincular documento Cadastramento menu Cadastramento menu/categoria Cadastramento categoria/usuário Consulta simples Consulta avançada Interface Atendimento aos Requisitos Não Parcial Total Observação Tabela 22 – Formulário de avaliação. Após esta validação será decidido pela implantação do sistema na Universidade, em comum acordo como o Departamento de Tecnologia da Informação. Os testes iniciais de implementação demonstram a importância do sistema para o âmbito da Universidade, que acrescenta na sua rotina de trabalho uma ferramenta de auxílio operacional e gerencial, levando-se em consideração que se trata de uma primeira versão de um GED institucional. 88 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 4. CONCLUSÃO O GED utiliza métodos para manipular os documentos eletronicamente e disponibilizar rapidamente os resultados para os gestores, auxiliando o processo de tomada de decisão. O Sistema Gerenciador de Documentos Institucionais atende a uma necessidade real da Secretaria dos Conselhos Superiores em cadastrar e disponibilizar os documentos. Os documentos que serão disponibilizados no sistema já foram digitados, sendo que, a princípio, não haverá a necessidade de digitalização dos documentos originais. Essa digitação, resultado de uma força-tarefa, resultou em documentos no formato DOC e PDF das resoluções publicadas a partir de 1989. As resoluções em papel foram mantidas arquivadas em pastas, juntamente com outros documentos e se necessário, posteriormente podem ser digitalizados. No que se refere à modelagem aplicada, foi utilizada a UML para modelar o escopo do sistema, onde a descrição dos Casos de Uso mostra ações conscientes e claras das responsabilidades atribuídas ao sistema. Para aplicar estes conceitos foi utilizada a ferramenta Enterprise Architect. No que se refere à modelagem de dados, foi utilizada a ferramenta ERWin. Na implementação foi utilizada a linguagem de programação PHP e uma biblioteca particular criada pelo CTTMar, o PHPlib. Todavia, ao considerar que o ambiente Intranet disponibilizado pelo Departamento de Tecnologia da Informação da UNIVALI foi desenvolvido nessa linguagem, optou-se por utilizá-la. A característica do PHP quer em segurança quanto em facilidade de acesso à banco de dados, também foram considerados na decisão pela linguagem. Apesar das dificuldades na implementação com a linguagem, como configuração do banco de dados, houve uma significativa motivação em concluir a implementação. Ressalta-se o interesse de utilizar futuramente o cadastro ou tabela “Pessoa” da Univali para autenticar os usuários e definir categorias para o sistema. O SGBD adotado foi Oracle 9i, o qual demandou uma pesquisa de aderência ao projeto, em função dos requisitos de armazenamento e recuperação de dados do tipo textual, tarefa que dispensou um tempo considerável do cronograma do projeto, pois desde o primeiro momento sentiu-se a dificuldade de encontrar material bibliográfico que auxiliasse na descoberta dos mecanismos de indexação e recuperação que os SGBDs implementam para tratar documentos textuais. Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Outro ponto de destaque no projeto foi a utilização do campo BLOB, por poder armazenar qualquer tipo de dado. Este campo trata as informações de forma binária, possibilitando às aplicações armazenarem e recuperarem dados complexos.Além do Blob, o SGBD Oracle dispõe de um pacote específico para tratamento de textos, denominado Oracle Text. Ao ser analisado, confirmou as expectativas e proporcionou a implementação do sistema, garantindo o armazenamento e recuperação de informações do tipo textual. Recomenda-se para trabalhos futuros a ampliação deste projeto, incorporando outros tipos de documentos e adotando o conceito de GED para toda a Universidade. Outra sugestão é a integração do GED com um sistema de Workflow, o que permitirá maior controle dos usuários autorizados ao acesso aos documentos e possibilitará implementar uma interatividade maior, como por exemplo, revisões de documentos institucionais por parte dos membros dos Conselhos Superiores. Conforme já citado anteriormente, recomenda-se a implantação no GED no ambiente Intranet da Univali, permitindo maior integração e segurança. Conclui-se que o desenvolvimento desse sistema foi um pequeno passo visando validar a utilização de aplicações GED no âmbito da UNIVALI, ao mesmo tempo em que possibilitou ao Departamento de Tecnologia da Informação e a Secretaria dos Conselhos Superiores dispor de uma aplicação de controle do acervo digital da legislação institucional. 90 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer REFERÊNCIAS BIBLIOGRÁFICAS ALMEIDA, Rodrigo. LOBS – Parte Final. São Paulo, 2005. Disponível em: <http://www.imasters.com.br/artigo.php?cn=3054&cc=73>. Acesso em: jun. 2005. BAX, M. P.; BAX, M. L. P. Gestão da documentação por imagens: um tipo específico de GED. Revista Perspectivas em Ciência da Informação: Escola de Ciência da Informação da UFMG, Belo Horizonte, v. 7, n. 2, p. 141-154 , dez. 2002. CARVALHO, R. B. Acelerando a espiral do conhecimento com a tecnologia da informação. 2000. 10 f. Monografia - Programa de Pós-Graduação em Ciências - UFMG - Departamento de Ciência da Computação - Centro Universitário FUMEC - Banco de Desenvolvimento de Minas Gerais - BDMG, Belo Horizonte, 2000. CENADEM. Gerenciamento eletrônico de documentos. Disponível em: <http://www.cenadem.com.br>. Acesso em: mai. 2004. FANDERUFF, Damaris. Oracle 8i – Utilizando SQL * PLUS e PL/SQL. São Paulo: Makron Books, 2000. FLORES, D. Gestão de documentos eletrônicos – G.D.E. Disponível: < http://www.pmatozo.hostmidia.com.br/artigos7.htm>. Acesso em: mai. 2004. FRANCO, S. R. Descoberta de conhecimento em bancos de dados textuais. 2001. 39 f. Monografia (Especialização em Tópicos de Dados) – Curso de Pós-Graduação do Instituto de Computação, Faculdade de Engenharia Elétrica e de Computação, 2001. GED, plataforma e software livres. Revista mundo da imagem, São Paulo, n.60, p.1 – 12, nov./dez. 2003. Disponível em: <https://200.219.199.34/mundodaimagem/>. Acesso em: jun. 2005. JESUS, Edmilson S. Construção de um protótipo para indexar documentos de texto longo direcionado ao firebird. 2003. 47f. Monografia (Bacharelado em Análise de Sistemas) – Curso de Análise de Sistema, Universidade do Estado da Bahia, 2003. Disponível em : <http://www.edmilson.eti.br/publicacoes/monografia.pdf>. Acesso em: mai. 2004. KOKUDO, Eduardo. Sistema para importância de informações do currículo lattes. 2004.104f. Monografia (Bacharelado em Sistemas de Informação) – Curso de Ciência da Computação, Universidade do Vale do Itajaí, 2004. 91 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer LARMAN,C.Utilizando UML e padrões. Porto Alegre: Bookman, 2000. 429p. LAUDON, K. C.; LAUDON, J. P. Sistemas de informação. LTC: Rio de Janeiro, 1999. MACEDO, Geraldo Najela Ferreira de. Bases para a implantação de um sistema de gerenciamento eletrônico de documentos: GED estudo de caso. 2003. Dissertação (Mestrado) Programa de Pós-Graduação em Engenharia de Produção, Universidade Federal de Santa Catarina, 2003. MENDONÇA, G. C. G. et,al. Uma técnica de filtragem para recuperação de informação. In: SIMPÓSIO BRASILEIRO DE DADOS UNIVERSIDADE ESTADUAL DE MARINGÁ, 1998, Campinas: Universidade Estadual de Campinas, Instituto de Computação, 1998. MICHELAZZO, Paulino. Blob fields in MySQL databases, 2001. Disponível em : < http://www.michelazzo.com.br/>. Acesso em: mai. 2004. MONACO, F. Gerenciamento eletrônico de documentos, 1999. UNIFIEO - Tecnologia em Processamento de Dados, 1999. Disponível em: <http://www.unifieo.br/revista/rev1999/Ged.htm>.Acesso em: mar. 2004. OLIVEIRA FILHO, F. M.et.al. Projeto openged. Disponível em: <http://openged.codigolivre.org.br/projeto.html>. Acesso em: mar. 2004. ORACLE. Oracle text application developer´s guide release 9.2. Redwood Shores: Oracle,2002. Disponível em: http://www.stanford.edu/dept/itss/docs/oracle/9i/text.920/a96517/cdefault.htm. Acesso em: mai. 2005. PACINI, R. B. O gerenciamento eletrônico de documentos como instrumento para aumentar a produtividade e competitividade nos fundos depensão. 2002. 95f. Monografia (Curso de MBA em Previdência Privada) – Programa Pós-Graduação em Engenharia de Planejamento, Rio de Janeiro, 2002. ROCHA, M. V.; COSTA, M. C. B.; SANTOS NETO, P. A. Busca por frases em bancos de dados textuais. In: SEMINÁRIOS UNIVERSIDADE FEDERAL DE MINAS GERAIS, 2002, Minas Gerais:Universidade Federeal de Minas Gerais, 2002. Disponível em: <http://www.dcc.ufmg.br/~nivio/cursos/pa02/seminarios/seminario3/seminario3.html>. Acesso em: abr. 2004. SALTON, Genard.On the use of term associations in automatic information retrieval.In: INTERNATIONAL CONFERENCE ON COMPUTATIONAL LINGUISTICS, 11th, Bon, 1986. 92 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Proceedings...Bonn: Institut für angewandte Kommunikations, 1986. p. 380-386. Disponível em : < http://citeseer.ist.psu.edu/salton86use.html >. Acesso em: Ago. 2004. SANTANA, G. Usando campos do tipo BLOB'S, 2001.Disponível em: <http://www.portaldeinformatica.com.br/>. Acesso em: mai. 2004. SANTOS, F. C.; CHARÂO, A. S.; FLORES, D. Análise de produtos para gerenciamento eletrônico de documentos, 2003. Disponível em: <http://www.cinform.ueba.Br/IV_anais/Artigos/text09.html>. Acesso em: mar. de 2004. SILVA, A. P. M. Migrando banco de dados relacionais para tecnologia objeto – relacional. In: III SEMANA DA PÓS-GRADUAÇÃO, 1999. Minas Gerais: Departamento de Ciência da Computação-Universidade Federal Minas gerais, 1999. THIVES JR., Juarez Jonas. Workflow: uma tecnologia para transformação do conhecimento nas organizações. Florianópolis: Insular, 2000. VIERIA JR., H.; CARDOSO, L. F.; LOPES, M. A. M. Extensão de métodos de acesso em SGBDs relacionais – objetos. 2000. Monografia (Bacharelado em Ciências da Computação) Curso de Ciências da Computação, Instituto de Matemática da Universidade Federal do Rio de Janeiro, Rio de Janeiro, 2000. Disponível em: <http://genesis.nce.ufrj.br/dataware/projfin/Projeto%20Final-HumbertoLeonardoMarco.pdf>. Acesso em: jun. 2004. WIVES, L. K. Indexação de Documentos Textuais. 1997. Monografia (Disciplina Sistemas Bancos de Dados) - Curso de mestrado em Ciência da Computação, Universidade Federeal do Rio Grande do Sul, Porto Alegre, 1997. Disponível em: < http://www.inf.ufrgs.br/~wives/portugues/publicacoes.html >. Acesso em: abr. 2004. WIVES, L. K. Um estudo de técnicas de recuperação de informações com ênfase em informações textuais. 1997. Monografia de Trabalho Individual (Instituto de Informática) – Curso de Pós-Graduação em Ciência da Computação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 1997. Disponível em: <http://www.inf.ufrgs.br/~wives/publicacoes/TI.pdf>. Acesso em: abr. 2004. YATES,R.B.;FRAKES,W.B. Information retrieval:data structures and algorithms. 2. ed. New Jersey: Upper Saddle River, 1992. 504 p. ZIVIANI, N. Arquivos Invertidos.2003. Monografia (Bacharelado em Ciência da Computação) Curso de Pós-Graduação em Ciência da Computação, Universidade Federal Minas Gerais, 2003. Disponível em: < http://www.dcc.ufmg.br/~nivio/cursos/ri03/tp1/ri03tp1.html > . Acesso em: set. 2004. 93 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer ZOTTO, O. F. A.Gerenciamento eletrônico de documentos. 2002. Disponível em: < http://celepar7cta.pr.gov.br/portfolio.nsf/>. Acesso em: abr. 2004. 94 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer GLOSSÁRIO Banco de dados Coleção de dados inter-relacionados que se propõe a atender à necessidade de vários usuários finais. Corba È um padrão definido pela OMG, para um sistema que permite que aplicações distribuídas em uma rede (local ou mesmo na internet) comuniquem-se entre si e troquem informações Internet Uma vasta rede de redes interligadas ligando organizações empresariais, governamentais, cientificas e educacionais e também pessoas por todo mundo. Lexicográficos A busca por frases o arquivo invertido contém, para cada palavra, um apontador para cada um dos documentos nos quais a palavra ocorre, juntamente com as posições da palavra nesse documento Servidor Computador com um grande disco rígido. Sua função é permitir que outros dispositivos compartilhem arquivos e programas. SGBD Sistema de Gerenciamento de Banco de Dados. Software que serve como interface entre um banco de dados comum e diversos programas aplicativos. Permite que os dados sejam armazenados em um só lugar, embora estejam disponíveis para diferentes aplicações. Sistema de informação Conjunto de componentes inter-relacionados que coletam, recuperam, processam, armazenam e distribuem informações com o propósito de facilitar o planejamento, controle, a coordenação, a análise e a tomada de decisões nas organizações. SQL Structured Query Language – linguagem estruturada de pesquisa. Linguagem de manipulação de dados para sistemas de gerenciamento de banco de dados relacionais, que é um padrão emergente nas empresas. Tecnologia da informação Tecnologia que engloba o uso e influências das novas facilidades e recursos para captação, transmissão, armazenamento, processamento, recuperação e dissiminação de informações com base nos desenvolvimentos tecnológicos ocorridos na computação e nas comunicações. Tomada de decisão Processo de discutir objetivos e soluções possíveis à escolha da melhor opção. 95 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer APÊNDICE A – MODELAGEM Figura 62. Caso de uso Consulta documentos UC 02.01 Consulta Documento Objetivo: Consultar documentos armazenados no banco de dados, através de palavras chaves, ou dados persistentes ao documento. Cenários Consulta busca simples {Principal}. 1. usuário seleciona opção de consulta simples;(TEL 004) 2. usuário digita palavra chave para pesquisa; (TEL 004) 3. sistema realiza pesquisa da palavra chave nos documentos cadastrados; 4. sistema compara a restrição de cada documento encontrado com privilegio do usuário que realiza pesquisa ; 5. sistema lista documentos encontrados que tenha permissão para ser exebido;(TEL 004) 6. usuário seleciona documento da lista; (TEL 004). 7. o documento selecionado é visualizado; e (TEL 013) 8. usuário retorna (TEL 004), para nova consulta ou retorna ao menu.(TEL 003) Busca simples dados não encontrados: {Exceção}. Se no passo 3 os documentos não forem encontrados informa mensagem " documento não encontrados ".(TEL 002) Retorne passo 2. Documento busca simples campos preencha {Exceção}. Se no passo 3 os campos não forem preenchidos informa mensagem " preencha campo pesquisa ".(TEL 002) Retorne passo 2. Consulta busca avançada: {Alternativo}. No passo 1 se o usuário optar por uma busca avançada segue a seqüência abaixo. 1.1. usuário informa argumentos da pesquisa: palavra chave, tipo documento, conselho; (TEL 005). 1.2. sistema faz pesquisa através dos campos na base de dados 1.3. sistema compara a restrição de cada documento encontrado com privilegio do usuário que realiza pesquisa; 1.4. sistema retorna uma lista de documento(s) pesquisado(s) que tenham permissão para ser exibidos.(TEL 005) 1.5. lista com documentos encontrados é exibida;(TEL 005) 1.6. usuário seleciona documento da lista; (TEL 005). 1.7. o documento selecionado é visualizado;e (TEL 013) 96 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 1- 1- 1- 1- 1 - 1 - 1- 1- 1- 1Un Un Un Un Un Un Un Un Un Un reg reg reg reg reg reg reg reg reg reg ist ist ist ist ist ist ist ist ist ist ere ere ere ere ere ere ere ere ere ere dT dT dT dT dT dT d T d T dT dT RI RI RI RI RI RI RI RI RI RI AL AL AL AL AL AL AL AL AL AL Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi on on on on on on on on on on EA EA EA EA EA EA EA EA EA EA 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 1- 1- 1- 1- 1 - 1 - 1- 1- 1- 1Un Un Un Un Un Un Un Un Un Un reg reg reg reg reg reg reg reg reg reg ist ist ist ist ist ist ist ist ist ist ere ere ere ere ere ere ere ere ere ere dT dT dT dT dT dT d T d T dT dT RI RI RI RI RI RI RI RI RI RI AL AL AL AL AL AL AL AL AL AL Ve Ve Ve Ve Ve Ve Ve Ve Ve Ve rsi rsi rsi rsi rsi rsi rsi rsi rsi rsi on on on on on on on on on on 1.8. usuário retorna (TEL 005), para nova consulta ou retorna ao menu.(TEL 003) Documento busca avançado campos preencha: {Exceção}. Se no passo 1.2 os campos não forem preenchidos apresenta mensagem 'Preencha os campos' (TEL 002). Retorna passo 1.1. Busca avançada dados não encontrados: {Exceção}. Se no passo 1.2 os documentos não forem encontrados informa mensagem " Não há dados para a palavra pesquisada ".(TEL 002) Retorne passo 1.1. UC 03.01 Manter Menu «include» UC 01.01 Loga no Sistema «include» UC 03.02 Manter Menu categoria :Administrador (from Pacote 01 - Cadastro) «i nclude» UC 03.03 Manter Categoria/Usuário Figura 63. Caso de uso Configuração sistema UC 03.01 Manter Menu Objetivo: Cadastrar menu para o sistema. Pré-condição: Administrador deve estar logado no sistema eletrônico de documentos. Cenários Cadastra Menu: {Principal}. 1.administrador seleciona opção cadastro menu;(TEL 021) 2.administrador informa nova opção para menu ; 3.sistema insere novo menu;e 4.sistema confirma cadastro novo menu. Altera menu {Alternativo}. No passo 1 administrador tem opção alterar 1.1. administrador seleciona opção alterar menu;(TEL 021) 1.2. administrador seleciona menu a ser alterado; 1.3. administrador confirma as alterações do menu; 1.4. sistema altera menu;e 1.5. sistema confirma alteração menu. excluir menu {Alternativo}. 97 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer No passo 1 o administrador pode escolher a opção excluir menu.(TEL 021) 1.1. administrador seleciona menu a ser excluído; 1.2. administrador confirma a exclusão do menu; 1.3. sistema exclui menu; 1.4. sistema confirma exclusão do menu. Menu cadastrado: {Exceção}. No passo 3 se menu já estiver cadastrado apresenta a mensagem " menu já cadastrado". Retorna passo 2. Menu preencher: {Exceção}. No passo 3 se campos vazios apresenta a mensagem " preencha campos menu". Retorna passo 2. UC 03.02 Manter Menu categoria Cenários cadastro menu/categoria: {Principal}. 1. administrador seleciona cadastro de menu/categoria; 2. administrador seleciona categoria existente; 3. administrador seleciona menu para a categoria; 4. administrador confirma o cadastro menu/categoria; 5. sistema insere dados do cadastro;e 6. sistema confirma cadastro. Alterar menu/categoria {Alternativo}. No passo 1 administrador seleciona alterar 1.1. administrador seleciona opção alterar menu/categoria; 1.2. administrador seleciona categoria a ser alterado; 1.3. administrador confirma as alterações do menu/categoria; 1.4. sistema altera menu/categoria e 1.5. sistema confirma alteração menu/categoria. Excluir menu/categoria {Alternativo}. No passo 1 o administrador pode escolher a opção excluir menu/categoria. 1.1. administrador seleciona menu/categoria a ser excluído; 1.2. administrador confirma a exclusão do menu/categoria; 1.3. sistema exclui menu/categoria; 1.4. sistema confirma exclusão da menu/categoria. cadastro menu/categoria cadastrado:{Exceção}. No passo 6 se menu/categoria já estiver cadastrado apresenta mensagem " menu/categoria já cadastrado". Retorna passo 2. cadastro menu/categoria preencha dados: {Exceção}. No passo 6 se menu/categoria não forem preenchidos apresenta mensagem " Preencha menu/categoria". Retorna passo 2. UC 03.03 Manter Categoria/Usuário Objetivo: Definir uma categoria para um determinado usuário. Pré-condição: Administrador deve estar logado no sistema eletrônico de documentos. 98 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Cenários Cadastro categoria/usuário {Principal}. 1.administrador seleciona cadastro de categoria/usuário; 2.administrador seleciona uma categoria existente; 3.administrador seleciona um usuário para a categoria; 4.administrador seleciona o conselho que o usuário faz parte; 5.administrador confirma o cadastro; 6.sistema insere dados do cadastro;e 7.sistema confirma cadastro. Excluir categoria usuário {Alternativo}. No passo 1 o administrador pode escolher a opção excluir categoria/usuário. 1.1. administrador seleciona usuário a ser excluído a categoria; 1.2. administrador confirma a exclusão do categoria/usuário; 1.3. sistema exclui categoria/usuário; 1.4. sistema confirma exclusão da categoria/usuário. Alterar categoria usuário {Alternativo}. No passo 1 administrador tem opção alterar 1. administrador seleciona opção alterar categoria/usuário; 2. administrador seleciona usuário a ser alterado a categoria; 3. administrador seleciona nova categoria; 4. administrador confirma as alterações do categoria/usuário; 5. sistema altera categoria/usuário;e 6. sistema confirma alteração categoria/usuário. Categoria/usuário cadastrado: {Exceção}. No passo 6 se categoria/usuário já estiver cadastrado apresenta mensagem " Categoria/usuário já cadastrado". Retorna passo 2. Categoria/usuário preencha campos: {Exceção}. No passo 6 se categoria/usuário não forem preenchidos apresenta mensagem " Preencha Categoria/usuário". Retorna passo 2. UC 01.01 Loga no Sistema REF 002 - O sistema deve possibilitar a consulta dos documentos tanto por palavras chaves, quanto pelo características dos documentos. (Status: ; Difficulty: Medium; Priority: Medium) Pós-condição:. Estar logado. Cenários Loga no Sistema {Principal}. 1.Usuário do sistema informa seu código de usuário e senha. (TEL 001) 2 verifica se usuário e senha coincidem. 3.Sistem\bera acesso. Login Invalido {Exceção}. No Passo 2 se senha inválida ou código de usuário não cadastrado apresenta mensagem "Login Inválido" .(TEL 002) 99 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer UC 01.03 Manter Vinculo Objetivo: Vincular documentos que possuam relação uns com os outros. Pré-condição: Documento deve estar cadastrado no sistema e atualizado o seu índice. Pré-condição: Administrador deve estar logado. Cadastro de vínculo: {Principal}. 1 administrador seleciona opção cadastro de vinculo; (TEL 015) 2 administrador informa novo vínculo; (TEL 015) 3 sistema insere novo vínculo;e 4. sistema confirma novo vínculo. Alterar vinculo {Alternativo}. No passo 1 administrador escolhe opção alterar 1.1. administrador seleciona opção alterar tipo vínculo;(TEL 015) 1.2. administrador seleciona tipo vínculo a ser alterado; 1.3. administrador confirma as alterações do tipo vínculo; 1.4. sistema altera tipo vínculo;e 1.5. sistema confirma alteração tipo vínculo Excluir vinculo {Alternativo}. No passo 1 o administrador pode escolher a opção excluir tipo vínculo. 1.1. administrador seleciona tipo vínculo a ser excluído; (TEL 015) 1.2. administrador confirma a exclusão do tipo vínculo; 1.3. sistema exclui tipo vínculo; 1.4. sistema confirma exclusão do tipo vínculo. Categoria Vinculada: {Exceção}. Se no passo 3 o vínculo já existir apresenta a mensagem " Vínculo cadastrado" (TEL 002) Retorna passo 2. UC 01.04 Manter Documento Objetivo: Realizar o cadastro dos documentos e seus respectivos dados. Pré-condição: Administrador deve estar logado no sistema eletrônico de documentos. Cadastra Documento {Principal}. 1. administrador seleciona opção cadastro de documento; 2. administrador informa e seleciona dados do documento a ser cadastrado; (TEL 009) 3. administrador atribui nível de restrição ao documento; (TEL 009) 4. administrador seleciona arquivo (PDF/DOC) do documento a ser cadastrado; (TEL 009) 5. administrador confirma cadastro documento; 6. sistema insere dados documento;e 7. sistema confirma cadastro documento; Documento vincular {Alternativo}. No passo 7 o administrador pode realizar vinculação entre documentos a partir do UC 01.14.(TEL 011) alterar documento {Alternativo}. Se no passo 1 o administrador optar por alterar segue a ordem abaixo. 1.1. administrador seleciona opção alterar documento; 1.2. administrador seleciona documento a ser alterado; 1.3. administrador confirma as alterações no documento; 1.4. administrador anexa arquivo; 1.5. administrador confirma alteração documento; 100 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 1.6. sistema altera dados do documento;e 1.7. sistema confirma alteração documento; Excluir documento {Alternativo}. No passo 1 o administrador pode escolher a opção excluir documento. 1.1. administrador seleciona documento a ser excluído; (TEL 009) 1.2. administrador confirma a exclusão no documento; (TEL 009) 1.3. sistema exclui dados do documento;e (TEL 009) 1.4. sistema confirma exclusão documento; Excluir erro {Exceção}. No passo 1.2. se os dados do documento não foram selecionado ou preenchido apresenta mensagem " preenche campos".(TEL 002) Alterar erro {Exceção}. No passo 1.5 se os dados estiverem incompletos apresenta mensagem " Não pode ser Alterado" Retorna passo 1.2 Documento Cadastrado: {Exceção}. Se no passo 7 o documento já estiver cadastrado a operação apresenta mensagem "Documento já Cadastrado' (TEL 002) Retorna ao passo 2. Documento campos preencha: {Exceção}. Se no passo 7 faltar preencher campos sistema apresenta mensagem "Preencha todos os campos' (TEL 002) Retorna ao passo passo 2. UC 01.12 Vincula Documento Objetivo: Vincular documentos que possuam alguma referencia com outros documentos, cadastrados no sistema. administrador deve estar logado no sistema eletrônico de documentos. Cenários Vincular Documento {Principal}. 1. administrador seleciona opção Vinculo no cadastro documentos; (TEL 011) 2. administrador seleciona documento atual; (TEL 011) 3. administrador seleciona documento a ser vinculado com documento atual; (TEL 011) 4. administrador seleciona tipo vinculo a ser realizado; (TEL 011) 5. administrador confirma vinculo; (TEL 011) 6. sistema insere dados do cadastro;e (TEL 011) 7. sistema confirma cadastro. Altera vinculo {Alternativo}. No passo 1 administrador escolhe opção alterar 1.1. administrador seleciona opção alterar vinculo;(TEL 011) 1.2. administrador seleciona documento a ser alterado; 1.3. administrador seleciona novo vinculo; 1.4. administrador confirma as alterações do documento vinculado; 1.5. sistema altera vinculo;e 1.6. sistema confirma alteração vinculo. Exclui vinculo {Alternativo}. No passo 1 administrador seleciona opção excluir 1.1. administrador seleciona opção Excluir vinculo; 1.2. administrador seleciona documento que vai ser Excluído o vinculo; (TEL 011) 101 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 1.3. sistema exclui os vínculos dos documento atual;e (TEL 011) 1.4. administrador confirma excluir do vínculos e documentos; Vincular Documento cadastrado {Exceção}. Se no passo 5 já existe o vínculo apresenta mensagem "Documento vinculado". (TEL 002) Retorna passo 1. Vincular documento campos inválido {Exceção}. Se no passo 5 os campos estiverem vazios apresenta mensagem "Preencha Campos". (TEL 002) Retorna passo 1. UC 01.09 Manter Restrição Pré-condição . Administrador deve estar logado no sistema. Cenários Cadastro Restrição: {Principal}. 1.administrador seleciona opção cadastro restrições; (TEL 017) 2.administrador informa novo restrições; TEL 017) 3.sistema insere informações;e 4.sistema confirma cadastro restrições. alterar restrição {Alternativo}. No passo 1 o administrador opta por alterar 1. administrador seleciona opção alterar restrição;(TEL 017) 2. administrador seleciona restrição a ser alterado; 3. administrador confirma as alterações da restrição; 4. sistema altera restrição;e 5. sistema confirma alteração restrição; excluir restrição {Alternativo}. No passo 1 o administrador pode escolher a opção excluir restrição. 1.1. administrador seleciona restrição a ser excluida; (TEL 017) 1.2. administrador confirma a exclusão da restrição; 1.3. sistema exclui restrição;e 1.4. sistema confirma exclusão da restrição Restrições Cadastradas {Exceção}. No passo 3 se privilégio já cadastrado apresenta a mensagem " Privilégio já cadastrado". Retorna passo 2. UC 01.10 Log Acesso Objetivo: Gerar um documento txt. que possibilite a verificação do acesso pelos usuários. Pré-condição: administrador deve estar logado no sistema eletrônico de documentos. Cenários Gerar log de acesso {Principal}. 1.administrador seleciona opção log de acesso; (TEL 014) 2.administrador seleciona dia /mês /ano para gerar log;(TEL 014) 3.sistema realiza consulta;e 4. sistema gera um arquivo txt. que contenha os dados selecionados. log de acesso erro: {Exceção}. Se no passo 3 o sistema não encontrar dados informa mensagem " não possui dados de acesso";(TEL 002) Retorne passo 3. 102 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Código configuração das Stoplist begin ctx_ddl.create_stoplist('ged_stoplist', 'BASIC_STOPLIST'); end; begin ctx_ddl.add_stopword ('ged_stoplist', 'a'); ctx_ddl.add_stopword ('ged_stoplist', 'bem'); ctx_ddl.add_stopword ('ged_stoplist', 'e'); ctx_ddl.add_stopword ('ged_stoplist', 'longe'); ctx_ddl.add_stopword ('ged_stoplist', 'para'); ctx_ddl.add_stopword ('ged_stoplist', 'se'); ctx_ddl.add_stopword ('ged_stoplist', 'você'); ctx_ddl.add_stopword ('ged_stoplist', 'abaixo'); ctx_ddl.add_stopword ('ged_stoplist', 'com'); ctx_ddl.add_stopword ('ged_stoplist', 'ela'); ctx_ddl.add_stopword ('ged_stoplist', 'mais'); ctx_ddl.add_stopword ('ged_stoplist', 'por'); ctx_ddl.add_stopword ('ged_stoplist', 'sem'); ctx_ddl.add_stopword ('ged_stoplist', 'vocês'); ctx_ddl.add_stopword ('ged_stoplist', 'adiante'); ctx_ddl.add_stopword ('ged_stoplist', 'como'); ctx_ddl.add_stopword ('ged_stoplist', 'elas'); ctx_ddl.add_stopword ('ged_stoplist', 'menos'); ctx_ddl.add_stopword ('ged_stoplist', 'porque'); ctx_ddl.add_stopword ('ged_stoplist', 'sempre'); ctx_ddl.add_stopword ('ged_stoplist', 'agora'); ctx_ddl.add_stopword ('ged_stoplist', 'contra'); ctx_ddl.add_stopword ('ged_stoplist', 'êle'); ctx_ddl.add_stopword ('ged_stoplist', 'muito'); ctx_ddl.add_stopword ('ged_stoplist', 'pouco'); ctx_ddl.add_stopword ('ged_stoplist', 'sim'); ctx_ddl.add_stopword ('ged_stoplist', 'ali'); ctx_ddl.add_stopword ('ged_stoplist', 'debaixo'); ctx_ddl.add_stopword ('ged_stoplist', 'eles'); ctx_ddl.add_stopword ('ged_stoplist', 'não'); ctx_ddl.add_stopword ('ged_stoplist', 'próximo'); ctx_ddl.add_stopword ('ged_stoplist', 'sob'); ctx_ddl.add_stopword ('ged_stoplist', 'antes'); ctx_ddl.add_stopword ('ged_stoplist', 'demais'); ctx_ddl.add_stopword ('ged_stoplist', 'em'); ctx_ddl.add_stopword ('ged_stoplist', 'ninguem'); ctx_ddl.add_stopword ('ged_stoplist', 'qual'); ctx_ddl.add_stopword ('ged_stoplist', 'sobre'); ctx_ddl.add_stopword ('ged_stoplist', 'aqui'); ctx_ddl.add_stopword ('ged_stoplist', 'depois'); ctx_ddl.add_stopword ('ged_stoplist', 'entre'); ctx_ddl.add_stopword ('ged_stoplist', 'nós'); 103 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer ctx_ddl.add_stopword ('ged_stoplist', 'quando'); ctx_ddl.add_stopword ('ged_stoplist', 'talvez'); ctx_ddl.add_stopword ('ged_stoplist', 'até'); ctx_ddl.add_stopword ('ged_stoplist', 'depressa'); ctx_ddl.add_stopword ('ged_stoplist', 'eu'); ctx_ddl.add_stopword ('ged_stoplist', 'nunca'); ctx_ddl.add_stopword ('ged_stoplist', 'quanto'); ctx_ddl.add_stopword ('ged_stoplist', 'todas'); ctx_ddl.add_stopword ('ged_stoplist', 'atras'); ctx_ddl.add_stopword ('ged_stoplist', 'devagar'); ctx_ddl.add_stopword ('ged_stoplist', 'fora'); ctx_ddl.add_stopword ('ged_stoplist', 'onde'); ctx_ddl.add_stopword ('ged_stoplist', 'que'); ctx_ddl.add_stopword ('ged_stoplist', 'todos'); ctx_ddl.add_stopword ('ged_stoplist', 'bastante'); ctx_ddl.add_stopword ('ged_stoplist', 'junto'); ctx_ddl.add_stopword ('ged_stoplist', 'ou'); ctx_ddl.add_stopword ('ged_stoplist', 'direito'); ctx_ddl.add_stopword ('ged_stoplist', 'quem'); ctx_ddl.add_stopword ('ged_stoplist', 'vagarosamente'); end; Código configuração das Thesaurus Begin ctx_thes.create_thesaurus('ged', false); end begin ctx_thes.create_phrase('ged','Reitor'); ctx_thes.create_phrase('ged','José Roberto Provesi'); end; begin ctx_thes.create_relation('ged', 'Reitor', 'NT', 'José Roberto Provesi'); end; 104 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Diagrama de Atividades Figura 64. Diagrama de Atividade Vincula Documento Figura 65. Diagrama de Atividade Gera Log 105 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Figura 66. Diagrama de Atividade menu/categoria Figura 67. Diagrama de Atividade cadastro usuário 106 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer APÊNDICE B – ARTIGO 107 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer SISTEMA ELETRÔNICO DE DOCUMENTOS INSTITUCIONAIS DA UNIVALI Jediael de Lima Patricio [email protected] Luis Carlos Martins [email protected] Universidade do Vale do Itajaí – UNIVALI Rua Uruguai, 458, Itajaí, SC, Brasil. RESUMO Este Trabalho de Conclusão de Curso de Ciência da Computação tem como propósito o desenvolvimento de um sistema de informação para a Secretaria dos Conselhos Superiores da Universidade do Vale do Itajaí - UNIVALI. Com base nas características de uma aplicação de Gerenciamento Eletrônico de Documentos - GED, o sistema deverá possibilitar o armazenamento e a recuperação dos documentos institucionais em banco de dados, permitindo o acesso somente aos usuários autorizados. A finalidade principal do Sistema Eletrônico de Documentos Institucionais é auxiliar os gestores da UNIVALI na busca de informações sobre legislação educacional, propiciando a uniformidade na tomada de decisões. Entre os objetivos específicos previstos no projeto estão: (i) pesquisar tecnologias e produtos de GED no dito Banco de Dados Textuais; (ii) definir os requisitos do sistema; (iii) definir a arquitetura do sistema (tecnologias/ferramentas); (iv) elaborar a modelagem do sistema; (v) implementar, testar, validar o sistema; (vi) implantar e testar a usabilidade o sistema para um conjunto de documentos. Palavras-chave: GED. Tomada de Decisão. Banco de Dados. Abstract This work of Course Conclusion of Computer Science Course has as purpose the development of an information system for the Secretaryship of the Superior Council of UNIVALI. With base on the features of an application of Electronic Management of Documents - GED, the system should make possible the storage and the recovery of the institutional documents in database, only allowing the access to the authorized users. The main purpose of the Electronic System of Institutional Documents is auxiliary the managers of UNIVALI in the search of information about educational legislation, propitiating the uniformity in the decisions made. Among the specific objectives foreseen in the project are: (i) to research technologies and products of GED in Textual database; (ii) to define the requirements of the system; (iii) to define the architecture of the system (technologies/tools); (iv) to elaborate the modelling of the system; (v) to implement, test, validate the system; (vi) to implant and to test the usability of the system for a group of documents. Keywords: GED. Taking of Decision.Data base. 108 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 1. Introdução A Universidade do Vale do Itajaí, assim como as demais Instituições de Ensino, possuem as suas próprias legislações internas, que são documentos produzidos dentro da sua estrutura organizacional onde são estabelecidos diretrizes e procedimentos para a gestão institucional. Esses documentos são elaborados, revisados e, após um parecer de deferimento, passam a compor a Normatização da universidade, podendo revogar legislações anteriores. Entre os documentos institucionais os principais são: estatutos, regimentos, resoluções, determinações, portarias, instruções normativas, pareceres e editais. Atualmente, a UNIVALI não dispõe de um sistema de Gerenciamento Eletrônico de Documentos (GED),ou seja, tecnologia para captar, armazenar, recuperar e gerenciar informações, o que dificulta o processo de divulgação e restringe o controle de versões dos diversos documentos produzidos e na utilização dos documentos, a maior dificuldade dos gestores é saber identificar quais os documentos relacionados e vigentes com as necessidades de tomada de decisão. Segundo Laudon e Laudon (1999), os sistemas de informação essencialmente transformam a informação em uma forma utilizável para a coordenação de fluxo de trabalho de uma organização. “Um sistema de informação pode ser definido como um conjunto de componentes interrelacionados trabalhando juntos para coletar, armazenar, processar e distribuir informação com a finalidade de facilitar o planejamento, o controle, a coordenação, a análise e o processo decisório em organizações”. Considerando que a legislação institucional é um dos principais instrumentos para apoiar a tomada de decisão e, que depende da sua indexação, armazenamento e recuperação, pretende-se durante o trabalho de conclusão de curso desenvolver um sistema de informação com características de GED. O trabalho proposto visa construir uma ferramenta para auxiliar na organização dos documentos institucionais de forma eletrônica, propiciando agilidade na recuperação das informações e auxiliando as tomadas de decisão por parte dos gestores, bem como facilitando a divulgação aos demais integrantes da Universidade, conforme a área de atuação e escopo dos documentos. A manipulação de documentos faz parte da realidade institucional e cada documento é uma fonte não estruturada de informação que pode ser perdida quando não é bem organizada. De acordo com Carvalho (2000), o GED permite uma recuperação mais eficiente, melhor segurança e controle 109 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer de versão dos documentos. Muitas das características do GED, como catalogação e indexação, foram herdadas dos tradicionais sistemas de recuperação da informação que são amplamente estudados no campo da Ciência da Informação. Para compreender o sistema proposto, a Figura 1 ilustra uma possível interação com o GED. GED e Servidor Banco de Dados WEB Usuários que Consultam documentos Usuários que armazenam documentos Figura 68. Visão geral de uma interação com GED. A implementação dessa aplicação GED para a Intranet será desenvolvida com uma linguagem de programação voltada para WEB, o PHP, utilizando um banco de dados, ORACLE campo BLOB, que possa realizar armazenamento das informações textuais. A UML (Unified Modelling Language) será utilizada para a modelagem e documentação da aplicação. 2. Justificativa As Instituições de Ensino possuem documentos internos, documentos estes produzidos por reitorias, pró-reitorias e Conselhos superiores, cuja finalidade é estabelecer diretrizes e procedimentos para a gestão institucional. Este projeto através das problemáticas de organização destes documentos, tem por objetivo o desenvolvimento de um sistema de informação para armazenamento e recuperação de documentos institucionais da Universidade do Vale do Itajaí. O sistema para o gerenciamento destes documentos intitucional da UNIVALI irá captar, armazenar, recuperar e gerenciar informações, na qual facilitará os processo de divulgação e de 110 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer controle de versões dos diversos documentos produzidos, resultando, em tomadas de decisão precizas através de documentos completos e atualizados. Outra característica comum em documentos como resoluções e instruções normativas é haver vinculação com outros documentos, sendo que GED contribuirá para o maior controle da validade dos documentos e mecanismos de divulgação de forma agrupada. Diversas razões explicam a atual efervescência do mercado de gerência de documentos. A principal delas é a percepção da vital importância que os documentos possuem como repositório do conhecimento das organizações, uma vez que a maior parte de suas informações vitais estão contidas em documentos não-estruturados Sadiq(1997, apud MACEDO, 2003). Oliveira Filho relata que o grande diferencial da solução de GED é sem dúvida o recurso de busca textual. Zotto (2002) define GED como uma tecnologia da computação que visa captar, armazenar, recuperar e gerenciar informações de forma eletrônica. Os documentos originais (em papel) são convertidos para os formatos de imagens eletrônicas, indexados (geração índices de pesquisa) e arquivados em equipamentos com capacidade alta de armazenamento. Perante a dificuldade da organização destes documentos institucional na UNIVALI devido a inexistencia de um Gerenciador eficaz. Professores, funcionários, técnico-administrativos, acadêmicos e entre outros através deste projeto, terão o GED como ferramenta para consulta através de forma eletrônica, com a intenção inicial de disponibilizar o acesso ao sistema eletrônico de documentos a partir da Intranet da UNIVALI para o Conselho dos Órgãos Colegiados, aproveitando a autenticação dos usuários para habilitar as funcionalidades previstas para cada categoria (gestores, professores, funcionários etc). 3. Metodologia A metodologia de trabalho a ser aplicada no projeto compreende cinco etapas, são elas as seguintes: Etapa 1 : Estudo – pesquisa de conceitos e tecnologias de indexação, armazenamento e recuperação em banco de dados textual, pesquisa de tecnologias e produtos de GED no banco de dados textual, realização de levantamento de requisitos do GED institucional, definição da arquitetura do sistema (tecnologias/ferramentas) através de fontes pertinentes ao projeto 111 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer Etapa 2 : Modelagem – elaboração da modelagem do sistema, foram realizados a análise e o projeto do sistema proposto, compreendendo os requisitos, especificações, arquitetura e componentes do sistema proposto Etapa 3 : Desenvolvimento - implementação e teste da aplicação, sendo a implantação da aplicação para um conjunto de documentos ditos Banco de Dados textuais. Etapa 4 : Validação – validar a aplicação, avaliar a utilização por parte dos usuários. Etapa 5 : Documentação - documentação (TCC I), documentação da aplicação executada (TCC II). 4. Discussão Após as definições dos requisitos junto ao setor dos Órgãos Colegiados, da modelagem com a UML e do banco de dados, deu-se inicio a fase de implementação do sistema. Realizar a implementação do sistema para a intranet da Univali foi a proposta do projeto, essa proposta necessita de aprovação do setor de TI da Univali, que ira avaliar os resultados aqui obtidos, para disponibilizar a implantação do sistema. A definição do pacote da Oracle text como parte fundamental na concepção do sistema pela sua capacidade de indexação e recuperação de documentos, acarretou em uma fase destinada a estudos e testes aprofundados a fim se avaliar sua aplicação no sistema proposto. Além do pacote da Oracle o SGBD Oracle 9.i., exigiu testes e técnicas de instalação, configuração do banco em um ambiente de desenvolvimento local. Não esquecendo da linguagem PHP grande novidade, pois não sendo apresentada durante o curso, foi motivo de estudos concentrados e parte fundamental para continuação deste projeto. Para superar esses obstáculos, além da bibliografia específica sobre esses assuntos, fez-se necessário estabelecer uma rede de contatos com pessoas envolvidas diretamente na área de desenvolvimento WEB com utilização do banco de dados SGBD Oracle, como pesquisadores e alunos da Universidade, bem como outros contatos externos. A partir desses contatos, os primeiros módulos do sistema puderam estar sendo desenvolvidos, módulo de cadastro de usuários e categoria de usuários. Neste momento a definição do sistema nos trouxe a necessidade de realizar a implementação de um acesso com restrição, cada 112 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer usuário tem seu acesso ao sistema de forma diferenciada. A diferença esta nas opções que o sistema disponibiliza para cada usuário, através das definições da categoria em que o usuário esta incluída. Isto torna o sistema restrito a acessos de módulos que não sejam autorização do setor dos Conselhos Colegiados. Todo o processo de implementação foi realizado em modo local, isto significa que o sistema esta sendo executado em apenas uma maquina. Isto não impede de que o sistema possa ser avaliado e sendo requisitadas disponibilizadas na internet através de um table space no servidor de banco de dados Oracle do curso de ciências da computação e uma área de FTP, necessária para descarregar os arquivos implementados na linguagem PHP. Em questão de segurança além da restrição de acesso por categoria de usuários, foi a utilização de sessions do PHP para autenticação de usuários. O funcionamento da sessions garante que ao entrar no sistema, o login e senha do usuário são registrados em uma sessão que ficará atrelada ao browser de visualização do site, ou seja, esta medida garante que nenhum usuário que não esteja cadastrado poderá acessar o sistema, bem como nenhum usuário que não esteja no browser em que foi realizado o login não poderá acessar o sistema. Atendendo a restrição definida pelo setor dos Órgãos Colegiados a implementação de um critério de privilégios/restrições em torno dos usuários/categorias e os documentos gerados pelo setor. Como definido há documentos que não são disponibilizados de modo algum a determinados usuários, sendo restrito a certos usuários. O privilegio de um superusuário pode ser definido como 100% de privilegio, sendo assim todo documento que possui restrição menor ou igual que 100% pode ser visualizado. Para restringir consultas a usuários comuns pode se definir sua categoria como 50%, sendo assim todo documento que tiver restrição maior que 51% não pode ser visualizado pelo usuário em questão. A consulta dos documentos cadastrados pelo setor dos Colegiados pode, ser realizada em dois módulos. O primeiro é a consulta por palavra –chave, onde a palavra digitada será comparada em todos os documentos cadastrados e retornará todo o documento que conter a palavra da pesquisa. O segundo módulo é uma consulta avançada, onde os campos que definem um documento no seu cadastramento podem ajudar na busca exata de um documento. São campos de busca avançada: Numero documento, data_divulgação, ano_divulgação, tipo_documento que proporcionam uma busca mais detalhada do documento requerido. A palavra chave nesse contexto serve para um filtro dos documentos que podem ser retornados, limitando o retorno de documentos. 113 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 5. Resultados Definidos os requisitos do projeto e implementadas as funcionalidades previstas na modelagem, as fases de implantação, treinamento e avaliação visam colocar o sistema em funcionamento no setor dos Órgãos Colegiados. A validação do sistema terá sua realização pelos gestores e funcionários-administrativos, como pelo coordenador do curso de ciências da Computação pelos dias próximos a apresentação deste trabalho à banca. Após esta avaliação será decidido pela implantação do sistema na instituição. Logo os testes iniciais de implementação demonstram a importância do sistema para o universo da instituição, que soma a sua rotina uma ferramenta de auxilio gerencial. Tendo na sua concepção a estrutura de um GED. Uma vez que nada no sentido de Gerenciamento de documentos esta sendo usado ou implementado na instituição tornando o projeto muito interessante, já que há uma crescente utilização de gerenciamento de documentos incorporado a workflow no mercado atual. A disponibilidade de log´s de acesso no sistema possibilita a gerencia um controle das atividades além de meios de auditoria. 6. Conclusão O GED utiliza métodos para manipular os documentos eletronicamente e disponibilizar rapidamente os resultados para os gestores, auxiliando o processo de tomada de decisão. O Sistema Gerenciador de Documentos Institucionais atende a uma necessidade real da Secretaria dos Conselhos Superiores em manipular os documentos, onde todos os documentos que serão disponibilizados no sistema já foram digitados. Assim, a princípio, não havendo a necessidade de digitalização dos documentos originais. Essa digitação, resultado de uma força-tarefa, resultou em documentos no formato DOC e PDF das resoluções publicadas a partir de 1989. As resoluções em papel foram mantidas arquivadas em pastas, juntamente com outros documentos e se necessário, posteriormente podem ser digitalizados. No que se refere à Metodologia aplicada, foi utilizado a UML para modelagem do escopo do sistema, onde a descrição dos use-case mostra ações conscientes e claras das responsabilidades 114 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer atribuídas ao sistema. Para aplicar estes conceitos foram utilizados a ferramenta Enterprise Architect , já para modelagem do banco de dados foi utilizado a ferramenta ERWin. Na implementação foi utilizada a linguagem de programação PHP. Uma vez que o sistema será utilizado pelos membros dos Conselhos Colegiados através da Intranet da UNIVALI. Sendo que o ambiente disponibilizado pelo Departamento de Tecnologia da Informação da Univali foi desenvolvido nessa linguagem, assim adotando-se no sistema. A característica do PHP quer em segurança quanto em facilidade de acesso à banco de dados, também foram considerados na decisão pela linguagem, porém as dificuldades na implementação da linguagem, como configuração com o banco de dados, trouxe maior motivação em concluir a implementação. O SGBD adotado foi Oracle 9i que necessitou de um tempo de pesquisa maior, em função dos requisitos de armazenamento e recuperação de dados do tipo textual (legislação educacional). Tarefa que dispensou um tempo considerável do cronograma do projeto, pois desde o primeiro momento sentiu-se a dificuldade de encontrar material bibliográfico que auxiliasse na descoberta dos mecanismos de indexação e recuperação que os SGBDs implementam para tratar documentos textuais. As pesquisas apontaram para um padrão que as empresas implementaram em seus produtos, especialmente os SGBDORs, o qual denomina-se campo Blob. Este campo trata as informações de forma binária, possibilitando às aplicações armazenarem e recuperarem dados complexos.Além do Blob, a Oracle dispõe de um pacote específico para tratamento de textos, denominado Oracle Text. Que ao ser analisado confirmou as expectativas e proporcionou a implementação do sistema com base nesse tipo de Banco de dados, garantindo o armazenamento e recuperação de informações do tipo textual. Recomenda-se para trabalhos futuros a ampliação desse projeto levando o conceito de GED para toda a instituição. Tendo como ponto alto a implantação de um Workflow, que interligaria toda a universidade trazendo agilidade, Confiabilidade e integridade nas ações e processos entre os gestores da Instituição. Conclui-se que este sistema é um pequeno passo, em uma área em desenvolvimento, para uma grande aplicação na área de Sistema de Informação, no caso um WORKFLOW institucional. 115 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer 6. Referências Bibliográficas CARVALHO, R. B. et. al. Acelerando a espiral do conhecimento com a tecnologia da informação. 2000. 10 f. Programa de Pós-Graduação em Ciências - UFMG - Departamento de Ciência da Computação - Centro Universitário FUMEC - Banco de Desenvolvimento de Minas Gerais - BDMG, Belo Horizonte, 2000. Disponível em: <http://www.pr.gov.br/batebyte/edicoes/2002/bb126/criacao.htm> Acessado: em mar de 2004. LAUDON, K. C.; LAUDON, J. P. Sistemas de Informação.Tradução Dalton Conde de Alencar. Editora LTC, 1999. MACEDO, Geraldo Najela Ferreira de. BASES PARA A IMPLANTAÇÃO DE UM SISTEMA DE GERENCIAMENTO ELETRÔNICO DE DOCUMENTOS – GED ESTUDO DE CASO. 2003.Dissertação apresentada ao Programa de Pós-Graduação em Engenharia de Produção da Universidade Federal de Santa Catarina como requisito parcial para obtenção do título de Mestre em Engenharia de Produção. OLIVEIRA FILHO, F. M. et. al. Projeto Openged. <http://openged.codigolivre.org.br/projeto.html>Acessado em março de 2004. Disponível em: ZOTTO, O. F. A.Gerenciamento Eletrônico de Documentos. 2002. Disponível em: < http://celepar7cta.pr.gov.br/portfolio.nsf/>. Acessado em: 18 abr 2004. 116 Create PDF with GO2PDF for free, if you wish to remove this line, click here to buy Virtual PDF Printer