Informatizarea Bibliotecilor Scolare
CUPRINS
1. Introducere ……………………………………………………………………………….. 2
1.1. Generalități …………………………………………………………………………………… 2
1.2. Prezentarea temei ………………………………………………………………………….. 3
2. Fundamentare teoretică ………………………………………………………………. 7
2.1. Sistemul KOHA ……………………………………………………………………………. 7
2.2. Sistemul Liberty ………………………………………………………………………….. 11
2.2. Implementarea sistemelor informatice web-based ……………………………. 12
2.3.1. Baze de date ……………………………………………………………………………. 14
2.3.2. PHP, MySQL și serverul Apache ………………………………………………. 29
2.3.3. Standardul HTML ……………………………………………………………………. 32
2.3.4. CSS – noțiuni de bază ………………………………………………………………. 34
2.3.5. Adobe Photoshop – noțiuni de bază …………………………………………… 36
3. Comparație intre cele doua sisteme ……………………………………………. 37
3.1. Scurtă descriere a aplicațiilor. Scheme bloc ……………………………………. 37
3.2. Funcționalitățile aplicațiilor ………………………………………………………….. 46
3.3. Interfața cu utilizatorul …………………………………………………………………. 55
3.4. Analiza de risc …………………………………………………………………………….. 57
4. Utilizarea aplicației ………………………………………………………………….. 59
5. Concluzii ………………………………………………………………………………… 74
6. Bibliografie …………………………………………………………………………….. 76
Introducere
Generalități
În prezent, tendința generală in dezvoltarea de afaceri și nu numai, este de a trece de la aplicații desktop la aplicații web. Astfel, angajații care folosesc aceste softuri comunică mai ușor, au acces mereu la cele mai noi variante ale aplicației și costurile de întreținere sunt mult mai scăzute.
În perioada de început a aplicațiilor client-server, fiecare aplicație avea propriul său program client care servea ca interfață utilizator și trebuia să fie instalat separat pe fiecare calculator personal al utilizatorului. O actualizare pe server a aplicației necesita o actualizare a fiecărei aplicații client instalate, adaugând costuri suplimentare și scăzând productivitatea.
În contrast cu acestea, aplicațiile web folosesc documente web scrise în formate standard precum HTML (și mai recent XHTML), care sunt suportate de o varietate largă de browsere web.
Aplicația web se pretează în special acolo unde mai mulți operatori trebuie să introducă date într-un mediu de stocare central și/sau să le manipuleze. Firme de vânzări, curierat, bănci și asigurări, toate au de beneficiat de pe urma acestui mod de dezvoltare a programelor de afaceri. Practic au nevoie doar de un calculator conectat la rețeaua de calculatoare împreună cu datele de logare în aplicație.
Dezvoltarea unei aplicații web este un proces complex deoarece în general cuprinde facilități pentru mai multe departamente ale unei institutii.
Ne propunem în continuare să analizăm comparativ două astfel de aplicații, ce au fost proiectate în scopul de a facilita modul de stocare, gestionare și monitorizare a carților aflate în gestiunea unei biblioteci școlare. Analizând în detaliu, modul de gestionare a cărților aflate într-o bibliotecă, observăm că, pe lângă un sistem de monitorizare a acestora va trebui să gestionăm și utilizatorii acestei biblioteci, și acțiunilor realizate de aceștia. Prin termenul utilizator, ne vom referi la persoanele care împrumută cărți de la bibliotecă, cărora li se vor atașa acțiunile definite ca împrumut, returnare, amendă, etc, despre care vom discuta pe parcursul capitolelor ce urmează. Vorbim de sistemele de gestionare folosite de biblioteci: Koha, și Liberty. Ambele aplicații au fost dezvoltate sub forma unui site web, la proiectarea și design-ul căruia s-au folosit următoarele tehnologii web: HTML, CSS, PHP și MYSQL în paralel cu software-ul pentru editare și prelucrare de imagine digitală, Adobe Photoshop și software-ul pentru creare, editare și prelucrare video, Macromedia Flash Player.
Prezentarea temei
Lucrarea de față, cu titlul: „Informatizarea bibliotecilor școlare” este realizată cu scopul înlesnirii modalității de stocare și gestionare permanentă, în timp real, a cărților aflate într-o bibliotecă școlară. Pentru a aduce cea mai bună soluție pentru informatizarea bibliotecilor școlare, vom începe lucrarea de față prin studierea a două dintre cele mai cunoscute sisteme existente în momentul actual pe piață, sublinind acele facilități care se pretează a fi folosite în cadrul unei biblioteci școlare.
Stocarea și gestionarea informațiilor referitoare atât la cărțile din bibliotecă, dar și la acțiunile pe care le efectuează utilizatorii bibliotecii, presupune existența unei baze de date centrală în care se va înregistra fiecare acțiune efectuată în cadrul bibliotecii. În aceeași bază de date se vor stoca și gestiona și datele referitoare la clienții bibliotecii si acțiunile acestora. Astfel, la fiecare înnoire a stocului de cărți, se vor face actualizări asupra bazei de date menționată mai sus, ceea ce confirmă faptul că în permanență, în baza de date se vor găsi cele mai noi informații. În baza de date atât cărțile cât și clienții bibliotecii vor fi identificați prin coduri unice, astfel, putându-se ști în permanență statusul cărților (ex: cartea x, este împrumutată persoanei y, începând cu data z, pe o perioadă de n zile.)
Astfel, putem spune că prin lucrarea de față propunem un sistem de tipul unei aplicații software pentru monitorizarea permanentă a stocurilor de cărți deținute de o bibliotecă școlară. Acest sistem își dorește să înlesnească cât mai mult muncă depusă de bibliotecar printr-o mai sigură colectare și stocare a datelor clienților, acțiunilor acestora în cadrul bibliotecii și cărților din biblioteca respectiva, prin asigurarea următoarelor funcționalități:
Recepție:
identificarea utilizatorului: când un elev vine la bibliotecă, acesta va fi identificat după numărul matricol din carnetul de note. Se face o căutare după acest număr, pentru a se verifica dacă elevul este la prima utilizare a bibliotecii, sau nu. În cazul în care este prima dată cînd vine la bibliotecă, se va face o adăugare a acestuia în baza de date cu clienți, reținându-se datele importante despre elev: numărul matricol, CNP-ul personal, nume, prenume, adresa, telefon, clasa din care face parte;
preluare comandă: în cazul în care elevul dorește să împrumute o carte, se va face o căutare în baza de date după autorul, sau titlul cărții dorite, se vor verifica stocurile, iar în cazul în care cartea dorită există în stoc, se va efectua comanda, prin atribuirea cărții către părsoana respectivă. Tot acum, i se va comunica durata împrumutului și eventualele contravenții în caz de întârziere. De asemeni se poate stabili un număr minim de cărți pe care o persoană le poate deține la un moment dat, iar în cazul în care utilizatorul se află în situația de a depăși acest număr minim, nu i se va împrumuta noua carte cerută. În situația în care cartea respectivă nu există pe stoc (este deja împrumutată altor persoane), se va menționa acest lucru, iar dacă solicitantul dorește, va fi pus în coada de așteptare, urmând ca ulterior să fie anunțat când această carte este disponibilă;
returnare împrumut: pentru returnarea împrumutului se va scrie codul cărții împrumutate, eliminându-se astfel statutul de împrumutat al cărții și atribuirea cărții către persoana care a făcut împrumutul. La finalul fiecărei returnări, programul va face o căutare în baza de date după titlul și autorul acesteia, dacă există sau nu o cerere în așteptare corespunzătoare cărții respective. În caz afirmativ se vor afișa toate cererile pe acea carte, în ordinea crescătoare a efectuării comenzilor, specificându-se datele de identificare a celor care au efectuat cererile. Prin identificarea acestora, bibliotecarul va comunica faptul că s-a eliberat cartea respectiva, iar în cazul în care se va dori, se va efectua împrumutul, așa cum am menționat anterior.
Monitorizare și alertare: propunem un modul de verificare permanentă a statutului cărților împrumutate și a vizualizării listei de așteptare, astfel:
vizualizare listă cărți împrumutate prin specificarea persoanelor cărora li s-a făcut împrumutul și a timpilor rămași până la expirarea duratei de împrumut. În cazul în care a fost depășit termenul de împrumut, această situație se va marca prin colorarea în roșu a rândului respectiv.
căutarea în baza de date a unei cărți și afișarea informațiilor despre aceasta: statutul actual, de câte ori a fost împrumutată, între ce perioade, numărul de exemplare aflate pe stoc;
căutarea în baza de date a unui elev, identificat după numărul matricol sau CNP, și afișarea unui raport cu activitățile acestuia, menționându-se în mod explicit, situațiile de depășire a termenelor de împrumut.
Administrație:
gestionarea cărților din bibliotecă;
gestionarea utilizatorilor (modificarea datelor acestora: de exemplu schimbarea clasei, sau statutul elevului – dezactivat – la finalizarea studiilor în cadrul școlii respective).
Fig. 1.1. Informatizarea bibliotecilor școlare
Fundamentare teoretică
2.1. Sistemul KOHA
Sistemul Koha este un sistem complet de management, open-source, distribuit sub forma unui pachet de funcționalități ce include atât opțiuni de bază, cât și opțiuni avansate, care pot fi structurate astfel încât să se adapteze oricărui tip de bibliotecă, indiferent de mărimea sau specificul acesteia.
Standardele utilizate și implemenatate prin sistemul Koha sunt cele actuale corespunzând protocoalelor din domeniul biblioteconomiei. Această implementare asigură interoperabilitatea între sisteme, mai exact, sistemul Koha poate interacționa cu site-urile web ce se conectează la serverele publice cu informații biografice.
Așa cum am menționat în prima parte a capitolului, sistemul Koha este un sistem de tip open-source, ceea ce înseamnă că instalarea și utilizarea acestuia este gratuită, neincluzând costuri adiționale de licențiere, totodată este accesibil pentru a putea fi dezvoltat în permanență de către programatori.
Un alt avantaj pe care îl oferă acest sistem, este acela că nu impune restricții privitoare la sistemul de operare, putand fi utilizat pe orice tip de platformă: Windows, Linux, Unix, MacOS. Se instalează pe un server, ulterior, putând fi accesat prin intermediul unui browser web.
O funcționalitate aparte a acestui sistem de gestionare a resurselor bibliotecilor, este aceea că oferă posibilitatea obținerii unei clasificări a acestor resurse, în funcție de tipul și disponibilitatea acestora (ex: pentru sala de lectură, cu termen limită de împrumut, împrumutare contra-cost, etc). Pe lângă această clasificare, resursele bibliotecilor pot fi grupate, cu ajutorul sistemului Koha, pe ramuri sau domenii de interes, putându-se crea legături între două sau mai multe ramuri de interes/domenii.
Baza de date în care sunt stocate resursele oferă suport pentru înregistrarea și utilizarea materialelor în format electronic.
În ceea ce privește numărul utilizatorilor acestui sistem, menționăm că este nelimitat, putându-se avea un număr oricât de mare de utilizatori, iar acțiunile acestora vor fi monitorizate în timp real, astfel încât, nu vor exista situații de suprapunere a acțiuniltare teoretică
2.1. Sistemul KOHA
Sistemul Koha este un sistem complet de management, open-source, distribuit sub forma unui pachet de funcționalități ce include atât opțiuni de bază, cât și opțiuni avansate, care pot fi structurate astfel încât să se adapteze oricărui tip de bibliotecă, indiferent de mărimea sau specificul acesteia.
Standardele utilizate și implemenatate prin sistemul Koha sunt cele actuale corespunzând protocoalelor din domeniul biblioteconomiei. Această implementare asigură interoperabilitatea între sisteme, mai exact, sistemul Koha poate interacționa cu site-urile web ce se conectează la serverele publice cu informații biografice.
Așa cum am menționat în prima parte a capitolului, sistemul Koha este un sistem de tip open-source, ceea ce înseamnă că instalarea și utilizarea acestuia este gratuită, neincluzând costuri adiționale de licențiere, totodată este accesibil pentru a putea fi dezvoltat în permanență de către programatori.
Un alt avantaj pe care îl oferă acest sistem, este acela că nu impune restricții privitoare la sistemul de operare, putand fi utilizat pe orice tip de platformă: Windows, Linux, Unix, MacOS. Se instalează pe un server, ulterior, putând fi accesat prin intermediul unui browser web.
O funcționalitate aparte a acestui sistem de gestionare a resurselor bibliotecilor, este aceea că oferă posibilitatea obținerii unei clasificări a acestor resurse, în funcție de tipul și disponibilitatea acestora (ex: pentru sala de lectură, cu termen limită de împrumut, împrumutare contra-cost, etc). Pe lângă această clasificare, resursele bibliotecilor pot fi grupate, cu ajutorul sistemului Koha, pe ramuri sau domenii de interes, putându-se crea legături între două sau mai multe ramuri de interes/domenii.
Baza de date în care sunt stocate resursele oferă suport pentru înregistrarea și utilizarea materialelor în format electronic.
În ceea ce privește numărul utilizatorilor acestui sistem, menționăm că este nelimitat, putându-se avea un număr oricât de mare de utilizatori, iar acțiunile acestora vor fi monitorizate în timp real, astfel încât, nu vor exista situații de suprapunere a acțiunilor acestora. Acțiunile utilizatorilor pot fi restricționate prin acordarea de drepturi fiecăruia din aceștia, în funcție de anumiți parametrii.
În cele ce urmează vom prezenta structurat toate funcționalitățile pe care le-am descris anterior pe parcursul acestui subcapitol.
Structurarea datelor în Koha
clasificarea bibliotecilor: biblioteca principală și ramurile acesteia, grupate în categorii, cu toate datele de identificare. Se pot seta ca și ramuri distincte unele depozite, săli de lectură sau depozite virtuale, pentru organizarea mai clară a fondului bibliografic.
tipuri de resurse: structura de bază a catalogului online alcătuită din categoriile de publicații din cadrul unei biblioteci.
tipuri de utilizatori: oferă posibilitatea clasificării utilizatorilor în funcție de necesitățile bibliotecii ce urmează a fi gestionată prin intermediul sistemului Koha.
tipuri de evenimente: urmărind categoriile de publicații, se pot defini evenimente care să reflecte statutul fiecărui tip de utilizator, putându-se seta taxe și penalizări.
Preluarea informațiilor de pe serverele Z39.50
Koha include posibilitatea de a căuta și importa date bibliografice de pe serverele publice disponibile.
când se adaugă o publicație nouă în baza de date, se poate opta pentru preluarea automată a tuturor informațiilor bibliografice existente.
se poate defini o listă de servere preferate.
toate informațiile importate pot fi ulteriror accesate în baza de date a bibliotecii create cu ajutorul sistemului Koha.
Achiziții
permite înregistrarea furnizorilor și crearea unui cont pentru fiecare dintre aceștia
la fiecare furnizor se pot adăuga comenzi noi
se gestionează și publicațiile cerute de utilizatori prin formulare de sugestii
se urmărește istoricul furnizorilor: comenzile în curs, statusul acestora, comenzile încheiate și datele despre ele
se urmărește și actualizează bugetul după fiecare achiziție.
Urmărirea publicațiilor periodice
permite înregistrarea în sistem și urmărirea abonamentelor la publicații periodice: perioada abonamentului, frecvența intrărilor, formula de catalogare
generează codul de identificare pentru fiecare număr
urmărește data expirării abonamentului, afișând mesaje de atenționare
precompletează detaliile publicațiilor așteptate
permite înregistrarea publicațiilor speciale
gestionează cererile către furnizor
Circulație – mesaje de atenționare pentru următoarele acțiuni:
depășirea numărului de publicații împrumutate
utilizatorul datorează bani bibliotecii
publicația este deja împrumutată
permisul utilizatorului a expirat
publicația e disponibilă doar la sala de lectură
termenul unei cărți împrumutate a expirat, generându-se o penalizare
publicația a fost raportată ca pierdută
Abonați
se alocă numere de permis
se urmărește data expirării unui permis, creându-se o alertare de expirare a acestuia
clasificare a abonaților în diverse categorii: instituții, persoane, etc
setare tarife de utilizare a resurselor bibliotecii în funcție de categoria din care fac parte
setare a termenelor de împrumut pentru fiecare tip de resursă, diferențiat pe categorii.
Informații bibliografice
o înregistrare bibliografică se face pe baza unui ISBN și ISSN
pe baza acestora se pot prelua informațiile bibliografice de pe serverele publice disponibile
se pot înregistra mai multe exemplare ale publicației
generare de coduri unice pentru identificarea fiecărei publicații, respectiv pentru identificarea fiecărui exemplar
Administrare
se permite setarea limbii în care se utilizează aplicația, setarea nivelului legaturilor dintre subdiviziunile bibliotecii, alegerea stilului grafic al cataloagelor
se permite alegerea modului de afișare a datelor bibliografice în rapoarte și în paginile sistemului
se pot tipări coduri de bare
se permite limitarea conturilor membrilor
oferă posibilitatea generării seriilor permiselor de bibliotecă, gestionării bugetelor, gestionării rafturilor și comunicarea cu membrii utilizatori ai bibliotecii.
Sistemul Liberty
Liberty este un sistem intuitiv bazat pe interfață web ce oferă acces integrat la toate resursele dintr-o bibliotecă, asigurând un acces ușor și rapid la informațiile care sunt vitale pentru utilizatorii care au nevoie de datele gestionate de acest sistem.
Fiind vorba de o aplicație web, accesibilă prin intermediul rețelei de calculatoare Internet, această aplicație oferă următoarele facilități:
access permanent (24/7) la resurse, din orice locație;
interfață intuitivă, ușir de folosit chiar și pentru persoanele neobișnuite cu lucrul cu sistemele de calcul;
un motor de căutare puternic;
obținerea de noi date rapid, prin integrarea cu alte portaluri online
permite personalizare totală atât a formatelor de introducere a datelor cât și a celor de tipărire a rapoartelor și statisticilor;
permite membrilor bibliotecii să-și administreze contul individual (rezervări, prelungiri, profiluri de interes);
structură de meniuri simplă și intuitivă;
Sistemul integrat de gestiune a bibliotecilor, Liberty, oferă facilități menite să eficientizeze procesele de gestionare a informațiilor, ceea ce implică îmbunătățirea serviciilor de bibliotecă și creșterea productivității, prin introducerea de sisteme de alertare și avizare asupra acțiunile dintr-o bibliotecă (cum ar fi atenționarea prin e-mail la apropierea de termenul de expirare a împrumuturilor). Pe lîngă acestea, amintim și serviciul puternic de catalogare rapidă integrat cu portalul Z39.50 și, ca și noutate, în cele mai recente versiuni ale aplicației (începând cu versiunea 3) s-a adăugat funcționalitatea de imprimare și editare reviste electronice.
Grație tehnologiilor de ultimă generație folosite la implementarea acestui sistem, utilizatorii sistemului vor beneficia de o aplicație scalabilă, de înaltă performanță, fiind o aplicație flexibilă, ale cărei module și facilități pot fi setate astfel încât să acopere cât mai bine necesitățile utilizatorilor. Astfel, fiecare organizație sau instituție care utilizează sistemul își poate alege dintr-o gamă largă de module și pachete, doar pe acelea care îi sunt utile în activitățile pe care le desfășoară, nefiind nevoit să platească licențierea întregului program. Totodată, la dezvoltarea acestei aplicații s-a pus accent pe securitatea informațiilor specifice pentru fiecare utilizator ce are cont în aplicație.
Una din cele mai noi și inovative facilități adusă de către sistemul Liberty este reprezentată de posibilitatea de a realiza pagina de web a bibliotecii, integrând catalogul on-line al bibliotecii, informații despre serviciile oferite, precum și știri de ultimă oră – toate acestea fiind integrate cu un design de o înaltă calitate, fără a necesita din partea utilizatorului cunoștințe de grafică.
Implementarea sistemului informatic
Așa cum am văzut în prima parte a acestui subcapitol, cele două sisteme de gestionare a resurselor bibliotecilor, sunt două sisteme complexe, ce oferă multe funcționalități menite să faciliteze munca personalului angajat într-o bibliotecă. Pornind de la aceste două sisteme, în lucrarea de față venim cu o propunere de sistem informatic nu la fel de complex ca cele două, minimizat astfel încât să acopere toate funcționalitățile necesare pentru gestionarea resurselor unei biblioteci școlare. Pentru aceasta prezentăm mai jos câteva definiții necesare în dezvoltarea unui astfel de sistem, aduse pentru a veni în ajutorul înțelegerii cât mai bine a ceea ce reprezintă acesta.
Un sistem informatic este un sistem care permite introducerea de date prin procedee manuale sau prin culegerea automată de către sistem, stocarea acestora, prelucrarea lor și extragerea informației sub diverse forme.
Componentele sistemului informatic sunt: calculatoarele, programele, rețelele de calculatoare și utilizatorii. În cazul de față, putem aduce ca și exemplu sistemul de bibliotecă pe care dorim să-l propunem spre implementare.
Programul informatic reprezintă implementarea unui algoritm într-un anumit cod sursă, scris într-un limbaj de programare. Un program de calculator este format dintr-un șir de instrucțiuni alese dintr-un set predefinit de instrucțiuni prin care se comunică unui calculator, în mod detaliat, care anume operații și în ce ordine trebuie să fie efectuate. O colecție de astfel de mai multe programe individuale, alcătuite pentru îndeplinirea unui scop comun, poartă denumirea de software.
Clase de programe informatice:
program abstract – program în formă generală, al cărui studiu e valabil pentru orice program derivat din el;
program asamblor – program de conversie în cod mașină a programelor specificate în limbaje de asamblare;
program de aplicație – program destinat rezolvării unor probleme concrete și specifice, producerii unor rapoarte specifice, unor fișiere specifie necesare rezolvării cerințelor unuia sau mai multor utilizatori;
program de diagnosticare – program utilitar folosit pentru depistarea cauzelor disfuncționalității unui sistem de calcul.
Etapele creării unui program:
înțelegerea cerințelor și posibilităților utilizatorului;
identificarea sarcinilor de executat;
planificarea resurselor (timp, buget, programatori, capacitate de calcul, etc);
schițarea algoritmilor;
stabilirea sistemelor pe care va rula programul și a limbajului de programare folosit;
descrierea procedurilor de programare și testare;
scrierea programului;
testări sistematice pentru a asigura acuratețea;
documentarea programului (ce sarcini îndeplinește, cum trebuie folosit, etc);
2.3.1. Baze de date
Fiind vorba despre un sistem informatic menit să gestioneze o colecție de date, reprezentate atât de resursele bibliotecii cât și de datele referitoare la fiecare utilizator al sistemului, la implementarea unui astfel de program va trebui să se aibă în vedere un mod cât mai sigur de stocare a acestor date. Această colecție de date, în sistemele informatice este stocată într-o structură ce poartă denumirea de bază de date. Pe parcursul acestui paragraf, vom aduce câteva noțiuni elementare referitoare la modul de proiectare, implementare și utilizare a bazelor de date ce intervin în programele informatice.
Definirea bazelor de date
Bazele de date (BD) constituie cadrul sistemelor informționale și au modificat fundamental modul de operare al organizațiilor. Ele au apărut și s-au extins din necesitatea gestionării unui volum mare de informații, problemă specifică organizațiilor complexe din domenii variate: militar, administrativ sau economic.
Conceptul de baze de date a apărut în a doua parte a anilor ’60. La momentul respectiv, în cadrul sistemelor informatice implementate în întreprinderi, informațiile erau organizate în fișiere de date create cu ajutorul unor programe scrise, din a treia generație, cum ar fi: COBOL, FORTRAN.
Putem defini baza de date, ca fiind o colecție partajată de date, între care există relații logice, proiectată pentru a satisface necesitățile informaționale ale unei organizații. Mai detaliat, baza de date este un depozit unic, larg, definit o singură dată, fiind utilizat de mai multe departamente și mai mulți utilizatori. În loc de a exista fișiere separate cu date redundante, toate datele sunt integrate, cu o dublare minima. Astfel, baza de date nu mai este deținută de un singur departament, ci constituie acum, o resursă comună, partajată.
Într-o abordare mai analitică, o bază de date este un ansamblu de date structurate, coerente, neredundante, independente de orice program de aplicație, direct accesibile după mai multe criterii.
Ansamblul informațiilor stocate în baza de date la un moment dat constituie conținutul sau realizarea acesteia. Organizarea ei se reflectă în schema sau structura sa, ce reprezintă un ansamblu de instrumente pentrru descrierea datelor, a relațiilor dintre acestea, a semanticii lor și a restricțiilor la care sunt puse. În timp ce volumul prezintă o evoluție spectaculoasă în timp, schema unei baze rămâne relativ constantă pe tot parcursul utilizării acesteia. Informația este unul dintre cuvintele cele mai des întâlnite la ora actuală, jucând un rol deosebit de important în cadrul tuturor organizațiilor.
Datele sunt considerate resurse ale unui sistem informațional, resurse ce sunt prelucrate și transformate în vedera obținerii produsului informativ. Din această perspectivă, informațiile pot fi definite ca date ce au fost convertite sub o formă ce răspunde nevoilor specifice unui utilizator sau grup de utilizatori. Prelucrarea datelor este un proces creator de valoare ce cuprinde regruparea, manipularea și organizarea, analiza și evaluarea conținutului, și punerea într-o formă care să satisfacă nevoile utilizatorilor. Nu orice prelucrare de date furnizează informații.
Clasificarea bazelor de date
Principalele tipuri de baze de date utilizate de către organizații și utilizatori sunt:
baze de date distribuite,
baze de date deductive,
baze de date multidimensionale,
baze de date orientate pe obiecte,
baze de date multimedia,
depozite de date (datawarehouse),
baze de date textuale.
În continuare vom face o descriere succintă a tipurilor de baze de date enumerate mai sus.
Baze de date distribuite – sunt utilizate în deosebi de unitățile economice. În cazul unei organizații se poate opta pentru soluția bazelor de date distribuite pe funcții ale organizației respective.
Lucrul în rețeaua de calculatoare permite distribuirea unei baze de date pe mai multe site-uri. Fiecare site are un gestionar local de tranzacții, deoarece o bază de date distribuită trebuie să dispună întotdeauna de un gestionar de tranzacții.
Avantajele repartizării bazelor de date distribuite sunt următoarele:
partajarea datelor și gestiunea distribuită a acestora
fiabilitatea și disponibilitatea
prelucrarea accelerată a cererilor
Baze de date deductive – ele se fundamentează pe legătura unei baze de date relaționale cu un procesor din clasa sistemelor expert.
Bazele de date multidimensionale – au apărut ca urmare a necesităților crescânde de procesare multidimensională a datelor. Aplicațiile se bazează pe o analiză multidimensională a datelor denumite OLAP (On Line Analytical Processing). Conceptul de bază este cel de hipercub.
Baze de date orientate pe obiecte – o bază de date orientată pe obiecte trebuie, pe lângă îndeplinirea cerințelor aplicației, să și fie un sistem care să aibă la bază tehnologia orientată pe obiect. Acestea sunt gestionate folosind sisteme de gestiune orientate pe obiect.
Baze de date multimedia – sunt din ce în ce mai utilizate, ținând cont de faptul că termenul de multimedia se referă la abilitatea de a achiziționa, manipula, combina și reda informații de la o mare varietate de medii, ce include text, grafică, animație, sunet și imagine fixă sau video. Bazele de date de acest fel realizează o uniune între disciplinele de regăsire a informațiilor și de management al bazelor de date, care până acum erau considerate ca fiind două discipline total diferite.
Lucrul cu bazele de date
Bazele de date relaționale
O bază de date relațională reprezintă un ansamblu de tabele aflate în legatură, fiecare tabelă fiind alcatuită din linii și coloane, având un nume unic și fiind stocată pe un suport extern. La intersecția unei linii cu o coloană se găsește o valoare. O linie este o succesiune de valori de diferite tipuri ce regrupează informații referitoare la un obiect, eveniment, entitate. Ordinea liniilor nu prezintă importanță în ceea ce privește conținutul informațional al tabelei.
În teoria bazelor de date relaționale, orice atribut al unei tabele oarecare trebuie să fie atomic, în sensul imposibilității descompunerii sale în atribute.
Modelul relațional utilizează conceptul de identificator, sau cheie primară, care este definit ca fiind un atribut, sau grup de atribute ce identifică fără ambiguitate fiecare linie a tabelei. Există trei restricții pe care trebuie să le verifice cheia primară:
unicitate: o cheie identifică o singură linie a tabelei
compoziție minimală: când cheia primară este compusă și poate fi alcatuită din toate atributele relației
valori non-nule: valorile atributului ce desemnează cheia primară sunt întotdeauna specificate.
Cheile straine sau coloanele de referință sunt atribute, sau combinații de atribute care pun în legătură linii din relații deiferite. Legat de noțiunea de cheie străină apare conceptul de restricție referențială. O restricție de integritate referențială apare atunci când o relație face referință la o altă relație.
În general, în abordarea bazelor de date relaționale se au în vedere doua aspecte ale acestora: schema (structura) și conținutul (instanțierea). Conținutul unei relații este prezentat de ansamblul liniilor ce o alcătuiesc la un moment dat.
O schemă relațională poate fi definită ca un ansamblu de relații asociate semantic prin domeniul lor de definiție și prin restricții de integritate. Restricțiile de integritate sunt de trei feluri: restricțiile cheilor primare, restricțiile referențiale, restricții de comportament.
În multe situații, în cadrul unei organizații, este suficientă cunoașterea schemei simplificate a unei baze de date relaționale care cuprinde numele tabelelor și enumerarea atributelor acestora, fiind subliniate atributele-cheie. (Ex: CLIENȚI – Cod Client, Nume, Adresa, Localitatea).
Prezentarea schemei unei baze de date poate fi făcută și grafic, respectându-se următoarele reguli:
tabela se reprezintă pe doua linii: pe prima fiind scris numai numele relației, iar pe a doua numele atributelor; cheia primară este plasată la marginea stângă a tabelei
numele coloanelor ce alcatuiesc cheia primară se subliniează cu o linie continuă, iar cele care alcătuiesc identificatori secundari se subliniază cu linie punctată
numele unei coloane facultative se scrie între paranteze
dacă o cheie străină este alcatuită din mai multe coloane, se utilizează acolada pentru a le grupa
o restricție referențială este reprezentată printr-o săgeată care pleacă de la numele coloanei de referință și are vârful în atributele la care se face referință.
Reguli ale modelului relațional
Cel mai folosit model de stocare a datelor este baza de date relațională. Acest model de bază de date s-a dezvoltat pornind de la articolul “A Relational Model of Data for Large Shared Data Banks”, scris de Dr. E. F. Codd în 1970.
Dr. Codd a definit doisprezece reguli care caracterizează modelul relațional:
Un sistem relațional de administrare a bazelor de date trebuie să poată administra bazele de date în întregime prin funcțiile sale relaționale.
Regula informației. Toate informațiile dintr-o bază de date relaționale sunt reprezentate explicit ca valori în tabele.
Acces garantat. Orice valoare dintr-o bază de date relațională este accesibilă garantat prin folosirea unei combinații între numele tabelei, valoarea cheii primare și numele coloanei.
Suportul sistematic al valorii nule. Sistemul de gestiune al bazelor de date asigură un suport sistematic pentru tratamentul valorilor nule, diferite de valorile prestabilite și independent de orice domeniu.
Catalogul relațional activ online. Descrierea bazei de date și a componentelor sale este reprezentată la nivel logic sub formă de tabele și de aceea poate fi interogată folosind limbajul bazei de date.
Sublimbajul multilateral al datelor. Trebuie să existe cel puțin un limbaj acceptat care să aibă o sintaxa binedefinită și să fie multilateral, prin faptul că suportă definirea și manipularea datelor, regulile de integritate, autorizarea și tranzacțiile.
Regula actualizării vederilor. Toate vederile pot fi actualizate în cadrul sistemului.
Inserarea, actualizarea și ștergerea la nivel de mulțimi. Sistemul de gestiune al bazelor de date suportă nu numai regăsirea datelor la nivel de mulțimi, ci și inserări, actualizari și ștergeri.
Independența fizică a datelor. Programele de aplicații și cele create pe moment nu sunt afectate din punct de vedere logic la deteriorarea metodelor de acces fizic sau a structurilor de memorare.
Independența logică a datelor. Programele de aplicație și cele create pe moment nu sunt afectate din punct de vedere logic când sunt făcute modificări în structurile tabelelor.
Independența integrității. Limbajul bazei de date trebuie să poată defini regulile de integritate. Acestea trebuie să fie memorate în catalogul on-line și nu pot fi încălcate.
Independența distribuției. Programele de aplicație și cererile momentane nu sunt afectate din punct de vedere logic la prima distribuire a datelor sau la o distribuire ulterioară.
Nesubversiunea. Nu trebuie să fie încalcate securitatea și integritatea bazei de date dacă există o versiune anterioară.
Proiectarea bazelor de date
Modelul conceptual
Metodologia de proiectare conceptuală a bazelor de date are ca obiectiv construirea unui model de date conceptual local al unei organizații, pentru fiecare vedere a utilizatorilor specificată.
Primul pas în proiectarea bazelor de date constă în realizarea unor modele de date conceptuale, pentru fiecare vedere a utilizatorilor asupra organizației. O vedere a utilizatorului reprezintă datele cerute de către un anumit utilizator pentru a lua o decizie sau a efectua o anumită sarcină.
Modelul de date conceptual se referă la tipurile de entități, tipurile de relații, atributele și domeniile atributelor, cheile candidat și cheile primare. Trebuie identificate entitățile și tipurile lor și relațiile complexe, care implică mai multe entități. Odată stabilite aceste relații, trebuie determinată cardinalitatea lor, care poate fi: unu-la-unu (1:1), unu-la-mai-mulți (1:m) sau mai-mulți-la-mai-mulți (m:m).
O importanță majora în cadrul metodologiei conceptuale a bazelor de date o reprezintă identificarea și asocierea atributelor cu tipurile de entități sau relații. Este important de observat dacă atributul este simplu sau compus. Atributele ale căror valori pot fi deduse din valorile altor atribute se numesc derivate și nu sunt prezente în modelul de date conceptual. Pentru fiecare atribut se înregistrează urmatoarele informații: denumirea și descrierea atributului, tipul de date și lungimea, dacă atributul trebuie întotdeauna specificat, dacă este compus (și în acest caz care sunt atributele simple), dacă este derivat (și în acest caz cum trebuie calculat) și dacă atributul are valori multiple.
De asemeni, pentru această metodă mai este important să se determine cheia candidat și cheia primară. O cheie candidat este un atribut sau un set minim de atribute ale unei entități, care se identifică în mod unic. Se poate identifica mai mult decât o singură cheie candidat. Una dintre ele va fi aleasă drept cheie primară, restul denumindu-se chei alternative. La alegerea cheii primare se ține cont de următoarele:
se alege cheia candidat cu setul minim de atribute;
se alege cheia candidat căreia este mai puțin probabil să i se modifice valorile;
se alege cheia candidat care este mai puțin probabil să își piardă caracterul de unicitate;
se va alege cheia candidat cu cele mai puține caractere;
se va alege cheia candidat care este cel mai ușor de utilizat din punct de vedere al utilizatorilor.
Proiectarea logică a bazelor de date pentru modelul relațional
La baza proiectării logice a bazelor de date pentru modelul relațional se află modelele de date conceptuale care reprezintă diverse vederi ale utilizatorilor asupra organizațiilor și documentația care descrie modelele conceptuale.
Construirea unui model de date logic – bazat pe modelul de date conceptual al vederii utilizatorului asupra unei organizații – urmată de validarea acestuia prin utilizarea tehnicii de normalizare și conform tranzacțiilor cerute – se realizează urmarind etapele de mai jos:
transpunerea modelului de date conceptual în model de date logic.
Extragere relațiilor din modelul de date logic local.
Validarea modelului prin utilizarea normalizării.
Validarea modelului conform tranzacțiilor utilizatorului.
Desenarea diagramei Entitate – Relație.
Definirea constrângerilor de integritate.
Revizuirea modelului de date logic local, împreună cu utilizatorii.
Obiectivul urmărit în transpunerea modelului de date conceptual local este rafinarea modelului de date conceptual local pentru a elimina caracteristicile nedorite și a-l transpune într-un model de date logic local. Această rafinare este de fapt un proces ce determină utilizatorul să se gândească mai profund și mai atent la semnificația datelor, având astfel ca efect o reprezentare mai reală a întreprinderii. Prin această etapa se dorește eliminarea relațiilor complexe, recursive, redundente, cu atribute sau de tip m:n, de asemenea se dorește eliminarea atributelor cu valori multiple și reexaminarea relațiilor de tip 1:1.
Proiectarea logică a bazelor de date pentru modelul relațional se mai referă și la relația pe care o are o entitate cu altă entitate, fiind reprezentată prin mecanismul cheie primară – cheie straină. Atunci când se va decide unde se va trimite sau plasa atributul cheii străine, trebuie mai întâi să se identifice entitățile „părinte” și „copil”. Entitatea părinte se referă la entitatea care plasează o copie a cheii sale, în relația care reprezintă entitatea copil, unde va acționa ca și o cheie străină.
2.3.1.1. Constrângere de tip cheie străină
Proiectarea fizică a bazelor de date pentru modelul relațional
În proiectarea fizică a bazelor de date pentru bazele de date relaționale este important cum se proiectează relațiile de bază pentru sistemul de gestionare al bazelor de date, cum se estimează dimensiunea bazei de date și cum se proiectează sistemele de securitate, pentru a satisface cerințele utilizatorilor.
Etapele cele mai importante ale metodologiei de proiectare fizică a bazelor de date sunt:
proiectarea relațiilor de bază pentru sistemul de gestionare a bazelor de date
proiectarea constrângerilor organizației pentru sistemul de gestionare a bazelor de date
analiza tranzacțiilor
alegerea organizării fișierelor
alegerea indecșilor secundari
estimarea cerințelor privind spațiul pe disc
proiectarea mecanismelor de securitate
proiectarea regulilor de acces
monitorizarea și reglarea sistemului operațional
Pentru a începe procesul de proiectare fizică, trebuie mai întâi confruntate și asimilate informațiile privind relațiile obținute în decursul procesului de modelare logică a datelor.
Unul dintre obiectivele principale ale proiectării fizice a bazelor de date este de a stoca datele într-un mod eficient. Există diverși factori care pot fi utilizați pentru măsurarea eficienței, și anume:
transferul de tranzacții – reprezintă numărul de tranzacții care pot fi prelucrate într-un anumit interval de timp;
timp de răspuns – reprezintă timpul scurs până la încheierea unei singure tranzacții. Din punctul de vedere al utilizatorului, se caută micșorarea timpului de răspuns cât mai mult posibil;
capacitatea de stocare pe disc – reprezintă spațiul de pe disc necesar stocării fișierelor bazei de date. Proiectantul va dori să minimizeze spațiul de pe disc necesar.
Proiectarea fizică inițială a bazelor de date trebuie considerată ca o estimare a performanțelor operaționale. Odată proiectul inițial implementat, va fi necesară monitorizarea sistemului și reglarea sa, în conformitate cu rezultatele observate și modificarea cerințelor.
Tipurile de organizări ale fișierelor disponibile sunt dependente de sistemul de gestionare al bazelor de date.
Sistemul de gestiune a bazelor de date (SGBD)
Un SGBD este un sistem de programe care permite utilizatorului definirea, crearea și întreținerea bazei de date și accesul controlat la aceasta. Acesta constă în elemente de software care interacționează cu programele aplicației, ale utilizatorului și cu baza de date.
Permite utilizatorilor să definească baza de date, să insereze, să reactualizeze, să șteargă și să extragă date din baza de date. Operațiile de inserare, reactualizare, ștergere și extragere din baza de date se fac, de obicei, printr-un limbaj de manipulare procedural (DML). Există doua tipuri de limbaje de manipulare – procedurale și neprocedurale – diferența dintre ele constând în faptul că cele procedurale specifică cum se va obține rezultatul unei instrucțiuni DML, iar cele neprocedurale descriu numai ce date vor fi obținute.
În figura de mai jos se pot identifica cinci componente principale ale mediului SGBD: hardware, software, date, proceduri și persoane.
2.3.1.2. Mediul SGBD
Hardware – pentru a funcționa, SGBD și aplicațiile au nevoie de elemente de hardware. Acestea pot fi reprezentate de un singur calculator personal sau un singur calculator mainframe, până la o întreagă rețea de calculatoare. Elementele specifice de hardware depind de cerințele aplicației și de sistemul SGBD utilizat.
Software – componenta software cuprinde programele SGBD și programele aplicație, împreună cu sistemul de operare, inclusiv software de rețea, dacă sistemul SGBD este utilizat într-o rețea de calculatoare.
Datele – după cum am văzut în figura de la începutul subcapitolului, datele acționează ca o punte între componentele mașină și cele umane.
Procedurile – se referă la instrucțiunle și regulile care guvernează proiectarea bazei de date.
Persoanele – există patru tipuri distincte de persoane implicate în mediul SGBD: administratorii de date și baze de date, proiectanții de baze de date, programatorii de aplicații și utlizatori finali.
În continuare vom enumera avantajele, respectiv dezavantajele sistemelor de gestionare a bazelor de date.
Avantaje:
controlul redundanței datelor,
coerența datelor,
partajarea datelor,
integritatea crescută a datelor,
securitatea crescută a datelor,
aplicarea standardelor,
echilibrul între cerințele aflate în conflict,
imbunătățirea accesibilității datelor și capacității de răspuns,
îmbunătățirea serviciilor de salvare, de siguranță și de refacere.
Dezavantaje:
complexitatea,
dimensiunea,
costul SGBD,
costuri adiționale pentru sisteme hardware,
costul conversiei,
performanța,
impactul crescut al unei defecțiuni.
Utilitar baze de date, PHPMyAdmin și Navicat
O bază de date este un ansamblu structurat de date înregistrat pe suporturi accesibile calculatorului pentru a satisface simultan cerințele mai multor utilizatori, într-un mod selectiv și în timp util.
Un sistem de gestiune a bazelor de date este un ansamblu de programe care permit utilizatorului să interacționeze cu o bază de date.
PHPMyAdmin
PhpMyAdmin este cea mai populară interfață de administrare a bazelor de date MySQL. Această aplicație consta dintr-un set de scripturi PHP grupate, uzual, într-un director cu acelși nume, care este la rândul său un subfolder al folderului care constituie rădăcina sistemului de fișiere și foldere oferite în Web.
PhpMyAdmin este un manager on-line pentru bazele de date MySQL. Acesta oferă unelte pentru administrarea completă a structurii și a datelor.
Mai jos vom prezenta o listă cu câteva din funcțiile pe care le suportă în mod curent PhpMyAdmin:
creează și șterge baze de date,
creează, copiază, șterge și modifică tabele,
șterge, editează și adaugă câmpuri,
execută orice frază SQL,
încarcă fișiere de tip text în tabele,
exportă datele în format multiplu (CSV, XML, PDF, OpenDocument, Word, Excel),
management utilizatori și privilegii,
administrează servere multiple,
administrează userii și privilegiile lor,
folosind query-by-example creează interogări complexe conectând automat tabelele cerute,
creează grafice PDF,
54 limbi straine.
Cerințe – PHP:
suportul session
oricare dintre MySQL sau MySQLi
mbstring
suport GD2 în PHP pentru a afișa fișiere de tip *.jpeg cu aspectul original
Cerințe – MySQL:
MySQL 3.23.32 sau versiune mai nouă
Cerințe – Browser web:
orice browser web cu cookies activat
Navicat
Navicat (MySQL GUI) este un program de management pentru baze de date MySQL, ce poate converti baze de date XML, CSV, MS Excel, MS Acces în baze de date tip MySQL. De asemenea programul Navicat permite multiple conexiuni la serverul MySQL.
Ultimele versiuni ale acestui program sunt compatibile cu orice server MySQL și suportă declanșatoare (trigger), proceduri și funcții, vizualizare, tipul de date Varchar, tipul de date Byte și tipul de date Binary/Varbinary. Pe lângă acestea mai prezintă și instrumente de administrare a datelor, cum ar fi auto-completarea cheilor străine, suportul Data Synchronization, suportul Structure Synchronization, suportul Tables/Views/Stored Procedures Backup și Restore, suportul Tables/Views/Stored Procedures transfer de date, consola SQL, suportă interogări parametrice și gestiunea user-ilor.
2.3.2. PHP, MySQL și serverul Apache
PHP este limbajul ideal pentru construirea de pagini web dinamice. Este un program de tip open-source care poate fi rulat pe mai multe platforme și se poate conecta la mai multe tipuri de baze de date. Cel mai important aspect al limbajului este posibilitatea de a fi imbricat cu cod HTML, putându-se astfel crea pagini HTML statice și din loc în loc sa se introducă dinamism, acolo unde este nevoie.
Limbajul PHP a fost înființat în anul 1994 de către Rasmus Lerdorf, denumind setul de script-uri create PHP, acronim pentru Personal Home Page. Pe parcursul următorilor trei ani, limbajul a evoluat, cunoscând adevăratul succes de când Zeev Surakis și Andi Gutmans au rescris motorul PHP de la cap la coadă.
Având în vedere faptul că este un limbaj open-source, PHP beneficiază de suport activ din partea comunității on-line, acesta fiind și motivul creșterii explozive a numărului site-urilor bazate pe PHP.
Interpretorul PHP este cel mai cunoscut limbaj de scripting folosit pentru crearea site-urilor Web interactive. Denumirea este un „acronim recursiv” pentru Hypertext PreProcessor. Diferența esențială față de alte limbaje de scripting (gen JavaScript) este faptul că PHP este un interpretor server-side (operațiile sunt executate de către server și nu pe calculatorul utilizatorului). Pentru a putea testa pagini PHP aveți nevoie de un server de web (Apache) și de pachetul PHP instalat.
PHP permite folosirea unor elemente specifice limbajelor de programare. Ieșirea standard a script-ului PHP devine intrarea standard pentru programul de navigare care vizualizează pagina. Astfel că, la iesirea standard poate fi scris (de exemplu, prin intermediul comenzii echo) orice tip de cod HTML, acesta fiind interpretat de către browser.
Pe lângă manipularea conținutului paginilor de web, PHP poate trimite headere HTTP pentru autentificare, seta cookie-uri sau redirecționa utilizatorii. Mai mult, cu ajutorul bibliotecilor externe de funcții poate parsa fișiere XML, crea și manipula imagini, animații Shokwave Flash, PDF-uri sau se poate conecta la un server de mail, iar acestea sunt doar câteva din funcțiile pe care le poate îndeplini.
MySQL este un sistem de gestiune a bazelor de date relaționale, produs de compania suedeză MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai popular SGBD open-source la ora actuală, fiind o componentă cheie a stivei LAMP (Linux, Apache, MySQL, PHP).
Deși este folosit foarte des împreună cu limbajul de programare PHP, cu MySQL se pot construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Borland Delphi, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfață de tip ODBC denumită MyODBC permite altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora respetivele limbaje să poată folosi acest SGBD mult mai ușor decât prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.
Licența GNU GPL nu permite încorporarea MySQL în softuri comerciale; cei care doresc să facă acest lucru pot achiziționa, contra cost, o licență comercială de la compania producătoare, MySQL AB.
MySQL este componentă integrată a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului care este adesea combinat cu MySQL și denumit Duo-ul Dinamic. În multe cărți de specialitate este precizat faptul ca MySQL este mult mai ușor de invățat și folosit decât multe din aplicațiile de gestiune a bazelor de date, ca exemplu comanda de ieșire fiind una simplă și evidentă: „exit” sau „quit”.
Pentru a administra bazele de date MySQL, se poate folosi modul linie de comandă sau, prin descărcare de pe internet, o interfață grafică: MySQL Administrator și MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicația gratuită, scrisă în PHP, phpMyAdmin.
MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.
Server-ul Apache. Apache este un server HTTP de tip open-source, care joacă un rol important în dezvoltarea web-ului. Denumirea provine de la numele unor triburi de indieni nord-americane.
Apache este un server web cu o contribuție notabilă la dezvoltarea Internetului (world wide web), reprezentând prima alternativă viabilă la Netscape Communications Corporation. A fost dezvoltat de o comunitate deschisă de programatori, sub emblema Apache Software Foundation. Aplicația este disponibilă pentru o mare varietate de sisteme de operare, dintre care enumerăm: Unix, FreeBSD, Linux, MAC OS X, Microsoft Windows și OS/2.
Prima versiune a serverului a fost creată de Robert McCool, care la momentul respectiv era implicat în proiectul National Center for Supercomputing Applications (NCSA HTTPd). Cea de a doua versiune a constat într-o resciere substanțială, punându-se accent pe crearea unui layer prioritar (Apache Portable Runtime) și a suportului de module. Apache suportă o mare varietate de module, care îi extind funcționalitatea, de la server side programming până la schemele de autentificare. Iată câteva din limbajele suportate: mod_perl, mod_python, Tcl și PHP și câteva module: SSL, TLS suport (mod_ssl), un modul proxyun, modul de rescriere URL (cunoscut ca motor de rescriere mod_rewrite), custom log files (mod_log_config) și suport de filtrare (mod_include și mod_ext_filter). Virtual hosting (găzduire virtuală) este una din calitățile serverului Apache care constă în posibilitatea de a găzdui mai multe site-uri simultan pe același server.
Principalul competitor al serverului Apache este Microsoft Internet Information Services (IIS), urmat de Sun Java System Web Server al companiei Sun Microsystems și altele, cum ar fi Zeus Web Server.
2.3.3. Platforma Dreamweaver CS5 și standardul HTML
Dreamweaver este un generator HTML de tip What You See Is What You Get, care permite utilizatorului să vadă documentul asa cum va apărea în forma finală și să editeze textul, grafica și alte elemente în acest mod de vizualizare.
Dreamweaver este primul editor HTML care a câștigat atât aprobarea programatorilor cât și pe cea a proiectanților. Programatorii apreciază produsul deoarece liniile de program nu trebuie să fie scrise într-o manieră rigidă, în timp ce proiectanții îl agreează deoarece scrie linii de program „curate”, adică lipsite de o mulțime de etichete brevetate, și pe lângă aceasta se poate realiza o machetare vizuală fără a fi necesară înțelegerea programului.
Dreamweaver permite folosirea majorității browserelor instalate pe calculatorul utilizatorului, pentru a previzualiza website-ul creat. De asemenea conține și câteva utilitare pentru administrarea site-urilor, cum ar fi cele pentru a găsi și modifica un paragraf sau o linie de cod, în întregul web site, pe baza oricăror parametri specificați de către utilizator. Cu ajutorul panourilor de stare se poate crea cod JavaScript fără a avea cunoștințe de programare.
Odată cu apariția versiunii MX, Macromedia a încorporat utilitare de generare dinamică a conținutului. De asemenea este oferit suport pentru conectarea la baze de date (cum ar fi MySQL și Microsoft Access) pentru a filtra și afișa conținutul folosind script-uri de genul PHP, ColdFusion, Active Server Pages (ASP) și ASP.NET, fără a avea nevoie de o prealabilă experiență în programare.
Un aspect foarte lăudat al Dreamweaver-ului îl reprezintă arhitectura sa extensibilă. Extensiile, așa cum sunt ele cunoscute, sunt mici programe, pe care orice dezvoltator le poate scrie (de obicei în HTML și JavaScript) și pe care oricine le poate descărca și instala, acestea aducând un spor de performanță și funcționalitate îmbunătățită programului. Există o comunitate de dezvoltatori care produc aceste extensii și le publică (atât comercial cât și gratuit) pentru probleme de dezvoltare web, de la simple efecte roll-over până la soluții complete de vânzare online.
HTML reprezintă o abreviere de la Hyper Text Markup Language (limbaj de marcare prin hipertext), fiind derivat din Standard Generalized Markup Language (standard internațional de repezentare a textelor într-un format electronic).
HTML furnizează mijloacele prin care conținutul unui document poate fi adnotat cu diverse tipuri de metadate și indicații de redare. Indicațiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi specificarea faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie introdusă, până la scripturi sofisticate, hărți de imagini și formulare. Metadatele pot include informații despre titlul și autorul documentului, informații structurale despre cum este împărțit documentul în diferite segmente, paragrafe, liste, titluri etc. Și informații cruciale care permit ca documentul să poată fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul).
Practic, HTML permite marcarea textului și includerea imaginilor precum și posibilitatea de legare a documentelor între ele. Hiperlegăturile sunt cele care permit comutarea între paginile site-ului, totodată permițând și vizualizarea paginilor plasate în site-uri exterioare. Cu ajutorul Dreamweaver-ului se pot gestiona legăturile interne astfel încât, acestea sa fie actualizate automat în eventualitatea modificării legăturilor.
HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe solide de HTML și este consumatoare de timp. Editoarele grafice (de tip WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web sa fie tratate asemănător cu documetele Word.
HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și forumuri web generează pagini HTML.
HTML este de asemenea utilizat în e-mail. Majoritatea aplicațiilor de e-mail folosesc un editor HTML încorporat pentru compunerea e-mail-urilor și un motor de prezentare a e-mail-urilor de acest tip. Folosirea e-mail-urilor HTML este un subiect controversat și multe liste de mail le blochează intenționat.
2.3.4. CSS – noțiuni de bază
CSS, prescurtarea de la Cascading Style Sheets (foi de stil în cascadă), sunt etichete folosite pentru formatarea paginilor web (de exemplu formatare text, background sau aranjare în pagina, etc.).
Ca și o pagină web, o foaie de stil în cascadă constă din instrucțiuni de tip text ASCII care îi spun browser-ului cum să formateze documentul care se încarcă. Instrucțiunile CSS pot fi plasate chiar în cadrul respectivei pagini web, sau se pot afla într-un document separat care este legat de pagina HTML.
Beneficiile sintaxei CSS sunt:
formatarea este introdusă într-un singur loc pentru tot documentul;
editarea rapidă a etichetelor;
datorită introducerii într-un singur loc a etichetelor se obține o micșorare a codului paginii, implicit încărcarea mai rapidă a acesteia.
Sintaxa CSS este structurată pe 3 nivele:
nivelul 1 – reprezentând proprietățile etichetelor din docuemntul HTML, tip inline
nivelul 2 – reprezentând informația introdusă în blocul HEAD, tip embedded
nivelul 3 – reprezentând comenzile aflate în pagini separate, tip externe
Folosirea unui fișier extern, sau nivel 3 care să conțină comenzi CSS este foarte practică deoarece poate fi utilizat de către mai multe fișiere HTML, eliminând timpul necesar introducerii codului corespunzător în fiecare pagină. Extensia acestor fișiere este .css.
Legătura paginilor HTML cu fișierele extene CSS se face prin introducerea următoarei linii:
<link rel=”stylesheet” type=”text/css” href=”fisier_css.css”>
rel – fișierul este tip stylesheet;
type – tip text ce conține comenzi CSS;
href – fișierul sau adresa fișierului CSS.
Comenzile de nivel 2 sau embedded sunt cele găzduite oriunde între perechea de etichete <head> și </head> conform sintaxei:
<style type=”text/css”>
<!–
… comenzi CSS …
</style>
style – specifică unde începe și unde se termină blocul CSS;
type – este folosit pentru a ascunde de browser-ele vechi, care nu cunosc sintaxa CSS, conținutul blocului style.
Comenzile CSS de nivel 1 sau inline sunt cele mai folosite, ele suprascriind orice alte comenzi CSS. Sunt amplasate in interiorul etichetelor HTML aflate in zona BODY si au sintaxa:
<eticheta style=”codul CSS dorit”>
…textul sau obiectul asupra caruia este aplicat codul CSS…
</eticheta>
2.3.5. Adobe Photoshop – noțiuni de bază
Adobe Photoshop este un software folosit pentru crearea și editarea imginilor digitale, fotografii, grafică pentru tipar, video și web, fiind produs și distribuit de compania americană Adobe Systems.
Prima versiune a programului a fost distribuită în februarie 1990, de către frații Knoll, Thomas și John sub denumirea de “Display”. Ulterior, după mai multe îmbunătățiri aduse programului, în 1988 s-a semnat un contract de licențiere cu firma Adobe, iar în februarie 1990 a apărut prima versiune Photoshop 1.0.
Adobe Photoshop dispune de o interfață intuitivă care permite o multitudine de modificări necesare în mod curent profesioniștilor și nu numai. Dintre acestea enumerăm: editări de luminozitate, contrast, culoare, focalizare, aplicarea de efecte pe imagini sau pe zone, retușare de imagini degradate, număr arbitrar de canale de culoare etc.
Principalele elemente prin care Photoshop se diferențiază de aplicațiile concurente și prin care stabilește noi standarde în industria prelucrării de imagini digitale sunt:
selecțiile,
straturile (layers),
măștile (masks),
canalele (channels),
retușarea,
optimizarea imaginilor pentru web
Photoshop poate citi majoritatea fișierelor raster și vector, de asemenea având și o serie de formate proprii: PSD (Photoshop Document), PSB (denumit Large Document Format) și PDD (format mai puțin întâlnit, asociat Adobe PhotoDeluxe). Pe lângă acestea mai dispune și de instrumente cum ar fi: Camera RAW (acces rapid și facil la imaginile de tip RAW), Adobe Bridge (browser complex pentru procesarea fișierelor de tip RAW), Multitasking, suport HDR (High Dynamic Range – creează și editează imagini pe 32 de biți), Shadow/Highlight, Vanishing Point (clonarea, pictarea sau lipirea elementelor), personalizarea aplicației, etc.
Specificațiile proiectului
3.1. Scurtă descriere a aplicației. Schema bloc
Lucrarea de față, cu titlul: „Informatizarea bibliotecilor școlare” a fost realizată cu scopul înlesnirii modalității de stocare, gestionare și monitorizare permanentă, în timp real, a resurselor unei biblioteci școlare, având ca și punct de plecare sistemele informatice deja existente pe piață: sistemul Koha, respectiv sistemul Liberty.
În capitol curent vom urmări comparativ schemele bloc ale celor două sisteme informatice, urmând ca, pe baza datelor culese din această comparație să propunem un sistem informatic nou, nu atât de complex, care să aibă doar acele funcționalități utile la gestionarea resurselor bibliotecilor școlare.
Așa cum am observat în partea teoretică a lucrării, cele două sisteme informatice au la bază tehnologia SQL, ceea ce simplifică modul de stocare a datelor care intervin în aplicație prin structurarea și gruparea lor în tabele relaționate între ele, astfel încât in permanență să se poată accesa orice informație și toate datele legate de aceasta. Deoarece, sistemul Liberty și documentația aferentă lui se pot accesa doar cu plata în prealabil a costurilor de licențiere și utilizare, mai jos enumerăm doar câteva dintre tabelele sistemului Koha, puse la dispoziție de site-ul http://koha-community.org/, alături de o schemă ce descrie relațiile dintre aceste tabele.
Tabelul biblio – stochează informații bibliografice, identificate printr-un număr unic diferit pentru fiecare înregistrare în parte. Acest tabel conține date cum ar fi autorul, titlul, seria din care face parte, data editării, data ultimei accesări, etc.
Tabelul barrowers – stochează informații ale celor care împrumută cărți din cadrul bibliotecii, cu informațiile aferente lor, cum ar fi: date de identificare (nume, prenume, CNP, adresa, telefon), date utilizate în aplicație (username si parola de identificare in cadrul aplicatiei), date ce stochează setările efectuate în cadrul aplicației (dacă se dorește alertarea prin serviciul de mesagerie scrisă, sau prin e-mail atunci când se eliberează o carte la care în prealabil utilizatorul făcuse o cerere de împrumut), etc.
În strânsă legătură cu tabelul barrowers, în cadrul aplicației mai există și tabelul users_permisions, tabel ce stochează permisiunile pentru fiecare utilizator în parte (de exemplu, în cazul utilizării aplicației pentru a stoca resursele unei companii, de genul cărțile pe care le deține compania respectivă pentru instruirea personalului, se poate seta pentru fiecare utilizator la care departamente, respectiv documentație aferentă departamentelor are acces).
Tabelul items – conține datele de identificare ale fiecărei resurse în parte (titlul, autorul, data publicării, editura, etc).
Tabelul issues – reține date referitoare la fiecare împrumut efectuat în cadrul bibliotecii: numărul de identificare al utilizatorului care a împrumutat cartea (legătură cu tabelul barrowers, pentru a putea avea acces la datele utilizatorului căruia îi corespunde numărul de identificare), număr de identificare a resursei împrumutată (acest număr de identificare corespunde numărului de identificare reținut în tabelul cu articolele bibliotecii), data returnării împrumutului, tipul împrumutului, etc.
Cu un total de 138 de tabele, sistemul Koha reprezintă unul dintre cele mai complexe și des utilizate sisteme informatice de gestiune al bibliotecilor. La faptul că are un număr mare de utilizatori contribuie și distribuirea, accesul și utilizarea gratuită a sistemului. Un aspect de menționat referitor la acest sistem, este acela că sistemul face parte din aplicațiile de tip open-source, ceea ce însemnă că pe lângă faptul că nu se percep costuri de licențiere și utilizare, există o comunitate de utilizatori și progrmatori care modifică în permanență eventualele erori întâlnite și implementează noi funcționalități în funcție de cererea pieței. Pentru aceasta, documentația sistemului este disponibilă pe pagina web a somunității de utilizatori și dezvoltatori Koha, unde se poate accesa și analiza și schema bazei de date, incluzând toate tabelele și relațiile dintre acestea.
Fig. 3.1.1. Exemple de relații între tabelele sistemului Koha
Fig. 3.1.2 Exemple de relații între tabelele sistemului Koha
Pornind de la schema după care a fost implementat sistemul Koha, propunem în continuare un program software ce va consta în existența unei baze de date în care va fi stocat fluxul de informații cules pe parcursul rulării aplicației, de la biblioteciile școlare.
Pentru început, vom descrie un scenariu ce include toate acțiunile efectuate în cadrul unei biblioteci, pe care îl vom transpune în aplicația informatică pe care o propunem.
Ca și entitate fizică, biblioteca reprezintă un mediu de stocare a mai multe resurse: cărți, cursuri, caiete de exerciții, culegeri de probleme, materiale stocate pe suport multimedia, materiale disponibile în format electronic, etc. Pentru un acces ușor la fiecare din aceste resurse, personalul bibliotecilor obijnuiește să le aranjeze în funcție de tipul fiecăreia. Pentru o și mai bună gestionare a acestor resurse, aranjarea cărților pe rafturile bibliotecii se face în funcție de autor, aceștia fiind ordonați alfabetic, după inițiala numelor lor. Astfel, identificăm primul tabel care ne va fi necesar în aplicația pe care o propunem, și anume:
Tabelul resurse – ce conține datele de identificare a tuturor cărților din bibliotecă (codul de identificare, titlul, autorul, editura, colecția, volumul, numărul de exemplare existente în stocul bibliotecii, anul apariției, tipul resursei (carte, curs, CD, DVD, etc), tipul împrumutului (dacă este vorba despre un articol ce se poate împrumuta, sau care nu se distribuie decât spre lecturare la sala de lectură a bibliotecii)), perioada de timp acordată celui care o solicită.
Bibliotecarul, are obligația ca de fiecare date când bibliotzeca își înnoiește resursele să verifice dacă, pentru fiecare resursă nou introdusă, mai există și alte exemplare. Ulterior, fiecare din această carte va fi indexată (i se va acorda un număr de identificare conform standardelor în vigoare – o combinație unică ce conține un număr specific pentru fiecare bibliotecă în parte, și câte un număr corespunzător categoriei din care face parte noua resursă, respectiv autorul și editura).
Exceptând bibliotecarul, în cadrul bibliotecii vor mai intervenii și alte persoane, și anume utilizatorii bibliotecii. Astfel, trebuie menținută o gestiune a acestora, ceea ce ne indică existența unui nou tabel, și anume:
Tabelul utilizatori – acest tabel este menit să mențină datele de identificare ale tuturor utilizatorilor. Fiind vorba despre o bibliotecă aparținând unei unități școlare, tabelul cu utilizatori va conține date despre aceștia cum ar fi: nume, prenume, CNP, seria și numărul buletinului (doar dacă aceștia au o vârstă mai mare de 14 ani), clasa din care fac parte ultima dată când s-a efectuat un împrumut, adresa, telefonul elevului (dacă acesta deține un telefon personal), și telefonul unui dintre părinți, pentru a putea fi contactat în eventualitatea unor contravenții.
Ca și acțiuni corespunzătoare utilizatorilor bibliotecii, în cazul nostru elevilor, identificăm următoarele: efectuarea unei căutări în baza de date a bibliotecii a unei anumite resurse în funcție de anumite criterii, urmată de o cerere de împrumut. Prin verificare se returnează elevului informații despre sursa căutată – dacă există sau nu în baza de date, respective, dacă există sau nu pe stoc. În funcție de acest rezultat cererea de împrumut este de două tipuri: dacă resursa căutată este disponibilă pentru a fi împrumutată, cartea va avea statusul împrumutat, iar în momentul în care aceasta se oferă elevului, se vor salva data de început a împrumutului, și data la care trebuie returnată (calculată ca sumă dintre data de început și perioada de timp acordată pentru împrumut din tabelul resurse). Cel de al doilea tip de împrumut îl identificăm ca fiind acea situație în care cartea există în baza de date a bibliotecii, însă nu există pe stocul bibliotecii, ea fiind împrumutată altor persoane. Astfel, se va atribui acestui tip statusul în așteptare, urmând ca utilizatorul să fie anunțat când cartea va fi adusă în bibliotecă.
Din cele descrise anterior identificăm două tabele, care vor ajuta la gestionarea împrumuturilor:
Tabelul împrumuturi – menit să gestioneze totalitatea împrumuturilor efectuate în cadrul bibliotecii, reținându-se următoarele date: identificatorul resursei împrumutate (legătură cu tabelul resurse), identificatorul persoanei căreia i s-a acordat împrumutul (legătură cu tabelul utilizatori), statusul împrumutului – împrumutat, respectiv, în așteptare – în cazul în care este vorba despre o carte ce a fost găsită pe stoc și s-a împrumutat elevului, se vor reține data efectuării împrumutului și data la care se va returna articolul împrumutat. Spre deosebire de statusul împrumutat, pentru statusul în așteptare nu se vor completa data împrumutului, respectiv a returnării. Fiecare înregistrare din acest tabel va avea un număr unic de identificare, folositor pentru a relaționa acest tabel cu restul tabelelor cu care va interacționa pe parcursul aplicației.
Referitor la acest cel de-al doilea status, identificăm un alt tabel necesar aplicației, și anume tabelul listă de așteptare. Aici se vor reține toate cererile de împrumut care nu au fost disponibile pe stoc la momentul efectuării lor. Modul în care se vor reține informațiile în acest tabel are la bază următorul principiu: pentru fiecare cerere de împrumut cu statusul în așteptare se va reține numărul de identificare al acestei cereri (legătură cu tabelul împrumuturi) și data la care s-a făcut cererea de împrumut. Aceasta dată este importantă în situația în care, mai multe persoane au efectuat o cerere de împrumut pentru aceeași resursă, în momentul când resursa va reveni în cadrul bibliotecii, se va verifica această listă de așteptare, urmând a fi împrumutată solicitanților în ordinea cronologică a cererilor efectuate. Dacă elevul care a făcut primul cererea de împrumut (adică, cel care are în acest tabel cea mai veche dată corespunzătoare cererii de împrumut) renunță la cerere, aceasta se va acorda următorului elev, respectându-se datele de înregistrare a cererilor.
Pe lângă aceste acțiuni sistemul pe care îl propunem va oferi posibilitatea reținerii anumitor informații ce ajută la respectarea regulamentului intern al bibliotecii. De exemplu, considerăm că un elev nu poate să aibă mai mult de 10 cărți împrumutate în același timp. Sau, în situația în care un elev a depășit de 3 ori consecutiv data de returnare a resurselor, acesta va fi sancționat prin interzicerea împrumutului pe o perioadă de o săptămână. Din aceasta, rezultă că sistemul nostru va trebui să mai fie dotat cu încă două tabelem după cum urmează:
Tabelul gestionare_împrumuturi – acest tabel va reține, pentru fiecare utilizator în parte numărul de cărți împrumutate la un moment dat și numărul de depășiri de termene de returnare consecutiv. Acest tabel va avea 3 câmpuri: identificator utilizator, număr împrumuturi, respectiv număr depășiri, ce vor funcționa astfel. Fiecare utilizator al aplicației va exista o singură dată în acest tabel, iar celelalte două câmpuri vor fi actualizate după cum urmează. În momentul efectuării unui împrumut, câmpul în care este stocat numărul de împrumuturi se incrementează cu o unitate, fiind decrementat în momentul returnării unui articol, iar câmpul ce reține numărul de depășiri consecutive va fi incrementat atunci când elevul returnează o carte ce a depășit termenul de returnare. În cazul acestui câmp nu există o decrementare, ci o resetare la valoarea nulă (0) atunci când este respectat termenul de returnare al cărții. (Mai exact: presupunem că o persoană returnează două cărți consecutiv cu întârziere, ceea ce duce la incrementarea valorii acestui câmp cu 2 unități. La cea de-a treia returnare, în cazul în care termenul nu este respectat, valoarea se incrementează cu 1, deci va deveni 3, iar în cazul în care termenul de returnare este respectat, valoarea se resetează la 0).
Tabelul sancțiuni – acest tabel va reține fiecare utilizator care a ajuns la numărul de depășiri a termenului de returnare la 3 (vezi tabelul gestionare_împrumuturi), și data până la care se aplică sancțiunea. Modul de calculare al acestei date este următorul: la data curentă (cea la care se returnează cartea împrumutată ce reprezintă al treilea termen depășit), se vor aduna 7 zile. În cazul în care o persoană există deja în acest tabel cu o depășire de termen, la data cu care este înregistrată – data ce reprezintă ridicarea sancțiunii – se vor mai adăuga 7 zile. (Mai exact, dacă un utilizator are deja o sancțiune din data de 3.03 până în data de 10.03, dacă la data de 9.03 aduce alte trei cărți cu termenul de returnare depășit, i se va aplica noua sancțiune până în data de 17.03).
Pentru ca aplicația să funcționeze în mod corect, fiecare tabel va trebui să conțină chei primare, și chei străine, iar la proiectarea lor se va ține cont de anumite constrângeri pe care le vom discuta într-un capitol ulterior.
Deoarece aplicația permite accesul la date cu caracter personal ale elevilor, aceasta va putea fi folosită doar pe baza unui nume de utilizator și parolă ce sunt furnizate de către administratorul aplicației (în cazul nostru bibliotecarul), fiecărui elev în parte.
Astfel, putem spune că aplicația oferă trei tipuri de facilități:
Recepție – această parte a aplicației se referă la modul în care utilizatorii (elevii) efectuează căutări asupra bazei de date și își crează cereri de împrumut, urmate de acțiunea bibliotecarului de a aproba aceste cereri de împrumut în momentul în care elevul vine să ridice resursa dorită de la bibliotecă. Tot aici se încadrează returnările resurselor, reprezentate de momentul în care elevii aduc materialele împrumutate la bibliotecă, acțiune efectuată de către bibliotecar prin afișarea, urmată de bifarea ca și returnat a materialului înapoiat de către elev.
Monitorizare – bibliotecarul are posibilitatea să genereze, vizualizeze și analizeze în permanență rapoarte asupra tuturor activităților din cadrul bibliotecii, cum ar fi: afișarea resurselor a căror termene de returnare s-a depășit, afișarea statisticilor referitoare la împrumutile efctuate în cadrul bibliotecii, etc.
Administrație – această parte a aplicației se referă la actualizarea stocurilor existente în bibliotecă, prin adaugarea de noi resurse, respectiv, la introducerea de noi utilizatori sau modificarea datelor celor deja existenți. Prima dintre acțiunile enumerate în cadrul acestei secțiuni a aplicației implică generarea de coduri unice pentru cărțile noi introduse. Acest lucru se poate face folosind un algoritm implementat prin intermediul calculatorului, sau folosind un dispozitiv de etichetare (generator/cititor de coduri de bare). Referitor la introducerea de noi utilizatori, programul va genera un user de autentificare în aplicație conform unei combinații între numele, prenume și numărul matricol al elevului (de exemplu: ionescu.maria24519), iar parola, va fi generată printr-un algoritm de randomizare efectuat de către calculator. Pentru a evita furtul identității, sau folosirea contului de către o altă persoană, datele de autentificare vor fi înmânate personal, fiecărui elev în parte la prima utilizare a bibliotecii.
Dintre avantajele aplicației menționăm faptul că interfața grafică pentru interacțiunea cu utilizatorului, pe care urmează să o analizăm pe parcursul subcapitolului următor, este realizată într-un mod cât mai simplu de folosit, uzitându-se metafore de proiectare specifice domeniului biblioteconomiei, ce o fac să fie intuitivă și pentru persoanele care nu sunt familiarizate cu lucrul cu calculatorul.
3.2. Funcționalitățile aplicației
Comparativ cu sistemul Koha, sistemul Liberty beneficiază de anumite module dedicate pentru bibliotecile școlare. Aceste module sunt împărțite pe categorii de instituții școlare, fiecare dintre ele beneficiind de câte un pachet potrivit pentru tipul de școala pentru care urmează a fi folosit: sisteme pentru grădinițe, pentru școli primare, secundare, pentru licee. În cele ce urmează enumerăm câteva dintre aceste pachete, evidențiind cele mai importante module pentru fiecare în parte:
Primary school (școală primară) – deviza sub care a fost realizat acest pachet este: ″Inspiră, explorează și conectează mințile tinere cu Oliver și Alice″. După cum se sugerează în deviza acestui pachet, este alcătuit din două module: Oliver, respectiv Alice menite să vină în ajutorul următoarele generații de profesori, școli și biblioteci ajutându-le în explorarea formei de învățare informatizată. Astfel, Oliver este un sistem complet integrat, bazat pe soluții web de management de bibliotecă, construit pentru a facilita procesul de predare și de învătare în școlile primare și secundare, în timp ce Alice este una dintre cele mai populare sisteme de bibliotecă bazate pe Windows. Fiecare dintre aceste două sisteme oferă elevilor un portal animat cu informații din toate domeniile de interes.
Colleges (Licee) – deviza sub care a fost conceput acest pachet este ″Administrează, conectează, interacționează și raportează″, reprezentând un pachet ce vine în ajutorul gestionării resurselor bibliotecii astfel încât să fie ușor de accesat pentru întreaga școală. La fel ca și cele anterioare, și acest pachet este dezvoltat tot sub forma unui sistem web, permițând accesul permanent (24/7) la reusrsele în format electronic deținute de biblioteca școlii, ceea ce face ca biblioteca școlară să devină un mediu dinamic de învățare. Utilizatorilor acestui pachet li se oferă posibilitatea de a-și personaliza profilele prin salvarea căutarilor efectuate, a listelor de lectură, setarea de alertări, etc. Pe lângă acestea, pachetul oferă asistență online, prin email sau telefon, la solicitarea utilizatorilor.
Caracteristici ale pachetelor pentru bibliotecile școlare oferite de sistemul Liberty:
Tehnologie SQL – utilizată pentru gestionarea resurselor;
Interfață și programare integral bazate pe tehnologia Web;
Căutare se efectuează nu doar pe titluri, autori ci și în conținutul fișierelor electronice;
Funcționalități de tip SMS și e-mail;
Catalogare rapidă Z39.50;
Recunoaștere amprentă;
Capabil să se conecteze la mediile de învățare virtuală: Moodle, SharePoint, etc;
Acces la fișiere multimedia;
Integrare cu sistemul de management al elevilor;
Rapoarte cu statistici;
Personalizare rapoarte (inclusiv grafice, sau diagrame);
Generare rapoarte în fișiere de diverse formate (PDF, Excel, Word);
Interfete de căutare intuitive (Olly! Junior Interface);
Reprezentare pe harta bibliotecii a locului (rând, raft) unde se află resura căutată;
Gestionarea profilului – rezerve, reînnoire, cerere, alertare, revizuire rezultate salvate;
Interacționare și interconectare cu alte biblioteci;
Recenzii ale anumitor cărți;
Memento-uri;
Opțiuni de catalogare pentru gestionarea cât mai eficientă a resurselor;
Salvarea de imagini cu coperta cărților și icon-uri de identificare a resurselor (în funcție de catgorie, grup, domeniu);
Sistemele pentru bibliotecile școlilor primare oferă facilitatea de a folosi cât mai puțin tastele, prin opțiuni de tip click-view a resurselor;
Suport multilingvistic;
Facilități de administrare a fișierelor video (arhivare);
Sistem de generare și scanare coduri de bare;
Sistem de conectare la dispozitive periferice (imprimantă – pentru printare rapoarte);
Facilități de conectare la distanță (opțiune de instalare remote);
Opțiuni de instruire a utilizatorilor;
Setare drepturi de împrumut pe categorii de utilizatori sau chiar personalizat în mod individual pe utilizatori.
Având ca punct de plecare aceste facilități pe care le oferă sistemul de management al bibliotecilor Liberty, prin pachetele dedicate bibliotecilor școlare, în continuarea acestui capitol vom prezenta detaliat fiecare opțiunile sistemului propus de noi.
Așa cum am observat pe parcursul capitolelor descrise până în acest punct, aplicația poate fi împărțită în două sub-aplicații: partea de administrare (această parte face referire la bibliotecar și funcțiile asignate acestuia, cum ar fi introducerea de noi resurse în bibliotecă, introducerea de utilizatori noi, monitorizarea permanentă a statusului cărților, raportare, etc) și cea de-a doua parte, de accesare a resurselor bibliotecii (aceasta făcând referire la utilizatori și acțiunile pe care le pot efectua după autentificarea lor în site-ul bibliotecii).
Mergând pe același scenariu pe care l-am descris la primul punct al acestui subcapitol (3.1), vom identifica și explica toate funcționalitățile ce urmează a fi implementate în sistemul informatic pe care l-am propus în lucrarea de fața.
Fiind vorba despre două tipuri de utilizatori (personalul bibliotecii, respectiv elevii), ale căror date și acțiuni trebuie gestionate și securizate, va trebui ca aplicația să ofere posibilitatea autentificării fiecărui utilizator în parte. În figura de mai jos (3.2.1) prezentăm pașii pe care aplicația îi execută în momentul în care un utilizator se logează în aplicație. La accesarea site-ului aplicației, se oferă utilizatorului un formular de autentificare ce conține două câmpuri, în care își va introducere numele de utilizator și parola personală, alături de un buton de selecție a tipului de utilizator în care se încadrează, personal bibliotecă, respectiv elev. Aplicația va verifica dacă datele introduse sunt corecte, permițând sau nu accesul către restul aplicației. În cazul în care datele introduse sunt incorecte, se va afișa pe ecran un mesaj de atenționare și marcare a datelor introduse greșit, urmând a fi redirectat către formularul de logare.
Fig. 3.2.1. Autentificare utilizator
Administrare
Dacă utilizatorul autentificat este bibliotecarul, aplicația îi va pune la dispoziție o serie de facilități, necesare gestionării cât mai bune a resurselor bibliotecii.
Adăugarea de noi resurse (3.2.2.) la cele existente deja în cadrul bibliotecii. Inițial bibliotecarul va introduce datele de identificare ale cărții, pentru a verifica dacă mai există și alte exemplare din sursa respectivă. În cazul în care, resursa respectivă este la prima apariție în bibliotecă, se vor salva toate informațiile referitoare la această resursă prin completarea unui formular ce conține toate câmpurile necesare identificării ulterioare a cărții. Aplicația va genera un cod unic de identificare a resursei respective, pe care bibliotecarul îl va scrie pe cartea respectivă. În situația în care resursa care se dorește să fie adăugata la cele deja există este identificată ca fiind deja în stocurile bibliotecii, se vor completa doar numărul de exemplare noi, urmând ca aplicația să genereze câte un număr de identificare pentru fiecare dintre acestea.
Fig. 3.2.2. Introducere resursă nouă
Pe lângă opțiunea de introducere a cărților împrumutate, bibliotecarul va putea să creeze conturi de acces pentru utilizatorii noi ai aplicației. Fiind în era calculatoarelor, când toți elevii au acces la un calculator personal cu acces la Internet, sau de la o sala IT din cadrul instituției unde învață, la prima accesare a aplicației, neavând un cont, va trebui să facă o cerere de creare a unui cont nou. Toate aceste cereri vor fi administrare de către bibliotecar. Astfel, acesta va primi o alertare atunci când s-a făcut o nouă cerere de creare de cont, pe care va urma să o aprobe. Mecanismul de cereri de creare de cont al aplicației pe care îl propunem funcționează în mod asemănător creării unui cont pe orice alt site, sau mai precis pe forumurile de discuții, unde se așteaptă aprobabrea unui moderator până la validarea și posibilitatea de utilizare a acestui cont creat.
Urmărind scenariul, pe partea de facilități ale bibliotecarului, apare aprobarea de împrumuturi (fig. 3.2.3.). În momentul în care un elev vine la bibliotecă pentru a ridica resursa dorită spre a fi împrumutată (pentru care a făcut anterior cerere de împrumut și este disponibilă), bibliotecarul, verifică lista de cereri împrumut, identificând elevul și cartea pe care o dorește. Aplicația oferă informații despre locul în care se află cartea respectivă, pentru a fi mai ușor de identificat în resursele bibliotecii (rând, raft). Bibliotecarul va selecta numărul de identificare al cărții oferite elevului (în situația în care sunt mai multe exemplare disăponibile programul va oferi o listă de selecție cu toate numerele de identificare ale acestora), o va înmâna elevului și va apăsa pe butonul de aprobat la cererea respectivă. În acest moment, se va face o actualizare asupra stocurilor bibliotecii, prin scăderea cu unu a exemplarului împrumutat, iar elevul va trece în lista de elevi cu cărți împrumutate. Scenariul de mai sus corespunde situației în care elevul își face rezervarea pentru o anumită carte prin intermediul site-ului, ulterior venind la bibliotecă pentru a o ridica. În situația în care elevul vine direct la bibliotecă pentru căutarea și ridicarea unei resurse, bibliotecarul va folosi opțiunea de împrumutare directă (fig. 3.2.4.) oferită de aplicație, ce constă în căutarea resursei, urmată de verificarea stocurilor. În situația în care un exemplar este disponibil, se va identifica elevul și se va aproba împrumutul.
Fig. 3.2.3. Aprobare împrumut
Fig. 3.2.4. Împrumut direct
O altă opțiune a acestei aplicații mai este reprezentată de returnarea împrumutului (fig. 3.2.5.). Bibiliotecarului i se va oferi lista cu resursele împrumutate și elevii care au împrumutat cărțile respective, în care se poate face o căutare după numărul de identificare a cărții sau numărul de identificare al elevului. La efectuarea returnării, programul va actualiza stocurile, adăugând cartea returnată la exemplarele existente în bibliotecă, și elevul va fi eliminat de pe lista cu împrumuturi.
Fig. 3.2.5. Returnare resursă bibliotecă
Alte facilități oferite pentru personalul bibliotecii mai sunt generarea diverselor rapoarte, obținute în format PDF, Word, sau Excel, sub formă tabelară, sau diagrame grafice. Pe lângă acestea bibliotecarul are posibilitatea vizualizării și consultării în permanență a listelor de împrumuturi, de cereri de împrumut, listelor de așteptare, etc.
Accesare resurse
După autentificarea în aplicație cu un cont de elev, aplicația pe care o propunem oferă facilități și opțiuni necesare fiecărui utilizator pentru accesarea resurselor bibliotecii. Astfel, utilizatorii vor avea în permanență acces la cataloagele cu resursele bibliotecii, și la fișierele în format electronic. Însă, facilitatea despre care vom discuta în mod detaliat în cadrul acestui paragraf este opțiunea de efectuare a unei cereri de împrumut. Așa cum am văzut în paragraful anterior, utilizatorilor li se oferă posibilitatea să caute o resursă în cadrul unei biblioteci, să îi verifice disponibiltatea, să o rezerve, urmând ca mai apoi să meargă la bibliotecă și să o ridice.
Prin accesarea opțiunii de rezervare a unei cărți, utilizatorul va fi direcționat către un formular de căutare a unei resurse. Formularul este unul complex, căutarea putând fi făcută după mai multe criterii cum ar fi: tipul de resursă (multimedia, carte, curs, manual, etc), categoria din care face parte, domeniu de interes, titlul, editura, numele autorului, anul apariției, etc. În urma căutării, utilizatorului i se vor afișa rezultatele obținute în funcție de criteriile și datele introduse, pentru fiecare dintre ele specificându-se disponibilitatea. Se poate bifa cartea pe care o dorește și să se efectueze cererea de împrumut. În acest moment, cererea de împrumut va apărea în lista de cereri pe care o poate vizualiza bibliotecarul atunci când elevul va merge la bibliotecă pentru a-și ridica documentul cerut spre împrumut. În cazul în care cartea nu este disponibilă (există în baza de date a bibliotecii, însă la momentul respectiv este împrumutată altor elevi), elevului i se oferă posibilitatea de a trece cererea pe lista de așteptare. Această listă, este în permanență verificată de sistem (atunci când se face o returnare, se verifică dacă resursa respectivă există în lista de așteptare), în momentul în care va deveni disponibilă fiind informat primul elev care a cerut-o de disponibilitatea ei.
Fig. 3.2.6. Efectuare cerere împrumut
Pe lângă aceste facilități, utilizatorul de tip elev are în permanență acces la lista proprie de împrumuturi, alertare în situațiile în care termenele limită se apropie de finalizare, modificare parolei personale, acces la fișierele electronice ale bibliotecii.
3.3. Interfața cu utilizatorul
Interfața cu utilizatorul, permite acestuia să comunice cu aplicația, prin intermediul obiectelor garfice, cum ar fi butoane, ferestre, casete de validare, meniuri, etc. Acționarea asupra acestora se face folosind dispozitive de intrare precum tastatura sau mouse-ul.
Interfața cu utilizatorul pentru aplicațiile de bazate pe web, de tip gestionare a sistemelor de bibliotecă sunt implementate sub forma unui site web, implementarea sa, facându-se cu ajutorul limbajului HTML, a foilor de stil în cascadă (CSS) și a programului Adobe Photoshop, descrise într-un capitol anterior.
Sistemul de gestiune a resurselor bibliotecilor Koha oferă posibilitatea modificării aspectului grafic al interfeței aplicației, prin setarea proprietăților diferitelor elemente ale aplicației. În imaginea alăturată (fig. 3.3.1) se observă cum poate fi modificată atît culoarea de fundal a aplicației cât și sigla instituției care folosește aplicația.
Fig. 3.3.1. Modificare proprietăți sistem Koha
În teoria realizării interfețelor cu utilizatorul, un accent important se pune pe realizarea unei interfețe cât mai intuitivă și ușor de utilizat, așa numitul aspect user-friendly (prietenos cu utilizatorul). Pentru realizarea acestui țel, cea mai des întâlnită metodă este aceea de a uzita metafore din lumea reală. Prin termenul de metaforă se înțelege identificarea acelor elemente grafice, cunoscute de o masă mare de utilizatori (în special cei cărora le este destinată aplicația) și folosirea lor în locurile unde ar putea ajuta la identificare funcționalităților unei aplicații. Dintre cel mai des întâlnite în programele de calculator, enumerăm: folosirea unei lupe, pentru a sugera mărirea (zoom-ul), sau a unui binoclu pentru a sugera căutarea. De asemeni, mai amintim litera X colorată în roșu, utilizată pentru închiderea sau în diverse situații ștergerile, creionul pentru opțiunile de editare, etc. În imaginea alăturată prezentăm câteva dintre metaforele folosite de sistemul Koha.
Fig. 3.3.2 Metafore utilizate la interfața cu utilizatorul
O altă metodă folosită la crearea unor aplicații intuitive și cât mai ușor de utilizat, este reprezentată de uzitarea mesajelor sau a culorilor de atenționare. De exemplu, înaintea unei acțiuni ireversibile (cum ar fi ștergerea unei înregistrări) se va afișa un mesaj de forma: sunteți sigur că doriți să ștergeți utilizatorul x din baza de date? Ca și exemplu pentru utilizarea culorilor în scop de atenționare, menționăm situația în care se marchează cu o culoare diferită (de obicei se folosește roșu) anumite câmpuri care sunt obligatoriu a fi completate pentru validarea unui formular. De exemplu, la introducerea unei adrese a utilizatorului, sistemul Koha marchează prin folosirea culorii roșii obligativitatea completării câmpului Address, pentru ca ulterior formularul să poată fi validat (fig. 3.3.3.).
Fig. 3.3.3. Marcare prin culoare a câmpurilor obligatorii
3.4. Analiza de risc
Datorită faptului că aplicația conține informații asupra resurselor unei instituții publice, în situația de față, biblioteca unei școli, și totodată informații personale ale elevilor care utilizează aceste resurse, la care nu trebuie să aibă acces oricine, se va urmări încă de la început ca aplicația să fie cât mai securizată. Prin urmare se vor lua următoarele măsuri:
aplicația va fi compatibilă cu ultimele versiuni de servere MySQL și PHP, ceea ce va spori securitatea informațiilor stocate (ultimele versiuni au întotdeauna o securitate mai ridicată față de cele anterioare).
Fișierul de legătură cu baza de date se va afla într-un folder securizat cu .htacces astfel încât utilizatorii să nu aibă acces direct la el.
Se va opta pentru găzduirea site-ului pe un server care are facilitatea de backup incremental continuu și care respectă normele de disaster recovery, astfel încât, în cazul coruperii datelor, restaurarea să se poată face în cel mai scurt timp, iar datele restaurate să fie ultimele care erau prezente pe server.
Se va evita folosirea claselor despre care se știe ca au deficiențe de securitate și prin care diverse persoane ar fi putut avea acces la baza de date.
Se știe că nu există niciun site securizat 100%, prin urmare, observăm următoarele vulnerabilități:
parolele de acces nu sunt criptate în baza de date;
site-ul nu dispune de un certificat SSL (Secure Sockets Layer), ceea ce face vulnerabile datele care sunt transmise de utilizator către server.
În comparație cu datele pe care acest site le conține, considerăm că nivelul de securitate pe care l-am descris va fi suficient, dar datorită faptului că mediul cibernetic și totodată atacurile cibernetice sunt într-o continuă dezvoltare, trebuie avut în vedere necesitatea continuă de implementare a noi soluții de securitate.
Utilizarea aplicației
Așa cum am punctat pe parcursul capitolelor anterioare, aplicația trebuie să fie cât mai ușor de utilizat, ținându-se cont de faptul că va fi folosită de persoane care nu sunt deprinse cu lucrul cu calucaltorul. În general, aplicațiile de tip web oferă programatorilor posibilitatea dezvoltării unei interfețe complexe, cu multe funcționalități, însă ușor de utilizat. De asemeni, la dezvoltarea acestor aplicații se va uzita, în tandem cu tehnologiile web și tehnologiile de dezvoltare a aplicațiilor grafice, astfel încât să se poate crea un background al aplicației, sau iconițe de identificare cât mai bine a funcționalităților pe care le oferă aplicația.
Pe site-ul sistemul integrat pentru gestiunea bibliotecilor Koha, ni se oferă un manual de utilizare, cu explicitarea pas cu pas a tuturor funcțiilor pe care le oferă acest sistem. În cadrul acestui capitol vom descrie câteva dintre aceste funcționalități, pornind de la documentația oferită.
Achiziție – definește tipul achiziției conform regulilor pe care le folosește biblioteca. Există două tipuri: achiziție de tip normal, care se referă la achizițiile plătite și tipul simplu, care se referă la achizițiile simple, ce nu includ buget. Ca și recomandare, autorii documentației sugerează folosirea primului tip de achiziții.
Catalogarea – această opțiune utilizată la introducerea și marcarea noilor achiziții în cadrul bibliotecii, are mai multe preferințe dintre care utilizatorul le poate alege pe cele care coincid, sau se apropie cât mai mult de dorințele sale. Dintre acestea enumerăm: advancedMARCeditor – determină dacă, la modul de editare sau creare a înregistrărilor, câmpul MARC va fi sau nu prezent. Dacă setarea va fi marcată cu Off, se va activa modul de etichetare, în caz contrar, acesta va fi dezactivat (fig. 4.1.). Ca și recomandare, se sugerează activarea modului etichetare, mai ales în cazul integrării modului biblios, oferit de LibLime, care poate fi atașat sistemului Koha.
Fig. 4.1. Activare/dezactivare modul etichetare
autoBarcode – această facilitate este recomandată a fi folosită de bibliotecile care doresc să aibă posibilitatea generării codurilor de bare prin intermediul sistemului Koha. Există trei modalități de generare a acestor coduri de bare: incremetal, anual (în fața numărului generat se adaugă și anul generării, iar secvența de numărare se resetează la începutul fiecărui an; ex: 2010-58978543) și hibrid (posibilitatea setării unui mod propriu de coduri de bare).
Clasificarea resurselor – este un câmp ce sugerează categoriile din care fac parte resursele. Acest câmp se poate seta în funcție de ce fel de resurse deține biblioteca respectivă, după cum urmează: anscr (pentru resurse audio), ddc (clasificare decimală), lcc (resurse pentru congres), sudocs (documente guvernamentale), udc (clasificare decimală universală), z (alt tip de clasificare). Se recomandă alegerea acestui câmp astfel încât să reflecte cât mai bine tipul documentelor gestionate în bibliotecă.
IntranetBiblioDefaultView – această opțiune determină modul de afișare a înregistrărilor bibliografice atunci când un utilizator caută o anumită resursă în cataloage. Se va alege din trei opțiuni: normal, marc și isbd. Chiar dacă se va alege să nu fie afișate codurile de identificare (isbd, marc), acestea pot fi totuși vizualizate prin inspectarea elementelor prin acționarea butonului click de mouse pe articolul dorit. Se recomandă folosirea opțiunii normal, pentru a nu încărca tabelul cu rezultate.
ISBD – se determină modul de afișare a ISBD-ului. Standardul internațional de de descriere bibliografică (ISBD) a fost introdus pentru prima dată de Federația internațională a bibliotecilor (IFLA) în anul 1969, cu scopul de a oferi indicii descriptive de catalogare. Astfel, se urmărește facilitarea schimbului de materiale între biblioteci.
Itemcallnumber – se determină care dintre marcatori să fie folosiți atunci când se face o căutare într-un catalog. Această valoare se setează prin oferirea codului din câmpul Marc (ex: 050, 082, etc) în asociație cu codul subcâmpurilor ($a, $b), fără păstrarea delimitatorilor, rezultând un cod de forma 082ab.
LabelMarcView – se determină modul de afișare a câmpului MARC, economic sau standard. Modul economic va fi afișat doar atunci când fieldurile se vor repeta. De exemplu, vor fi afișate doar primele 500 de note și 650 de titluri.
Marc – setare care determină folosirea unei baze de date nemarcate. Cele mai multe biblioteci folosesc aceast câmp pentru resursele bibliografice și de aceea este recomandat să nu se modifice valoarea lor.
Marcflavour – așa cum și numele o sugerează se definește stlul câmpului MARC: marc21, respectiv unimarc, folosite pentru codare. Primul dintre cele două reprezintă standardul pentru Statele Unite, Canada și Marea Britanie, în timp ce unimarc reprezintă o variațe a standardului marc21 ce este folosit în alte state, precum Italia, Rusia, etc. Se recomandă alegerea unuia dintre cele două în funcție de standardul folosit.
MARCOrgCode – această opțiune definește codul Marc al organizației, în funcție de codurile unice care pot fi accesate la pagina web http://prelaunch.agencyofrecord.com/koha/library/resources/documents/wayne-state-university-koha-3.0-reference-manual.pdf. Acesta este folosit pentru a identifica biblioteca, și se recomandă să se folosească exact codul găsit la pagina menționată anterior.
NoZebra – este un index de tip open-source ce oferă un motor de căutare ce poate fi integrat pentru lucrul cu sistemul Koha. În conformitate cu site-ul său (http://ww.indexdata.com/zebra), Zebra suportă o colecție mare de baze de date, oferind instrumente de căutare rapidă. Zebra permite accesul la codurile MARC ale înregistrărilor făcute cu Koha printr-o căutare de tip Boolean. Acest mod de căutare este superior celui oferit de Koha, fiind recomandat atât bibliotecilor cu mai mult de 25 000 de articole, cât și celor cu coleții restrânse.
NoZebraIndex – această opțiune oferă posibilitatea identificării definirii curente folosite de căutările Koha, în cazul în care sistemul de căutare Zebra nu este activat.
RoutingSerials: această opțiune determină către cine să fie direcționate resursele , dintre persoanele care doresc obținerea uneia dintre ele. Astfel, se va stabili o listă de persoane pentru fiecare căutare în parte. Se recomandă folosirea acestei opțiuni, pentru a asigura acoperirea tutror cerințelor venite din partea persoanelor.
Z3950AuthorAuthFields: definește care câmp MARC să fie folosit pentru înlocuirea autorității numelui personalcu autorul și autoritatea bibliografică. Această opțiune se aplică doar în cazul folosirii codării unimarc.
Circularea resurselor
AllowHoldPolicyOverride: această preferință este o setare binară ce are scopul de a controla modul de circulare a resurselor prin respectarea unor reguli de apartenență. Setarea acestei valori pe Off previne neținerea cont de aceste reguli, în timp ce, dacă această valoare este setată pe On, se permite încălcarea lor. Această opțiune este extrem de importantă, deoarece determină cât de stricte sau nu sunt regulile de împrumut permise de o bibliotecă. Se recomandă alegerea valorii Off pentru a putea fi evitate abuzurile asupra sistemului, ceea ce determină crearea unui sistem inflexibil cu privire la regulile de împrumut.
AllowHoldsOnDamagesItems: La fel ca si parametrul anterior, și acesta oferă posibilitatea setării uneia din două valori, oferind controlul asupra articolelor care sunt marcate ca și demaged (distruse). Astfel se va interzice sau nu împrumutarea articolelor cu acest statut. Această stare este importantă deoarece ajută la administrarea resurselor care sunt în proces de reparare, prin prevenirea efectuării unei cereri de împrumut asupra lor. Astfel, se va asigura oferirea doar a resurselor de calitate (noi sau doar dupe ce sunt reparate) către utilizatori.
AllowNotForLoanOverride – un alt parametru cu valoare binară, ce are rolul de a controla articolele și resursele care nu sunt destinate împrumutului. Un exemplu concludent, ar fi articolele care sunt doar pentru sala de lectură. Prin setarea acestui parametru se va putea interzice accesul la articolele cu acest statut.
AllowOnShelfHold – permite controlarea resurselor care sunt marcate ca nefiind pe raft.
AutomaticItemReturn – această opțiune permite, prin setarea uneia dintre cele două valori binare modul de revenire automată a unei resurse (atunci când este returnată) pe ramura de care a aparținut sau nu. Dacă valoarea parametului este Off, atunci când un articol va fi returnat, administratorul bibliotecii va fi întrebat dacă dorește plasarea acestuia în același loc/status anterior împrumutului. Un exemplu de utilizare a acestei opțiuni ar fi aceea că, atunci când primește o carte returnată, în cazul în care bibliotecarul observă că are nevoie de reparații, resursa va fi trecută cu statusul în proces de reparare, neputând fi accesată până la repararea acesteia.
CeilingDueDate – permite setarea unei date de scadență a resurselor împrumutate. Acest lucru seminfică faptul că niciunul dintre articolele care au setată o dată scadentă vor trebui să fie restituite înainte de expirarea acelei date. Valoarea va fi setată respectând formatul de dată AAAA-LL-ZZ pentru resursele înregistrate sub standardul ISO, respectiv formatul LL/ZZ/AAAA, pentru resursele înregistrate sub standardul metric.
CircAutocompl – această opțiune este reprezentată printr-o setare cu valoare binară ce determină activarea sau dezactivarea auto-completării câmpurilor de circulație. Prin setarea acestui câmp cu valoarea On se va activa un popup de sugestii atunci când se vor completa valori pentru diferite câmpuri. De exemplu, dacă utilizatorul completează Mi în câmpul nume, se va sugera într-un pop-up Mihai Eminescu, Mihail Sadoveanu, etc. Se recomandă setarea acestui parametru, deoarece funcția de auto-complet, este de cele mai multe ori utilă la ajungerea valorii căutate.
emailLibrarianWhenHoldIsPlaced: această opțiune cere sistemul Koha să notifice personalul bibliotecii, printr-un email de fiecare dată când un utilizator cere o resursă. S-a dovedit însă că această opțiune nu este foarte practică, deoarece căsuța de e-mail se va umple extrem de repede cu cererile efectuate. De aceea s-a procedat la implementarea și utilizarea unei interfețe diferite pentru gestionarea cererilor de împrumut efectuate de utilizatori. Astfel că, se recomandă ca acest parametru să fie setat pe valoarea negativă, Off.
FinesCalendar – această preferință determină modul în care vor fi cumulate amenzile pe parcursul perioadelor în care biblioteca este închisă. De exemplu, în cazul vacanțelor, administratorul bibliotecii decide dacă amenzile se vor acorda cumulând și zilele acestea sau nu. Astfel, se va alege dintre două opțiuni: necumularea penalizărilor, sau ignorarea calendarului (prin cumularea acestor zile la zilele de penalizare). Prin setarea acestui paramatru pe prima valoare, de necumulare a amenzilor, administratorului i se va oferi posibilitatea de a vedea calendarul bibliotecii, și a selecta în care din aceste date se aplică această opțiune. Pentru a ajunge la modulul de calendar al aplicației se va merge pe linkul Home – Tools – Calendar, așa cum este prezentat în imaginea de mai jos.
Fig. 4.2. Selectarea modulului de calendar al aplicației
După ce s-a ajuns la acest modul, se va alege crearea unei perioade de vacanță pentru o anumită bibliotecă, pentru o anumită perioadă de timp (fig. 4.3.).
Fig. 4.3 Definire perioadă vacanță
Pentru a nu se creea inconveniente neplăcute se recomandă setarea acestui parametru pe valoarea ce nu implică cumularea zilelelor de vacanță la zilele de penalizare prin mărire amenzilor.
În strânsă legătură cu opțiunea pe care am detaliat-o anterior mai există și opțiunea finesMode, ce oferă posibilitatea stabilirii modului de penalizare. Există trei moduri care pot fi setate separat: modul off, prin neaplicarea niciunui fel de amendă, modul test, prin trimiterea unei notificări în cazul în care data de returnare a fost depășită, și modul production, ce contorizează zilele de penalizare începând cu ziua imediat următoare zilei în care expiră data de returnare. Este important de știut faptul că, aplicația folosește fișiere de tip cronuri, setate să verifice în fiecare zi dacă a trecut sau nu datele de returnare ale resurselor, iar în cazul în care aceste date au fost depășite se efectuează penalizările conform valorii stabilite acestui parametru.
globalDueDate – această opțiune setează o dată generală de returnare a resurselor împrumutate. Această opțiune este importantă mai ales atunci când sistemul este folosit pentru bibliotecile școlare, care sunt închise pe perioada vacanțelor școlare și presupun returnarea tuturor materialelor împrumutate până la această dată. Pentru setarea unei astfel de date se va accesa linkul Administration – Global System Preferences, după cum se poate observa în figura 4.4. Odată ajuns în acest meniu, se va seta tabul I18N/L10N, se va adăuga o nouă preferință alegându-se data dorită. Toți acești pași sunt descriși în figura 4.5. În general această opțiune se recomandă a fi utilizată de bibliotecile școlare, universitare, etc, în timp ce pentru bibliotecile publice nu se recomandă setarea acestei date.
Fig. 4.4. Accesarea meniului de configurare a unei date generale de returnare a împrumuturilor
Fig. 4.5. Setarea datei generale de returnare a împrumuturilor
HoldCancelLength – această setare stabilește durata de zile după care o carte reservată este anulată. Această opțiune poate fi ușor confundată cu opțiunea ReservesMaxPickUpDelay, opțiune ce setează numărul de zile în care un utilizator are posibilitatea să vină pentru a ridica articolul la care a făcut în prealabil cererea de împrumut. Deși par asemănătoare, diferența dintre cele două opțiuni este aceea că prima este concepută pentru a anula cererile de împrumut mai vechi, ce nu au ajuns să aibă statutul de rezervat, cum ar fi transferurile între biblioteci, sau articolele pierdute printre articolele bibliotecii. Pentru acest parametru se recomandă să i se atribuie valoarea no value, sau să se seteze o valoare mare, de genul 365 de zile, pentru a fi sigur că cererile nu sunt anulate în mod incorect.
HomeOrHoldingBranch – stabilește ce poate fi făcut cu un articol împrumutat după ce acesta a fost returnat, făcând referire la situațiile în care biblioteca împrumută materiale din ramuri diferite. În esență se decide dacă materialul respectiv este înnapoiat ramurii de care aparține, sau dacă se mai păstrează pentru câtva timp în bibliotecă. Cele două valori care se pot atribui acestui parametru sunt holdingbranch, respectiv homebranch. Holdingbranch-ul oferă posibilitatea împrumutului. Atunci când o astfel de resursă este returnată, se va afișa un mesaj că ea aparține altei biblioteci și ar trebui returnată. Acest mesaj poate să nu fie luat în considerare, iar cartea să rămână în bibliotecă pentru a mai fi împrumutată și altor doritori. Cea de-a doua opțiune, limitează refolosirea resursei, fără ca în prealabil să fie returnate bibliotecii aparținătoare. Această setare va putea fi găsită în Global Szstem Preferences – Admin side bar (fig. 4.6.). Se recomandă folosirea valorii inițiale care este holding branch, deoarece majoritatea bibliotecilor folosesc serviciul de interoperabilitate permițând reîmprumutarea resurselor preluate de la alte biblioteci, fără a fi returnate la biblioteca aparținătoare după fiecare împrumut.
Fig. 4.6. Meniul de administrare a cărților împrumutate de la alte biblioteci
IssuingInProcess: această opțiune determină dacă un utilizator poate solicita alte articole în situația în care are o carte împrumutată la care i-a expirat data predării sau dacă s-a depășit numărul maxim de penalizări pe care le permite o bibliotecă. Spre exemplu, presupunem că avem o bibliotecă a cărei politică nu permite penalizări mai mari de 5$. În cazul în care un utilizator al acestei biblioteci are deja o penalizare de 4,5$ și dorește împrumutarea unui CD al cărui penalizare (în cazul unei întârzieri) este de 0,5$, conform acestui câmp se va decide dacă se oferă sau nu împrumutul respectiv. Dacă parametrul IssuingInProcess este setat pe On, i se va permite împrumutul respectiv, în caz contrar, nu se va permite împrumutarea acestuia. Pentru acest paramteru se recomandă setarea lui pe valoarea On.
itemBarcodeInputFilter – această opțiune activează filtrul pentru utilizatorii schemelor Follett pentru codurile de bare, specificând când să fie folosit tipul T la catalogarea articolelor. În această schemă un cod de bare de genul T0003452 folosește cifrele de 0 ca și filtru de umplere a numerelor care au mai puțin de un total de 7 cifre. Pentru a se asigura un standard în schema codurilor de bare administratorii de biblioteci care folosesc sistemul integrat Koha aleg formatele de tip T, cuecat sau whitespace. Acesta din urmă este echivalent cu valoarea Off a parametrului pe care îl explicăm, în timp ce cuecat este o tehnologie de scanare a codurilor de bare ce este folosit mai rar în bibliotecile actuale. De aceea se recomandă folosirea unuia dintre primele două tipuri de formate.
Maxoutstanding – preferință ce setează limita de penalizare pe care o poate atinge un utilizator până a-i fi suspendate drepturile de a face o nouă cerere de împrumut. Valorile sunt setate sub forma unor numere, ce reprezintă valoarea moentară pe care administratorul bibliotecii o stabilește pentru aceast parametru. Pentru a schimba această valoare trebuie accesat meniul administration – currencies and exchange rates (fig. 4.7.).
Fig. 4.7. Accesarea meniului de limitare a penalizărilor
Maxreserves – se referă la numărul maxim de împrumuturi pe care îl poate face un utilizator. Inițial valoarea setată este de 15 împrumuturi permise simultan, însă ca și recomandare din partea utilizatorilor sistemului Koha, este ca acest număr să fie de 25 pentru bibliotecile publice, și mai mic, în jurul a 5-10 pentru bibliotecile școlare.
Noissuescharge – această opțiune vine în completarea opțiunii maxoutstanding pe care am detaliat-o mai anterior în cadrul acestui capitol, referindu-se la suma maximă permisă înainte ca unui utilizator să-i fie interzis a mai împrumuta resurse noi din cadrul bibliotecii.
numReturnedItemsToShow – în conformitate cu regulile dezvoltate de ByWaterSolutions, referitoare la câte articole să fie returnate în urma unei interogări, această opțiune permite vizualizarea unui set de resurse returnate la căutările anterioare, fiind astfel utilă în a reaminti utilizatorilor care dintre articole le-au bifat sau nu la căutările anterioare. Limita recomandată este de 20 de articole, aceasta putând fi crescută sau scăzută în funcție de dorințele administratorului.
previousIssuesDefaultSortOrder – această opțiune se referă la ordinea în care rezultatele returnate în urma unei căutări vor fi afișate pentru a putea fi vizualizate de către utilizator. Rezultatele sunt ordonate crescător sau descrescător în funcție de data de expirare a împrumutului. În figura 4.8. este prezentat un exemplu de ordonare crescătoare, respectiv descrescătoare a articolelor bifate (în exemplul de față s-au bifat titlurile: Going Home, respectiv Writing on-line).
Fig. 4.8.a Ordonare crescătoare a articolelor bifate
Fig. 4.8.b Ordonare descrescătoare a articolelor bifate
Printcirculationslips – această setare se referă la posibilitatea de a imprima încasările obținute din penalizări de către bibliotecă. Valoarea on permite imprimarea în mod automat după ce a fost încasată fiecare plată, în timp ce valoarea off se folosește în cazul în care nu se dorește imprimarea încasărilor.
Opțiunile pe care le-am descirs în cadrul acestui capitol sunt doar o parte din totalitatea de opțiuni de care beneficiază programul oferit de Koha. La polul opus, sistemul oferit de Liberty, pe lângă suportul oferit on-line (prin posibilitatea de a contacta în permanență un instructor, care să ofere ajutor și asistență în folosirea programului), mai pune la dispoziție și o documentație complexă, odată cu achitarea costurilor de licențiere a software-ului.
5. Concluzii
Lucrarea de față, cu titlul: „Informatizarea bibliotecilor școlare” este realizată cu scopul înlesnirii modalității de stocare și gestionare permanentă, în timp real, a cărților aflate într-o bibliotecă școlară. Pentru a aduce cea mai bună soluție pentru informatizarea bibliotecilor școlare, vom începe lucrarea de față prin studierea a două dintre cele mai cunoscute sisteme existente în momentul actual pe piață, sublinind acele facilități care se pretează a fi folosite în cadrul unei biblioteci școlare.
Prin lucrarea de față propunem un sistem de tipul unei aplicații software pentru monitorizarea permanentă a stocurilor de cărți deținute de o bibliotecă școlară. Acest sistem își dorește să înlesnească cât mai mult muncă depusă de bibliotecar printr-o mai sigură colectare și stocare a datelor clienților, acțiunilor acestora în cadrul bibliotecii și cărților din biblioteca respectiva, prin asigurarea următoarelor funcționalități:
Recepție:
identificarea utilizatorului;
preluare comandă;
returnare împrumut.
Monitorizare și alertare:
vizualizare listă cărți împrumutate;
căutarea în baza de date a unei cărți și afișarea informațiilor despre aceasta;
căutarea în baza de date a unui elev.
Administrație:
gestionarea cărților din bibliotecă;
gestionarea utilizatorilor.
Pentru a putea veni cu o propunere cât mai bună de sistem de gestionare a cărților unei biblioteci școlare, am analizat inițial sistemele deja existente pe piață la ora actuală. Cele două sisteme sunt: Koha, și Liberty. Ambele aplicații au fost dezvoltate sub forma unui site web, la proiectarea și design-ul căruia s-au folosit următoarele tehnologii web: HTML, CSS, PHP și MYSQL în paralel cu software-ul pentru editare și prelucrare de imagine digitală, Adobe Photoshop și software-ul pentru creare, editare și prelucrare video, Macromedia Flash Player.
Sistemul Koha este un sistem complet de management, open-source, distribuit sub forma unui pachet de funcționalități ce include atât opțiuni de bază, cât și opțiuni avansate, care pot fi structurate astfel încât să se adapteze oricărui tip de bibliotecă, indiferent de mărimea sau specificul acesteia.
Liberty este un sistem intuitiv bazat pe interfață web ce oferă acces integrat la toate resursele dintr-o bibliotecă, asigurând un acces ușor și rapid la informațiile care sunt vitale pentru utilizatorii care au nevoie de datele gestionate de acest sistem.
Pentru a întocmi lucrarea pe care am descris-o în cadrul acestui document au trebuit atinse mai multe obiective:
Am ales MySQL ca și sistem de gestionare a bazelor de date, folosit în tandem cu PHPMyAdmin și Navicat pentru proiectarea acestora.
Am ales limbajul PHP, HTML și CSS pentru proiectarea interfeței grafice și accesarea informațiilor din baza de date.
Datorită faptului că este o aplicație web ajută la accelerarea transferului de informații.
Pentru a asigura funcționarea aplicației este necesar ca pe calculatorul care îndeplinește rolul de server să fie instalat WAMP, copiate fișierele aplicației și fișierul cu baza de date. Ulterior aplicația va putea fi rulată de pe orice calculator conectat la internet.
Prin intermediul acestei documentații s-a oferit răspuns la toate întrebările care ar putea veni din partea utilizatorilor aplicației.
Aplicația a fost proiectată astfel încât, pe viitor să fie ușor de implementat și alte facilități conform dorințelor utilizatorilor aplicației.
6. Bibliografie
Bibliografie
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Informatizarea Bibliotecilor Scolare (ID: 149913)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
