UNIÃO EDUCACIONAL MINAS GERAIS S/C LTDA
FACULDADE DE CIÊNCIAS APLICADAS DE MINAS
Autorizada pela Portaria nº 577/2000 – MEC, de 03/05/2000
BACHARELADO EM SISTEMAS DE INFORMAÇÃO
TRABALHO DE FINAL DE CURSO
BIBLIOTECA ONLINE
Projeto Funcional
MARCIO DE OLIVEIRA
2004
ii
MARCIO DE OLIVEIRA
BIBLIOTECA ONLINE
Projeto Funcional
Trabalho de Fim de Curso
apresentado a UNIMINAS, como
requisito parcial à obtenção do
título de Bacharel em Sistemas de
Informação.
Orientador: Prof. Ms. Silvio Bacalá Júnior
Uberlândia
2004
iii
MARCIO DE OLIVEIRA
BIBLIOTECA ONLINE
Projeto Funcional
Trabalho de Fim de Curso
apresentado a UNIMINAS, como
requisito parcial à obtenção do
título de Bacharel em Sistemas de
Informação.
Banca Examinadora:
Uberlândia, 10 de dezembro de 2004
_______________________________________
Prof. MSc. Silvio Bacalá Junior
_______________________________________
Profª. DSc. Kátia Lopes Silva
_______________________________________
Prof. Márcio dos Reis Caetano
iv
AGRADECIMENTOS
Agradeço à minha
querida esposa Elizene dos Reis Oliveira e minha
pequena filha Mariana Reis OLiveira que ao longo destes 4 anos, abriu mão de uma
grande parcela de nosso convívio familiar para que na faculdade eu pudesse me
preparar para enfrentar uma nova realidade profissional vivida por mim. Agradeço
aos meus pais e irmãos pelo incentivo, paciência e colaboração, aos funcionários e
professores da Uniminas pelo apoio, especialmente agradeço ao meu orientador
Prof. Msc. Silvio Bacalá Júnior que com muita dedicação contribuiu em minha
formação pessoal e profissional, e aos colegas de curso pela amizade e
companheirismo de sempre.
v
RESUMO
Este trabalho tem como principal objetivo fazer um estudo sobre o
desenvolvimento de um Web site. É um projeto audacioso que apenas está no
começo, e ao seu final irá contribuir facilitando a vida de alunos e professores.
Estudos mostram que tornar a Biblioteca acessível via Web é um sonho
realizável que dará muito trabalho mas que vai trazer um diferencial a Uniminas
depois de sua conclusão.
Certamente, após alguns aspectos pode-se pensar além deste projeto e
objeto de futuras monografias, o desenvolvimento de um programa para o controle
total da biblioteca, uma necessidade identificada junto à coordenadora da Biblioteca.
Palavras chave: Trabalho, Objetivo, Desenvolvimento, Web site,
Diferencial, Programa, Controle total.
vi
ABSTRACT
This project has as main objective to do a study on development of a web site.
It is an audacious project that is just in the beginning, and at its end, it will contribute
facilitating the students' and teachers’ life.
Studies show that to turn the Library accessible by Web it is a realizable
dream that will give a lot of work but that will bring differential to Uniminas after its
conclusion.
Certainly, after some aspects it can be thought besides this project and object
of future monographs, the development of a program for the total control of the
library, an identified necessity to of the Library’s coordinator.
Keywords: Project, Objective, Development, Web site,
Differential, Program, Total control.
vii
Sumário
p.
RESUMO.......................................................................................................................... v
ABSTRACT..................................................................................................................... vi
LISTA DE FIGURAS ....................................................................................................... x
LISTA DE ABREVIATURAS.......................................................................................... xi
CAPITULO 1 – Introdução.................................................................................................... 1
CAPITULO 2 – História ........................................................................................................ 3
2.1– O computador......................................................................................................... 4
2.2 - A Internet............................................................................................................... 5
2.3 – A Biblioteca Informatizada.................................................................................... 6
CAPITULO 3 – Conceitos e Definições................................................................................. 8
3.1 – O Projeto ............................................................................................................... 9
3.2 – Tecnologias para o desenvolvimento de aplicações web ...................................... 11
3.2.1 – HTML .............................................................................................................. 12
3.2.2 – CGI .................................................................................................................. 12
3.2.3 – ISAPI e NSAPI................................................................................................. 12
3.2.4 – ASP .................................................................................................................. 13
3.2.5 – PHP .................................................................................................................. 13
3.2.6 – JAVA ............................................................................................................... 14
3.2.7 – APPLETs e SERVLETs ................................................................................... 14
CAPITULO 4 – A Biblioteca Uniminas ............................................................................... 15
4.1 – Funcionalidades................................................................................................... 18
CAPITULO 5 – O projeto Online ........................................................................................ 20
5.1 – Diagramas de casos de uso .................................................................................. 20
5.1.1 – Atores............................................................................................................... 20
5.1.2 – Casos de uso ..................................................................................................... 21
5.2 – Requisitos funcionais do projeto .......................................................................... 23
5. 2 .1 - Nome: Consultar Livro ................................................................................... 24
5. 2 .2 - Nome: Consultar Fitas de vídeo...................................................................... 24
5. 2 .3 - Nome: Consultar CD ...................................................................................... 25
5. 2 .4 - Nome: Consultar Folhetos .............................................................................. 25
5. 2 .5 - Nome: Consultar Artigos ................................................................................ 25
5. 2 .6 - Nome: Consultar Periódicos ........................................................................... 25
viii
5. 2 .7 - Nome: Consultar Dissertação ......................................................................... 26
5. 2 .8 - Nome: Consultar Teses e Monografias ........................................................... 26
5. 2 .9 - Nome: Efetuar Empréstimo ............................................................................ 26
5. 2 .10 - Nome: Reservar Acervo ............................................................................... 28
5. 2 .11 - Nome: Validar Usuário................................................................................. 29
5. 2 .12 - Nome: Devolver Empréstimo ....................................................................... 29
5. 2 .13 - Nome: Renovar Empréstimo......................................................................... 30
5. 2 .14 - Nome: Atualizar usuário............................................................................... 31
5. 2 .15 - Nome: Atualizar Acervo............................................................................... 32
5. 2 .16 - Nome: Incluir Acervo................................................................................... 32
5. 2 .17 - Nome: Cadastrar Usuário.............................................................................. 33
5. 2 .18 - Nome: Cadastrar Funcionário ....................................................................... 34
5. 2 .19 - Nome: Gerar Multas ..................................................................................... 34
5. 2 .20 - Nome: Gerar Notificação.............................................................................. 35
5. 2 .21 - Nome: Bloquear Usuário .............................................................................. 36
5.3 – Diagramas de Interação ...................................................................................... 36
5.3.1 – Diagramas de Seqüência .................................................................................. 37
5.3.2 – Diagramas de Colaboração .............................................................................. 37
5.3.3 – Diagramas de Seqüência versus Diagramas de Colaboração............................. 38
5.3.3.1 - Nome: Consultar Livro .................................................................................. 38
5.3.3.2 - Nome: Consultar Fitas de vídeo..................................................................... 39
5.3.3.3 - Nome: Consultar CD ..................................................................................... 39
5.3.3.4 - Nome: Consultar Folhetos ............................................................................. 40
5.3.3.5 - Nome: Consultar Artigos ............................................................................... 40
5.3.3.6 - Nome: Consultar Periódicos .......................................................................... 41
5.3.3.7 - Nome: Consultar Dissertação......................................................................... 41
5.3.3.8 - Nome: Consultar Teses e Monografias .......................................................... 42
5.3.3.9 - Nome: Efetuar Empréstimo ........................................................................... 42
5.3.3.10 - Nome: Reservar Acervo............................................................................... 43
5.3.3.11 - Nome: Validar Usuário................................................................................ 43
5.3.3.12 - Nome: Validar Usuário................................................................................ 44
5.3.3.13 - Nome: Devolver Empréstimo ...................................................................... 44
5.3.3.14 - Nome: Renovar Empréstimo........................................................................ 45
5.3.3.15 - Nome: Atualizar Usuário ............................................................................. 45
ix
5.3.3.16 - Nome: Atualizar Acervo .............................................................................. 46
5.3.3.17 - Nome: Incluir Acervo .................................................................................. 46
5.3.3.18 - Nome: Cadastrar Usuário............................................................................. 47
5.3.3.19 - Nome: Gerar Multas .................................................................................... 47
5.3.3.20 - Nome: Gerar Notificação............................................................................. 48
5.3.3.21 - Nome: Bloquear Usuário ............................................................................. 48
CAPITULO 6 – Conclusão .................................................................................................. 50
REFERÊNCIAS BIBLIOGRÁFICAS............................................................................ 53
x
LISTA DE FIGURAS
p.
FIGURA 1 - TELA DA PÁGINA DA UNIMINAS.............................................................................. 6
FIGURA 2 - DIAGRAMA DE SEQÜÊNCIA PARA O CASO DE USO VALIDAR USUÁRIO .................... 10
FIGURA 3 - DIAGRAMA DE ATIVIDADE PARA O CASO DE USO CADASTRAR LIVRO NOVO .......... 10
FIGURA 4 - DIAGRAMA DE CASOS DE USO DO SISTEMA BIBLIOTECA ....................................... 22
FIGURA 5 – DIAGRAMA DE CASO DE USO PARA O PACOTE CONSULTAR ACERVO ..................... 22
FIGURA 6 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR LIVRO .................................................... 38
FIGURA 7 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR FITAS DE VÍDEO ...................................... 39
FIGURA 8 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR CD......................................................... 39
FIGURA 9 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR FOLHETOS .............................................. 40
FIGURA 10 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR ARTIGOS .............................................. 40
FIGURA 11 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR PERIÓDICOS .......................................... 41
FIGURA 12 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR DISSERTAÇÃO....................................... 41
FIGURA 13 - DIAGRAMA DE SEQÜÊNCIA CONSULTAR TESES E MONOGRAFIAS ........................ 42
FIGURA 14 - DIAGRAMA DE SEQÜÊNCIA EFETUAR EMPRÉSTIMO............................................. 42
FIGURA 15 - DIAGRAMA DE COLABORAÇÃO RESERVAR ACERVO ........................................... 43
FIGURA 16 - DIAGRAMA DE SEQÜÊNCIA VALIDAR USUÁRIO................................................... 43
FIGURA 17 - DIAGRAMA DE COLABORAÇÃO VALIDAR USUÁRIO............................................. 44
FIGURA 18 - DIAGRAMA DE SEQÜÊNCIA DEVOLVER EMPRÉSTIMO .......................................... 44
FIGURA 19 - DIAGRAMA DE SEQÜÊNCIA RENOVAR EMPRÉSTIMO............................................ 45
FIGURA 20 - DIAGRAMA DE SEQÜÊNCIA ATUALIZAR USUÁRIO ............................................... 45
FIGURA 21 - DIAGRAMA DE COLABORAÇÃO ATUALIZAR ACERVO .......................................... 46
FIGURA 22 - DIAGRAMA DE SEQÜÊNCIA INCLUIR ACERVO ..................................................... 46
FIGURA 23 - DIAGRAMA DE COLABORAÇÃO CADASTRAR USUÁRIO ........................................ 47
FIGURA 24 - DIAGRAMA DE COLABORAÇÃO GERAR MULTAS ................................................. 47
FIGURA 25 - DIAGRAMA DE SEQÜÊNCIA GERAR NOTIFICAÇÃO ............................................... 48
FIGURA 26 - DIAGRAMA DE COLABORAÇÃO BLOQUEAR USUÁRIO .......................................... 48
xi
LISTA DE ABREVIATURAS
ASP – Active Server Pages
CDU – Classificação Decimal Universal
CGI – Common Gateway Interface
COMUT – Programa de Comutação Bibliográfica do IBICT
FGV – Fundação Getúlio Vargas
FPU – Faculdade Politécnica de Uberlândia S/C LTDA
HTML – Hyper Text Markup Language
HTTP – Hyper Text Transfer Protocol
IBICT – Instituto Brasileiro de Informação em Ciência e Tecnologia
IE6 – Internet Explore 6
IP – Internet Protocol
MEC – Ministério da Educação e Cultura
PC – Personal Computer / Computador pessoal
TCP – Transmission Control Protocol
UFU – Universidade Federal de Uberlândia
UML – Unified Modeling Language
UNIMINAS – União Educacional Minas Gerais S/C LTDA
UNITRI – Sociedade de Ensino do Triangulo S/C LTDA
WWW – World Wide Web
CAPITULO 1 – Introdução
Foram três anos de estudos e sempre usando a biblioteca Uniminas, nos
intervalos, antes das aulas ou mesmo aos sábados, convivendo com filas, demora e
mais demora, livros emprestados e já com uma lista de espera, muitas vezes saindo
da biblioteca de mãos vazias. Em uma noite assim, sem sucesso de conseguir o
livro, depois de esperar em uma fila porque este se encontrava na lista de espera,
surgiu a idéia de tornar a biblioteca desta instituição online, ou seja, levar a
biblioteca para casa não só dos alunos e professores da Uniminas, mas de toda a
comunidade. A biblioteca tendo um processo mais ágil de empréstimo, consulta e
reserva de livros, periódicos e revistas, minimizando as filas e possibilitando ao
aluno maior disponibilidade de tempo.
Por meio deste recurso, poderá ser feita a pesquisa de quais livros a
biblioteca dispõe, quais estão emprestados e quais estão na lista de espera,
disponibilizando-se para reserva os livros disponíveis, bastando, para isso apenas a
“Matricula” e “Senha”, cabendo ao aluno confirmar pessoalmente o empréstimo.
Assim, a Uniminas ficará no mesmo nível de outras faculdades de Uberlândia,
como UFU, UNITRI, FPU, que já disponibilizam este serviço à comunidade há algum
tempo, ainda que no inicio e com algumas limitações.
Neste estudo serão abordadas várias etapas no desenvolvimento de um
sistema Web, desde o levantamento dos requisitos, passando pela análise e projeto,
incluindo casos de uso, documentação de módulos e arquivos, diagramas, interfaces
e diretrizes para a implementação.
Este projeto está dividido em três partes: projeto gráfico, projeto de banco de
dados e o projeto funcional que vai ser o foco desta pesquisa, em que será
abordada a dificuldade em se trabalhar com as linguagens existentes e as soluções
oferecidas pelo mercado, um breve histórico e os requisitos necessários para sua
implementação, possibilitando que seja feita uma avaliação e com isso serem
apresentadas melhorias.
Esta pesquisa contém praticamente todas as informações relacionadas à
matéria, divididas em quatro capítulos interligados. Seu principal intuito é primeiro
desenvolver e colocar em prática o que foi aprendido, aprofundando um pouco mais
no assunto; em segundo lugar é sanar um problema de filas e demora no
atendimento ao aluno e colocar a biblioteca Uniminas acessível à comunidade pela
Internet.
2
O trabalho está dividido da seguinte forma:
O capitulo 2 traz um pouco de história, dando uma noção de como a evolução
tecnológica está acelerada, os computadores, de máquina grande a dimensões cada
vez menores, a Internet de um uso exclusivo militar à popularidade mundial e as
bibliotecas de bem organizadas a sua informatização e acessibilidade via Internet.
No capitulo 3 é realizado um estudo dirigido ao embasamento teórico em que
serão apresentados conceitos e definições sobre linguagem, códigos e as
ferramentas utilizadas na criação de uma página, como também o aprimoramento de
uma já existente, que é o caso da Uniminas.
A seguir no capitulo 4, é feita a apresentação da biblioteca Uniminas
englobando os processos utilizados na consulta e empréstimo de livros e o sistema
utilizado para este serviço. São relatados os requisitos funcionais da biblioteca da
Uniminas, coletados a partir de entrevistas com a bibliotecária, funcionárias e com o
responsável pelo programa hoje implantado na Faculdade. O projeto vem propor
também, algumas sugestões, em busca de aprimoramento e maior qualidade nos
serviços prestados pela biblioteca apontando caminhos para sua viabilização.
O capitulo 5, tem o objetivo de fazer a demonstração dessas definições e
inovações propostas, apresentando os passos, documentos, interfaces e códigos,
bem como fundamentação e diretrizes para o desenvolvimento do projeto.
A abordagem dos resultados obtidos bem como os objetivos alcançados e as
necessidades identificadas a partir destes, dificuldades encontradas e o aprendizado
utilizando-se da prática do que foi aprendido ao longo de quatro anos será tema do
capitulo 6.
3
CAPITULO 2 – História
A globalização da economia e o avanço tecnológico têm surpreendido muitas
empresas, instituições e indivíduos. A resposta da sociedade às mudanças tem
sofrido as influências desta “surpresa”. Tanto governo quanto o setor privado têm
sido levados a tomar medidas rápidas a fim de se adequarem aos novos padrões
sociais e econômicos. Agravou-se uma tensão entre vários parâmetros que, se não
eram estáveis, não se pressupunha serem tão elásticos. Qualidade, redução de
tempo e custos têm sido levados a extremos pelas mãos da tecnologia e a dicotomia
expressa no ditado popular “a pressa é inimiga da perfeição” corre o risco de
desaparecer. O cliente foi elevado ao topo da pirâmide de valores das empresas e
do mercado e passa a exigir cada vez mais rapidez, qualidade e menores preços.
Quem não estiver apto a oferecê-los em conjunto pode perder a corrida da
sobrevivência.
Essa “surpresa”, em parte tem seu fundamento. O aumento da velocidade da
informação e as transformações sociais advindas não deixam dúvidas de que
estamos já algum tempo no que tem sido comentado como a sociedade do
conhecimento. A informação passa a ser a principal mercadoria deste inicio de
século
enquanto
proliferam
os
meios
de
armazená-la
e
transmiti-la.
O
microcomputador transforma-se em eletrodoméstico e os satélites disseminam
informações por todo o planeta.
Todos assistimos um pouco perplexos à queda dos preços do hardware. Em
contraposição, os custos com o desenvolvimento de aplicativos, os softwares, têm
se mantido ou mesmo aumentado, gerando uma situação antagônica. As pressões
dos clientes e o aumento da competitividade têm colocado muitas empresas em
dificuldades. A solução não é mais apenas técnica. É também, e, principalmente,
estratégica.
O homem utilizou-se de diversos meios até hoje para armazenar e transmitir
informações. Dos desenhos nas paredes das cavernas até os computadores, a
informação adquiriu várias e diferentes dimensões. Este conceito é importante para
nos desassociarmos da informação como palavra escrita e estarmos abertos para
outras formas de comunicação existentes ou a serem criadas. É claro que a
informação em sua dimensão gráfica desempenhou um papel importante na história
humana, mas serviços como o www (World wide web) da Internet mostra que
antigas formas de comunicação e tratamento da informação estão sendo resgatadas
4
sob nova ótica. A vantagem sobre a televisão é a rapidez na recuperação da
informação como resultado da organização sistemática dos dados.
2.1– O computador
Até fins da década de setenta os computadores estavam associados à idéia
de máquinas grandes, de custo elevado e inacessível às pessoas comuns. E
realmente eram. Embora indivíduos de maior poder aquisitivo pudessem adquiri-los,
ninguém se dispunha a ocupar um enorme espaço físico (aproximadamente 100 m²,
fora os custos com piso falso para as fiações e com refrigeração), com uma máquina
que pouco tinha a oferecer a nível doméstico. Apenas em empresas e instituições
existiam os chamados mainframes ou computadores de grande porte. Em torno
deles reunia-se um quadro de profissionais elitizado que contribuía para mantê-lo
afastado do cidadão comum. Seus produtores eram poucos e grandes, mais
preocupados em expandir seus mercados do que em desenvolver novas
tecnologias.
Os avanços tecnológicos levaram à criação dos circuitos integrados, mais
conhecidos como chips, e através de um processo continuo de evolução, permitiram
a criação de computadores cada vez menores e com poder de processamento
elevado.
O
produto
mais
conhecido
gerado
por
esta
tecnologia
é
o
microcomputador, também chamado de PC – Personal Computer/ (Computador
Pessoal).
Atualmente, as empresas fabricantes dos microprocessadores investem muito
em pesquisas e novas tecnologias vêm surgindo com muito mais potência e preços
mais competitivos e acessíveis. Estes investimentos têm reflexos imediatos em
nossas vidas. Se nas novelas ele já garantiu seu papel como ator, em nosso
cotidiano ele toma ares de protagonista: jornais anunciam vendas diariamente,
conversamos com eles ao telefone, nos quiosques bancários, nos shoppings, os
nossos filhos já utilizam este recurso nas escolas e, não raras vezes já se tornaram
membros da família, aliados no trabalho e no lazer. A despeito dessas tendências
humanóides, os computadores continuam a ser construídos em bases metálicas e
plásticas. A chamada tecnologia plug-and-play, onde tudo o que você deveria saber
era ligar o micro na tomada, ainda não é uma realidade.
5
2.2 - A Internet
A Internet é uma rede, com mais de 30 anos de idade, que começou com os
Estados Unidos vivendo uma real ameaça de ataque nuclear depois da instalação
de mísseis russos em Cuba. A utilização de uma rede que interligava as bases
militares foi à estratégia militar para proteger a comunicação em caso de ataque. Ela
ligava máquinas diferentes entre si através de linhas redundantes de maneira que,
mesmo que uma ou várias bases fossem reduzidas a pó, as outras estações ainda
conseguiriam se comunicar entre si. Assim, Fidel Castro foi uma das pessoas que
teve papel decisivo na criação da rede que interligou vários computadores em
algumas universidades e centros de pesquisa envolvidos com projetos militares.
Seus primeiros usuários foram os cientistas que usavam a rede para trocar
mensagens de correio eletrônico e ligar-se remotamente a computadores distantes,
tornando-se tão útil que as universidades envolvidas começaram a ligar seus
departamentos, mesmo os que não tinham nada a ver com o projeto. Na década de
80, uma rede nacional de pesquisa dos Estados Unidos conectando os cinco
grandes centros regionais de supercomputação passou a ser chamada de Internet e
em pouco tempo já interligava os maiores centros de pesquisa do mundo.
Em 1992 a Internet teve seu crescimento acelerado por razão da criação da
World Wide Web que veio para finalmente organizar um pouco as informações. O
maior problema na época que era a desorganização generalizada da rede. Hoje,
devido a seu papel importante, a web é confundida com a própria Internet, da qual
faz parte. Dessa forma, possui uma força única na historia das telecomunicações
sendo capaz de servir de porta de entrada, não só a todos os serviços da Internet,
mas também invadir a praia dos tradicionais serviços de voz (telefone), televisão,
rádio e mídias impressas, sem falar do impacto que está tendo nos hábitos da
sociedade, mudando as regras do comércio e das relações humanas.
Assim, podemos definir a World Wide Web como sendo o nome do serviço
mais popular da Internet, que por sua vez é o nome dado ao conjunto de
computadores, provedores de acesso, satélites, cabos e serviços que formam uma
rede mundial baseada em uma coleção de protocolos de comunicação conhecidos
como TCP / IP.
Com o advento da www (web) surgiu à necessidade de utilizar técnicas para
desenvolver páginas com o intuito de organizar e dar uma melhor apresentação,
navegabilidade e interatividade, por que não dizer mais funcional. Os Web
designers, detentores dessa técnica, começam a difundi-la, e em pouco tempo o
6
mundo se rendeu a mais este serviço oferecido pela Internet. Hoje a criação e o uso
de páginas se tornou rotina, tanto que o açougue da esquina tem já sua página na
Internet oferecendo seus serviços online, quanto uma grande empresa que mostra a
cara para o mundo oferecendo seus produtos para exportação.
2.3 – A Biblioteca Informatizada
A informatização das bibliotecas não é recente, pois desde 1960 já se
desenvolvem programas unicamente com o intuito de controlar todas as funções de
uma biblioteca, desde a consulta ao acervo, empréstimos e devoluções até funções
de controles financeiros como custos para a manutenção e receitas geradas com o
pagamento de multas por atraso. O próximo passo seria torná-las acessíveis via
Internet, uma vez que este serviço é o que faltava já que as Universidades
dispunham da interligação entre elas, e a idéia agora era abri-las a comunidade em
geral.
No Brasil grande parte das bibliotecas de instituições e ou estados dispõe de
páginas para consulta, com acesso de qualquer lugar e sem limite de horas,
algumas com mais ou menos utilidades dependendo do tempo que está no ar.
Figura 1 - Tela da página da Uniminas
7
A figura 1 mostra a página da Uniminas que apresenta opções de consultas
variadas sobre: Cursos de graduação e pós-graduação; Cursos de extensão;
processo seletivo; serviços ao aluno e biblioteca, este último quando selecionado
apresenta informações sobre espaço físico, livros, cd e outros itens que fazem parte
do acervo da biblioteca, não disponibilizando nenhum serviços de consulta e ou
empréstimos e outros.
Conforme pesquisa em sites de outras escolas de Uberlândia, tais como UFU,
UNITRI, FPU, este serviço encontra-se ainda no inicio, com algumas limitações, mas
servirá como uma boa fonte de pesquisa.
Estudando o projeto funcional para um planejamento adequado dos serviços
a serem disponibilizados, busca-se um maior conhecimento na área de manipulação
de scripts, entrada de dados e respostas a usuários. Ao elaborar o projeto de
desenvolvimento deste sistema web, serão produzidos, documentos, interfaces e
códigos, necessários à implantação do mesmo, ficando a faculdade com a decisão
de colocá-lo em prática ou não. Desta forma o aluno poderá melhor se preparar para
atuar de forma mais adequada, num mercado cheio de oportunidades e desafios,
uma vez que este estudo possibilita uma melhor vivência da realidade, enquanto
aplica os conhecimentos adquiridos.
8
CAPITULO 3 – Conceitos e Definições
Este projeto aborda várias etapas no desenvolvimento de um sistema web
que é um sistema computacional implementado na plataforma web, meio virtual
formado pelos servidores web que mantém sites. A world wide web é o nome do
serviço mais popular do conjunto de computadores, provedores de acesso, satélites,
cabos e serviços que formam a mais popular rede mundial de computadores: a
Internet.
Esta rede está baseada em uma coleção de protocolos de comunicação, que
são conjuntos de regras e formatos que os computadores devem seguir para haver
comunicação entre eles em uma rede. Regras e formatos representados por
aspectos semânticos, sintáticos, temporais e através dos quais um computador pode
se comunicar com outro por meio de uma linha telefônica ou placa de rede sem que
o usuário precise se preocupar em saber qual o meio físico que está sendo utilizado.
Criados com o intuito de realizar a intercomunicação de computadores, têm como
função controlar
como a informação é passada de uma rede a outra, como
manipular o endereçamento contido nos pacotes, a fragmentação dos dados e a
checagem de erros.
IP (Internet Protocol) é um protocolo para comunicação de redes Internet
responsável pela transmissão de um computador com outros conectados à rede
(host-to-host), definindo a forma de endereçamento que permite a localização de um
computador na Internet, usando para isso um conjunto de dígitos chamado de
endereço IP. Já o TCP (transmission Control Protocol) é um protocolo orientado à
conexão, que oferece um serviço confiável pelo fato de trabalhar com números de
reconhecimento seqüenciais e positivos e sua ação se estende a toda a trajetória da
informação, onde ele procura garantir o sucesso da transmissão, e por ser propósito
geral, pode ser adaptado para ser usado com uma variedade de sistemas.
Na Web a implementação do hipertexto é realizada com base no protocolo
HTTP (Hyper Text Transfer Protocol) – Protocolo de Transferência de Hipertexto.
Hipertexto é uma forma não linear de publicação de informações onde palavras que
aparecem no texto podem levar a outras seções de um documento, outros
documentos ou até outros sistemas de informação, fugindo da estrutura linear
original de um texto simples. Esta baseada em ligações entre pontos chamados de
âncoras. As ligações entre as âncoras são chamadas de vínculos (links). Vínculos de
9
hipertexto são implementados em textos publicados na web usando uma linguagem
declarativa chamada de HTML – Hyper Text Markup Language.
HTML é a linguagem padrão utilizado na WWW desde seu surgimento e que
permite a montagem de Hipertextos, por meio dos quais o usuário pode “navegar”
através de links em palavras que permitirão que o usuário possa se aprofundar em
determinado assunto até o nível que desejar (é usada para marcar um arquivo de
texto simples, sem formatação alguma, visualizável em qualquer editor de textos. Se
um arquivo de texto simples receber uma extensão de nome de arquivo “html” ou
“htm”, um navegador como o Internet Explorer irá tentar interpretá-lo como HTML).
3.1 – O Projeto
O projeto está dividido em três partes: o projeto gráfico, mostrando os passos
da confecção da interface gráfica de um web site, seguindo, no caso da Uniminas, o
padrão da sua página que será responsável pela visualização e envio de informação
para o usuário; o projeto de banco de dados que mostra como essas informações
estão armazenadas
e quais eventos irão acioná-las, apresentando, também,
respostas a possíveis perguntas do usuário e as ligações com cada interface
gerenciando as informações inerentes ao sistema de biblioteca; e o projeto funcional
responsável pelo processamento destas informações e pela geração dinâmica da
interface no lado servidor, oferecendo serviços ao usuário tais como processar os
pedidos de informações gerando respostas de forma dinâmica.
A interação entre estes três projetos pode ser vista por meio de diagramas de
seqüência que mostram a troca de mensagens entre as classes na realização de um
caso de uso. Mostram também como os cenários de casos de uso serão
implementados.
A figura 2 mostra como isso ocorre, utilizando o caso de uso Validar usuário,
que é, o usuário aluno entrando no sistema e este fazendo a sua validação antes de
permitir sua entrada e acesso às funcionalidades oferecidas nesta página. Ela define
o que cada módulo desempenha quando o usuário entra no sistema, e este sistema
faz sua validação através das solicitações de matricula e senha, buscando no banco
de dados e interagindo por meio da interface gráfica.
10
Figura 2 - Diagrama de Seqüência para o caso de uso Validar Usuário
Também foi usado o diagrama de atividades que tem por finalidade
documentar um fluxo de execução de algum procedimento, processo ou rotina,
podendo ser utilizado para detalhar os passos de um caso de uso ou para
documentar um processo qualquer executado ou automatizado pelo sistema.
A figura 3 mostra o diagrama de atividade para o caso de uso Cadastrar Livro
Novo, ou seja a seqüência para sua execução.
Figura 3 - Diagrama de Atividade para o caso de uso Cadastrar Livro Novo
11
O diagrama de atividade da figura 3 para o caso de uso cadastrar livro novo
inicia-se com o técnico informando o código ID do livro a ser cadastrado, o sistema
verifica a existência deste código através de consulta no banco de dados, a partir daí
tem duas opções que dependem do resultado de sua pesquisa: se sim (“existe”)
coloca na tela informações sobre o exemplar e permite a inclusão de mais
exemplares emitindo etiqueta e salvando a nova quantidade de exemplares
disponíveis na base; se não, permite a criação do novo exemplar juntamente com o
seu código e suas informações cadastrais como quantidade, editora, etc; emite
etiqueta com novo código e salva quantidade disponível na base de dados.
O objetivo é desenvolver um planejamento adequado dos serviços a serem
disponibilizados, através do levantamento dos requisitos funcionais (quais serviços o
site deve oferecer), passando pela análise – tarefa que envolve, antes de tudo um
trabalho de descoberta, refinamento, modelagem e especificação das necessidades
e desejos relativos ao sistema. Os resultados obtidos são utilizados para modelar
partes específicas do sistema incluindo casos de uso, arquivos, interfaces, diretrizes
para implementação e documentação de módulos. Assim é possível obter uma
amplitude no foco do estudo dos casos de uso que garante uma especificação
correta, facilitando a implementação. Desse modo, o módulo de entrada do usuário
no sistema, para reserva de livros por exemplo, será representado por meio de
casos de uso, e modelados todos seus eventos associados.
Para codificação, caracterizada por um conjunto de instruções executáveis no
computador, que serão executadas pelo hardware do sistema considera-se também
sua geração a partir dos modelos produzidos com o uso de ferramentas. A
linguagem a ser trabalhada será a PHP, uma linguagem de scripting, gratuita e com
código-fonte aberto, utilizada para a criação de páginas dinâmicas na web.
3.2 – Tecnologias para o desenvolvimento de aplicações web
Estas tecnologias são utilizadas para desenvolver aplicações que rodam no
servidor e apresentam pontos em comum que são: o usuário não pode ver o código
fonte; não estão sujeitas as incompatibilidades de browsers; tem mais facilidade de
acessarem bases de dados sem gerar falhas de segurança e em geral ao serem
chamadas; obtém a informação que o usuário deseja; formatam essa informação em
HTML e devolvem HTML pronto para o usuário. O usuário só vê o resultado final.
12
3.2.1 – HTML
HTML é a mais antiga por ser uma das primeiras linguagens a ser
desenvolvida e a entrar em nossas casas e, ainda, é a mais usada. É uma
linguagem apenas para apresentação de textos, muito estática que define apenas
qual a forma de apresentação do conteúdo, com algumas restrições de dispositivos
para melhorar a programação, ou seja, não dispõem de muitos recursos,
principalmente os mais atuais, os quais torna uma programação mais dinâmica. Uma
vantagem de seu uso é a de poder ser feito em qualquer editor de textos e ainda
assim surge a necessidade do uso de outras tecnologias. Hoje em dia nenhum site
na web é produzido apenas com o uso de HTML.
3.2.2 – CGI
CGI é abreviação de Common Gateway Interface. Não é uma linguagem, é
um padrão que determina a forma de comunicação entre o servidor web e uma outra
aplicação rodando no servidor web, determinando de que forma o servidor web
deverá chamar esta outra aplicação, quais informações serão passadas para
aplicação e quais informações serão passadas de volta para o servidor web. É um
padrão entre os diversos servidores existentes, o que é uma vantagem, porém é
uma aplicação e precisa seguir padrões estabelecidos pelo sistema operacional.
Este é que determina que cada aplicação tenha o seu processo, uma área de
memória isolada de todas as outras aplicações. A inicialização deste processo é
algo que consome muito tempo da máquina. Cada usuário que dispara uma
aplicação CGI está gerando a inicialização de um processo, tornando a execução de
aplicações CGI onerosa para o servidor web. Comenta-se que o CGI roda “Out-ofProcess”, ou seja, em um processo de memória independente do servidor web. Por
isso ele tem baixa escalabilidade, ou seja, com um hardware X(qualquer) aplicações
CGI suportam um número menor de usuários do que aplicações criadas em outras
tecnologias. Enfim, são programas que podem ser escritos em diversas linguagens ,
como PERL, Clipper ou C.
3.2.3 – ISAPI e NSAPI
ISAPI assim como o CGI é um padrão de comunicação entre o servidor web e
uma outra aplicação que esteja rodando no servidor web e define como o servidor
deverá chamar esta outra aplicação e quais dados serão trocados entre eles. Ao
contrario do CGI, porém, o padrão ISAPI permite que a aplicação rode In-Process,
ou seja, no mesmo processo de memória que o servidor web. Este fato torna uma
13
aplicação ISAPI muito mais escalável do que uma aplicação CGI. É um padrão
proprietário da Microsoft o que resulta em uma aplicação ISAPI só rodar no servidor
IIS da Microsoft. Seu desenvolvimento é algo muito complexo, exigindo um
conhecimento profundo do servidor web.
NSAPI, baseada numa biblioteca de funções C para implementação de
programas dinâmicos na web, roda em servidores Netscape. Como vantagem
destaca-se que a cada requisição HTTP a uma NSAPI abre sobre uma nova thread
e não um novo processo. Apresenta certas similaridades com a tecnologia ISAPI da
Microsoft.
3.2.4 – ASP
ASP assim como o ISAPI, roda In-Process, o que faz com que tenha melhor
desempenho que o CGI. Ao contrario do ISAPI, o ASP não é compilado e sim
interpretado, sendo seu interpretador nada mais do que uma aplicação ISAPI.
Apesar de ser conhecida como “Linguagem ASP”, pode-se dizer que o ASP não tem
uma linguagem própria pois é na verdade um driver que permite que as linguagens
de script já existentes (Vbscript, Javascript) rodem no servidor e não na estação do
usuário. Oferece mais recursos e, devido a sua arquitetura (interpretado), não possui
uma performance tão boa quanto uma aplicação ISAPI. Devido à facilidade de ser
uma linguagem de script que pode ser produzida até no bloco de notas, baseada em
visual basic (VbScript, mais precisamente) e sua programação exige um
conhecimento mais apurado, é uma linguagem até certo ponto dinâmica usada
principalmente em sites que necessitam de um ambiente seguro. Tornou se bem
mais popular que o desenvolvimento com ISAPI, tanto que foi assumida como
padrão de desenvolvimento pela própria Microsoft (Windows DNA) e em versões
futuras promete ser compilada e integrada ao VB, fato este que deixa a desejar
porque não roda em qualquer plataforma ficando presa à plataforma windows. Pode
também rodar em Linux, só que sua instalação não é tão simples o que faz a
preferência na escolha de outras aplicações.
3.2.5 – PHP
PHP é um pacote que permite separar a porção HTML dos scripts CGI no
código C, possibilitando que possa se alterar o HTML sem precisar recompilar o
código C. PHP também pode ser considerada uma linguagem
de programação
‘peão’, pois permite que as pessoas façam coisas sem nenhuma experiência de
programação anterior. É executada no servidor e pode ser embutida na HTML, além
14
de suportar a maioria dos bancos de dados atuais, como MySQL, PostgreSQL,
InterBase, Oracle e SQL server. Reúne as vantagens de ser dinâmico e acessível a
qualquer programador não exigindo maiores conhecimentos da linguagem,
permitindo trabalhar com imagens e não ficando restrito a uma plataforma especifica
para rodar.
3.2.6 – JAVA
JAVA possui muitos recursos a mais que a linguagem HTML, por isso é
utilizado para tornar a página mais dinâmica ou simplesmente para embelezá-la.
Trata-se de uma linguagem recente com código pequeno e que nos últimos anos
ganhou espaço principalmente em telecomunicações como celulares, computadores
de bordo em carros e via satélite. Foi desenvolvida para ser uma linguagem robusta,
independente de plataforma ou sistema operacional e totalmente orientadas a objeto
que se popularizou com pequenos aplicativos chamados applets. Possibilitando uma
diversidade na sua aplicação. Não é uma linguagem fácil, exigindo bom
conhecimento de quem se propõe trabalhar com ela.
3.2.7 – APPLETs e SERVLETs
APPLETs são aplicações criadas em linguagem Java especialmente para
rodar dentro de uma página web na estação cliente eles tomam para si um
determinado espaço na página e nesta área fazem a sua tarefa.
SERVLETs são aplicações escritas em JAVA, sendo executadas em
servidores WWW para algum tipo de processamento cliente-servidor, como acesso
à banco de dados e aplicações multi-threaded. É um programa que estende a
funcionalidade de um web server, gerando conteúdo dinâmico e interagindo com os
clientes, utilizando o modelo request/response, ou seja, requisição/resposta. Sendo
a linguagem JAVA projetada para ser independente de plataforma, é possível
escrever um servlet para um servidor UNIX, que poderá ser instalado em um
windows NT, sem a necessidade de reescrever o código ou recopilá-lo. Uma
vantagem, é que cada requisição HTTP gera somente a abertura de uma nova
thread e não um novo processo. Além disso, acessos subseqüentes a uma servlet
encontram o programa já carregado na memória do servidor, reduzindo o tempo de
resposta percebido pelo usuário.
Neste capitulo foram trabalhados alguns conceitos e definições que irão servir
para desenvolvimento do projeto. No próximo capitulo será elaborado a
especificação do sistema Biblioteca.
15
CAPITULO 4 – A Biblioteca Uniminas
A biblioteca Uniminas1 completou agora em julho 4 anos, e possui acervo
informacional
considerável de 9.860 exemplares, referentes a livros e teses, 34
títulos de periódicos e 53 fitas de vídeo e cd-rom. À medida que novos cursos vão
sendo autorizados pelo MEC e os que estão em processo de reconhecimento
necessitam obedecer às regras de 5 exemplares para cada 10 alunos. A tendência é
que novos livros são adquiridos e como conseqüência o crescimento deste acervo.
Composta por uma biblioteca central e uma setorial, nas áreas de Ciências
Biológicas, Ciências da Saúde, Ciências Exatas e da terra, Ciências Humanas,
Ciências Sociais e Aplicadas, Engenharias, Lingüística, Letra e Artes, abrange as
áreas de pesquisa, ensino e extensão.
Ocupa uma área física total de 535m², distribuída entre serviços técnicos e
administrativos, área para estudo em grupo e individual, balcão de empréstimo,
terminais para pesquisa na base de dados local e terminais para pesquisa na
Internet .
As bibliotecas estão abertas a toda comunidade universitária, com orientação
para uma utilização mais eficiente e eficaz dos recursos informatizados e do
atendimento qualitativo das demandas referente a informações; normalmente
impostas pelo desenvolvimento das atividades do ensino, pesquisa e extensão da
comunidade usuária.
Diante dessa realidade, a Instituição precisa ter um controle sobre este
acervo. A biblioteca com seus funcionários seriam pouco para manter manualmente
este controle. Atualmente, a tecnologia oferece soluções para quase tudo, e o leque
de sua abrangência a cada dia ganham mais espaço. No ramo de controle de
bibliotecas não seria diferente, pois existem no mercado umas enormes quantidades
de programas se encaixando no tamanho e nas necessidades das bibliotecas. Existe
também a possibilidade de construção de tal aplicação, o que, neste caso, fica um
pouco mais oneroso, além de gastar mais tempo.
A Uniminas optou por um sistema de uma empresa de Belo Horizonte que faz
a distribuição, exigindo apenas algumas adaptações à realidade do campus, com
suporte em Belo Horizonte e aqui em Uberlândia por meio de um funcionário da
própria Faculdade. O sistema adotado é o Microisis for Windows, fornecido pela
1
Página da Uniminas: Acesso: 11 abr. 2004.
16
Unesco. Trata-se de um sistema integrado, multiusuário, que automatiza os serviços
de catalogação, consultas, circulação, empréstimo e estatísticas. Todos os
documentos que compõem o acervo, ou seja, livros, periódicos, fitas de vídeo, etc,
estão inseridos na base Microisis, que auxilia no gerenciamento das informações e
permite acesso fácil e ágil à informação desejada. O software permite também a
entrada e edição de dados bibliográficos, itens, cabeçalhos de assunto, autoridades
e leitores.
A Biblioteca Uniminas participa como solicitante do COMUT (Programa de
Comutação Bibliográfica do IBICT), que visa a obtenção de copias de artigos de
periódicos técnico-científicos, teses e anais de congressos. O acesso ao acervo é
livre, a consulta local aberta ao publico em geral e o empréstimo domiciliar restrito a
comunidade Uniminas. Professores e técnicos da Uniminas podem se inscrever nas
bibliotecas enquanto os alunos são inscritos automaticamente na matricula. As
bibliotecas possuem infra-estrutura de automação para garantir a geração e
disponibilização de serviços e produtos informacionais adequados à demanda da
comunidade acadêmica.
Podem ser feitos levantamentos bibliográficos automatizados e pesquisas
pela Internet por meio de agendamento telefônico ou pessoalmente, bastando o
usuário levar um disquete vazio. O usuário também pode utilizar o serviço de
comutação bibliográfica para solicitar cópias de documentos que constem no acervo
de bibliotecas de outras faculdades. Oferece também serviços como consulta local a
todo o acervo, empréstimo domiciliar, renovação de empréstimo desde que o mesmo
não esteja na pasta de reserva, reserva de obra emprestada junto ao balcão de
empréstimo, empréstimo de material informacional num prazo de duas horas para
uso fora da biblioteca, orientação pela normalização de trabalhos científicos,
treinamento para otimizar a utilização da biblioteca, acesso a terminais para
digitação e pesquisa na Internet e elaboração de fichas catalográficas das
publicações técnico-científicos da Uniminas.
A aquisição dos livros do acervo tem início com o professor que identifica a
necessidade
de
adoção de
um
determinado
livro,
o
qual
trará
melhor
desenvolvimento para a sua disciplina, verificando primeiro a existência ou não do
livro na biblioteca. Existindo, confirma quantidade, e se não atender ao número
determinado de alunos, procura o coordenador do curso para juntos estudarem a
real necessidade ou as alternativas possíveis tais como a substituição por outro. O
17
processo tem início através do fornecimento pela secretaria, do meio para o fim do
semestre, de uma planilha EXCEL em disquete, para a coordenação com o número
de alunos. A biblioteca participa como executora fazendo o levantamento de preços
via Internet. Decidindo pela compra, é passado à secretaria da biblioteca que ficará
com a pesquisa de preços e a procura das edições mais novas. Concluído esse
trabalho, é passado para o setor financeiro o pedido com quantidade, local, preço e
prazo para a aquisição. Também é passado o mesmo relatório a bibliotecária para
adiantamento de sua catalogação. Ao mesmo tempo, as funcionárias dão inicio ao
processo de registro. Enfim, adianta-se todo processo na espera entre a aquisição e
chegada dos livros. Com a chegada da encomenda é feita à conferência da nota
com o pedido, registrando todo o material adquirido por permuta, compras ou
doação e são carimbados e catalogados (descrição física do material), classificados
utilizando-se o CDU (Classificação Decimal Universal), Index (Classificação por
assunto utilizando cabeçalhos da FGV2), etiquetados e finalmente passados ao setor
inserção na base de dados, trabalho este feito na biblioteca do centro.
Também são observados os seguintes critérios na aquisição do acervo:
bibliografias básicas e leituras complementares dos cursos; solicitações dos
coordenadores e corpo docente; regra de compra de 10% dos alunos matriculados
mais um exemplar para o professor e um fixo na biblioteca como livro texto; para
leitura complementar a regra é dois a quatro exemplares; e aquisição adicionais para
melhor atender aos usuários também é levada em conta. Como a atualização dos
livros é rápida e não sendo possível acompanhá-la, a Uniminas adotou comprar
somente livros de edição nova. As análises de catálogos referentes a lançamentos
de títulos e periódicos, são realizadas pela bibliotecária, coordenadores e docentes
da área.
Hoje a biblioteca conta no seu quadro de pessoal com uma equipe de sete
funcionárias, sendo uma bibliotecária graduada na área e outras seis funcionárias
com conhecimento adquirido através de anos, dando apoio diferenciado a
comunidade Uniminas.
O próximo passo rumo a evolução desse serviço é tornar essas facilidades
acessíveis via Web. Por meio do levantamento dos serviços atualmente oferecidos
pela biblioteca de forma presencial com a identificação e detalhamento dessas
funcionalidades será possível estabelecer a especificação de cada requisito e os
2
Fundação Getúlio Vargas
18
parâmetros necessários para torná-los disponíveis online, estabelecendo assim o
foco do projeto.
4.1 – Funcionalidades
As funcionalidades aqui identificadas vão fazer parte da página da Uniminas
mais precisamente na aba biblioteca, que ao ser clicado aparecerão às opções de
navegabilidade onde o usuário poderá escolher entre “Consulta” ou “Reserva”.
Ao selecionar “Consulta” surgirá outras duas opções todos os cursos ou
especificar curso. Esta seleção permitirá uma filtragem maior sobre o assunto a ser
pesquisado resultando numa economia de tempo para o usuário uma vez que a
procura ficará restrita ao assunto de seu interesse.
Feito a escolha por todos, aparece a opção livros e periódicos, sendo que
periódicos engloba também as monografias e, quando selecionado, terá opções por
data e se é periódicos ou monografia. Optando por livros, poderá ser feita uma
pesquisa através de opções por assunto, autor, editora ou título. Com isso, esta
pesquisa deixa campo para um estudo mais detalhado a respeito dessa consulta
que poderá ser feita online. O usuário poderia fazer a pesquisa de uma determinada
página ou do conteúdo do livro por meio do seu índice, sendo feito, um
procedimento de digitalização de todo acervo da biblioteca. Este estudo pode ser
objeto de futuras monografias.
Quando a escolha for “Reserva”, será direcionado para uma área segura na
qual o campo de preenchimento, “Matricula” e “Senha” serão obrigatórios. Caso
haja alguma coisa fora dos parâmetros, esta tela ficará reaparecendo por mais três
vezes e depois disso voltará à página principal da Uniminas. Caso não tenha
problemas será direcionado para: Acervo, onde se pode visualizar a situação do
acervo se o mesmo encontra-se emprestado, reservado ou se faz parte do acervo
que não pode sair da biblioteca; Reserva, podendo visualizar as reservas inclusive a
que o usuário fez mostrando se o livro já retornou a instituição, e já sendo avisado
na tela para que o usuário encaminhe-se à biblioteca, munido de carteira estudantil
para a efetivação do empréstimo; Empréstimo, que mostra a situação do exemplar,
histórico de quanto tempo está emprestado e quanto falta para ser devolvido, ou se
o
atraso em dias e as taxas incidentes sobre tal. Estas funcionalidades serão
modeladas por meio do diagrama de caso de uso. Casos de uso são usados para
capturar os requisitos funcionais do sistema. São agrupados em pacotes e permitem
organizar o sistema em nichos de funcionalidades, sendo que cada nicho deverá
produzir alguma coisa útil.
19
Este capítulo foi desenvolvido através de pesquisa e de uma entrevista
concedida pela Bibliotecária Elza, que esteve sempre pronta a esclarecimentos,
detalhando junto com os alunos todas as funcionalidades necessárias detectadas
em conversas com as funcionárias do setor, acompanhando sua rotina diária,
também alunos de outros cursos e períodos da Instituição e em reuniões com o
responsável pelo programa na Uniminas.
20
CAPITULO 5 – O projeto Online
Com base em pesquisa feita junto à biblioteca, através da entrevista e
seguindo o capitulo anterior, agora estas funcionalidades vão ser oferecidas pela
biblioteca online e neste capitulo poderão ser mais bem detalhadas, buscando sua
real finalidade e importância dentro do sistema sendo descritas pelos diagramas de
casos de uso.
5.1 – Diagramas de casos de uso
Um caso de uso é uma técnica de modelagem usada para descrever o que
um novo sistema deve fazer ou o que um sistema existente já faz. Tem como
propósitos decidir e descrever os requisitos funcionais do sistema, resultantes de
acordo entre o cliente e/ou usuários finais e desenvolvedores de software, fornecer
uma descrição clara e consistente do que o sistema deve fazer de forma que possa
ser utilizado ao longo do processo de desenvolvimento e modelagem do projeto
(RUMBAUGH, JACOBSON, BOOCH; 2000). Os componentes primários de um caso
de uso são:
5.1.1 – Atores
Os atores, são representados por alguém ou algo que interage com o
sistema. É quem ou o que usa o sistema, ou seja envia ou recebe mensagens para
ou do sistema ou troca informações com o sistema. Atores desempenham os casos
de uso e um único ator pode desempenhar muitos casos de uso. Um caso de uso
pode ter reciprocamente vários atores desempenhando-o e são mais úteis quando
se está propondo os casos de uso. Não precisam ser humanos, embora sejam
representados como bonecos humanos nos diagramas de caso de uso, como, por
exemplo, o caso de um sistema externo que necessita de alguma informação do
sistema sendo modelado.
Neste projeto são definidos três atores que vão fazer parte do sistema com
suas permissões e responsabilidades:
Ator Técnico: funcionário na biblioteca Uniminas responsável pela manutenção do
sistema, atualização de dados tanto de acervo quanto de funcionários, inclusão do
acervo, cadastro de funcionários e usuários;
Ator Relógio: é o relógio, contador de tempo do sistema interagindo com o banco
de dados, disparando eventos de geração de multas, notificação e envio ao aluno,
21
bloqueando este usuário na base de dados. Também notifica e envia para o primeiro
da lista de reserva da devolução de acervo na biblioteca;
Ator Usuário: refere-se ao aluno, professores e comunidades em geral que tem
acesso à página Uniminas e a biblioteca online. A comunidade com acesso apenas
às consultas e os alunos e professores além da consulta acessam a outras
funcionalidades, bastando para isso à validação de sua senha.
5.1.2 – Casos de uso
Caso de uso é definido como sendo um “conjunto de seqüências de ações
executadas por um sistema que produzem um resultado observável significativo para
um ator particular”. Descreve do ponto de vista dos atores, um grupo de atividades
num sistema que produz um resultado concreto e tangível e sempre é inicializado
por um ator, direta ou indiretamente. Um caso de uso é uma classe, não um objeto,
a qual descreve a funcionalidade como um todo, inclusive alternativas possíveis,
erros e exceções que podem ocorrer durante a execução do caso de uso. A
finalidade do diagrama de casos de uso é determinar somente a funcionalidade que
deverá ser oferecida pelo sistema modelado.
Um diagrama de casos de uso contém elementos gráficos que representam o
sistema, os atores e os casos de uso, mostrando os diferentes relacionamentos
entre esses elementos, tais como generalização, associação e dependência.
A associação ocorre quando há uma parte do comportamento que é
semelhante em mais de um caso de uso e não se quer ficar copiando a descrição
deste comportamento. Então o
uso de associação de inclusão quando houver
repetição em dois ou mais casos de uso separados evita a duplicação da tarefa.
A generalização é utilizada quando tem um caso de uso que é semelhante a
outro, mas faz um pouco mais, dando uma outra maneira de capturar cenários
alternativos, e seu uso é indicado para descrever uma variação em comportamento
normal sem a necessidade de descrição com muito rigor.
A associação por extensão é semelhante à generalização mas possui mais
regras. O caso de uso estendido pode acrescentar comportamento para o caso de
uso base, usada para descrever uma variação em comportamento normal com a
necessidade de utilizar a forma mais controlada, explicando os pontos de extensão
no caso de uso base.
22
A figura 4 ilustra um diagrama de casos de uso que mostra uma visão global do
sistema biblioteca online.
Figura 4 - Diagrama de Casos de Uso do Sistema Biblioteca
A figura 5 ilustra o pacote Consultar Acervo que contém os casos de uso
referentes à consulta e explora todas as suas funcionalidades.
Figura 5 – Diagrama de Caso de Uso para o pacote Consultar Acervo
23
5.2 – Requisitos funcionais do projeto
Após a elaboração dos diagramas, é preciso fazer uma descrição dos
requisitos funcionais de cada caso de uso, bem documentada e detalhada. Nesse
ponto o detalhamento do caso de uso é muito importante para que se consiga
abranger tudo a fim que se evite o risco de uma implementação incorreta
ocasionando atrasos e até mesmo o risco de o projeto não atender às necessidades
dos usuários do sistema. O detalhamento deve descrever os passos para execução
dos cenários, indicar o evento de ativação, pré e pós-condições, sugestões de telas,
fazer referência aos requisitos associados na lista de requisitos não funcionais, e se
necessário, criar diagramas de atividades e estados para detalhar melhor o caso de
uso.
A descrição dos requisitos deve conter o objetivo do caso de uso, quais atores
inicializam a sua execução e em quais situações, o fluxo de mensagens entre atores
e casos de uso, fluxo alternativo no caso de exceções ocorridas no sistema e como
o caso de uso termina e qual valor produzido para o ator. Cada caso de uso deve
estar contido dentro de um subsistema especifico, devendo todos os passos ser
executados por ele.
O documento de requisitos descreve o detalhamento de cada um dos casos
de uso, e cada especificação (detalhamento) de um caso de uso deve conter: nome,
refere ao nome do caso de uso; prioridade, que aponta o grau de prioridade do caso
de uso sob o ponto de vista do usuário, tendo como opção essencial, importante e
desejável; pré-condição e pós-condição, indicando as condições exigidas pelo
sistema para disparar o evento, tanto para o inicio (pré) quanto para a finalização
(pós); atores, que são os elementos externos que interagem com o sistema, como
por exemplo usuários ou máquinas; fluxo Principal, que descreve o que normalmente
ocorre quando o caso de uso é “executado” e os fluxos alternativos, que mostram
comportamentos opcionais ou exceções em relação ao comportamento normal (fluxo
principal).
Os requisitos não funcionais, também chamados de suplementares, aplicamse a todo o sistema e, portanto, devem ser registrados numa outra seção à parte
podem determinar tecnologias ou algoritmos específicos a serem
utilizados, e
normalmente procuram garantir compatibilidade com sistemas existentes ou
restringem a maneira como a funcionalidade descrita será implementada. Com base
nos requisitos, o processo de análise cria um modelo conceitual do modelo de
objetos. O modelo de análise faz abstrações e evita resolver problemas que
24
deveriam ser abordados na fase de programação visual. Problemas esses
geralmente estão relacionados à tecnologia, com linguagem, plataforma, banco de
dados e outros.
A seguir são apresentadas as especificações dos casos de uso para o
sistema de bibliotecas.
5. 2 .1 - Nome: Consultar Livro
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de livros da biblioteca.
Fluxo principal:
(1) Informar Argumento de pesquisa
(2) Selecionar o tipo de pesquisa
(3) Recuperar dados do objeto selecionado na base de dados
(4) Exibir dados do objeto selecionado
(5) Informar situação de exemplares do objeto selecionado
Fluxo secundário:
Objeto selecionado não cadastrado
(3.1) Exibir mensagem “OBJETO SELECIONADO NÃO CADASTRADO”
(3.2) Ir para (1)
5. 2 .2 - Nome: Consultar Fitas de vídeo
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de fitas de vídeo.
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
25
5. 2 .3 - Nome: Consultar CD
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de CD existentes
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
5. 2 .4 - Nome: Consultar Folhetos
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de folhetos.
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
5. 2 .5 - Nome: Consultar Artigos
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de artigos.
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
5. 2 .6 - Nome: Consultar Periódicos
Prioridade: Importante
Pré-condição: Conexão via Internet
26
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de periódicos.
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
5. 2 .7 - Nome: Consultar Dissertação
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de dissertações.
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
5. 2 .8 - Nome: Consultar Teses e Monografias
Prioridade: Importante
Pré-condição: Conexão via Internet
Pós-condição: Consulta realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário acesso à pesquisa de teses e monografias.
Fluxo principal:
(1) Extender “consultar livros” usando tipo de pesquisa específico
5. 2 .9 - Nome: Efetuar Empréstimo
Prioridade: Essencial
Pré-condição: Usuário cadastrado
Pós-condição: Empréstimo realizado
Atores: Usuário, técnico
27
Objetivo: Oferecer ao usuário cadastrado a possibilidade do empréstimo via
internet do acervo disponibilizado para empréstimo.
Fluxo principal:
(1) Usuário informa matricula e senha
(2) Recuperar dados do usuário na base de dados
(3) Verificar status do usuário
(4) Exibir dados do usuário
(5) Para cada objeto selecionado para empréstimo
(6) Selecionar o objeto de empréstimo
(7) Recuperar dados do objeto selecionado na base de dados
(8) Exibir dados do objeto selecionado para confirmação
(9) Verificar disponibilidade do objeto selecionado para o usuário
(10) Atualizar disponibilidade do objeto selecionado para “Emprestado”
(11) Incluir objeto selecionado em Empréstimo, informando a data prevista
para a devolução
(12) Salvar objeto selecionado na base de dados
(13) Liberar empréstimo, salvando na base de dados do usuário
(14) Exibir mensagem “PROCESSO REALIZADO COM SUCESSO”
(15) Exibir mensagem “COMPARECER NA BIBLIOTECA”
Fluxos secundários:
Matricula inválida
(2.1) Exibir mensagem “MATRICULA INVÁLIDA”
(2.2) Voltar para (1)
Senha inválida
(2.1) Exibir mensagem “SENHA INVÁLIDA”
(2.2) Exibir mensagem “TENTE OUTRA VEZ”
(2.3) vá para (1)
Usuário não cadastrado
(2.1) Exibir mensagem “USUÁRIO NÃO CADASTRADO”
(2.2) Ir para (1)
28
5. 2 .10 - Nome: Reservar Acervo
Prioridade: Essencial
Pré-condição: Usuário cadastrado
Pós-condição: Reserva realizada
Atores: Usuário, técnico
Objetivo: Oferecer ao usuário cadastrado a possibilidade da reserva via
internet do acervo disponibilizado para empréstimo.
Fluxo principal:
(1) Usuário informa matricula e senha
(2) Recuperar dados do usuário na base de dados
(3) Verificar status do usuário
(4) Exibir dados do usuário
(5) Selecionar o objeto de reserva
(6) Recuperar dados do objeto selecionado na base de dados
(7) Exibir dados do objeto selecionado para confirmação
(8) Verificar disponibilidade do objeto selecionado para o usuário
(9) Atualizar disponibilidade do objeto selecionado para “Reservado”
(10) Salvar Reserva na base de dados
(11) Exibir mensagem “PROCESSO REALIZADO COM SUCESSO”
Fluxos secundários:
Objeto selecionado consta na lista de reserva
(6.1) Exibir mensagem “OBJETO JÁ RESERVADO”
(6.2) Retornar
Objeto selecionado não Cadastrado
(6.1) Exibir mensagem “OBJETO NÃO CADASTRADO”
(6.2) Retornar a página principal
Senha inválida
(2.1) Exibir mensagem “SENHA INVÁLIDA”
(2.2) Exibir mensagem “TENTE OUTRA VEZ”
(2.3) Vá para (1)
Usuário não cadastrado
(2.1) Exibir mensagem “USUÁRIO NÃO CADASTRADO”
(2.2) Retornar a página principal
29
5. 2 .11 - Nome: Validar Usuário
Prioridade: Essencial
Pré-condição: Usuário cadastrado
Pós-condição: Validação realizada
Atores: Usuário, técnico
Objetivo: Verifica se o usuário é quem diz ser e só então liberando acesso aos
serviços disponibilizado via internet do acervo Uniminas.
Fluxo principal:
(1) Usuário informa matricula e senha
(2) Recuperar dados do usuário na base de dados
(3) Verificar status do usuário
(4) Exibir dados do usuário
(5) Liberar acesso do usuário
Fluxos secundários
Matricula inválida
(2.1) Exibir mensagem “MATRICULA INVÁLIDA”
Senha inválida
(2.2) Exibir mensagem “SENHA INVÁLIDA”
(2.3) Exibir mensagem “TENTE OUTRA VEZ”
Usuário não cadastrado
(2.1) Exibir mensagem “USUÁRIO NÃO CADASTRADO”
5. 2 .12 - Nome: Devolver Empréstimo
Prioridade: Essencial
Pré-condição: Usuário cadastrado
Pós-condição: Informação sobre devolução realizada
Atores: Usuário, técnico
Objetivo: Informa ao usuário cadastrado a situação do seu empréstimo, como
data de devolução e possíveis atrasos já com valores calculados de multas.
Fluxo principal:
(1) Usuário informa matricula e senha
(2) Recuperar dados do usuário na base de dados
30
(3) Verificar status do usuário
(4) Exibir dados do usuário
(5) Exibir caso tenha algum empréstimo
(6) Exibir mensagem “DATA DO EMPRÉSTIMO:__/__/____/.”
(7) Exibir mensagem “DATA DA DEVOLUÇÃO:__/__/____/.”
Fluxos secundários:
Devolução em atraso
(8) Bloquear usuário
(9) Exibir mensagem “COMPARECER NA BIBLIOTECA”
(10) Gerar notificação de atraso
(11) Enviar mensagem via E-mail
Matricula inválida
(2.1) Exibir mensagem “MATRICULA INVÁLIDA”
Senha inválida
(2.1) Exibir mensagem “SENHA INVÁLIDA”
(2.2) Exibir mensagem “TENTE OUTRA VEZ”
Usuário não cadastrado
(2.1) Exibir mensagem “USUÁRIO NÃO CADASTRADO”
5. 2 .13 - Nome: Renovar Empréstimo
Prioridade: Essencial
Pré-condição: Usuário cadastrado
Pós-condição: Renovação realizada
Atores: Usuário, técnico
Objetivo: possibilita ao usuário cadastrado a facilidade da renovação do seu
empréstimo via internet, desde que o mesmo não se encontra na lista de reserva.
Fluxo principal: Para cada renovação
(1) Usuário informa matricula e senha
(2) Recuperar dados do usuário na base de dados
(3) Verificar status do usuário
(4) Exibir dados do usuário
(5) Selecionar o objeto de renovação
(6) Recuperar dados do objeto selecionado na base de dados
31
(7) Exibir dados do objeto selecionado para confirmação
(8) Verificar disponibilidade do objeto selecionado para o usuário
(9) Atualizar disponibilidade do objeto selecionado para “Renovado”
(10) Salvar Renovação na base de dados
(11) Liberar Renovação, salvando na base de dados do usuário
(12) Exibir mensagem “PROCESSO REALIZADO COM SUCESSO”
Fluxos secundários
Objeto selecionado consta na lista de reserva
(6.1) Exibir mensagem “OBJETO NÁ RESERVA”
(6.2) Retornar a página principal
Senha inválida
(2.1) Exibir mensagem “SENHA INVÁLIDA”
(2.2) Exibir mensagem “TENTE OUTRA VEZ”
Usuário não cadastrado
(2.1) Exibir mensagem “USUÁRIO NÃO CADASTRADO”
5. 2 .14 - Nome: Atualizar usuário
Prioridade: Essencial
Pré-condição: Usuário cadastrado
Pós-condição: Atualização realizada
Atores: Usuário, técnico
Objetivo: Atualiza dados importantes do usuário, como mudança de período,
endereço, se tem pendências na biblioteca ou no financeiro.
Fluxo principal:
(1) Usuário informa matricula e senha
(2) Recuperar dados do usuário na base de dados
(3) Verificar status do usuário
(4) Exibir dados do usuário
(5) Atualiza dados do usuário
Fluxos secundários:
Matricula inválida
(2.1) Exibir mensagem “MATRICULA INVÁLIDA”
Senha inválida
32
(2.1) Exibir mensagem “SENHA INVÁLIDA”
(2.2) Exibir mensagem “TENTE OUTRA VEZ”
Usuário não cadastrado
(2.1) Exibir mensagem “USUÁRIO NÃO CADASTRADO”
5. 2 .15 - Nome: Atualizar Acervo
Prioridade: Importante
Pré-condição: Necessidade da atualização
Pós-condição: Atualização realizada
Atores: Técnico
Objetivo: Oferecer ao técnico a possibilidade da atualização de todo o acervo
da biblioteca, quanto a aumento dos exemplares, perdas e outros .
Fluxo principal:
(1) Informar Argumento da atualização
(2) Selecionar o tipo de atualização
(3) Recuperar dados do objeto selecionado na base de dados
(4) Exibir dados do objeto selecionado
(5) Informar situação do objeto selecionado
(6) Atualizar dados do objeto selecionado
Fluxos secundários
Objeto selecionado não cadastrado
(3.1) Exibir mensagem “OBJETO SELECIONADO NÃO CADASTRADO”
5. 2 .16 - Nome: Incluir Acervo
Prioridade: Essencial
Pré-condição: Técnico cadastrado
Pós-condição: Acervo registrado na base de dados
Atores: Técnico
Objetivo: Oferecer ao técnico a possibilidade da inclusão do acervo adquirido
pela instituição na base de dados.
Fluxo principal:
33
(1) Técnico informa tipo de Acervo
(2) Recuperar dados do tipo do acervo na base de dados
(3) Exibir dados do objeto e obter confirmação
(4) Obter o número de exemplares a incluir
(5) Informar edição e ano dos exemplares a serem incluídos
(6) Para cada exemplar a ser incluído
(7) Pegar número do próximo exemplar
(8) Criar o exemplar na base de dados
(9) Atualizar edição e ano do exemplar
(10) Atualizar data de aquisição do exemplar com a data do sistema
(11) Atualizar o status do exemplar como “Disponível”
(12) Incluir o exemplar na base de dados
(13) Salvar o exemplar na base de dados
(14) Exibir a mensagem “Inclusão de acervo realizada com sucesso”
Fluxos secundários
Tipo de acervo inexistente
(2.1) Tipo de acervo inexistente
5. 2 .17 - Nome: Cadastrar Usuário
Prioridade: Essencial
Pré-condição: Técnico cadastrado
Pós-condição: Usuário cadastrado na base de dados
Atores: Técnico
Objetivo: Função de inclusão na base de dados da instituição todos os dados
dos novos usuários.
Fluxo principal:
(1) Técnico informa dados do usuário
(2) Verificar existência do usuário na base de dados
(3) Criar Objeto Usuário com dados informados
(4) Solicitar todos os dados do usuário
(5) Atualizar dados do usuário
(6) Incluir usuário na base de dados
(7) Salvar usuário na base de dados
34
(8) Exibir a mensagem “Cadastro realizado com sucesso”
Fluxos secundários:
Usuário já cadastrado
(2.1) Exibir mensagem “Usuário já está cadastrado”
(2.2) Vá para (1)
5. 2 .18 - Nome: Cadastrar Funcionário
Prioridade: Essencial
Pré-condição: Técnico cadastrado
Pós-condição: Funcionário cadastrado na base de dados
Atores: Técnico
Objetivo: Função de cadastro de novos funcionários .
Fluxo principal:
(1) Técnico informa dados do funcionário
(2) Verificar existência do funcionário na base de dados
(3) Criar Objeto funcionário com dados informados
(4) Solicitar todos os dados do funcionário
(5) Atualizar dados do funcionário
(6) Incluir funcionário na base de dados
(7) Salvar funcionário na base de dados
(8) Exibir a mensagem “Cadastro realizado com sucesso”
Fluxo secundário
Funcionário já cadastrado
(2.1) Exibir mensagem “Funcionário já está cadastrado”
(2.2) Ir para (1)
5. 2 .19 - Nome: Gerar Multas
Prioridade: Essencial
Pré-condição: Atraso na devolução
Pós-condição: Geração de Multas
Atores: Relógio
35
Fluxo principal:
(1) Sistema informa data de devolução do empréstimo
(2) Recuperar dados do empréstimo na base de dados
(3) Verificar status do empréstimo
(4) Exibir dados do empréstimo
(5) Exibir caso não devolvido o empréstimo
(6) Exibir mensagem “DATA DO EMPRÉSTIMO:__/__/____/.”
(7) Exibir mensagem “DATA DA DEVOLUÇÃO:__/__/____/.”
(8) Verificar dias de atraso
(9) Gerar multa de R$1,00 por dia de atraso
(10) Incluir multa na base de dados
(11) Incluir multa para o usuário
(12) Atualizar disponibilidade do objeto selecionado para “Em atraso”
(13) Salvar multa na base de dados
(14) Encerrar
5. 2 .20 - Nome: Gerar Notificação
Prioridade: Essencial
Pré-condição: Atraso na devolução
Pós-condição: Geração e envio de Notificação
Atores: Relógio
Fluxo principal:
(1) Sistema informa data de devolução do empréstimo
(2) Recuperar dados do empréstimo na base de dados
(3) Verificar status do empréstimo
(4) Exibir dados do empréstimo
(5) Verificar a não devolução do empréstimo
(6) Gerar notificação
(7) Gerar mensagem “DATA DO EMPRÉSTIMO:__/__/____/.”
(8) Gerar mensagem “DATA DA DEVOLUÇÃO:__/__/____/.”
(9) Verificar dias de atraso
(10) Gerar notificação de multa
(11) Incluir notificação na base de dados
36
(12) Enviar notificação de atraso e multa para o usuário
(13) Atualizar disponibilidade do usuário para “Em atraso”
(14) Salvar notificação na base de dados
(15) Encerrar
5. 2 .21 - Nome: Bloquear Usuário
Prioridade: Essencial
Pré-condição: Atraso na devolução
Pós-condição: Bloqueio do usuário na base de dados
Atores: Relógio
Fluxo principal:
(1) Sistema informa data de devolução do empréstimo
(2) Recuperar dados do empréstimo na base de dados
(3) Verificar status do empréstimo
(4) Exibir dados do empréstimo
(5) Verificar a não devolução do empréstimo
(6) Verificar “DATA DO EMPRÉSTIMO:__/__/____/.”
(7) verificar “DATA DA DEVOLUÇÃO:__/__/____/.”
(8) Verificar dias de atraso
(9) Gerar bloqueio do usuário a
(10) Incluir bloqueio na base de dados
(11) Enviar notificação de bloqueio e multa para o usuário
(12) Atualizar disponibilidade do usuário para “Bloqueado”
(13) Salvar Bloqueio na base de dados
(15) Encerrar
5.3 – Diagramas de Interação
São modelos que descrevem como grupos de objetos colaboram em
algum comportamento. Um diagrama de interação captura o comportamento de um
caso de uso mostrando vários objetos e as mensagens que são passadas entre
estes objetos ao longo da execução de um caso de uso. É utilizado para representar
37
a implementação de um cenário especifico de um caso de uso e sua ênfase é
mostrar a relação entre as classes e os objetos do modelo, documentando a
arquitetura do sistema ainda como projeto. Existem dois tipos de diagramas de
interação: diagramas de seqüência e diagramas de colaboração.
5.3.1 – Diagramas de Seqüência
Utilizado para mostrar como um cenário específico de um caso de uso será
implementado, mostrando as trocas de mensagens entre as classes na realização
de um caso de uso, com ênfase na seqüência de ocorrência no tempo.
Na parte superior do diagrama estão representadas as classes e os atores, e
as linhas pontilhadas que saem dessas classes servem para posicionar seus
métodos no diagrama. As setas que ligam os projetos de classes a outra, são os
envios de mensagens (métodos) e os respectivos retornos. Estas mensagens podem
ser do tipo síncrona ou assíncrona.
Sendo síncrona, quando o objeto que enviou a mensagem fica aguardando o
retorno para continuar o processamento é representada por uma seta com ponta
cheia; e assíncrona, quando o objeto envia a mensagem e continua seu
processamento, ocorrendo à execução concorrente de dois métodos representada
por uma seta com ponta vazada.
5.3.2 – Diagramas de Colaboração
Dentro de um digrama de colaboração, os objetos são mostrados como
ícones e sua seqüência indicada pela numeração das mensagens. Similar ao
diagrama de seqüência, também procura mostrar a troca de mensagens entre as
classes. É utilizado para representar a implementação de um cenário específico de
um caso de uso. Sua ênfase é mostrar a relação entre as classes e os objetos do
modelo. Normalmente pode-se escolher entre utilizar o diagrama de colaboração ou
o digrama de seqüência.
38
5.3.3 – Diagramas de Seqüência versus Diagramas de Colaboração
São muitos desenvolvedores e muitas as opiniões a respeito do uso de um ou
outro no auxilio do desenvolvimento de um sistema. Cada diagrama com sua
peculiaridade positiva e negativa, ou, até nem tanto, apenas preferências de um
programador por um dos tipos de diagramas, com as mais diversas justificativas
para o uso deste e não daquele. O que todos concordam é que uma das principais
características de qualquer forma de um diagrama de interação, seja ele de
seqüência ou de colaboração é sua simplicidade, podendo ver facilmente as
mensagens observando diagrama. Um dos problemas com diagramas de interação é
que seu uso pode ser inadequado na exploração de alternativas.
Próximo passo deste projeto é trabalhar com os diagramas de interação dos
casos de uso estudados anteriormente. A partir deles são criados os outros
documentos que vão definir a estrutura e o comportamento do sistema.
A seguir são apresentados os diagramas de interação para todos os casos de
uso deste projeto de sistema de bibliotecas, mostrando o desenvolvimento com os
dois tipos de diagramas, com isso pode-se ter uma noção das dificuldades e
facilidades de um e do outro, das diferentes formas de leitura e interpretação.
5.3.3.1 - Nome: Consultar Livro
Figura 6 - Diagrama de Seqüência Consultar Livro
A figura 6 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto livro e o exibe na tela.
39
5.3.3.2 - Nome: Consultar Fitas de vídeo
Figura 7 - Diagrama de Seqüência Consultar Fitas de vídeo
A figura 7 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto fitas de vídeo e o exibe na tela.
5.3.3.3 - Nome: Consultar CD
Figura 8 - Diagrama de Seqüência Consultar CD
A figura 8 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto CD e o exibe na tela.
40
5.3.3.4 - Nome: Consultar Folhetos
Figura 9 - Diagrama de Seqüência Consultar Folhetos
A figura 9 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto folhetos e o exibe na tela.
5.3.3.5 - Nome: Consultar Artigos
Figura 10 - Diagrama de Seqüência Consultar Artigos
A figura 10 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto Artigos e o exibe na tela.
41
5.3.3.6 - Nome: Consultar Periódicos
Figura 11 - Diagrama de Seqüência Consultar Periódicos
A figura 11 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto periódicos e o exibe na tela.
5.3.3.7 - Nome: Consultar Dissertação
Figura 12 - Diagrama de Seqüência Consultar Dissertação
A figura 12 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto dissertação e o exibe na tela.
42
5.3.3.8 - Nome: Consultar Teses e Monografias
Figura 13 - Diagrama de Seqüência Consultar Teses e Monografias
A figura 13 mostra o sistema interagindo com o usuário através da interface
gráfica, solicitando argumento para pesquisa e uma vez informado faz a interação
com o banco de dados, cria o objeto teses e monografias e o exibe na tela.
5.3.3.9 - Nome: Efetuar Empréstimo
Figura 14 - Diagrama de Seqüência Efetuar Empréstimo
A figura 14 mostra o sistema interagindo com a interface gráfica e banco
de dados, uma vez que o usuário entra na biblioteca e faz opção de efetuar
empréstimo. O Sistema solicita matricula e senha e as recupera na base de dados,
depois disto solicita o argumento de empréstimo também recuperando no banco de
dados, cria o objeto de empréstimo (livro) e exibe na tela para confirmação, uma vez
confirmada atualiza na base de dados passando seu status para emprestado e salva
exibindo mensagem para comparecimento.
43
5.3.3.10 - Nome: Reservar Acervo
Figura 15 - Diagrama de Colaboração Reservar Acervo
A figura 15 mostra os passos realizados pelos objetos e classes e a
interação entre eles. Primeiro o sistema executando a parte funcional solicitando
matricula e senha através da interface gráfica em seguida interage com a base de
dados.
5.3.3.11 - Nome: Validar Usuário
Figura 16 - Diagrama de Seqüência Validar Usuário
A figura 16 mostra a parte funcional solicitando ao usuário matricula e
senha através da interface gráfica (tela), e então recupera as informações na base
de dados do usuário.
44
5.3.3.12 - Nome: Validar Usuário
Figura 17 - Diagrama de Colaboração Validar Usuário
A figura 17 trata do mesmo tema da anterior que é validar usuário só que
representada através do diagrama de colaboração que mostra os passos do primeiro
que é a solicitação de matricula, ao ultimo que a exibição do objeto (usuário).
5.3.3.13 - Nome: Devolver Empréstimo
Figura 18 - Diagrama de Seqüência Devolver Empréstimo
A figura 18 mostra que depois do usuário informar matricula e senha o
controlador do sistema interage com a base de dados para saber se existe e então
cria no banco o objeto (matricula/senha), e só ai verifica se tem empréstimo ligado
ao objeto, existindo interage agora com a interface gráfica exibindo as informações
de empréstimo como data de empréstimo e devolução.
45
5.3.3.14 - Nome: Renovar Empréstimo
Figura 19 - Diagrama de Seqüência Renovar Empréstimo
No diagrama mostrado na figura 19, depois dos passos de solicitação,
recuperação e criação de matricula e senha o sistema solicita o nome do material a
ser renovado, recuperando e criando este objeto na base de dados verificando sua
disponibilidade para renovação, se sim exibe mensagem de OK através da interface
gráfica.
5.3.3.15 - Nome: Atualizar Usuário
Figura 20 - Diagrama de Seqüência Atualizar Usuário
A figura 20 mostra o técnico efetuando a atualização do usuário através
da interface gráfica que interage com o sistema até a validação (confirmação) da
matricula e senha, daí por diante a comunicação acontece direto entre a base de
dados e interface gráfica, ou seja, é exibido na tela o banco de dados que permite a
atualização no objeto usuário.
46
5.3.3.16 - Nome: Atualizar Acervo
Figura 21 - Diagrama de Colaboração Atualizar Acervo
A figura 21 mostra o sistema solicitando do técnico matricula e senha, que
digita através da interface gráfica, o próximo passo é a indicação do argumento a ser
atualizado, ao ser informado o sistema busca na base de dados criando o objeto
acervo e pedindo sua atualização. Também através da interface gráfica o técnico
realiza a atualização direto na base de dados e só depois o sistema salva no banco
de dados
5.3.3.17 - Nome: Incluir Acervo
Figura 22 - Diagrama de Seqüência Incluir Acervo
A figura 22 mostra o técnico que entra no sistema e informa o tipo do
acervo a ser incluído, o controle verifica sua existência em caso negativo cria objeto
(acervo) estabelecendo o ID, a partir daí através da interface gráfica solicita os
dados direto com a base de dados, finalizando com o sistema incluindo o objeto
(livro) no banco de dados.
47
5.3.3.18 - Nome: Cadastrar Usuário
Figura 23 - Diagrama de Colaboração Cadastrar Usuário
A figura 23 mostra o técnico cadastrando o usuário, o sistema solicita
matricula e senha e verifica a existência na base de dados, existindo exibe através
da interface gráfica mensagem de usuário já cadastrado, se não cria matricula e
senha para o objeto usuário solicitando dados ao técnico que os digita direto na
base do objeto (usuário) criado e então o sistema inclui (salva) o novo usuário no
banco de dados.
5.3.3.19 - Nome: Gerar Multas
Figura 24 - Diagrama de Colaboração Gerar Multas
A figura 24 mostra o controle solicitando datas de empréstimo e devolução
ao relógio que informa através da interface gráfica, e então o sistema recupera os
dados do empréstimo cria o objeto acervo e verifica se existe atraso, existindo
atualiza o objeto acervo para status atrasado, cria também o objeto multas e salva
esse objeto no cadastro do usuário.
48
5.3.3.20 - Nome: Gerar Notificação
Figura 25 - Diagrama de Seqüência Gerar Notificação
A figura 25 mostra o sistema solicitando datas de empréstimo e devolução
ao relógio que estabelece estas informações, o controle recupera estes dados no
banco de dados que cria o objeto (dados), exibe o objeto e verifica a não devolução
gerando a notificação ao controle que a envia ao servidor de e-mail que fará chegar
ao usuário.
5.3.3.21 - Nome: Bloquear Usuário
Figura 26 - Diagrama de Colaboração Bloquear Usuário
A figura 26 mostra o controle solicitando informações de empréstimo e
devolução, o relógio informando as datas e então o sistema recupera na base de
dados, cria o objeto (livro) e atualiza o status para atrasado. É responsabilidade
também do controle o bloqueio do usuário e a ordem de emissão de notificação.
49
O objetivo deste processo foi identificar as características técnicas,
funcionais e estruturais básicas do sistema da Biblioteca Online, apontando o
desenvolvimento na direção correta. Procurou-se identificar todos os requisitos a
partir dos casos de uso e atividades específicas para elaboração da especificação
técnica, programação e testes do sistema, conhecidos como requisitos funcionais.
O comentário feito ao final de cada diagrama tem como objetivo facilitar o
entendimento e direcionar para uma correta implementação. Ele foi feito no intuito de
explorar o que realmente se vê nos diagramas seja de seqüência ou de colaboração,
o que objetos e classes fazem diante de uma determinada situação, também para
melhor identificação das classes muitas vezes encobertos na suas funcionalidades.
Portanto é preciso estar atento para os requisitos não funcionais que se
aplicam a todo o sistema podendo determinar tecnologias ou algoritmos específicos
a serem utilizados, normalmente garantem a compatibilidade com sistemas
existentes, devem ser registrados de outra forma como exemplo: A Biblioteca Online
deverá ser compatível com as plataformas Windows e Linux; deverá estar disponível
nos dias úteis 98% do tempo entre 8:00 e 23:00 horas, e nos finais de semana 98%
do tempo entre 8:00 e 16:00 horas; valores monetários referentes a multas devem
ser emitidos em reais; o sistema deverá ser acessado através de browsers IE6 e
Netscape 6; o sistema precisa ser desenvolvido em PHP, para manter
compatibilidade tecnológica com o restante da página Web da Uniminas..
50
CAPITULO 6 – Conclusão
A biblioteca presente em uma instituição educacional seja ela municipal,
estadual, federal, particular ou gratuita é de fundamental importância pois permite
ampliar e desenvolver no aluno o bom hábito da leitura, da pesquisa e de estudos
complementares ao assunto (tema) abordado em sala de aula.
Assim, pode-se concluir que a qualidade de uma biblioteca se deve tanto ao
seu acervo e freqüência com que é visitada, quanto ao continuo investimento em
atualizações, aquisições novas e até o aumento de edições já existentes. Funciona
como um incentivo aos alunos, professores e comunidade que podem ter na
biblioteca uma referência para seus estudos, usufruindo a praticidade de ter
exemplares de diferentes autores, edições e pensamento, sobre um mesmo assunto
dessa forma oferecendo visões diferentes para uma mesma idéia.
Não menos importante nos dias de hoje o fato de ser a biblioteca
informatizada e manter seu acervo sobre controle direto de atualizações, compras,
empréstimos, devoluções e não devoluções através de programas específicos ao
gerenciamento de bibliotecas o que proporciona mais agilidade e segurança no
trabalho oferecido pela biblioteca e seus funcionários.
Em época de tecnologia, sair na frente, oferecendo o diferencial de ter suas
funcionalidades
disponibilizadas
via
Internet,
como
serviços
de
consultas,
empréstimos, renovações tudo diretamente da casa do aluno, estendido a
professores e comunidade, proporciona a oportunidade para que alunos possam
colocar em prática o que foi aprendido, melhorando assim seu conhecimento obtido
em estudos teóricos, vivendo algo próximo da realidade, permitindo que dúvidas que
venham surgindo no andamento dos estudos e que são resolvidas junto com o
orientador e professores da Instituição.
Percebe-se que o desenvolvimento de um projeto como este é de grande
importância no aprendizado, isso pela sua dificuldade que no inicio é quase
intransponível mas que toma forma à medida que avança nas pesquisas e estudos a
respeito, tornando enriquecedor para quem participa de sua construção. Foram
seguidos passos, primeiramente a identificação do problema que neste caso é “a fila
na biblioteca da Uniminas, para aquisição de livros”. Feito isto foi preciso pesquisar
as possíveis soluções e o que estava sendo planejado nesse sentido.
Entre as soluções apresentadas ou trabalhadas pela coordenação da
instituição estão: compra de um software que suportar a demanda por um tempo
limitado e tem preço de aquisição elevado e suas atualizações no mesmo nível de
51
preços; atualização do software existente na biblioteca também com custo alto além
de não resolver sua defasagem em relação a outros programas de controle; a
aquisição do modelo que hoje roda na UFU também foi cogitada mas abandonada
pois o mesmo encontra-se desatualizado e operando no limite, e embora seja uma
boa opção já que é um software completo e bem robusto.
Hoje em dia, grandes empresas e instituições educacionais buscam e
precisam que seus custos sejam baixos e que as soluções propostas sejam duráveis
e possam dar retorno. Não querem investir em produtos caros que são novos e
causam uma dependência técnica da empresa que vendeu, além de ter que investir
em atualizações muitas vezes onerosas demais.
Essas mesmas empresas e mercado em geral estão em busca de soluções
baratas, inovadoras, custos baixos e profissionais capacitados competentes no
desenvolvimento dessas soluções. Muitas vezes buscam estes profissionais dentro
da própria empresa e no caso da Uniminas buscar essa solução dentro da sala de
aula com alunos e professores é uma opção vantajosa para os dois lados.
Por isso a apresentação deste projeto visa solucionar o problema
desenvolvendo o sistema Biblioteca online, com custo baixo envolvendo alunos que
estão vivendo o problema e o aprendizado de tecnologias novas. O projeto funcional
foi desenvolvido tendo como referência livros da própria Uniminas, baseados na
ferramenta UML. Uma dificuldade encontrada foi à existência de poucos títulos a
respeito na biblioteca, e na Internet poucos sites disponibilizam algo sobre o
assunto. No começo a pesquisa também foi difícil uma vez o que precisava ser feito
para alcançar os resultados não estava bem determinado e com o inicio das
orientações o estudo tornou-se mais fácil.
Passou-se então a trabalhar com a documentação através dos diagramas de
casos de uso, de seqüência, de atividade e colaboração, e suas especificações.
Para um programador iniciante foi difícil já que os diagramas foram
feitos
manualmente no Word e PowerPoint, tornando mais fácil à medida que avançava e
como resultado um trabalho bem estruturado que atende ao que foi proposto
inicialmente.
É preciso fazer das necessidades diárias da instituição fontes para
aprimoramento de seus alunos, que desenvolveriam programas (soluções) para
problemas identificados junto à administração, que poderia repassá-los por meio de
temas para possíveis monografias específicas ou bônus de incentivos em
mensalidades aos alunos que aceitarem o desafio. Fazer deste trabalho um ponto
52
de partida e não um fim, é válido futuramente como uma outra monografia a
implementação seguindo este roteiro, pois o aluno vivenciara a tarefa de
implementar algo feito por outro aluno.A dificuldade encontrada será uma bagagem
valiosa de conhecimento, outro aspecto é tornar este acervo digitalizado, dando a
oportunidade de o usuário fazer a pesquisa de uma determinada página ou do
conteúdo do livro através do seu índice. Enfim, a Instituição tem vários campos de
atuação e conseqüentemente novos temas e desafios que servirão de apoio no
aprendizado.
É possível notar que este projeto é realizável, e que pode ser inicio de um
novo projeto de gerenciamento de Bibliotecas, com a participação de alunos de
graduação, pós-graduação e professores da Uniminas. Seria uma forma de aliar a
aquisição dos conhecimentos teóricos, com a prática efetiva, trazendo como
resultado a produção de software de apoio às atividades acadêmicas e
administrativas da Uniminas.
53
REFERÊNCIAS BIBLIOGRÁFICAS
STERLING, H.; ANDREI, Z. PHP Guia do desenvolvedor. São Paulo: editora
Berkeley, 2001.
RUMBAUGH, J.; JACOBSON, I.; BOOCH, G. UML Guia do usuário. Rio de Janeiro:
editora Campus, 2000.
CAY, S.H.; GARY, C. Core JAVA volume I – Fundamentos. São Paulo: editora
Makron Books, 2001.
YOURDON, E.; ARGILA, C. Análise e Projeto Orientados a objetos. São Paulo:
editora Makron Books, 1999.
ROWLEY, J. Informática para bibliotecas. Brasília: Briquet de Lemos/Livros, 1994.
PAGINA PRINCIPAL DA UNIMINAS. Disponível em:
www.uniminas.br Acesso em: 11 abr. 2004.
TECNOLOGIAS UTILIZADAS PARA DESENVOLVER APLICAÇÕES PARA
SERVIDORES WEB. Disponível em: www.bufaloinfo.com.br/windna/WinDNA.asp.
Acesso em: 20 ago. 2004.
TECNOLOGIAS PARA INTERNET. Disponível em:
www.jspbrasil.com.br/jsp/tutoriais/tutorial.jsp?idTutorial=001.013 .acesso em 20 ago.
2004.
Download

biblioteca via web - projeto funcional