universidade do vale do itajaí centro de ciências tecnológicas da

Propaganda
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
Download