Bibliotecas Digitais: Uma abordagem para armazenamento e

Propaganda
CENTRO UNIVERSITÁRIO VILA VELHA
CURSO DE CIÊNCIA DA COMPUTAÇÃO
Filippe Zampiroli Lovatti
Bibliotecas Digitais: Uma abordagem para
armazenamento e publicação de artigos
científicos
VILA VELHA
2010
Filippe Zampiroli Lovatti
Bibliotecas Digitais: Uma abordagem para
armazenamento e publicação de artigos
científicos
Trabalho de Conclusão de Curso apresentado ao Centro Univertário Vila Velha como
requisito parcial para a obtenção do grau
de Bacharel em Ciência da Computação.
Orientador: Cristiano Biancardi
VILA VELHA
2010
Filippe Zampiroli Lovatti
Bibliotecas Digitais: Uma abordagem para
armazenamento e publicação de artigos
científicos
BANCA EXAMINADORA
Prof. Msc. Cristiano Biancardi
Centro Universitário Vila Velha
Orientador
Prof. Msc. Sandro Tonini da Silva
Centro Universitário Vila Velha
Prof. Msc. Susiléa A. Dos Santos
Lima
Centro Universitário Vila Velha
Trabalho de Conclusão de Curso
aprovado em 17/11/2010.
Eu, Filippe Zampiroli Lovatti, autorizo que a
UVV, sem ônus, promova a publicação de
minha monografia em página própria na Internet ou outro meio de divulgação de trabalho científico.
Data: 17/11/2010
Assinatura:
Aos meus pais, familiares, amigos e namorada.
AGRADECIMENTOS
Agradeço primeiramente a Deus por permitir e dar-me força para que esse trabalho
se realizasse.
Agradeço a minha família pelo apoio incondicional durante toda a faculdade, dando
todo o suporte necessário a minha formação.
A minha namorada Tayná Tavares Ambrosio por todo apoio durante a faculdade, e
principalmente, no decorrer desse trabalho sendo compreensiva e principal incentivadora.
Aos meus avôs, que foram imprescindíveis na minha educação. Principalmente ao
meu avô Alfonso, por ser uma referencia impar na minha vida.
Aos meus amigos feitos durante toda a faculdade, tanto em Ciência da Computação quanto em Engenharia de Petróleo, espero tê-los pelo resto da vida.
Aos amigos da Promov, que me deram suporte, e foram indispensáveis para realização desse trabalho.
Ao meu tio Elio e família que me recebeu em sua casa durante o desenvolvimento
desse projeto.
Ao suporte e paciência de todos os professores.
Por fim ao orientador Prof. Msc. Cristiano Biancardi pelo direcionamento para que
esse projeto se concretizasse.
LISTA DE TABELAS
1
Principais acontecimentos na história das BDs. . . . . . . . . . . . . . .
18
2
Os Elementos Dublin Core [de Menezes CARDOSO 2007]. . . . . . . .
22
3
Os verbos e seus argumentos [Forc, 2003]. . . . . . . . . . . . . . . . .
31
4
Descrição dos casos de uso propostos na solução. . . . . . . . . . . . .
39
5
Dicionário de dados Artigo
. . . . . . . . . . . . . . . . . . . . . . . . .
46
6
Dicionário de dados Avaliação . . . . . . . . . . . . . . . . . . . . . . .
47
7
Dicionário de dados Usuário . . . . . . . . . . . . . . . . . . . . . . . .
47
8
Dicionário de dados Categoria . . . . . . . . . . . . . . . . . . . . . . .
47
9
Dicionário de dados Artigo_Situação . . . . . . . . . . . . . . . . . . . .
47
10
Ícones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
11
Tempo de Execução das Tarefas (em segundos) . . . . . . . . . . . . .
74
12
Número de erros por tarefas . . . . . . . . . . . . . . . . . . . . . . . . .
74
LISTA DE FIGURAS
1
Parte de uma reposta a uma requisição onde pode-se observar o DC
em conjunto com o XML. . . . . . . . . . . . . . . . . . . . . . . . . . .
2
24
Ilustra os dois tipo de interoperabilidade apresentados, Federation e
Harvesting. [CUNHA 2008] . . . . . . . . . . . . . . . . . . . . . . . . .
26
3
Representação do esquema de um provedor de dados.[CONTESSA 2006] 29
4
Provedor de Serviços. [CONTESSA 2006] . . . . . . . . . . . . . . . . .
32
5
Diagrama de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
6
Diagrama de Casos de Uso do módulo Básico. . . . . . . . . . . . . . .
37
7
Diagrama de Casos de Uso do módulo de Avaliação. . . . . . . . . . . .
37
8
Diagrama de Casos de Uso do módulo de Administração. . . . . . . . .
38
9
Diagrama de Casos de Uso do módulo de Publicação. . . . . . . . . . .
38
10
Diagrama de Classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
11
Diagrama de Sequência do caso de uso Manter Usuário (Inserir) . . . .
49
12
Diagrama de Sequência do caso de uso Manter Usuário (Consultar) . .
50
13
Diagrama de Sequência do caso de uso Manter Usuário (Alterar) . . . .
50
14
Diagrama de Sequência do caso de uso Manter Usuário (Remover) . .
51
15
Diagrama de Sequência do caso de uso Publicar Artigo . . . . . . . . .
51
16
Diagrama de Transição de Estado . . . . . . . . . . . . . . . . . . . . .
52
17
Diagrama de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
18
Diagrama de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
19
Arquitetura Básica de Projeto Orientado a Objetos . . . . . . . . . . . .
56
20
Diagrama de Pacotes - Divisão em Camadas . . . . . . . . . . . . . . .
57
21
Diagrama de Classes Componente Domínio do Problema . . . . . . . .
58
22
Diagrama de Classes Gerência de Tarefas
. . . . . . . . . . . . . . . .
59
23
Diagrama de Sequência Revisado - Inserir Usuário . . . . . . . . . . . .
60
24
Diagrama de Sequência Revisado - Consultar Usuário . . . . . . . . . .
60
25
Diagrama de Sequência Revisado - Alterar Usuário . . . . . . . . . . .
61
26
Diagrama de Sequência Revisado - Remover Usuário . . . . . . . . . .
61
27
Diagrama de Sequência Revisado - Listar Artigos
. . . . . . . . . . . .
62
28
Diagrama de Sequência Revisado - Publicar Artigo . . . . . . . . . . . .
62
29
Diagrama de Classes do Componente de Gerência de Dados . . . . . .
63
30
Diagrama Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
31
Diagrama de Navegação
. . . . . . . . . . . . . . . . . . . . . . . . . .
65
32
Padrão de Interface Busca
. . . . . . . . . . . . . . . . . . . . . . . . .
67
33
Padrão de Interface Listar . . . . . . . . . . . . . . . . . . . . . . . . . .
67
34
Padrão de Interface do Painel de Controle . . . . . . . . . . . . . . . . .
68
35
Padrão de Interface Cadastro . . . . . . . . . . . . . . . . . . . . . . . .
68
36
Stored Procedure - Publica Artigo . . . . . . . . . . . . . . . . . . . . .
70
37
Diagrama de Componentes . . . . . . . . . . . . . . . . . . . . . . . . .
71
38
Diagrama de Implantação . . . . . . . . . . . . . . . . . . . . . . . . . .
72
SUMÁRIO
RESUMO
1 INTRODUÇÃO
13
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.3.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
1.3.2 Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . .
15
1.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.5 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2 REFERENCIAL TEÓRICO
17
2.1 Bibliotecas Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.2 Metadados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.3 Dublin Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.4 Interoperabilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.5 Abordagens de Integração
. . . . . . . . . . . . . . . . . . . . . . . . .
25
2.6 Open Archives Initiative OAI-PMH . . . . . . . . . . . . . . . . . . . . .
27
2.7 Provedor de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.8 Provedor de serviços . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.9 Construção de uma biblioteca digital . . . . . . . . . . . . . . . . . . . .
32
3 LEVANTAMENTO DE REQUISITOS
34
3.1 Descrição Geral do Ambiente . . . . . . . . . . . . . . . . . . . . . . . .
34
3.2 Divisão em Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.3 Modelagem Casos de Uso
. . . . . . . . . . . . . . . . . . . . . . . . .
36
3.4 Descrição dos Atores . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.5 Descrição dos Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . .
39
3.5.1 Avaliar artigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.5.2 Manter Usuário . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
3.5.3 Publicar artigo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4 ESPECIFICAÇÃO DE ANÁLISE
44
4.1 Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
4.2 Dicionário de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.3 Diagrama de Interação . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.3.1 Diagrama de Sequência . . . . . . . . . . . . . . . . . . . . . . .
48
4.4 Diagrama de Transição de Estado . . . . . . . . . . . . . . . . . . . . .
52
4.5 Diagrama de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5 ESPECIFICAÇÃO DE PROJETO
54
5.1 Escolha da Tecnologia . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.2 Arquitetura do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
5.3 Pacotes De Administração, Submissão, Busca e Avaliação . . . . . . .
56
5.3.1 Divisão em Camadas . . . . . . . . . . . . . . . . . . . . . . . .
56
5.4 Pacote de Publicação . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.4.1 SQL Server Agent . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.4.2 Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . .
69
5.5 Diagrama de Componentes . . . . . . . . . . . . . . . . . . . . . . . . .
71
5.6 Diagrama de Implantação . . . . . . . . . . . . . . . . . . . . . . . . . .
71
6 TESTES
6.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
74
7 CONCLUSÕES E TRABALHOS FUTUROS
75
REFERÊNCIAS
77
ANEXO A - Plano de Teste
79
RESUMO
A publicação de trabalhos científicos além de promover o avanço da ciência, eleva o
reconhecimento dos autores por parte da comunidade científica. O processo burocrático para publicação e divulgação de trabalhos científicos somado à popularização
da mídia digital, faz com que as Bibliotecas Digitais sejam cada vez mais bem vistas
nos dias atuais. Um dos principais problemas apontados para publicação de artigos
científicos em revistas é o fato que muitas vezes estes podem se tornar obsoletos até
a publicação, devido ao demorado processo de avaliação ao qual estes artigos são
submetidos. Outro problema encontrado é que nem sempre bons trabalhos são publicados, isso ocorre pela falta de espaço nestas mídias. Com o objetivo de solucionar
esses problemas as Bibliotecas Digitais surgem como uma alternativa para agilizar o
processo de publicação dos artigos. A construção de uma Biblioteca Digital deve primar pela interface com o usuário, os serviços oferecidos e o repositório de metadados.
Com o proposito de desenvolver uma Biblioteca Digital foram estudados os principais
protocolos e padrões existentes assim como trabalhos relacionados. Com o resultado
desse estudo foi possível desenvolver o sistema de Biblioteca Digital respeitando as
premissas acima, eliminado deficiências encontradas em outras e incorporando funcionalidades como submissão, avaliação e publicação de artigos.
Palavras-chave: Biblioteca Digital. Artigo Científico. Publicação.
13
1
INTRODUÇÃO
Segundo [SILVA,2004], a medida da aceitação ou qualidade de um trabalho pode
ser dada pelo número de vezes em que ele é referenciado. Assim, nota-se a grande
importância que tem a divulgação dos trabalhos publicados por um pesquisador ou
por um grupo de pesquisa. Mas para a concretização desse fato é necessária a existência de processos e mecanismos eficientes que permitam aos autores publicar seus
trabalhos.
Em geral, a comunidade científica divulga e publica os resultados dos trabalhos
em artigos submetidos a congressos, conferências, simpósios ou periódicos. Este
tipo de publicação feita em mídia digital ou impressa, sujeita à avaliação de comitês
especializados, pode tornar o processo de publicação mais lento e complexo fazendo
com que trabalhos fiquem obsoletos, por outro lado, isso aumenta a qualidade relativa
dos artigos. Isto se deve ao fato de haver uma seleção dos melhores trabalhos para
publicação. Essa seleção gera outro problema: trabalhos de qualidade não publicados.
Além disso, muitas vezes há a necessidade de resolução de problemas burocráticos
relacionados a direitos autorais, os quais podem dificultar ainda mais o processo de
divulgação das publicações.
Na tentativa de solucionar os problemas descritos acima, bibliotecas digitais vêm
sendo utilizadas. Segundo a Digital Library Federation, bibliotecas digitais (BDs) podem ser definidas como organizações que fornecem recursos para selecionar, estruturar, oferecer acesso intelectual, distribuir, preservar a integridade e garantir a permanência das coleções digitais, de tal forma que elas estejam disponíveis para uma ou
várias comunidades. Nelas há repositórios de metadados sobre os trabalhos publicados, bem como links para os textos dos trabalhos (ou mesmo o arquivo propriamente
dito, como texto). Um exemplo de biblioteca digital é a BDBComp [LAENDER; ROBERTO,2004].
Assim diversas bibliotecas digitais surgiram com essa iniciativa, como consequên-
14
cia direta disso aumentou o número de publicações através das mesmas. Contudo
surge um dificultador no que diz respeito a busca por tais trabalhos onde é necessário o acesso a cada uma separadamente. Visando resolver este problema a Iniciativa
de Arquivos Abertos (OAI - Open Archives Initiative) sugere que tais bibliotecas digitais disponibilizem seus metadados através de um serviço padrão de forma que seja
possível a implantação do sistema de disponibilização e coleta metadados.
Nas bibliotecas atuais são encontradas deficiências. Algumas delas servem somente como repositórios digitais, não oferecendo ou disponibilizando em partes serviços como busca, navegação, submissão, interoperabilidade, avaliação e a publicação
de trabalhos. Além disso outros serviços de gerenciamento como: controle de acesso,
avaliação de trabalhos pelos leitores e personalização do ambiente não são encontrados por completo nas bibliotecas digitais.
Dentro deste contexto este trabalho tem por objetivo estudar bibliotecas digitais
que estão relacionadas a submissão, publicação e avaliação de trabalhos assim como
propor, modelar e implementar um sistema que resolva as deficiências encontradas e
incorpore outros serviços.
1.1
Motivação
Observando o mercado de software foi encontrando uma carência no que diz respeito a sistemas de Bibliotecas Digitais que englobam submissão, avaliação e publicação de artigos.
Através de uma pesquisa, foram encontrados alguns softwares que realizam tais
tarefas, porém de forma manual e ineficiente.
Além da falta de softwares no mercado, o processo manual de submissão e avaliação torna o processo lento e burocrático, que muitas vezes tornam estudos obsoletos
até sua publicação.
1.2
Justificativa
Diante esta carência do mercado de software, este projeto visa relacionar as principais tecnologias para o desenvolvimento de Bibliotecas Digitais, obtendo maior controle, agilidade, facilidade e confiabilidade para a publicação de artigos. Auxiliando
15
também, na submissão e avaliação, tendo padrão, agilidade e controle das solicitações, sendo de fácil utilização para com seus usuários.
1.3
Objetivos
1.3.1
Objetivo Geral
O Objetivo principal deste é desenvolver um sistema de informações em ambiente
web de Bibliotecas Digitais, contemplando aspectos de submissão, avaliação, publicação e interoperabilidade.
1.3.2
Objetivos específicos
Os objetivos específicos desse trabalho são:
• Criar um sistema web, com gerenciamento de perfis: Usuário comum, usuário
avaliador e usuário administrador;
• Permitir qualquer visitante ter acesso rápido aos artigos contidos na biblioteca
através de um sistema de buscas, com opção de realizar buscas avançadas;
• Permitir ao usuário comum submeter artigos, editar artigos já submetidos e gerenciar seu perfil;
• Desenvolver um módulo de interoperabilidade em conformidade com o protocolo
OAI-PMH e que utilize o Dublin Core como padrão de metadados;
• Criar um método para avaliação de artigo, onde usuários previamente cadastrados darão notas e tecerão comentários sobre o artigo avaliado;
• Desenvolver ferramentas que auxiliem o usuário administrador a manter a biblioteca, através de rotinas como: criar categoria, definir quantidade de avaliações
e nota mínima para um artigo ser publicado e definir usuário como avaliador;
• Realizar testes de usabilidade no sistema implementado, visando melhorá-lo.
16
1.4
Metodologia
Para alcançar todos os objetivos foram executados as seguintes atividades:
• Efetuar pesquisas sobre os conceitos de Bibliotecas Digitais;
• Estudar o protocolo Open Archives Initiative Protocol Metadata Harvestinhg(OAIPMH);
• Analisar o padrão para descrição de metadados Dublin Core;
• Estudar trabalhos relacionados, identificando pontos positivos e negativos;
• Modelar um ambiente web para submissão, avaliação e publicação de artigos;
• Implementar uma ferramenta que dê suporte à submissão, avaliação e publicação de trabalhos.
1.5
Organização do Trabalho
A seguir é apresentada uma breve descrição sobre a organização dos próximos
capítulos deste trabalho.
O capítulo 2 apresenta algumas definições sobre Bibliotecas Digitais, além de explicar os conceitos de metadados, padrões de metadados, Dublin Core, tipos de integração de dados e Iniciativa de Arquivos Abertos e protocolo (OAI-PMH).
O capítulo 3 apresenta o Levantamento dos Requisitos do sistema. São descritas
as funcionalidades do sistema, seus casos de usos e atores.
No capítulo 4 é descrita a especificação da Análise. Na análise são modelados os
requisitos através dos diagramas de classes e seqüência.
O capítulo 5 contém toda a especificação do Projeto do sistema, abordando soluções tecnológicas e a modelagem detalhada do sistema para posterior implementação.
O capítulo 6 contém a parte de Testes. São apresentados os testes realizados e
seus resultados.
O capítulo 7 contém a conclusão do trabalho, bem como os trabalhos futuros.
17
2
REFERENCIAL TEÓRICO
Nesta seção, serão abordados os conceitos de Bibliotecas Digitais e padrão de
Metadados, serão citados assuntos relevantes sobre integração de dados no tema
proposto para o trabalho e, por fim, serão apresentados conceitos para construção de
uma Biblioteca Digital.
2.1
Bibliotecas Digitais
Para falar de Bibliotecas Digitais (BD) deve-se conhecer primeiro um pouco da sua
historia e quais os personagens principais para que essa idéia se tornasse realidade.
A biblioteca convencional é aquela em que a maioria dos itens do seu acervo é constituída de documentos em papel. Ela existe desde a invenção da escrita. É claro que,
antes do advento da imprensa de tipos móveis, em 1440, o seu acervo era formado
por outros tipos de materiais (como o tablete de argila, o papiro e o pergaminho). Uma
característica da biblioteca convencional é que tanto a coleção como os seus catálogos utilizam o papel como suporte de registro da informação. Todavia, no final do
século XIX, houve uma grande revolução na biblioteca, com a introdução do catálogo
em fichas e o abandono do catálogo sob a forma de livro[CUNHA 2008] Nas últimas
décadas, o computador tem sido utilizado de forma cada vez mais crescente e, desde
os anos 1970, muitas bibliotecas implantaram catálogos em linha, passaram a acessar
bancos de dados, iniciaram o uso regular do periódico eletrônico e o acesso a textos
completos de artigos de periódicos, a verbetes de enciclopédias e a itens de outras
fontes de referência. A partir de 1994, por exemplo, com a implantação da World Wide
Web (WWW) e do fenomenal crescimento da Internet, as possibilidades de acessar e
recuperar informações aumentaram de forma nunca antes imaginada [CUNHA 1999].
Os principais acontecimentos assim como seus autores seguem na (tabela 1) abaixo
apresentada.
18
Autore(s)
Paul
Otlet
e
Henri
La
Fontaine
Ano
1895
H. G. Wells
1938
Vannevar Bush
1945
IBM
1950
Institutos
de
Pesquisa
Theodor Holm
Nelson
1960
Governo
EUA
1994
dos
1960
Descrição
Criaram Instituto Internacional de Bibliografia, cujo objetivo era registrar em fichas a produção mundial de
impressos: o Repertório Bibliográfico Universal[BDs e
suas utopias]
Sugeriu a criação de uma enciclopédia universal, que
conteria a memória planetária completa para toda a
humanidade. [AO 2008]
Arquitetou o memex que é um dispositivo através do
qual um indivíduo armazena todos os seus livros,
seus registros e suas comunicações, ele é mecanizado de forma que pode ser consultado com extraordinária velocidade e flexibilidade. O memex é um
suplemento pessoal ampliador da memória desse indivíduo. [AO 2008]
Criou as primeiras aplicações concretas de computadores no apoio a funções de bibliotecas. Como
a utilização de cartões perfurados para dar suporte
às operações de processos técnicos da biblioteca.
[AO 2008]
Primeiras Bibliotecas Digitais. [AO 2008]
Estabeleceu a idéia de hipertexto e a hipermídia. Esses conceitos foram desenvolvidos no contexto do seu
projeto chamado Xanadu. [AO 2008]
Investimento pesado na área de Bibliotecas Digitais
com montantes na ordem de mais de 24 milhões
de dólares, para constituição de um programa multiagência, denominado Digital Library Initiative (DLI).
[AO 2008]
Tabela 1: Principais acontecimentos na história das BDs.
O Memex pode ser considerado como o primeiro pensamento semelhante ao conceito das bibliotecas digitais atuais. Este foi vislumbrado por Bush como um dispositivo
para uso individual que funcionasse como uma biblioteca mecanizada. Um dispositivo capaz de amarzenar livros, dados e mensagens, de forma que toda informação
pudesse ser consultada de forma veloz e flexível. Ainda de acordo com o modelo
proposto por Bush para o Memex, ele deveria funcionar como um grande depósito
de informações, que fosse capaz de armazenar grande quantidade de informações e
demorasse centenas de anos para completar o espaço disponível. Além da alta capacidade de armazenamento um outro fator crucial seria o mecanismo de busca, se
um usuário desejasse consultar por um livro, digitaria o código no teclado e o título
19
apareceria em seguida, projetado sobre uma das telas. [BUSH 1945]
O termo Biblioteca Digital possui conotações que variam de acordo com o ponto
de vista de autores e estudiosos da área. De acordo com a Digital Library Federation Bibliotecas Digitais são organizações que produzem recursos e inclui pessoas
especializadas para selecionar, estruturar e oferecer acesso intelectual a coleções de
trabalhos digitais, alám de distribuir, preservar e garantir a integridade dos arquivos
destes trabalhos. As Bibliotecas Digitais devem ser capazes de garantir a legibilidade
e disponibilidade dos trabalhos para uso de uma ou mais comunidades.
Conforme [BAEZA and YATES 1999], Biblioteca Digital é uma combinação que envolve: uma coleção de objetos digitais (repositório); descrições destes objetos (metadados); um conjunto de usuários e sistemas que oferecem uma variedade de serviços,
tais como captura, indexação, catalogação, busca, navegação, recuperação, entrega,
arquivamento e preservação. Em seguida destaca-se os principais benefícios que
uma BD tem em relação a uma biblioteca convencional.
• Acesso 24 horas por dia, 7 dias por semana, 365 dias por ano;
• Retiradas, devoluções e recolocações automáticas nas prateleiras digitais;
• Várias pessoas podem utilizar o mesmo recurso simultaneamente;
• Fornece relatórios detalhados para analisar a utilização da biblioteca em níveis
sem precedentes;
• O mecanismo de busca permite pesquisa de palavras em um livro ou em uma
coleção inteira de livros;
• Não ha necessidade de aumento do espaço físico com a inclusão de novos trabalhos;
• O custo de implementação e manutenção muito inferior a uma biblioteca convencional.
Conforme Gary Marchionini e seus co-autores, em [et al MARCHIONIINI 2002],
BDs (Bibliotecas Digitais) servem comunidades de pessoas e são criadas e mantidas
por e para pessoas. As pessoas e as informações que as BDs precisam são centrais
para todas as bibliotecas, digitais ou não. Todos os esforços no projeto, implementação e avaliação de BDs devem ser consolidados nas necessidades de informações,
20
características e contextos dos usuários que usarão ou poderão usar essas bibliotecas.
Apesar dos diferentes pontos de vista apresentados, todos os autores citados, concordam que este tipo de biblioteca implica em novas funcionalidades no que diz respeito á organização, recuperação e armazenamento de informações. As Bibliotecas
Digitais devem disponibilizar serviços e produtos, possibilitando recuperar documentos completos e bibliográficos, possuindo tipos diversos de registros (imagem, áudio,
texto) e utilizando sistemas inteligentes que ajudam na recuperação da informação.
No caso específico da recuperação da informação contida nas publicações, tal tarefa sempre foi o principal objetivo dos instrumentos elaborados pelas BDs e sistemas
de informação. Com o surgimento de novas tecnologias, surgiram também, novas
formas de organizar, estruturar e disponibilizar a informação, como exemplo dessas
tecnologias pode-se citar os metadados.
2.2
Metadados
A origem do termo “metadados” se inicia nos anos 60, mas aparece com maior
frequência na literatura sobre sistemas de gerenciamento de bases de dados a partir
dos anos 80, sendo empregado para identificar as informações auto-descritivas e de
auto-controle dos dados contidos nas bases [VELLUCCI 2002].
A necessidade da utilização de metadados na organização eletrônica é crescente
como a necessidade de disponibilizar e descobrir informações na internet e nas intranets. Os metadados possibilitam a integração para compartilhamento de recursos e
aplicações entre os sistemas de informação e de gestão de conhecimento.
A definição mais comum sobre metadados é “dado estruturado sobre dado”, ou
dito de outra maneira, é a informação estruturada que descreve o conteúdo dos repositórios que armazenam recursos, digitais e não-digitais. Exemplos de recursos
incluem imagens, livros, obras de arte, músicas e artigos científicos.
Os metadados possuem um conjunto de elementos para o propósito de descrição,
administração, requisitos legais, funcionalidade técnica, uso e convenção, e preservação. Alguns exemplos de elementos de metadados são: título, autor, descrição,
direitos autorais e data de crição.
De acordo com [BAEZA and YATES 1999], metadados são atributos de dados ou
21
documentos, normalmente descritivos. Os metadados, tipicamente, são mantidos em
um catálogo algumas vezes registrado de acordo com algum padrão de descrição de
metadados.
Um padrão consiste em um conjunto de elementos, sendo que para cada um é
dado um nome explicativo, rótulo e definição. Às vezes, uma anotação é fornecida
para documentar a história da mudança do elemento e o mapeamento entre este e
outros elementos em outras normas [de Menezes CARDOSO 2007]. Com o rápido
crescimento da Internet ocorreu uma ploriferação de padrões de metadados, cada um
construído para atender uma comunidade, tipos de materiais e necessidades de projetos específicos [ZENG and CHAN 2006]. Dentre os padrões de metadados, pode-se
destacar alguns como o Dublin Core [DC 2010], o MARC [LOC 2010], o IEEE Learning Object Metadata [IEEE 2010], e o IMS. É importante destacar que, usualmente,
estes padrões utilizam XML para sua representação. Um exemplo de um metadado
no padrão Dublin Core pode ser observado na (figura 1).
Conforme estudo realizado em [KRUTSON et al. 2003] os padrões Dublin Core e
MARC são os mais utilizados hoje em dia, este estudo contemplou 227 instituições e
constatou que 23% das bibliotecas utilizam o padrão Dublin Core; 26% utilizam multipadrões incluindo o padrão MARC, 16% utilizam apenas o padrão MARC. Como um
dos objetivos deste trabalho é disponibilizar os metadados segundo a Iniciativa de
Arquivos Abertos [KRUTSON et al. 2003], será usado o padrão Dublin Core.
2.3
Dublin Core
Com o objetivo de criar uma ferramenta para descrição de metadados que fosse
fácil de ser utilizada, em 1995, na cidade de Dublin, Irlanda, foi criado o Dublin Core
Metadata Intiative (DCMI), que resultou na criação de um padrão internacional de metadados conhecido como Padrão Dublin Core e composto por 15 elementos básicos.
O padrão foi desenvolvido por especialistas de áreas como biblioteconomia e computação no OCLC/NCSA Metadata Workshop, realizado em março de 1995. O objetivo
do grupo era criar uma ferramenta para descrição de metadados de fácil utilização e
que tornasse possível encontrar informações eletrõnicas de forma análoga ao provido
por um sistema de busca de uma biblioteca.
O padrão DC (Dublin Core) inclui dois níveis: Simples e Qualificado. O Dublin
Core Simples inclui quinze elementos, o Qualificado inclui três elementos adicionais
22
(Audiência, Proveniência e Detentor de Direitos), assim como um grupo de refinamentos de elementos (também chamados qualificadores), que refinam a semântica dos
elementos de maneira que sejam úteis nas descobertas de recursos.
Os principais elementos do padrão DC [de Menezes CARDOSO 2007], suas descrições e um breve exemplo de cada são apresentados na tabela 2.
Elemento
Title
Subject
description
Type
Source
Relation
Descrição
O nome dado ao recurso. Efetivamente, é o nome que curso é formalmente conhecido.
O tópico do conteúdo do recurso. Tipicamente, o subject pode ser expresso nas palavras-chave do recurso.
Uma descrição do conteúdo do recurso. Esse elemento pode incluir:
um resumo, um índice ou um texto livre sobre o conteúdo1 do recurso.
A natureza ou o gênero do conteúdo
do recurso.
Uma referência de onde o recurso foi
gerado.
Uma referência para um outro recurso
relacionado.
Exemplo
Casa-Grande e Senzala
escravidão, literatura,
senhor de engenho
Em 1933, Gilberto
Freyre publica CasaGrande e Senzala,
um livro que revoluciona os estudos no
Brasil, tanto pela novidade dos conceitos quanto pela qualidade literária
texto
Casa-Grande
e
Senzala,
Primeira
Ediç ao
Nordeste: Aspectos
da Influência da
Cana
Tabela 2: Os Elementos Dublin Core [de Menezes CARDOSO 2007].
23
coverage
Creator
publisher
contribuitor
Rights
Date
Format
identifier
language
Inclui um local (nome de um lugar
ou coordenadas geográficas), um período no tempo ou jurisdição (entidade administrativa).
Entidade responsável pela criação do
conteúdo do recurso. Pode ser uma
pessoa, uma organização ou um serviço.
Entidade responsável por disponibilizar o recurso criado.
Pessoa, organização ou serviço responsável por contribuir com o conteúdo do recurso criado.
Informação sobre os direitos do recurso.
Uma data que pode ser associada
com a criação ou disponibilização do
recurso.
A física ou digital composição do recurso. Pode incluir um tipo de mídia
ou dimensões do recurso (tamanho
ou duração).
Uma referência única para o recurso
dado. Exemplos de identificação podem ser o ISBN de um livro, o ASIN
de uma música, uma URL com o recurso etc.
O idioma do conteúdo intelectual do
recurso. É recomendável que se utilize os valores dos elementos definidos por.
Recife-PE
Gilberto Freyre
Editora Global
Roger Bastide
Proibida Reprodução
1933
1.5 MB
ISBN: 852601059X
pt-br
Este padrão é uma ferramenta para facilitar a interoperabilidade entre os sistemas
de BDs. Na (figura 1) pode-se observar a estrutura do DC em conjunto com XML.
Nota-se que os metadados estão entre tags XML que formam a base necessária para
a interoperabilidade.
24
Figura 1: Parte de uma reposta a uma requisição onde pode-se observar o DC em
conjunto com o XML.
2.4
Interoperabilidade
Interoperabilidade é um termo presente em diversas áreas da Ciência da Computação, sendo que, no domínio das Bibliotecas Digitais, se refere a capacidade de uma
BD trabalhar em conjunto com outras na tentativa de prover serviços de alta qualidade
ao usuários [SULEMAN, 2002].
No começo da década de 90 existiam algumas BDs na internet, mas elas e suas
informações estavam dispersas na rede. Para (Marcondes 99) “De nada adianta a
informação existir, se quem dela necessita não sabe da sua existência ou se ela não
puder ser encontrada”. Nessa época para um usuário fazer uma pesquisa nessas
bibliotecas era necessário entrar site a site e realizar sua busca. Criou-se então um
cenário onde era imprescindível para o sucesso das BDs a interoperabilidade uma com
a outra, fornecendo assim uma quantidade incrível de informação em um só lugar.
Conforme [BIRMINGHAM 00], interoperabilidade é a capacidade das Bibliotecas
25
Digitais trocarem e compartilharem documentos, consultas e serviços. Através dessa
troca e compartilhamento são realizadas interações entre os sistemas das Bibliotecas
Digitais.
Para haver interoperabilidade entre os repositórios espalhados pela internet, é preciso escolher uma maneira de pesquisa para obter os metadados. Existem duas abordagens, ilustradas na (figura 2), mais difundidas para realizar essa tarefa: Harvesting
e Federation.
• Federation: Essa abordagem tem como objetivo facilitar a interoperabilidade entre os sistemas, entretanto, há um esforço requerido para manter e implantar
o conjunto de especificações técnicas estabelecidas. Trata-se de uma abordagem onde um grupo de organizações concordam em construir os seus sistemas
observando-se certas especificações técnicas através de algum instrumento formal. Na abordagem Federation a BD envia a consulta para os repositórios e ao
coletar os metadados os reúne e exibe ao usuário.
• Harvesting: Por ser uma arquitetura mais aberta, onde as organizações participantes não precisam seguir um conjunto de especificações técnicas o esforço é
menor que o apresentado na abordagem Federation. Os metadados de diversos
provedores de informação tornam-se “visíveis” através de protocolos padronizados, como o OAI-PMH e são coletados automaticamente de forma periódica ou
quanto um usuário realiza uma consulta inexistente em sua base de dados, os
resultados são armazenados em uma base centralizada de metadados, onde
são efetuadas as buscas de forma integrada.
Relacionadas a essas duas formas de interoperabilidade, torna-se necessário esclarecer duas abordagens de integração de dados a Abordagem Virtual e Abordagem
Materializada.
2.5
Abordagens de Integração
O principal objetivo da integração de dados é disponibilizar ao usuário uma interface única para o acesso a informações disponíveis em diferentes bases de dados.
Para que isso fosse possível diferentes abordagens foram propostas para tentar minimizar a complexidade de interoperabilidade de dados entre sistemas:
26
Figura 2: Ilustra os dois tipo de interoperabilidade apresentados, Federation e Harvesting. [CUNHA 2008]
• Abordagem Virtual: Nessa abordagem, as fontes que contêm os dados só são
requisitadas quando as consultas são efetuadas. Uma vantagem da Abordagem
Virtual é que as informações estão sempre atualizadas, já que a resposta da
consulta é requisitada à fonte original. Por outro lado, esta abordagem não é
recomendada quando os servidores forem instáveis, pois pode deixar os serviços
inacessíveis.
• Abordagem Materializada: Diferente da Abordagem Virtual, esta recupera as informações das fontes de dados previamente, e as armazena em um repositório
central. O usuário faz, então, sua consulta a esse repositório. A grande vantagem deste tipo de abordagem é que as informações estão sempre disponíveis
para a consulta, aumentando o desempenho do sistema. Por outro lado, os dados não estão sempre atualizados.
No inicio a interoperabilidade entre BDs era feita de forma isolada, ou seja, cada
biblioteca disponibilizava seu protocolo de comunicação o que dificultava a plena conversa entre as varias BDs, para solucionar esse problema foram criados alguns protocolos como o OAI-PMH que se baseia no padrão DC.
27
2.6
Open Archives Initiative OAI-PMH
No término dos anos 90, existiam na internet alguns repositórios em diversas
áreas, principalmente artigos científicos. Entretanto todos eles apresentavam dois
aspectos que dificultavam a disseminação dos documentos armazenados. O primeiro
é que o usuário encontrava diferentes interfaces, o que tornava o processo de busca
mais complicado, e o segundo aspecto é que não havia uma forma automatizada de
compartilhar dados. Assim, em busca pela solução destes problemas, Paul Ginsparg,
Rick Ruce e Hebert Van de Sompel, realizaram um encontro em outubro de 1999 em
Santa Fé, Novo México com a finalidade de encontrar soluções para a questão da
integração entre bases na web [LAGOZE and de SOMPEL 2001]. O resultado desta
conferência foi a formação do OAI (Open Archives Initiative), visando a criação de padrões e estruturas para permitir o acesso a uma grande quantidade de documentos
eletrônicos arquivados na Internet.
O Open Archives Initiative possui algumas características principais, que são:
• Acesso aberto aos recursos de informação (ou pelo menos aos metadados que
descrevem os recursos);
• Interface consistente entre os repositórios e os seus coletores de dados;
• Baixa barreira do protocolo, ou seja, exigência de menos esforço para a sua
implementação, por se basear em tecnologias já bastante difundidas (e.g.: HTTP,
XML, Dublin Core).
No protocolo OAI-PMH não só os metadados descritivos, mas os recursos também
podem ser disponíveis para coleta, apesar de não ser uma exigência do protocolo. Por
exemplo, pode-se ter um repositório de vídeos que disponibiliza apenas os metadados
do recurso (e.g: título do vídeo, autor, resumo) ou o vídeo em si juntamente com
os seus metadados. O OAI-PMH também pode ser usado para grupos fechados,
compartilhamento dos seus metadados e em aplicações comerciais.
Conforme já mencionado, a base da Iniciativa é o protocolo OAI-PMH, que faz
com que os participantes da Iniciativa possam compartilhar seus metadados através
de regras bastante claras e simples. Além destas regras, há dois grupos "participantes": os Provedores de Dados e os Provedores de Serviços. Os Provedores de
Dados são participantes que mantêm repositórios de informação, e implementam o
28
protocolo OAI-PMH para expor os metadados de seus documentos. Já os Provedores
de Serviço utilizam o protocolo para coletar os metadados dos Provedores de Dados,
armazená-los em uma base centralizada, e oferecer algum serviço de valores agregado [LAGOZE and de SOMPEL 2001]
2.7
Provedor de dados
Provedores de dados são sistemas que suportam o protocolo OAI-PMH para disponibilizar metadados. Eles podem ou não oferecer acesso ao conteúdo completo dos
recursos, tendo em vista a sua finalidade principal, que é oferecer metadados.
Em [OAFORUM, 2005] são apresentados os principais pré-requisitos (nem todos
são obrigatórios) para o desenvolvimento de um provedor de dados. São eles:
• Metadados sobre os recursos (os itens propriamente ditos). Eles podem ser
armazenados em um banco de dados relacional, por exemplo;
• Um servidor Web acessível pela Internet;
• Uma linguagem de programação que suporte acessos ao banco de dados utilizado;
• Uma URL base;
• Um identificador único para cada item;
• Um ou mais formatos para os metadados (pelo menos o Dublin Core);
• Datestamps para os metadados (datas de criação e de modificação);
• Uma organização hierárquica dos metadados(opcional);
• Controle de fuxo (opcional, mas recomendado para repositórios de grande porte).
Um provedor de dados é formado por módulos, cada qual com funções bem definidas. Um Parser valida as requisições OAI e decide com base na requisição recebida quais as operações que devem ser executadas. Outro módulo gera as consultas ao banco de dados do repositório, e extrai dela os metadados necessários
de acordo com o formato utilizado. Um terceiro módulo gera as respostas com os
metadados codificados em XML. Um gerador de erros tem a função de retornar as
29
respostas indicativas de erro aos provedores de serviços. Um quinto módulo é responsável pelo controle de fluxo para o gerenciamento de respostas muito longas. A
(figura 3) apresenta os módulos básicos de um provedor de dados, em uma arquitetura
simplificada[CONTESSA 2006].
Figura 3: Representação do esquema de um provedor de dados.[CONTESSA 2006]
Outro ponto importante para os provedores de dados é a compressão. Através
dela é possível diminuir a quantidade de bytes transmitidos e melhorar o desempenho
das respostas do protocolo. A compressão no OAI-PMH é feita no nível do protocolo
HTTP. O próprio harvester é o responsável por indicar nas requisições suas preferências de compressão (ou seja, no cabeçalho HTTP). Se nada for especificado, nenhuma
compressão será usada na transmissão dos metadados.
2.8
Provedor de serviços
Os Provedores de Serviços são sistemas que coletam e organizam os metadados
dos repositórios OAI e os disponibilizam para o usuário final [Gar03]. Como já foi
dito anteriormente, os Provedores de Serviços realizam requisições no formato HTTP
para os Provedores de Dados, que por sua vez disponibilizam os dados em formato
XML. Esses dados são coletados e normalmente armazenados dentro de uma base
de dados. Essa coleta também é comumente chamada de Harvesting. A (figura 4)
mosta uma representação básica de um provedor de serviços.
Para fazer a coleta de dados o Provedor de Serviços realiza as requisições em
30
formato HTTP, através de uma URL básica. Além da URL básica, é preciso identificar o
que será coletado e como a mesma será realizada. Para isto, o OAI define seis verbos
que especificam detalhes da coleta dos repositórios e alguns argumentos (tabela 3),
a fim de refinar o harvester.
Neste trabalho, até então, teve-se uma visão geral sobre BDs e pode-se observar
com mais precisão a parte de interoperabilidade entre elas, contudo, se faz necessário
apresentar os passos básicos para construção de uma BD e os serviços oferecidos
por ela.
31
Verbo
GetRecors
Descrição
Recupera os metadados de um item individual de um repositório.
Identify
É usado para coletar informações sobre um repositório.
Este verbo recupera
os metadados de um
repositório.
ListRecords
ListIdentifiers
ListMetadata
Format
ListSets
É uma abreviação do
ListRecords, que retorna apenas o header (ver seção 3.2.1)
de um repositório.
Retorna os padrões
de metadados utilizados em um repositório.
É utilizado para retornar a estrutura de
um repositório, listando todos os conjuntos que compõe
os metadados.
Argumentos
identifier.
Obrigatório.
Com ele,
especifica-se o identificador único
(ver seção 3.2.1) do item de um repositório. metadataPrefix. Obrigatório. Especifica o padrão de metadados adotado que deve estar especificado no Provedor de Dados.
Não há argumentos.
from. Opcional. Os dados coletados
devem ser criados ou alterados a partir da data específica por este argumento. until. Opcional. Os dados coletados devem ser criados ou alterados até a data especificada pelo argumento. metadataPrefix. Já explicado
anteriormente. set. Opcional. Especifica um conjunto, para o havester
poder refinar a sua coleta. resumptionToken. Exclusivo. Argumento necessário quando os provedores utilizam o controle de fluxo na coleta dos
metadados.
from. until. metadataPrefix. set. resumptionToken.
identifier. Opcional (apenas neste
verbo). Retorna o padrão de metadados utilizado em um item específico.
resumptionToken.
Tabela 3: Os verbos e seus argumentos [Forc, 2003].
32
Figura 4: Provedor de Serviços. [CONTESSA 2006]
2.9
Construção de uma biblioteca digital
O desenvolvimento de uma biblioteca digital diferencia-se dos demais sistemas
gestores de conteúdo on-line por apresentar serviços que caracterizam o funcionamento de uma biblioteca convencional, porém na Internet. A arquitetura de uma biblioteca digital consiste em três camadas principais: interface com o usuário, os serviços
oferecidos e o repositório de metadados. é importante que essa arquitetura seja altamente customizável, configurável e adaptativa, refletindo a diversidade de aplicações
que se espera para as bibliotecas digitais.
Com relação as interfaces do sistema da biblioteca, as mesmas devem ser capazes de agrupar os serviços oferecidos de acordo com a necessidade de cada comunidade de usuários, desde interfaces simples apenas para usuários gerais (educadores,
estudantes, pesquisadores) até interfaces mais complexas para administradores e moderadores do sistema (contribuidores, revisores, administradores).
33
Dentre os serviços que uma biblioteca digital deve oferecer pode-se destacar quatro principais: busca, navegação, submissão e avaliação
• Busca: um mecanismo criado para que o usuário ao acessar o sistema possa
realizar pesquisa e encontrar informações sobre o assunto de interesse. As
buscas tradicionais, que são módulos comuns para todas as bibliotecas, não
fazem frente à complexidade crescente das necessidades dos usuários e ao
volume exponencial de informações que devem ser gerenciadas. As bibliotecas digitais precisam se deslocar, num futuro próximo, do atual estado passivo,
onde oferece um grau mínimo de adaptação aos seus usuários, para um estágio mais proativo e dinâmico nos processos de entrega e de conformação
da informação para usuários individuais e grupos de usuário e no apoio ao
esforço de comunidades em capturar, estruturar e compartilhar conhecimento
[CALLAN and SMEATON 2003];
• Navegação: o resultado retornado pelas buscas efetuadas pelo usuário deve
conter links que referenciam o trabalho original, facilitando a navegação e o
acesso ao conteúdo;
• Submissão de trabalho: permite que o usuário publique trabalhos em uma Biblioteca Digital. No momento da submissão é necessário que os metadados sejam
fornecidos, estes são responsáveis por referenciar arquivos de trabalhos no repositório da biblioteca. Este serviço torna possível a interação e participação da
comunidade na utilização do sistema, garantindo a sua sustentabilidade;
• Avaliação de trabalho: Para garantir a qualidade dos documentos publicados,
é interessante que as bibliotecas digitais contem comprofissionais para avaliar
a qualidade dos diversos documentos submetidos por usuários antes de serem
publicados, entretanto, nem todas as bibliotecas digitais procedem dessa forma.
Além disso, outros serviços de gerenciamento, tais como criação de contas através
de cadastro de usuários, dentre outros serviços administrativos também devem ser
oferecidos pela biblioteca digital.
34
3
LEVANTAMENTO DE
REQUISITOS
Neste seção, será feito o levantamento de requisitos que é a etapa responsável
pela compreensão do problema, ou seja, são definidas as necessidades dos futuros
usuários. Os modelos gerados nessa fase procuram definir as funcionalidades (requisitos funcionais) e restrições (requisitos não funcionais) que devem ser consideradas
para atender os usuários.
A partir desse capitulo será utilizado a Unified Modeling Language (Linguagem de
Modelagem Unificada - UML). UML trata-se de uma linguagem-padrão cujo objetivo é
visualizar, especificar, construir e documentar todas as informações necessárias para
o desenvolvimento de modelos de sistemas complexos de software orientado a objeto
[BEZERRA 2002].
3.1
Descrição Geral do Ambiente
O projeto tem como objetivo o desenvolvimento de uma biblioteca digital, neste sistema serão disponibilizados os serviços de busca, navegação, submissão e avaliação
de dados.
O serviço de busca permitirá que o usuário localize documentos de interesse para
sua pesquisa através de uma interface de consulta. Esses, por sua vez, serão organizados em seções e cada qual possuirá, ao menos, um usuário avaliador cuja
responsabilidade é a de garantir a qualidade do documento. Qualquer usuário cadastrado poderá submeter documentos e, em casos de não aprovação após análise do
avaliador, não serão publicados no acervo bibliotecário. Os documentos serão cadastrados junto a Metadados, que são palavras chaves que facilitarão a localização dos
próprios. Os Metadados seguirão o padrão DC e serão disponibilizados através de um
provedor de dados, com a finalidade de promover a interoperabilidade de acordo com
35
a iniciativa de arquivos abertos.
A instalação e configuração do sistema da biblioteca digital é responsabilidade do
usuário administrador, que poderá fazê-lo através de um wizard de instalação e configuração, programa no qual será definido o perfil da biblioteca. Este mesmo usuário
tem permissão para criar seções, definir os usuários que serão avaliadores de cada
seção, personalizar o frontend do sistema, gerenciar usuários e documentos.
Sempre que algum documento for submetido ao sistema, uma requisição chegará
para os usuários avaliadores da seção a qual pertence o documento. Para que o
documento seja publicado o mesmo deve passar por avaliadores cadastrados e atingir
a média mínima configurada no sistema.
Usuários cadastrados no sistema poderão personalizar o frontend, assim como
alterar a disposição dos módulos do sistema na tela para que, desta forma, possa
organizá-los da forma que julgar mais adequada.
A biblioteca virtual será desenvolvida com compatibilidade ao padrão OAI-PMH,
entretanto o Provedor de Serviços não será uma funcionalidade do sistema.
3.2
Divisão em Pacotes
O Diagrama de Pacotes descreve os pedaços do sistema divididos em agrupamentos lógicos mostrando as dependências entre estes. O diagrama é ilustra a arquitetura
de um sistema mostrando o agrupamento de suas classes [BEZERRA 2002]. Um pacote pode representar um sistema, um subsistema, uma biblioteca ou uma classe,
pacotes se relacionam com outros pacotes através de uma relação de dependência.
Esse diagrama pode ser utilizado em qualquer fase do processo de modelagem e tem
como objetivo organizar os modelos.
Segundo bezerra uma das possíveis maneiras de se fazer divisão do sistema
em subsistemas é separá-lo de acordo com os casos de uso associados aos atores, seguindo essa forma a figura 18 ilustra o diagrama de pacotes para o sistema
[BEZERRA 2002].
36
Figura 5: Diagrama de Pacotes
3.3
Modelagem Casos de Uso
O diagrama de caso de uso definido pela UML (Unified Modeling Language) tem o
objetivo especificar o comportamento do sistema ou parte(s) dele e descrever as funcionalidades do sistema sem revelar a estrutura e o comportamento interno do mesmo
[BEZERRA 2002]. Um caso de uso pode ser visto como um conjunto de cenários,
onde cada cenário é uma sequência de passos a qual descreve uma interação entre
um usuário e o sistema. Os casos de uso são representados em forma de elipse e
seus nomes devem sempre ser verbos, pois assim facilitam o entendimento dos mesmos. As figuras de 6 a 9 mostram os diagramas de caso de uso propostos para o
sistema.
37
Figura 6: Diagrama de Casos de Uso do módulo Básico.
Figura 7: Diagrama de Casos de Uso do módulo de Avaliação.
38
Figura 8: Diagrama de Casos de Uso do módulo de Administração.
Figura 9: Diagrama de Casos de Uso do módulo de Publicação.
39
3.4
Descrição dos Atores
• Administrador: Responsável por gerenciar a biblioteca. Definir nota e quantidade avaliações e gerenciar usuários são algumas de suas funções.
• Avaliador: Responsável por avaliar artigos da categorias que ele é avaliador.
• Usuário Comum: Realiza buscas por artigos, uma vez cadastrado ele pode
gerenciar seu perfil, submeter artigos entre outras ações.
• Tempo: Responsável por publicar os artigos avaliados.
3.5
Descrição dos Casos de Uso
Uma breve descrição dos casos de usos pode ser vista na tabela 4:
Caso de Uso:
Personalizar
página
Alterar dados
do perfil
Submeter artigo
Ator:
Usuário comum
Qualificar artigos
Realizar consultas
Avaliar artigo
Usuário comum
Manter usuário
Manter categorias
Manter critério
de avaliação
Usuário Gerenciador
Usuário Gerenciador
Usuário Gerenciador
Publicar artigo
Tempo
Usuário comum
Usuário comum
Usuário comum
Usuário avaliador
Sumário
Configurar e organizar a exibição do conteúdo do site conforme seu interesse.
Alterar dados cadastrais bem como alterar
seus interesses de pesquisa.
Submeter documentos para avaliação e
possível publicação na biblioteca digital.
Usuário pode pontuar artigos acessados
na BD, qualificando-o.
Realizar consultas e pesquisar sobre temas de interesse.
Verificar se os artigos submetidos por outros usuários passam pelo critério de avaliação pré-determinado.
Cadastrar, alterar, remover, buscar usuários.
Cadastrar, alterar, remover, buscar categorias da biblioteca.
Definir critérios de avaliação para que artigos enviados por outros usuários possam
ser avaliados e possivelmente publicados.
Depois de avaliado e aprovado sistema publica artigo na biblioteca virtual.
Tabela 4: Descrição dos casos de uso propostos na solução.
40
Abaixo seguem as descrições completas dos casos de uso. Vale ressaltar que
todas as descrições foram feitas, porém por uma questão de estética, somente os
casos de uso mais complexos serão descritos no trabalho.
3.5.1
Avaliar artigo
Identificação: UC01 - Avaliar artigo
Sumário: O avaliador realiza avaliações sobre os artigos submetidos.
Ator Primário: Usuário Avaliador
Pré-condições: O avaliador deve estar autenticado no sistema e ser avaliador da
categoria que o artigo pertence.
Fluxo Principal:
1. O caso de uso inicia quando o avaliador requisita avaliar artigos.
2. O sistema apresenta quais artigos estão disponíveis.
3. O avaliador indica qual artigo quer avaliar.
4. O sistema mostra a tela onde será dada a nota e os comentários serão feitos.
5. O avaliador insere nota e comentários e clica em Salvar, o caso de uso termina.
Fluxo Alternativo: Não Há.
Fluxo de Exceção: (E1) Caso o ator não informe a nota ou não faz comentários
o sistema avisa que campos obrigatórios não foram preenchidos.
Pós-condições: Uma avaliação foi inserida no sistema.
3.5.2
Manter Usuário
Identificação: UC02 - Manter Usuário
Sumário: O Administrador realiza a manutenção (remoção, alteração e consulta)
dos dados sobre o usuário.
Ator Primário: Administrador
41
Pré-condições: O Administrador deve estar autenticado no sistema.
Fluxo Principal:
1. O caso de uso inicia quando o Administrador requisita a manutenção do usuário.
2. O sistema apresenta as operações que podem ser realizadas: Tornar um usuário
avaliador de alguma categoria, tornar o usuário um administrador e remover um
usuário.
3. O Administrador seleciona qual das opções ele quer realizar.
Fluxo Alternativo: (A1) Administrador
1. O administrador seleciona um usuário, e solicita ao sistema que torne o usuário
um administrador.
2. O sistema pede uma confirmação e caso seja verdadeira altera os dados, caso
contrario aborta a operação. Nas duas situações o caso de uso termina.
(A2)Tornar Avaliador
1. O administrador seleciona um usuário.
2. O sistema apresenta a lista das Categorias.
3. O administrador seleciona quais categorias o usuário deve ser moderador.
4. O sistema pede uma confirmação e caso seja verdadeira altera os dados, caso
contrario aborta a operação. Nas duas situações o caso de uso termina.
(A3)Remoção
1. O administrador seleciona um usuário, e solicita ao sistema que o remova.
2. O sistema verifica se o usuário pode ser removido, se puder passa para o próximo passo, caso contrario aborta a operação e o caso de uso termina.(E1)
3. O sistema pede uma confirmação e caso seja verdadeira realiza a remoção, caso
contrario aborta a operação. Nos dois casos o caso de uso termina.
Fluxo de Exceção: (E1) Usuário com artigos
42
1. Caso o administrador tente remover um usuário que tenha um artigo publicado o
sistema não aceitará a remoção e exibirá um alerta.
Pós-condições: Uma usuário foi modificado ou removido do sistema.
3.5.3
Publicar artigo
Identificação: UC03 - Publicar artigo
Sumário: O ator Tempo dispara um evento que executa a Stored Procedure.
Ator Primário: Tempo
Pré-condições: O serviço do SQL Server Agent deve estar instalado e em execução para que os trabalhos possam ser executados.
Fluxo Principal:
1. O caso de uso inicia todos os dias em uma hora determinada pelo administrador.
2. O SQL Server verifica quais artigos sofreram alguma avaliação, atribui uma média estes e verifica se existe alguma restrição ao artigo em questão.
Fluxo Alternativo:
(A1) Artigo não tem a quantidade mínima de avaliações definidas no sistema
1. O SQL Server não irá avaliar o artigo.
(A2) Artigo com média maior que a nota mínima e sem restrição
1. O SQL Server altera a situação do artigo para Publicado.
(A3) Artigo com média maior que a nota mínima e com restrição
1. O SQL Server altera a situação do artigo para Aceito com Restrição.
(A4) Artigo com média menor que a nota mínima
1. O SQL Server altera a situação do artigo para Rejeitado.
43
Fluxo de Exceção: (E1) Caso ocorra algum erro durante o processo de publicação de artigos o SQL Server avisará o administrador através de e-mail.
Pós-condições: Um ou mais artigos tem nova situação no sistema ou não foram
avaliados.
44
4
ESPECIFICAÇÃO DE ANÁLISE
A especificação de análise é focada na investigação do problema proposto. O
principal objetivo da fase de análise é levar o analista ao entendimento de como o
sistema em questão funciona (WAZLAWICK, 2004).
É uma atividade que engloba a maioria das tarefas de engenharia de software,
tendo como objetivo identificar a necessidade do usuário, atribuir funções ao hardware, ao software, às pessoas, ao banco de dados e aos demais elementos do sistema (PRESSMAN, 2007). Serão apresentados os diagramas de classe, interação,
transição de estados e pacotes.
4.1
Diagrama de Classes
O diagrama de classe serve para ilustrar classes, interfaces e suas associaçães.
Eles são usados para a modelagem estática dos objetos [BEZERRA 2002]. Uma
classe possui três partes distintas, o nome que define a classe, os atributos e as
operações pertencentes a esta classe. Não necessariamente o diagrama de classe
precisa, a princípio, possuir atributos ou operações. Assim, os diagramas de classe
podem exibir nas fases inicias da análise apenas o nome das classes, e em uma fase
seguinte os atributos e operações. A figura 10 apresenta o diagrama de classes do
sistema proposto.
A figura 10 representa o Diagrama de Classes do sistema.
45
Figura 10: Diagrama de Classe.
46
4.2
Dicionário de Dados
As tabelas 5 a 9 apresentam o dicionário de dados das classes do sistema.
Classe Artigo
Contém informações sobre o artigo
ATRIBUTO
TIPO
DESCRIÇÃO
Id_Usuario
Int
Identifica o usuário que submeteu o artigo
Id_Categoria
Int
Identifica a qual categoria o artigo pertence
Dt_Submissao
Date
Data em que o artigo foi submetido ao sistema
Fl_Situacao
Int
Situação atual do artigo, define se um artigo esta publicado ou não
Dc_Title
String
Titulo do artigo
Dc_Subject
String
Uma descrição do conteúdo do Artigo.
Pode incluir um resumo
Dc_Type
String
A natureza ou o gênero do conteúdo do recurso
Dc_Source
String
Referência de onde o recurso foi gerado
Dc_Relation
String
Referência para um outro recurso relacionado
Dc_Coverage
String
Inclui um local (nome de um lugar ou coordenadas geográficas)
Dc_Creator
String
Entidade responsável pela criação do conteúdo do recurso
Dc_Publisher
String
Entidade responsável por disponibilizar o
recurso criado
Dc_Contribuitor
String
Pessoa, organização que contribuir com o
conteúdo do recurso criado.
Dc_Rights
String
Informação sobre os direitos do recurso
Dc_Date
String
Uma data que pode ser a criação ou disponibilização do recurso
Dc_Format
String
O tamanho digital composição do recurso
Dc_Identifier
String
O ISBN de um livro, o ASIN de uma música, uma URL com o recurso etc
Dc_Language
String
O idioma do conteúdo intelectual do recurso.
Tabela 5: Dicionário de dados Artigo
47
Classe Avaliação
Contém informações sobre a avaliação
ATRIBUTO
TIPO
DESCRIÇÃO
Id_Usuario_avaliador Int
Identifica o usuário que avaliou o artigo
Id_Artigo
Int
Identifica o artigo avaliado
Vl_Nota_Avaliacao
Float
Nota dada ao artigo pelo avaliador
Ds_Comentarios
String
Comentarios feitos pelo avaliador sobre o
artigo, critica ou sugestão
Fl_Situacao
Int
Situação da avaliação, permite saber se a
avaliação é valida ou não
Fl_Restricao
Int
Identifica alguma restrição para publicação
do artigo
Tabela 6: Dicionário de dados Avaliação
Classe Usuario
Contém informações sobre o usuário
ATRIBUTO
TIPO
DESCRIÇÃO
Nm_Usuario
String
Nome do Usuário
Ds_Login
String
Nome usado para fazer Login no sistema
Ds_Email
String
e-mail do usuário
Fl_Tipo_Usuário
Int
Define se o usuário é avaliador ou se é um
gerenciador da biblioteca
Fl_Status
Int
Define se o usuário esta ativo
Dt_Cadastro
Date
Data de cadastro do usuário no sistema
Tabela 7: Dicionário de dados Usuário
Classe Categoria
Contém informações sobre a categoria
ATRIBUTO
TIPO
DESCRIÇÃO
Ds_Categoria
String
Nome da categoria
Fl_Situacao
Int
Define se a categoria esta ativa
Tabela 8: Dicionário de dados Categoria
Classe Artigo_Situacao
Contém informações sobre a Artigo_Situacao
ATRIBUTO
TIPO
DESCRIÇÃO
Ds_Situacao
String
Descrição da situação que o artigo se encontra
Tabela 9: Dicionário de dados Artigo_Situação
48
4.3
Diagrama de Interação
Diagramas de Interação representam como grupos de objetos colaboram em algum comportamento [BEZERRA 2002]. Tipicamente, um diagrama de interação descreve o comportamento de um único caso de uso. O diagrama mostra vários objetos e
as mensagens que são passadas entre estes objetos em um caso de uso, permitindo
assim modelar os aspectos dinâmicos de um sistema. Existem dois tipos de diagrama
de interação, diagrama de comunicação e sequência, no caso especifico deste trabalho será apresentado apenas o diagrama de sequência.
4.3.1
Diagrama de Sequência
Segundo [BEZERRA 2002], o diagrama de sequência mostra a interação existente
num conjunto de objetos e seus relacionamentos, dando ênfase à ordenação temporal
de mensagens.
Nas figuras 11 a 15 são apresentados os diagramas de sequência construídos na
fase de analise.
Os casos de uso Manter Artigo, Manter Categoria, Alterar dados perfil, Alterar
Configurações do Sistema, Submeter Artigo e Realizar Consulta seguem o mesmo
modelo dos diagramas apresentados abaixo, por isso não serão mostrados.
Diagrama de Sequência Inserir Usuário
49
Figura 11: Diagrama de Sequência do caso de uso Manter Usuário (Inserir)
50
Diagrama de Sequência Consultar Usuário
Figura 12: Diagrama de Sequência do caso de uso Manter Usuário (Consultar)
Diagrama de Sequência Altera Usuário
Figura 13: Diagrama de Sequência do caso de uso Manter Usuário (Alterar)
51
Diagrama de Sequência Remover Usuário
Figura 14: Diagrama de Sequência do caso de uso Manter Usuário (Remover)
Diagrama de Sequência Publicar Artigo
Figura 15: Diagrama de Sequência do caso de uso Publicar Artigo
52
4.4
Diagrama de Transição de Estado
O Diagrama de Transição de Estado permite descrever o ciclo de vida de objetos
de uma classe, os eventos que causam a transição de um estado para outro e a
realização de operações resultantes [BEZERRA 2002]. Os diagramas de transição
de estado não são definidos para todas as classes de um sistema, mas apenas para
aquelas que possuem um número definido de estados e os eventos que causam a
transição de um estado para outro são conhecidos.
A figura 16 ilustra o diagrama de transição de estados da classe Artigo.
Figura 16: Diagrama de Transição de Estado
53
4.5
Diagrama de Pacotes
O propósito de um diagrama de pacotes é prover uma visão de nível mais alto
do sistema, mostrando sua decomposição em subsistemas. O ponto de partida para
essa decomposição é o domínio do problema e, portanto, a decomposição utilizada
no modelo de casos de uso foi transposta para o modelo de classes, como mostra a
figura 17.
Figura 17: Diagrama de Pacotes
54
5
ESPECIFICAÇÃO DE PROJETO
A especificação de projeto visa a produzir uma solução para o problema identificado na fase de análise [WAZLAWICK 2004].Segundo Pressman [PRESSMAN 2007],
a especificação do projeto é o processo de se aplicar várias técnicas e princípios ao
propósito de se definir um dispositivo, um processo ou um sistema com detalhes suficientes para permitir sua realização física.
5.1
Escolha da Tecnologia
A seguir, são apresentados os requisitos tecnológicos para desenvolvimento do
protótipo do sistema proposto:
• Plataforma de desenvolvimento .Net 4.0 [Microsoft 2010];
• Ambiente de desenvolvimento VisualStudio 10 [Microsoft 2010];
• Sistema de Gerenciamento de Banco de Dados: SQLServer 2008 R2 [Microsoft 2010].
A escolha das tecnologias utilizadas nesse trabalho levou em conta o conhecimento prévio de algumas delas, a facilidade de aprendizado das demais e a integração
entre todas.
5.2
Arquitetura do Sistema
Desta seção em diante o sistema foi dividido em cinco pacotes, referentes aos
subsistemas de Administração, Submissão, Busca, Avaliação e Publicação. Tal decomposição deu-se de acordo com o acoplamento existente entre as classes. Com
55
essa decomposição, cada pacote poderá ser desenvolvido de forma paralela e independe. A divisão foi feita buscando a máxima coesão entre as classes e o mínimo
acoplamento entre os pacotes [BEZERRA 2002]. A figura 18 ilustra o diagrama de
pacotes do sistema.
Figura 18: Diagrama de Pacotes
Devido a restrições de tempo e mão-de-obra nem todos pacotes serão implementados, sendo escolhidos para a continuidade do trabalho os pacotes de Administração,
Submissão, Busca, Avaliação e Publicação.
56
5.3
Pacotes De Administração, Submissão, Busca e
Avaliação
5.3.1
Divisão em Camadas
Neste trabalho, foram utilizadas duas formas complementares de agrupamento de
classes em pacotes: primeiramente pelo domínio do problema, aproveitando os subsistemas definidos na fase de análise, e depois por estereótipos, tendo sido utilizados
os estereótipos propostos por Coad e Yourdon [Coad93]. Sendo assim, o diagrama
de pacotes de nível mais alto, mostrado na figura 18, é praticamente o mesmo da fase
de análise, exceto pela remoção do pacote de interoperabilidade, que foi retirado por
questões de limitação de tempo e mão-de-obra.
O projeto da arquitetura do sistema, deve considerar quatro componentes básicos,
como mostra a figura 19 [BEZERRA 2002]:
Figura 19: Arquitetura Básica de Projeto Orientado a Objetos
• Componente do Domínio do Problema: corresponde aos subsistemas responsáveis por implementar diretamente os requisitos dos usuários;
• Componente de Interface com Usuário: corresponde aos subsistemas que implementam as interfaces com o usuário;
• Componente de Gerência de Tarefa: corresponde aos subsistemas responsáveis
por controlar e coordenar tarefas;
• Componente de Gerência de Dados: corresponde aos subsistemas responsáveis pelo armazenamento e recuperação de objetos (persistência dos objetos).
A figura 20 ilustra o diagrama de pacotes dos referentes a Administração, Submissão, Busca e Avaliação.
57
Figura 20: Diagrama de Pacotes - Divisão em Camadas
De acordo com a figura 20, a camada de interface com o usuário (IU) faz uma
requisição a gerência de tarefas (GT) onde esta, direciona para a camada de domínio
do problema (DP) responsável pela regra de negócio ou para a camada de gerência
de dados (GD) que é responsável pela persistência dos dados.
58
Componente Domínio do Problema
A figura 21 ilustra o diagrama de classes do componente domínio do problema.
Figura 21: Diagrama de Classes Componente Domínio do Problema
59
Componente Gerência de Tarefas
A figura 22 apresenta o diagrama de classes do componente de Gerência de Tarefas. Vale ressaltar que a classe Artigo_Situação não foi mapeada pois trata-se de
uma classe estática potanto seus dados serão inseridos manualmente.
Figura 22: Diagrama de Classes Gerência de Tarefas
Diagramas de Sequência Revisados
No decorrer da modelagem e desenvolvimento do protótipo, observou-se a necessidade do refinamento das interações do sistema. Sendo assim, serão apresentados
os diagramas de sequência detalhado do módulo de Administração em nível de projeto, junto as suas camadas.
As figuras 23 a 28 ilustram os Diagramas de Sequência revisados.
60
Figura 23: Diagrama de Sequência Revisado - Inserir Usuário
Figura 24: Diagrama de Sequência Revisado - Consultar Usuário
61
Figura 25: Diagrama de Sequência Revisado - Alterar Usuário
Figura 26: Diagrama de Sequência Revisado - Remover Usuário
62
Figura 27: Diagrama de Sequência Revisado - Listar Artigos
Figura 28: Diagrama de Sequência Revisado - Publicar Artigo
63
Componente Gerência de Dados
Padrão DAO
O padrão DAO abstrai toda a complexidade relativa à interação com a fonte de dados sendo utilizada, que poder ser um banco de dados relacional, orientado a objetos,
ou mesmo dados provenientes de serviços disponibilizados por sistemas externos.
Como a interface de um DAO não se altera quando sua implementação precisa ser
modificada, este padrão permite alterar a fonte de dados sendo utilizada numa aplicação sem afetar os componentes de negócios que fazem uso deste [SUN, 2010].
A figura 29 apresenta o diagrama de classes do Componente de Gerência de
Dados. Nesse diagrama também é omitido a classe Artigo_Situação por ser uma
classe estática.
Figura 29: Diagrama de Classes do Componente de Gerência de Dados
Diagrama Relacional
O Diagrama Relacional baseia-se em dois conceitos: Entidade e Relação.
• Entidade: É um elemento caracterizado pelos dados que são recolhidos na
sua identificação vulgarmente designado por tabela. Na construção da tabela
64
identificam-se os dados da entidade a atribuição de valores a uma entidade constrói um registro da tabela.
• Relação: Determina o modo como cada registro de cada tabela se associa a
registros de outras tabelas.
As tabelas do banco de dados são representadas através de classes e os registros
de cada tabela são representados como instâncias das classes correspondentes. A na
figura 30 será apresentado o modelo relacional do banco de dados para o sistema proposto. Foi acrescentado a todas as tabelas o atributo "Id_Tabela"como chave primária,
essa identificação não tem significado no domínio de negócio. Porem a abordagem
é utilizada para manter uma padronização e por ser uma das melhores maneiras de
associar identificadores a objetos mapeados para tabelas.
Figura 30: Diagrama Relacional
65
Componente de Interface com o Usuário
A figura 31 mostra o diagrama de navegação do sistema proposto.
Figura 31: Diagrama de Navegação
66
Padrão de Interface
A tabela 10 apresenta os ícones do sistema e suas respectivas descrições.
Ícone
Descrição
Perfil do usuário
Submeter artigo
Artigos que o usuário submeteu
Avaliar Artigo
Gerenciar usuários
Gerenciar artigos
Gerenciar categorias
Gerenciar configurações
Ler / Fazer Download do PDF
Tabela 10: Ícones
As figuras 32, 33, 34 e 35 monstram o padrão de interface das telas a ser utilizado
no desenvolvimento do sistema proposto.
67
Figura 32: Padrão de Interface Busca
Figura 33: Padrão de Interface Listar
68
Figura 34: Padrão de Interface do Painel de Controle
Figura 35: Padrão de Interface Cadastro
69
5.4
Pacote de Publicação
O pacote de Publicação de Artigos será implementado através de uma Stored
Procedure e executado pelo SQL Server Agent. As duas tecnologias serão descritas
a seguir.
5.4.1 SQL Server Agent
O SQL Server Agent é um serviço do Microsoft SQLServer 2008 R2 que permite
automatizar algumas tarefas administrativas. O SQL Server Agent executa trabalhos,
monitora o SQL Server e processa alertas. O serviço do SQL Server Agent deve estar
instalado e em execução para que os trabalhos administrativos locais ou multiservidor
possam ser executados automaticamente [Microsoft 2010].
5.4.2 Stored Procedure
Stored Procedure (procedimento armazenado) é um conjunto de comandos SQL
que podem ser armazenados no servidor. Stored procedures encapsulam tarefas repetitivas, aceitam parâmetros de entrada e retornam um valor de status (para indicar
aceitação ou falha na execução). O procedimento armazenado pode reduzir o tráfego na rede, melhorar a performance, criar mecanismos de segurança entre outros
[Microsoft 2010].
A figura 36 mostra a Stored Procedure criada para a publicação dos artigos.
70
Figura 36: Stored Procedure - Publica Artigo
71
5.5
Diagrama de Componentes
O Diagrama de componentes ilustra como as classes deverão se encontrar organizadas através da noção de componentes de trabalho. O diagrama tem por objetivo
apresentar a disposição dos componentes físicos de um sistema. Componente é uma
parte física do sistema, como o código fonte, biblioteca, tabela de banco de dados e
outros [BEZERRA 2002]. A figura 37 exibe a organização dos componentes do sistema.
Figura 37: Diagrama de Componentes
5.6
Diagrama de Implantação
A figura 38 apresenta o Diagrama de implantação do sistema proposto. Este diagrama representa a topologia física juntamente com os componentes dessa topologia
72
[BEZERRA 2002].
Os elementos de um diagrama de implantação são os nós e as conexões. Um nó
é uma unidade física que representa um recurso computacional e normalmente possui
uma memoria e alguma capacidade de processamento. Os nós são ligados uns aos
outros através de conexões. As conexões mostram mecanismos de comunicação
entre os nós.
Figura 38: Diagrama de Implantação
73
6
TESTES
Segundo [Fer 2002], um número de quatro a cinco colaboradores é capaz de identificar grande parte dos problemas de usabilidade de um sistema. Deste modo, foi
tomada a decisão de reunir um grupo de quatro participantes para realização dos
testes.
Assim sendo, foram escolhidos colaboradores de diferentes perfis e conhecimentos no uso de sistemas Web, para avaliar o sistema sob ponto de vista de usuários
distintos. Vale ressaltar que dois deles, são entendidos quanto à utilização da Internet
sobre sistemas de busca e cadastros. O outro participante possui entendimento baixo
sobre esse tipo de sistema, justamente por essas características que se deu tal escolha para que pudesse adaptar esse tipo de sistema para esse perfil de usuário. E o
último colaborador possui nível de entendimento mediano pertinente a sistemas como
o proposto.
No período de testes, foi proposto a cada colaborador uma lista de itens a serem
feitos dentro da Biblioteca (documento que pode ser verificado no Anexo A - Plano
de Teste). Com auxílio de uma planilha, os seguintes dados foram anotados para
concretizar os resultados finais: tempo consumo para execução da tarefa, número de
erros, se conseguiu ou não realizar a tarefa e algumas observações que possam ser
importantes. Depois dos testes, além dos dados coletados durante o procedimento,
outras informações são necessárias para se medir a usabilidade do sistema. Logo
após tais testes em uma conversa sem formalidades, foram levantadas outras dúvidas
a serem discutidas sobre a biblioteca.
Finalizados os testes, e em consequência recolhimento de informações, realizouse uma pesquisa sobre as reais necessidades de Usabilidade da Biblioteca. Em conclusão, o software foi bem aceito pelos colaboradores, que não tiverem problemas
em executar a maioria dos testes solicitados. Todavia, algumas modificações foram
sugeridas e os detalhes dos resultados dos testes serão vistos a seguir.
74
6.1
Resultados
Os resultados dos testes de usabilidade da Biblioteca foram baseados nos seguintes itens: tempo consumido para execução da tarefa, número de erros, se conseguiu
ou não realizar a tarefa e resposta do questionário de avaliação pelos participantes.
Na tabela abaixo, serão apresentadas as medidas coletadas na execução das
tarefas realizadas no teste de usabilidade.
TAREFAS
Pior Nível
Nível Alvo
Usuário 1
Usuário 2
Usuário 3
Usuário 4
Média
1
18
10
6
7
9
8
8
2
25
15
9
9
15
12
11
3
120
60
55
43
132
117
87
4
35
20
17
16
19
22
19
5
240
200
178
129
257
228
198
6
60
40
28
37
32
31
32
7
60
40
32
38
43
38
38
8
30
15
8
5
11
9
8
9
25
15
8
9
12
9
10
10
110
40
22
35
55
60
43
11
60
40
27
34
48
32
35
12
100
60
57
48
59
46
53
Tabela 11: Tempo de Execução das Tarefas (em segundos)
Na tabela Abaixo é apresentado o número de erros de cada colaborador nas tarefas propostas.
TAREFAS
Pior Nível
Nível Alvo
Usuário 1
Usuário 2
Usuário 3
Usuário 4
Média
1
2
0
0
0
0
0
0
2
3
1
0
0
1
0
0
3
2
1
0
0
2
1
0
4
1
0
0
0
0
0
0
5
4
2
1
1
3
1
0
6
2
0
0
1
0
1
0
7
2
0
0
1
0
1
0
8
1
0
0
0
0
0
0
9
2
0
0
0
0
0
0
10
3
1
1
0
3
1
0
11
2
1
0
0
0
1
0
12
3
1
1
0
1
1
0
Tabela 12: Número de erros por tarefas
Como pode-se perceber nos dados coletados, em termos gerais, a aceitação
quanto à usabilidade do sistema foi boa. Mesmo participantes com pouco entendimento conseguiram executar todas as tarefas, na maior parte destas, abaixo do pior
nível aceitável de tempo estipulado.
75
7
CONCLUSÕES E TRABALHOS
FUTUROS
Este trabalho verificou e avaliou diversas Bibliotecas Digitais existentes, dentre
elas a BDBComp, SciELO e BDTB. Além disso, foi apresentado a importância das
Bibliotecas Digitais comparada a revistas e congressos como meio de publicação de
artigos científicos. A publicação de trabalhos científicos nessas mídias se mostra um
processo lento e burocrático, o que pode fazer com que bons trabalhos não sejam
publicados por falta de espaço ou que se tornem obsoletos até a publicação. Neste
contexto as Bibliotecas Digitais foram apontadas como uma solução eficiente para este
problema, uma vez que estas estão disponíveis por possuírem políticas próprias de
funcionamento, avaliação e publicação, além disso, podem ser utilizadas por qualquer
instituição.
Entretanto, dentre as diversas Bibliotecas Digitais avaliadas foram constatadas diversas deficiências. Objetivando a correção das deficiências encontradas por este
estudo foi proposto, modelado e implementado um sistema web de Biblioteca Digital.
Desde o início do projeto a proposta foi desenvolver um sistema simples, para que
mesmo usuários com pouca experiência fossem capazes de utilizar todos os recursos
disponíveis, porem eficiente no que se propõe a fazer. Dos objetivos estipulados no
inicio deste trabalho todos foram alcançados, exceto o módulo de interoperabilidade,
porem, o resultado final é muito satisfatório uma vez que os módulos de busca, submissão, avaliação, administração e publicação foram criados. Módulos esses de suma
importância para o funcionamento da biblioteca e que raramente são encontrados em
trabalhos similares.
Durante o período de desenvolvimento desse trabalho foi possível perceber que
todo conhecimento adquirido durante o curso foi de suma importância. O resultado
alcançado foi satisfatório, uma vez que o sistema resolve as principais deficiências
encontradas.
76
Como trabalhos futuros pretende-se desenvolver os módulos de interoperabilidade
e personalização de interface para usuários que por restrições de tempo e mão-deobra não foram implementados.
77
REFERÊNCIAS
[AO 2008] AO, L. F. S. (2008). Bibliotecas digitais e suas utopias. volume 2, pages 2–
36. Salvador, 2 edition. Disponível em: http://www.portalseer.ufba.br/index.
php/revistaici/article/view/2661/2166. Acesso em: MAIO/2010.
[BAEZA and YATES 1999] BAEZA, R. A. and YATES, B. A. R. N. (1999). Modern information retrieval. In ACM Press. Addison - Wesley.
[BEZERRA 2002] BEZERRA, E. (2002). In Princípios de Análise e Projeto Orientado
a Objetos. Campus.
[BUSH 1945] BUSH, V. (1945). As we may think. In Atlantic Montly. Disponível em
http://www.theatlantic.com/doc/194507/bush. Acesso em: MAIO/2010.
[CALLAN and SMEATON 2003] CALLAN, J. and SMEATON, A. (2003). Personalisation and recommender systems in digital libraries. In Joint NSF-EU DELOS
Working Group Report. Disponível em: http://www.ercim.org/publication/
ws-proceedings/DelosNSF/Personalisation.pdf. Acesso em: MAIO/2010.
[CONTESSA 2006] CONTESSA, D. F. (2006). Um serviço de geração de metadados
compatível com o padrão oai para o sistema jems. Disponível em: http://hdl.
handle.net/10183/8615. Acesso em: MAIO/2010.
[CUNHA 1999] CUNHA, M. B. (1999). Desafios na construção de uma biblioteca digital. ciência da informação. volume 28, pages 257–268. 3 edition. Disponível em:
www.ibict.br/cionline e www.scielo.br. Acesso em: MAIO/2010.
[CUNHA 2008] CUNHA, M. B. (2008).
Diferenças e convergências. perspect. ciênc. inf.
In Das Bibliotecas Convencionais às Digitais, volume 13.
Belo Horizonte, 1 edition.
Disponível em: http://www.scielo.br/scielo.
php?pid=S1413-99362008000100002&script=sci_arttext&tlng=en. Acesso em:
MAIO/2010.
[DC 2010] DC (2010). Dublin core metadata initiative. Disponível em: http://www.
dublincore.org. Acesso em: MAIO/2010.
[de Menezes CARDOSO 2007] de Menezes CARDOSO, M. J. (2007). Interoperabilidade entre repositórios digitais utilizando o protocolo oai-pmh. In Clio-i. Disponível em: http://www.cin.ufpe.br/~rbcp/dissertacoes/dissertacaoCARDOSO.
pdf. Acesso em: MAIO/2010.
[et al MARCHIONIINI 2002] et al MARCHIONIINI, G. (2002). In a. bishop et al. digital library use: social practice in design and evaluation. In The people in digital
78
libraries, Multifaceted approaches to assessing needs and impact. MIT Press forthcoming. Disponível em: http://ils.unc.edu/~march/revision.pdf. Acesso em
MAIO/2010.
[Fer 2002] Ferreira, Katia Gomes. (2002). Teste de usabilidade. Monografia de Final
de Curso. Especialização em Informática. Departamento de Ciência da Computação. Universidade Federal de Minas Gerais.
[IEEE 2010] IEEE (2010). Ieee learning object metadata. Disponível.
[KRUTSON et al. 2003] KRUTSON, E., PALMER, C., and TWIDALE, M. (2003). Tracking metadata use for digital collections. In DCMI Conference.
[LAGOZE and de SOMPEL 2001] LAGOZE, C. and de SOMPEL, H. V. (2001). The
open archives initiative: build- ing a low-barrier interoperability framework. In ACM/IEEE Joint Conference on Digital Libraries.
[LOC 2010] LOC (2010). Library of congress. marc standards. Disponível em: http:
//www.loc.gov/marc/. Acesso em: MAIO/2010.
[Microsoft 2010] MSDN Library, an essential source of information for developers using Microsoft tools. Disponível em: http://msdn.microsoft.com/en-us/
library/ms123401.aspx. Acesso em: AGOSTO/2010.
[PRESSMAN 2007] Pressman, Roger S. (2007). Engenharia de Software. Pearson
Makron Books. São Paulo.
[SUN, 2010]
Data Access Object.
Disponível em:
http://www.oracle.
com/technetwork/java/dataaccessobject-138824.html. Acesso em: SETEMBRO/2010.
[VELLUCCI 2002] VELLUCCI, S. L. (2002).
Annual review of information science and technology. In Metadata, volume 36, pages 503–389. Disponível
em: http://dublincore.org/documents/usageguide/glossary.shtml. Acesso
em: MAIO/2010.
[ZENG and CHAN 2006] ZENG, M. L. and CHAN, L. M. (2006). Metadata interoperability and standardization. a study of methodology part i. In D-Lib Magazine.
[WAZLAWICK 2004] Wazlawick, Raul Sidnei. (2004). Análise e Projeto de Sistemas
de Informação Orientados a Objetos. In Editora Campus. Rio de Janeiro.
79
ANEXO A - Plano de Teste
ITEM TAREFA
1
2
3
4
5
6
7
8
9
10
11
12
Buscar um artigo
Abrir o Artigo
Fazer um cadastro no Sistema
Fazer Login no Sistema
com o usuário criado
Submeter um Artigo
Ver seus artigos enviados
Mudar senha pessoal
Sair do sistema
Fazer Login com o usuário
Admin senha 1234
Tornar o Usuário que foi
cadastrado anteriormente
como avaliador da categoria 1
Alterar a nota mínima para
um artigo ser publicado
Avaliar um Artigo
FACILIDADE COMENTARIOS
DE USO
Download