Aplicatie Informatica On Line Pentru Gestionarea Cartilor Si Cititorilor Dintr O Biblioteca

CUPRINS

CAPITOLUL 1: STUDIUL SI ANALIZA SISTEMULUI EXISTENT

1.1. Obiectul de activitate

Biblioteca Județeană „Gh. Asachi” Iași este o bibliotecă publică structurată în conformitate cu profilul său enciclopedic și are menirea de a fi la dispoziția comunității prin serviciile și programele oferite, venind în întâmpinarea nevoii de informare, educare și recreere a cetățenilor.

În epoca informației, totul se desfășoară într-un ritm alert. Biblioteca, instituție prin tradiție conservatoare, este supusă unei presiuni sociale și culturale intense, menirea sa ca instituție de cultură și educație fiind extinsă prin servicii moderne de informare și consiliere.
Conform celor mai avizați specialiști, biblioteca publică actuală trebuie să îndeplinească următoarele deziderate:

să pună la dispoziția cititorilor documente culturale și de informare actualizate, în formate cât mai variate și organizate astfel încât accesul la ele să fie accesibil tuturor;

să dispună de personal calificat;

să dispună de programe informatizate care să răspundă normelor internaționale;

să fie conectată la rețele naționale și internaționale de informare.

1.2. Pozitia pe piata

Biblioteca Județeană „Gh.Asachi” Iași, având calitatea de ordonator terțiar de credite bugetare este subordonat Consiliului Județean care are calitatea de ordonator principal de credite bugetare.

Directorul bibliotecii cu șeful departamentului financiar-contabil, elaborează proiectul bugetului propriu de venituri și cheltuieli și îl trimite spre aprobare Consiliului Județean.

Ca instituții subordonate sunt filialele bibliotecii și anume:

FILIALA "MIHAIL SADOVEANU", bd. Alexandru cel Bun nr. 32, bl. H3, parter, deservește cartierele: Galata, Alexandru cel Bun, Dacia.

FILIALA "VASILE ALECSANDRI", str. Petre Țuțea nr. 7, bl. 911, parter, deservește cartierele: Nicolina-C.U.G., Frumoasa.

FILIALA "GARABET IBRĂILEANU", str. Păcurari, nr. 29, deservește cartierele: Păcurari-Canta, Copou.

BIBLIOTECA ATENEU, str. Pictorului nr. 14, deservește cartierele: Tătărași, Metalurgiei, Dancu, Holboca.

Relațiile cu persoane fizice și juridice

Aceste relații privesc sponsorizările și donațiile primite, atât de la persoane fizice, cât și de la persoane juridice.

Relațiile cu Trezoreria Iași

Toate operațiunile de încasări și plăți ale bibliotecii se fac prin Trezoreria Municipiului Iași. Documentele utilizate în cadrul acestor operațiuni sunt:

cecuri,

ordinul de plată,

foi de vărsăminte.

Biblioteca are conturi deschise la Trezorerie pentru fiecare tip de cheltuială, pe surse de finanțare astfel:

cont cheltuieli de personal

cont cheltuieli materiale și servicii

cont cheltuieli de capital

cont venituri proprii.

Relații cu alte instituții finaciare publice privind contribuțiile datorate:

Consiliul Județean;

Casa Județeană de Asigurări de Sănătate (CJAS) – contribuțiile la asigurările sociale de sănătate ale bibliotecii și angajaților acestuia;

Casa Județeană de Pensii – contribuțiile la asigurările sociale de stat;

Administrația Financiară;

Primăria Iași.

Relațiile cu furnizorii

Printre cei mai importanți furnizori ai bibliotecii se numără:

RAJAC Iași (apă),

E-ON (energie electrică);

Romtelecom Iași;

RDS, RCS.

1.3. Date statistice ale activitatii bibliotecii

1920

La 1 octombrie, Primăria Municipiului Iași aprobă constituirea Societății Culturale „Muzeul Orașului Iași” și a Bibliotecii municipalității, la propunerea unor personalități, între care: Gh. Ghibănescu, Orest Tafrali, N. A. Bogdan, Mihai Costăchescu, Sever Zotta. A fost instalată la început împreună cu Muzeul, într-o clădire ce aparținuse Direcției Societății Invalizilor.

1924-1926

N.A. Bogdan alcătuiește primul catalog al bibliotecii.

1935

Biblioteca municipalității devine o instituție de sine stătătoare, cu un buget propriu.

1936-1945

Biblioteca este condusă de Rudolf Șuțu.

1937

La 1 iulie, istoricul N. Iorga, unul dintre importanții donatori de cărți (574 vol.), vizitează biblioteca și consemnează: „întemeierea acestei biblioteci de către Primăria Municipiului Iași este una din cele mai frumoase opere culturale.”

Într-un local din curtea mănăstirii Golia are loc deschiderea oficială a Bibliotecii municipalității. La eveniment au participat oficialitățile orașului, personalități ale culturii, ca: Petre Andrei, Orest Tafrali, Ilie Bărbulescu, Octav Botez, I. Minea sau V. Râșcanu.

1943-1944

Biblioteca – ce deținea peste 24.000 de volume – este mutată într-un local mai mare, pe strada Lăpușneanu, deschizându-se pentru public „complet reorganizată” la 5 ianuarie 1944.

1950

Fondul de carte al bibliotecii se risipește din cauza ravagiilor războiului.

1950-1989

Biblioteca își reîncepe activitatea sub noua denumire de Biblioteca Regională Iași, în câteva săli modeste de la parterul Bibliotecii Universitare.

1950-1952

Trecută oficial în acte ca Bibliotecă regională, ea a fost cunoscută, vreme de aproape două decenii, ca Biblioteca „Ion Creangă”.

1952

Primul director din perioada postbelică: Rodica Langmantel.

1955

Fostul Palat Administrativ devine Palatul Culturii, iar Biblioteca Regională este mutată la parterul acestuia, în aripa stângă.

1956

Este înființată o secție muzicală, cu peste 2000 de discuri.

1958

Director: Traian Țanea.

1960-1984

Director: Constantin Gâlea.

1960

Se pun bazele bibliografiei locale. Sunt introduse în circuitul informațional:Anuarul bibliografic al Județului Iași; sintezele bibliografice: Județul Iași în presa din țară și Viața culturală a județului Iași.

Biblioteca este dotată cu mobilier nou, comandat la o Cooperativă specializată din Rădăuți. Este introdus sistemul accesului liber la raft.

1963

A luat ființă „Studioul artelor”. Clubul „Prietenii muzicii” – program săptămânal de audiții și concerte muzicale, prelegeri de istoria muzicii – susținut de George Pascu.

1968

Biblioteca Regională devine Biblioteca Județeană Iași, cu atribuții metodice mai restrânse.

1983

Biblioteca a primit numele de Biblioteca Județeană „Gheorghe Asachi” Iași. Au fost înființate filialele „1 Mai” și „Tătărași”, iar cele din cartierele Păcurari, Socola, Alexandru cel Bun fie au fost desființate, fie au fost mutate în diferite spații.

1984-1988

Director: Victoria Andrieș.

1987

A fost reînființată Filiala din Păcurari, care s-a adăugat celor trei existente din cartierele Tătărași, Nicolina și Alexandru cel Bun.

1990

Director: Nicolae Busuioc.

Filiala „V. Alecsandri” din cartierul Nicolina este mutată într-un spațiu nou. Biblioteca Județeană și rețeaua de biblioteci comunale sunt reorganizate.

1991

A fost demarat programul „Schimb de bune practici între bibliotecile județene – Compartimentul metodic”.

1992

Are loc prima ediție a Salonului Internațional de Carte Românească, în duplex Iași (octombrie) – Chișinău (aprilie; august).

1992-1998

Procesul de informatizare al bibliotecii parcurge o fază de experiment (1995-1998), având la bază programul ISIS, pe care s-au constituit bazele de date carte curentă și retrospectivă și utilizatori și s-au efectuat tranzacțiile de împrumuturi.

1994

Filiala din cartierul „Alexandru cel Bun” este mutată într-un spațiu nou.

1995

Studioul artelor este denumit Sala „George Pascu”, în amintirea profesorului și muzicologului, care vreme de aproape patru decenii a susținut „Audițiile muzicale”.

1996

Biblioteca Județeană „Gh. Asachi” aniversează 75 de ani de la înființare.

1997

Are loc prima ediție a Simpozionului Național „Carte. Cultură. Cunoaștere”.

1998

Biblioteca Județeană „Gh. Asachi” și Societatea de Limbă Română a Provinciei Voivodina (Republica Serbia) înființează la Novi Sad (Republica Serbia), Centrul Cultural Românesc „Nichita Stănescu”. Sunt înființate noi servicii moderne pentru public – Centrul de Informare Comunitară (C.I.C.) și Centrul Marketing; Centrul de primire și înscriere utilizatori, Oficiul de calcul. Este implementat noul sistem de evaluare a activității prin indicatori de performanță – PROBIP 2000. Este introdus noul program de informatizare al Bibliotecii Județene „Gh. Asachi” și se constituie baza de date a utilizatorilor; conversia bazelor de date din programul ISIS în TINLIB; prelucrarea curentă și retrospectivă pe noul program; înghețarea cataloagelor pe suport tradițional.

2000

Procesul de modernizare a Bibliotecii, continuă cu introducerea codurilor de bare pentru întreg fondul de carte (Secțiile de împrumut pentru Adulți și Copii), elaborarea permiselor cu coduri de bare, utilizarea cititoarelor de coduri de bare; reluarea împrumutului în sistem automatizat pe noul program. Este înființată Secția de artă și colecții speciale „George Pascu”, care cuprinde „Colecția George Pascu” și „Sala de carte juridică”.

2001

august-noiembrie, director interimar: Mihaela Păruș.

Începe procesul de realizare, în sistem automatizat, a descrierii analitice (pe parte componentă) a periodicelor intrate în fondul bibliotecii (bibliografie locală, fișiere tematice, alte bibliografii). A fost demarat procesul de inventariere și descriere, în sistem automatizat, a periodicelor existente și a documentelor audio-vizuale.

Director: Elena Leonte.

2003

Este înființat Centrul de referințe electronice și Internet

2004

Este inaugurat noul sediu al Bibliotecii Ateneu. Biblioteca este cooptată în proiectul de traducere a limbajului de indexare Rameau. Este demarat Proiectul de organizare a Rețelei Metropolitane, prin conectarea la sediul central a primei filiale municipale.

2005

Este inaugurat Compartimentul American Corner, în parteneriat cu Ambasada SUA la București.

2008

Director interimar (februarie-mai): dr. Catinca Agache.

iunie: Director: Prof. univ. dr. Cătălin-Ion Bordeianu.

3 iunie: Este inaugurată Filiala „Mihai Codreanu” și este deschis Centrul Internet pentru persoanele cu deficiențe de vedere, la sediul Filialei Iași a Asociației Nevăzătorilor din România.

5 septembrie: Sunt inaugurate Centrele Internet cu acces public gratuit de la sediul central și de la filialele bibliotecii, cu sprijinul financiar al Fundației „Bill & Melinda Gates”, prin Global Libraries, proiect administrat în România de către Fundația IREX, cu obiectivul declarat de a deschide asemenea centre în toate bibliotecile publice din România.

2009

iunie: Se reia apariția Revistei Cronica, editată de Fundația Culturală Cronica și de Biblioteca Județeană „Gh. Asachi”, cu sprijinul financiar al Consiliului Județean Iași (Redactor-șef: Valeriu Stancu).

1 august: Lansarea programului „Clubul de vacanță”, inițiat de către Serviciul Programe Culturale, cu scopul atragerii copiilor către bibliotecă printr-o gamă diversificată de acțiuni: cursuri de limba engleză, desen, origami, vizionare filme pentru copii etc.

2010

Sediul central al Bibliotecii se mută temporar în sediul fabricii Moldomobila, datorită lucrărilor de reparație efectuate în Palatul Culturii.

2011

Consiliul Județean Iași, în baza Hotărârii nr.133/2011, instituie Premiul anual și Diploma de Excelență pentru „Cel mai bun bibliotecar” și „Cea mai bună bibliotecă publică” din județul Iași, care vor fi acordate în fiecare an, cu ocazia Zilei bibliotecarului din România.

23 aprilie: Premiul pentru cea mai bună bibliotecă publică din județul Iași și Diploma de Excelență, au fost acordate Bibliotecii Județene „Gh. Asachi” din Iași, pentru întreaga activitate desfășurată în folosul comunității.

2012 

Sediul central al Bibliotecii se mută în Galeriile Comerciale „Ștefan cel Mare”, din Bulevardul „Ștefan cel Mare și Sfânt” și își reia funcționarea începând cu data de 1 decembrie.

1.4. Structura organizatorica a bibliotecii

1.4.1. Organigrama

Biblioteca Județeană „Gheorghe Asachi” Iași este bibliotecă publică de drept publică, cu personalitate juridică, fiind înființată și organizată în subordinea autorităților administrației publice județene, respectiv Consiliul Județean Iași, care are calitatea de ordonator principal de credite.

Biblioteca „Gh. Asacchi” funcșionează cu următoarele servicii (compartinente):

Serviciul dezvoltare, evidență și prelucrarea colecțiilor;

Serviciul de comunicare a colecțiilor. Relații cu publicul. Activități culturale (evidență centralizată a cititorilor și publicațiilor, împrumut interbibliotecar, împrumut la domiciliu pentru adulți și copii, săli de lectură, referințe și periodice, filiale);

Depozitul central, carte veche;

Secția de artă și colecții speciale;

Secția de carte juridică;

American corner;

Centrul de cercetare și marketing;

Centrul de informare comunitară;

Compartimentul de informare bibliografică și documentară;

Asistență metodică, perfecționare profesională;

Serviciul de informatizare (Centrul de calcul)

Atelier legătorie, recondiționare, restaurare manuală.

Servicii auxiliare: contabilitate, administrație, secretariat, birotică, arhivă, personal întreținere, auto, pază.

Colecțiile bibliotecii „Gh. Asachi” cuprind:

publicații de filozofie și istorie;

publicații științifice și tehnice

publicații legislative și economice;

publicații literare și artistice;

publicații pentru elevi și studenți;

publicații sportive, turistice, de modă și gospodărie;

publicații cotidiene centrale, locale și lucrări de bibliografie locală.

Organigrama Bibliotecii Județene „Gh. Asachi” Iași

1.4.2. Studiul sistemului de conducere

Personalul din Biblioteca Județeană „Gh. Asachi” Iași prezintă următoarele funcții:

Funcții de conducere: director, director adjunct de specialitate, șef serviciu de specialitate, șef birou de specialitate, contabil șef;

Fucții de execuție ale personalului de specialitate: bibliograf, bibliotecar, inginer de sistem, analist programtor, analist programator ajutor, operator date, conservator, sociolog, mânuitor de carte;

Funcții de execuție ale personalului administrativ: economist, contabil, referent, casier, administrator;

Funcții de excuție ale personalului de întreținere: muncitor calificat, legător, paznic, pompier, conducător auto, îngrijitor.

Această listă poate fi completată în funcție de necesități și cu alte funcții specificate în Legea bibliotecilor și Regulamentul cadru de organizare și funcționare al bibliotecilor publice.

În situații justificate se pot folosi și funcții specifice altor domenii de activitate, cu aprobarea consiliului local.

Statul de funcții și organigrama bibliotecii se aprobă de către Consiliul Județean Iași.

Directorul unității

– răspunde de organizarea și funcționarea bibliotecii pe baza organigramei, statului de funcții și regulamentului de organizare și funcționare a instituției, elaborate în condițiile legii și avizate de către Consiliul Județean;

– întocmește planul de muncă al instituției și urmărește realizarea lui;

– stabilește atribuțiile celorlalte funcții de personal;

– vizează fișele posturilor pentru personalul din subordine, conform legii și contractului colectiv de muncă;

– numește transferă și eliberează din funcție personalul angajat în conformitate cu legislația muncii și le acordă drepturile salariale și sociale (concedii, ajutoare);

– stabilește atribuțiile personalului administrativ și controlează îndeplinirea lor;

– aplică sancțiuni personalului din subordine în conformitate cu legislația în vigoare;

– angajează unitatea în toate acțiunile patrimoniale;

– semnează listele de avans chenzinal, state de plată a salariilor, lista de indemnizații de concedii de odihnă, state și liste de premii;

– numește comisia de inventariere a patrimoniului unității și asigură buna desfășurare a acestei activități;

În calitatea de ordonator terțiar de credite are ca atribuții principale:

– elaborarea proiectului de buget propriu;

– urmărirea modului de încasare a veniturilor;

– necesitatea, oportunitatea și legalitatea angajării și utilizării creditelor bugetare în limita și cu destinațiile aprobate prin bugetul propriu;

– integritatea bunurilor aflate în administrare;

– organizarea și ținerea la zi a contabilității și prezentarea la termen a bilanțurilor contabile și a contului de execuție bugetară.

Directorul se ocupă și de atragerea de resurse extrabugetare precum: sponsorizări, donații, prestări de servicii, colectarea de materiale, închirieri, taxe etc.

Directorul adjunct îndeplinește atribuțiile delegate de către director pe perioade determinate, precum și pe cele stabilite prin regulamentul de ordine interioară al bibliotecii, cu excepția dreptului de a semna documentele contabile.

Directorul adjunct este subordonat directorului, care îi elaborează fișa postului și îi evaluează activitatea. Acesta răspunde în fața directorului, a Consiliului de Administrație și a organelor de control pentru activitatea proprie, conform fișei postului.

Contabilul șef

– este subordonat directorului, colaborează cu secretarul șef și administratorul.

– are în subordine casieria și salariații compartimentului contabilitate.

Contabilul șef trebuie să asigure și să răspundă de buna organizare și desfășurare a activității financiare a unității, în conformitate cu dispozițiile legale în vigoare, având următoarele atribuții:

– reprezintă unitatea alături de directorul acesteia în relațiile cu persoane fizice sau juridice sau cu alte instituții publice în cazul încheierii contractelor economice de colaborare, de sponsorizare;

– angajează unitatea alături de director în orice acțiune patrimonială;

– organizează și ține contabilitatea cheltuielilor conform prevederilor legale pentru instituțiile publice;

– asigură stabilirea totalului sumelor debitoare și creditoare cât și soldului final al cărui cont;

– asigură evidența decontărilor cu furnizorii de materiale, lucrări și servicii pentru activitatea curentă a instituției cât și cu furnizorii pentru investiții;

– întocmește planurile de venituri și cheltuieli bugetare și extrabugetare la termenele și condițiile stabilite de lege;

– întocmește acte justificative și documente contabile, cu respectarea formulelor și regulilor de alcătuire și completare în vigoare;

– urmărește încadrarea strictă în creditele aprobate pe toate coordonatele clasificației bugetare;

– organizează circuitul documentelor contabile și înregistrarea lor în mod cronologic și sistematic în evidența contabilă;

– întocmește formule pentru efectuarea încasărilor și plăților în numerar sau prin conturi bancare;

– organizează inventarierea valorilor materiale și bănești;

– instruiește personalul în vederea efectuării corecte a operațiunilor de inventariere;

– instruiește și controlează periodic personalul care gestionează valori materiale;

– întocmește și execută planul de muncă și salariu al unității;

– urmărește aplicarea tuturor dispozițiilor legale privind salarizarea și drepturile personalului de specialitate și auxiliar;

– întocmește dările de seamă contabile și cele statistice, precum și contul de execuție bugetară;

– verifică statele de plată, listele de avans chenzinal, îndemnizațiile de concediu de odihnă, concediu medical;

– verifică legalitatea trecerii pe cheltuieli a unor sume;

– repartizează în funcție de necesitate materialele de întreținere;

– întocmește referat și îl supune aprobării directorului privind componența comisiilor de recepție atât pentru materiale, cât și pentru bunuri intrate în unitate, prin dotări de la buget, din autofinanțare, donații;

– întocmește lunar balanțe de verificare pe rulaje și solduri;

– întocmește balanța analitică trimestrială pentru obiectele de inventar, lunar pentru alimente și materiale de curățare și anual pentru mijloace fixe;

– clasează și păstrează toate actele justificative și răspunde de arhiva financiar – contabilă;

– stabilește obligațiile către bugetul statului și asigură vărsarea sumelor respective în termenele stabilite;

– verifică încasările de la elevi pentru hrană, regie cămin;

– efectuează demersurile fondurilor necesar plății salariilor și a celorlalte acțiuni finanțate de la bugetul republican sau local;

– îndeplinește orice alte sarcini cu caracter financiar – contabil date de conducătorul unității sau stipulate expres în acte normative.

1.4.3. Studiul sistemului condus

a. Centrul de înscriere și primire cititori

– înscrierea centralizată a utilizatorilor de la sediul central și de la punctele de serviciu din afara bibliotecii;

– asigurarea folosirii individuale a serviciilor de bibliotecă prin completarea Fișei-contract de împrumut;

– eliberarea Permisului de intrare, în baza căruia se asigură accesul în spațiile bibliotecii;

– semnarea Fișei-contract la înscriere permite înregistrarea împrumuturilor în sistemul de evidență informatizat, pe baza codului permisului de intrare, atestând efectuarea serviciilor de împrumut, cât și acceptul implicit al utilizatorilor privind responsabilitățile ce le revin din Regulamentul Serviciului pentru public al Bibliotecii "Gheorghe Asachi" Iași;

– în cazul pierderii permisului de intrare, utilizatorul poate procura unul nou, duplicat, contra-cost;

– centrul de înscriere verifică zilnic acuratețea înregistrărilor din data respectivă, în vederea realizării unor rapoarte statistice corecte;

– efectuează servicii contracost de copiere a unor atlase integrale sau parțiale, ale unor anunțuri și articole apărute în publicațiile din colecțiile bibliotecii, a unor pagini, fragmente din documentele existente în secțiile bibliotecii;

– oferă informații curente privind condițiile de înscriere și împrumut, precum și serviciile oferite de bibliotecă utilizatorilor ei.

b. Serviciul de comunicare a colecțiilor

b1. Secția de împrumut carte pentru adulți:

– dispune de un fond de publicații de peste 120.000 de volume, organizat după sistemul accesului liber la raft;

– împrumută anual în jur de 200.000 de volume din cele mai diverse domenii;

– urmărește realizarea indicatorilor de performanță PROBIP 2008;

– urmărește recuperarea publicațiilor împrumutate;

– efectuează periodic, sondaje de opinie, cercetări sociologice etc. pentru îmbunătățirea ofertelor de lectură și informare;

– anual răspunde solicitărilor unui număr de aproximativ 11.000 de utilizatori; înregistrează în jur de 300.000 de vizite la bibliotecă;

– efectuează corectarea bazei de date retrospective a secției.

b2. Secția împrumut carte pentru copii are ca atribuții următoarele:

– dispune de un fond de publicații de 40.000 de volume, organizate după sistemul accesului liber la raft, cu un specific pentru copii;

– realizează aproximativ 70.000 de vizite la bibliotecă și difuzează aproximativ 160.000 de documente anual;

– efectuează rezervări de cărți, împrumut interbibliotecar.

1.5. Studiul sistemului informational

1.5.1. Prezentarea activitatii

Serviciul de informatizare (Oficiul de calcul)

– este dotat cu 1 server, 1 stație de administrație, 4 stații de lucru, 2 copiatoare și 2 scannere;

– administrează bazele de date ale instituției;

– asigură funcționarea sistemului integrat TINLIB în toate secțiile bibliotecii și asistnță tehnică a rețelei;

– generează rapoartele statistice ale bibliotecii, permise de intrare și cu etichete cu cod de bare;

Conducerea bibliotecii este asigurată de către un director general sau director, care poate avea unul sa mai mulți directori adjuncți.

Numirea, promovarea, sancționarea și eliberarea din funcție a directorilor generali, directorilor adjuncți se realizează, în condițiile legii, de către autoritatea finanțatoare, cu avizul Comisiei Naționale a Bibliotecilor.

1.5.2. Fluxul informational

A. Relatii interne

Legendă:

1 – State salarii, ordin de deplasare, chitanță cazare, listă avans chenzional, etc;

2 – foaie colectivă de prezență;

3 – propuneri angajare de cheltuieli, registre (jurnal, inventeriere, mijloace fixe), etc;

4 – referate.

B. Relatii externe

Figura 1.2: Fluxul informațional privind relațiile externe la biblioteca „Gh. Asachi” Iași

Legendă:

1 – elaborarea și aprobarea bugetului;

2 – operațiuni de încasări și plăți;

3 – contribuții datorate la asigurările sociale de stat;

4 – contribuții datorate la asigurările sociale de sănătate;

5 – împrumuturi, sponsorizări, donații;

6 – depunerea declarațiilor privind impozitele pe venituri de natură salarială;

7 – cumpărări de cărți;

8 – donații de cărți;

9 – obținerea serviciilor de utilități.

CAPITOLUL 2:TEHNOLOGII ȘI INSTRUMENTE INFORMATICE UTILIZATE ÎN DEZVOLTAREA APLICAȚIEI

2.1. Arhitectura Client/Server

Problema proiectării aplicațiilor a suferit de-a lungul timpului multe modificări dictate de necesitate și eficiență și a dus la apariția unei palete variate de paradigme de programare. Una dintre cele mai răspândite la ora actuală este programarea client/server.

Arhitectura aplicației client/server este o infrastructură versatilă, bazată pe mesaje și modulară, care are scopul clar de a îmbunătăți flexibilitatea, interoperabilitatea, scalabilitatea și ușurința în utilizare de care duc lipsă tradiționalele arhitecturi mainframe și server de fișiere. În cadrul arhitecturii mainframe toată procesarea necesară obținerii răspunsului la o cerere lansată de o stație se făcea pe calculatorul central (mainframe-ul) care stoca și toate resursele la care avea acces clientul. Încă unul din neajunsurile arhitecturii îl reprezenta problema dificilă a implementării unei interfețe cu utilizatorul. Arhitectura serverului de fișiere se bazează pe o arhitectură de fișiere distribuite, care sunt transmise de către server, la cerere, clientului, spre modificare sau interogare, și returnate apoi server-ului, spre stocare, la încheierea operației.

Limitările celor două arhitecturi tradiționale în contextul actual al unei rețele de calculatoare și în special al Internetului (văzut ca o rețea mare de resurse distribuite) au dus la răspândirea arhitecturii client/server.

Arhitectura unei aplicații client/server este fundamentată pe principiul separării aplicației în module independente care pot fi executate în spații de memorie diferite. În acest tip de arhitectură, modulul care face interogările joacă rolul de „client” (cel care cere un anumit serviciu), iar modulul care este interogat devine „server” (cel care satisface acel serviciu).

Deși interacțiunea între cele două module se poate desfășura în cadrul aceluiași calculator (ceea ce ne duce cu gândul la o asemănare cu programarea structurată), raportată la o rețea, arhitectura oferă o modalitate convenabilă de interconectare a serviciilor distribuite eficient în rețea. Astfel, clientul și server-ul sunt, de regulă, două calculatore diferite în cadrul aceleiași rețele. Mai mult, oricare din calculatoarele rețelei poate acționa atât ca și client, cât și ca server, pe principiul conform căruia orice calculator din rețea reprezintă un potențial ofertant de resurse (informații sau servicii).

Fig. 2.1 Arhitectura generică client/server

În acest tip de arhitectură a fost înlocuit serverul de fișiere cu serverul de baze de date. Toate datele sunt reținute într-o bază de date și se află sub administrarea unui server de date care procesează orice modificare asupra bazei de date. Acest sistem reduce foarte mult traficul în rețea, deoarece comunicarea client/server se reduce la comunicarea cerințelor în format cât mai simplu din partea clientului (de ex. o comandă SQL) și respectiv comunicarea doar a rezultatelor din partea server-ului.

Ca reguli de funcționare a unei relații client/server trebuie subliniate:

serverul comunică cu clientul după un protocol dinainte stabilit;

un server trebuie să fie capabil să deservească mai mulți clienți;

serverul trebuie să fie găsit de către client la aceeași adresă;

clienții pot lansa cererile de oriunde din rețea;

serverul răspunde cererilor pentru resurse făcute de clienți într-un mod transparent relativ la locația, managementul sau distribuția resurselor;

serverul funcționează ca o interfață de acces la anumite resurse;

Următoarea diagramă pe 4 nivele detaliază arhitectura unei aplicații generice client/sever:

Fig. 2.2 Arhitectura unei aplicații client/server generice

la nivelul de preluare a informațiilor datele sunt preluate de la utilizator și transformate din format „uman” în format accesibil calculatorului și invers; este important de subliniat că în această etapă nu este verificată corectitudinea datelor transmise, ele fiind doar adaptate necesităților de utilizare;

la nivelul regulilor de business se stabilesc „regulile jocului”, adică se validează datele; la acest nivel nu se procesează nici un fel de cerere venită de la client, ci doar se stabilește corectitudinea datelor venite de la client și necesare serverului, sau invers;

interfața aplicației este nivelul care răspunde de transformarea datelor din formatul transmis de client în formatul necesar serverului pentru a putea da un răspuns clientului; ca să luăm un exemplu, această etapă va transpune cererea clientului într-o instrucțiune SQL pe care o va transmite etapei finale;

serverul de aplicație este nivelul final, acela de procesare a datelor și de obținere a rezultatelor cerute de client;

Aplicațiile client/server sunt structurate pe patru nivele. Cum se împarte aplicația între client și server, cu alte cuvinte care nivel va fi situat pe partea de client a aplicației și care va fi situat pe partea de server, rămâne la latitudinea dezvoltatorului.

2.2. Tehnologii și instrumente informatice utilizate în proiectarea aplicației

Componentele necesare în activitatea de proiectare a unei aplicații de succes sunt: notația (limbajul de modelare), procesul și instrumentul. Aceste trei componente formează „triunghiul de succes” care stă (sau ar trebui să stea) la baza proiectării oricărei aplicații. Cele trei componente se află într-o relație de interdependență, omiterea uneia dintre ele putând cauza eșecul procesului de proiectare a aplicației. Putem să învățăm limbajul de modelare (notația), dar dacă nu știm cum să-l utilizăm (dacă nu cunoaștem procesul de modelare), probabil că vom eșua. Putem dispune de un proces foarte bun dar, dacă nu suntem capabili să-l comunicăm (folosind notațiile), probabil că vom fi sortiți eșecului. De asemenea, dacă nu dispunem de un instrument pentru documentarea pașilor parcurși în etapa de proiectare, probabil că munca noastră va fi sortită eșecului.

Elementele componente ale unei metodologii de analiză și proiectare a unei aplicații software sunt limbajul de modelare și procesul de modelare. Limbajul de modelare reprezintă o notație grafică folosită pentru descrierea modelului, în timp ce procesul reprezintă succesiunea de pași ce trebuie urmați pentru realizarea efectivă a modelului.

2.2.1. Limbajul de modelare

Notația (limbajul de modelare) reprezintă unul din punctele cheie ale oricărui model, jucând rolul de liant între părțile componente ale procesului. Cele trei roluri de bază ale notației în cadrul activității de proiectare a unei aplicații sunt:

joacă rolul unui limbaj cu ajutorul căruia sunt comunicate deciziile care nu sunt evidente sau care nu pot fi deduse din partea de cod;

oferă o semantică suficient de bogată încât să permită capturarea tuturor deciziilor strategice și tactice importante;

oferă un limbaj suficient de bogat pentru a permite oamenilor să raționeze pe marginea lui și îndeajuns de simplu pentru a permite instrumentelor de modelare să-l poată manipula.

La ora actuală, limbajul standard utilizat în construirea de „schițe de soft” este reprezentat de UML (Unified Modeling Language – Limbaj Unificat de Modelare). Metoda de modelare propusă de UML este condusă de cazuri de utilizare, centrată în jurul arhitecturii sistemului, iterativă și incrementală.

UML-ul reprezintă un limbaj de vizualizare, specificare, construire și documentare a modelelor, a cărui valoare constă în:

standardul său deschis;

acoperă întreg ciclul de viață al dezvoltării unui soft;

se bazează pe experiența celor care l-au dezvoltat;

este implementat de multe produse de tip CASE.

Având în vedere că este un limbaj de modelare vizuală ce folosește notații standard, putem spune că UML-ul surprinde și descrie în limbaj grafic sistemul.

Modelarea vizuală are cinci caracteristici principale:

descoperă procesele care au loc în sistem, folosind analiza cazurilor de utilizare (USE CASE);

se constituie într-un bun mijloc de comunicare;

simplifică/reduce complexitatea sistemului;

definește arhitectura aplicației;

permite reutilizarea componentelor.

Elementele de bază ale UML-ului sunt reprezentate de:

blocurile constructive: elemente, relații și diagrame;

regulile ce dictează modul în care blocurile pot fi combinate;

mecanismele generale: specificații, ornamente, diviziuni generale, mecanisme de extensie.

Modelarea unei aplicații necesită specificarea realității astfel încât să se înțeleagă mai bine sistemul dezvoltat. Mijloacele prin care sunt vizualizate blocurile constructive ale UML-ului sunt reprezentate de diagrame. Acestea prezintă în mod grafic o mulțime de elemente reprezentate sub forma unui graf conex de noduri (elemente) și arce (relații).

Cele nouă tipuri de diagrame puse la dispoziție de UML sunt: de cazuri de utilizare, de activități, de clase, de colaborare, de componente, de exploatare, de obiecte, de secvență și de stări.

Voi insista asupra diagramelor de cazuri de utilizare și asupra celor de activități, întrucât acestea au fost folosite în etapa de proiectare a aplicației prezentată în lucrarea de față.

Modelarea cazurilor de utilizare constituie o tehnică independentă, ortogonală cu modelarea obiect. Ea poate fi inclusă la fel de bine într-o metodologie orientată-obiect sau structurată. Rolul acestui tip de modelare este de a reprezenta într-o formă grafică funcționalitățile pe care trebuie să le îndeplinească aplicația în faza finală. Modelul realizat de diagramele cazurilor de utilizare, împreună cu descrierea succintă a fiecărui caz de utilizare determinat, se numește model al cerințelor.

Cazurile de utilizare arată comportamentul sistemului sau a unei părți din sistem și reprezintă o descriere a unui set de secvențe de acțiuni pe care un sistem le execută pentru a produce un rezultat observabil pentru un actor. Cazurile de utilizare ale unui sistem trebuie să surprindă tot ce-și poate dori un utilizator de la sistemul respectiv. Diagramele cazurilor de utilizare sunt formate din două categorii de entități (actori și cazuri de utilizare) și relațiile dintre acestea.

Trebuie să se facă o distincție clară între actori și utilizatori. Utilizatorul este o entitate care folosește sistemul. În relația pe care o are cu un caz de utilizare, actorul reprezintă un anumit rol jucat de utilizator. În circumstanțe diferite, același utilizator se poate comporta ca mai mulți actori.

Cazurile de utilizare reprezintă o tehnică de analiză utilă pentru înțelegerea și definirea cerințelor funcționale ale unei aplicații. Această tehnică ajută la concentrarea atenției asupra utilizabilității aplicației, altfel spus asupra a ceea ce utilizatorii așteaptă de la aplicație.

Diagramele de activități reprezintă scheme logice cu ajutorul cărora sunt prezentate fluxurile de control dintre activitățile implicate în executarea unei funcționalități a aplicației. Ele sunt folosite la modelarea aspectelor dinamice ale aplicației și presupun modelarea unui proces pas cu pas.

2.2.2. Procesul

Un proiect care urmărește dezvoltarea unei aplicații software poate fi considerat de succes dacă îndeplinește următoarele condiții:

satisface sau chiar depășește nevoile utilizatorilor;

face economie de timp și resurse;

produsul rezultat este adaptabil la diversele modificări care ar putea să apară;

ciclul de viață al dezvoltării produsului promovează creativitatea și inovația, putând în același timp fi controlat, astfel încât să ofere certitudinea că produsul rezultat este complet.

În etapa de demarare a unui proiect de dezvoltare de soft este esențial să se stabilească procesul ce va fi urmat. Acesta descrie efectiv pașii care trebuie urmați în vederea dezvoltării cu succes a unei aplicații.

Procesul de dezvoltare a unei aplicații este structurat pe două domenii (dimensiuni), și anume:

dimensiunea temporală: diviziunea ciclului de viață în faze și iterații;

componentele procesului: producerea unei mulțimi specifice de elemente (artefacte) cu activități bine definite.

Structurarea unui proces în funcție de dimensiunea temporală induce următoarele faze:

lansarea – specificarea succintă a proiectului;

elaborarea – planificarea activităților și resurselor necesare; specificarea caracteristicilor și proiectarea arhitecturii;

construcția – construirea produsului prin iterații incrementate;

tranziția – furnizarea produsului comunității (distribuire, instruire, etc.).

Mulțimea componentelor procesului ar trebui să conțină:

modelarea afacerii – identificarea nevoilor utilizatorilor și a așteptărilor acestora în ceea ce privește funcționalitatea aplicației;

identificarea cerințelor – descrierea unei viziuni asupra aplicației, împreună cu un set de cerințe funcționale și non-funcționale;

analiza și proiectarea – descrierea modului de realizare a aplicației în faza de implementare;

implementarea – generarea efectivă a codului sursă;

testarea – verificarea întregii aplicații.

În proiectarea aplicației prezentată în lucrarea de față voi folosi un proces bazat pe cazuri de utilizare. Scenariile și cazurile de utilizare determină fluxul procesului, din momentul stabilirii cerințelor aplicației și până în faza de testare.

2.2.3. Instrumentele utilizate (RationalRose, DBDesigner)

Un element important al procesului de proiectare a unei aplicații îl reprezintă instrumentele care pun la dispoziția utilizatorului o gamă variată de facilități în ceea ce privește modelarea vizuală a procesului.

Instrumentele din familia „Rational Rose” au fost proiectate pentru a oferi dezvoltatorilor de aplicații un set complet de unelte de modelare vizuală în scopul dezvoltării de soluții robuste și eficiente care să vină în sprijinul nevoilor reale din mediile de afaceri implementate cu ajutorul sistemelor distribuite, client/server. Produsele RationalRose împărtășesc un standard comun: acela de a face proiectarea accesibilă atât programatorilor, care doresc realizarea unei proiectări logice a aplicațiilor, cât și amatorilor care doresc să modeleze procese de business. În lucrarea de față am utilizat Rational Rose în procesul de modelare vizuală a diagramelor de activități, precum și a celor care prezintă cazurile de utilizare ale aplicației.

Un alt instrument extrem de important pe care l-am utilizat în faza de proiectare este DBDesigner. Acesta este un instrument utilizat la modelarea vizuală a bazelor de date, având încorporate funcționalități care permit design-ul, modelarea, crearea și întreținerea bazelor de date. A fost dezvoltat și optimizat pentru bazele de date de tip MySQL cu scopul de a pune la dispoziția utilizatorilor acestui tip de baze de date un instrument puternic de proiectare.

2.3. Tehnologii și instrumente informatice utilizate în implementarea aplicației

2.3.1. Justificarea soluției Apache + PHP + MySQL

Internet-ul este în al treilea stadiu de dezvoltare, iar dinamic și interactiv sunt atributele esențiale ale oricărui site de succes.

Conform lui Graeme, PHP și MySQL reprezintă cea mai bună metodă actuală pentru crearea unor site-uri care folosesc baze de date. Acest fapt este demonstrat de un studiu de cercetare al companiei Netcraft care arată că dacă în iunie 1998 existau 7.500 de host-uri care utilizau PHP în martie 1999 numărul acestora a crescut la 410.000. Această combinație a primit și titlul de „Database of the Year” la Webcon98.

MySQL este un server de baze de date mic și compact, ideal atât pentru aplicații mici, cât și pentru dezvoltarea marilor proiecte. În afara faptului că suportă standardul SQL (ANSI-92), poate rula pe mai multe platforme și permite sisteme multithreading pentru serverele Unix, ceea ce aduce o creștere importantă a performanței. Sub WindowsNT, 2000 sau XP, MySQL este lansat ca un serviciu, pe când sub Windows95/98, ca un proces normal.

PHP este un limbaj de programare pentru server. Codul PHP poate fi integrat în interiorul codului HTML. Scriptul PHP va fi apoi procesat de către server care va returna un fișier HTML. Acest tip de interacțiune permite executarea unor operații destul de complexe.

Aplicațiile WEB reprezintă atât prezentul cât și viitorul, ele funcționând pe baza unei arhitecturi client/server. Aplicațiile realizate cu PHP și MySQL utilizează un singur client și anume browser-ul WEB. Limbajul de bază al browser-ului WEB este HTML. Acest limbaj dispune de o serie de tag-uri care descriu modul în care va arăta o pagină WEB. Majoritatea prelucrărilor efectuate de aplicațiile Web au loc pe sever. O aplicație specifică, numită server Web, va asigura comunicarea cu browser-ul. Un server de baze de date relaționale stochează informațiile pe care le va accesa aplicația. În final mai este nevoie de un limbaj care să intermedieze interogările ce apar între serverul Web și serverul de baze de date. Acest limbaj va fi utilizat și pentru a executa anumite operații asupra informațiilor care vin spre și dinspre serverul Web.

2.3.2. PHP

PHP – limbaj scriptural server-side pentru generarea dinamică de conținut Web

PHP, acronimul de la „PHP: Hypertext Prepocessor”, este un limbaj de programare folosit cu precădere ca și limbaj scriptural server-side în generarea dinamică de conținut Web.

Modelul PHP implementează paradigma generării dinamice de conținut Web și a apărut ca alternativă necesară la tradiționalele sisteme ASP/VBScript/Jscript al Microsoft-ului, JSP/Java al Sun Microsystems-ului și CGI/Perl.

În modelul PHP, structura unei pagini Web PHP este cea a unei pagini HTML care încapsulează pe alocuri cod PHP. Caracterul dinamic al unei pagini Web PHP este asigurat prin:

posibilitatea manipulării conținutului paginii prin secvențele încapsulate de cod PHP în structura de tag-uri a paginii, cod care poate insera text HTML direct în structură;

posibilitatea interpretării datelor unui formular HTML: PHP permite accesul codului PHP la informațiile primite de pagină de la browser prin structuri de date predefinite și completate automat;

suport pentru întreținerea unei sesiuni, menită să rețină date între două cereri succesive de pagini către același server;

funcții pentru transmiterea headere-lor HTTP pentru autentificare;

funcții pentru setarea cookie-urilor;

posibilitatea redirecționării cererilor de pagină;

librării ce permit generarea, manipularea și trimiterea către browser de imagini, animații, PDF-uri;

interfața de conectare cu majoritatea SGBD-urilor;

interfața de conectare la un server de e-mail.

Istoric

A început ca și un pachet de scripturi Perl, prin care Rasmus Lerdorf aduna date despre vizitatorii paginii sale personale Web.

Prima versiune a pachetului făcută publică a primit denumirea Personal Home Page; i s-a adăugat ulterior un „scripting engine” care împreună cu o unealtă încorporată permitea analizarea datelor unui formular HTML (Form Interpreter) – devenind astfel PHP/FI, cunoscut și ca PHP2 -, pentru ca să ajungă un proiect aflat în mâinile unui grup de programatori dornici să dezvolte o unealtă pentru probleme mai complicate, deschizându-se astfel drumul lui PHP3.

Versiunea 3 a limbajului apare după o rescriere a „scripting engine-ului” și prin introducerea unui API care permite programatorilor extinderea capacităților limbajului prin dezvoltarea de module.

Începând cu versiunea 4, PHP beneficiază de „scripting engine-ul Zend”, rescris după cel vechi. Odată cu PHP4, limbajul PHP a introdus un motor rapid de „parsing” care, pe lângă funcțiile PHP-ului de conectare la baze de date, suportul XML sau suportul pentru servleți Java, sistemul de gestiune a sesiunilor și funcțiile IMAP, reușește să transforme acest limbaj „open source” într-unul de top datorită muncii grele depuse zi și noapte de grupul de dezvoltatori pentru adăugarea de funcționalități și upgrade, bazată doar pe răspunsurile și cererile utilizatorului.

Principiul de funcționare

Într-un scenariu tipic de cerere de pagină Web venită din partea unui browser:

server-ul de Web „știe”, prin configurarea sa și din extensia paginii cerute, că pagina trebuie „preprocesată” de PHP anterior servirii acesteia către browser;

PHP interpretează doar secvențele încapsulate de cod PHP (delimitate de marcajele „<?php” și „?>”) din pagina Web, secvențe care pot completa dinamic pagina prin simple inserții de text în structura de tag-uri HTML a paginii (care este ignorată de preprocesor, dar reprodusă la ieșire);

server-ul trimite browser-ului pagina pe care PHP i-o returnează în urma interpretării, pagină în format HTML.

Caracteristici

Evidenta simplitate în utilizare a acestui model, îmbinată cu caracteristici dintre cele mai complexe de care dispune PHP-ul, a propulsat modelul în fruntea tehnologiilor de dezvoltare a aplicațiilor Web cu conținut dinamic. PHP atrage atât inițiații în ale programării, cât și pe cei experimentați prin:

sintaxa simplă, relaxată, ușor de utilizat: ca limbaj de programare slab tipizat, variabilele PHP nu trebuie declarate și pot reține orice tip de obiecte;

similitudinea sintaxei cu cea a limbajelor de programare structurată consacrate precum C și Perl; cu o sintaxă ce satisface toate așteptările de la un limbaj de programare atât interpretat cât și compilat, structurat sau orientat-obiect, PHP5 permite programatorilor mai experimentați să dezvolte aplicații complexe cu un efort net mai mic;

independența de platformă: a fost portat pe toate sistemele de operare majore, incluzând UNIX, Linux, Windows și MacOs și interacționează cu majoritatea serverelor Web;

e open-source: spre deosebire de produsele comerciale similare, care vin cu licență limitată și fără acces la sursă, dezvoltatorul Web are libertatea de a modifica și completa limbajul după propriile nevoi, fără timpii morți dintre patch-uri și fără teama că la un moment dat comerciantul va decide să nu mai susțină produsul;

librărie open-source și extensibilă de module: beneficiind de o comunitate foarte răspândită de dezvoltatori software, PHP oferă programatorului Web, chiar împreună cu pachetul standard, un număr impresionant de module reutilizabile și ușurința (datorită sintaxei) în crearea de astfel de componente reutilizabile și modulare; astfel, extensiile PHP oferă suport pentru acces la API-ul Windows-ului, managementul proceselor pe sisteme de operare din clasa UNIX-ului, manipularea formatelor de comprimare ZIP/gzip/bzip2, generarea de documente în format PDF, Macromedia Flash, și multe altele;

eficiență: „scripting engine-ul Zend” din spatele limbajului este optimizat pentru timpul scurt de răspuns necesar aplicațiilor Web; poate chiar să fie folosit ca și modul al server-ului de Web, îmbunătățind și mai mult timpul de reacție; testele pe care Zend Tehnologies le face publice pe propriul site subliniază măsura în care PHP surclasează competiția;

interfața prietenoasă de conectare la o gamă foarte mare de servere de baze de date: în conformitate cu nevoia aplicațiilor Web de a interacționa în mod dinamic cu utilizatorul în vederea prezentării informațiilor de interes care, de regulă, sunt păstrate într-o bază de date, scripturi PHP de 2 sau 3 linii rezolvă probleme simple de conectare și executare de instrucțiuni SQL asupra bazelor de date;

începând cu versiunea 4.0, deține suport minimalist pentru programarea orientată-obiect, suport devenit complet în versiunea 5.0;

2.3.3 MySQL

Bazele de date au devenit o parte integrantă din viață de zi cu zi a fiecărui om. Fără o structurare a datelor în baze de date, nu ar exista o anumită ordine între lucruri, gestiunea datelor devenind un lucru foarte greu, poate chiar imposibil. Băncile, universitățile și bibliotecile sunt doar trei exemple de organizații care depind în mare măsură de bazele de date și de gestiunea acestora. Pe Internet motoarele de căutare, procesele de cumpărături on-line, și chiar convențiile de denumire a tuturor site-urilor Web sunt activități care nu s-ar putea desfășura fără utilizarea bazelor de date.

După T.Conolly, o bază de date reprezintă o colecție partajată de date, între care există relații logice (și o descriere a acestor date), proiectată pentru a satisface necesitățile informaționale ale unei organizații.

Un Sistem de Gestiune a Bazelor de Date sau SGBD (în limba engleză DBMS – Data Base Management System) reprezintă un ansamblu de programe pentru gestiunea datelor sau un mediu de programare destinat gestiunii datelor din baza de date, care asigură:

încărcarea bazei de date,

actualizarea și interogarea acesteia,

interfața cu sistemul de operare în vederea simplificării accesului la date.

Un sistem de gestiune a bazelor de date care este implementat pe calculator și care gestionează interfața cu aceste date, formează ceea ce se numește un server de baze de date.

Arhitecturii client-server realizată de perechea de aplicații browser – server de web (de obicei Internet Explorer – Apache) i se adaugă încă o pereche de aplicații, script asociat formularului – server de baze de date. În acest tandem scriptul asociat formularului (scris în PHP, C, C++, Perl, etc) este client, iar serverul de baze de date (MySQL, Oracle, etc) are rolul de server. Scriptul formulează comenzi SQL, iar serverul SQL le execută.

MySQL este un sistem de gestiune a bazelor de date relaționale foarte rapid și robust, fiind cel mai popular din clasa sa. MySQL Server a fost creat pentru a lucra cu baze de date mai rapid decât soluțiile deja existente la ora actuală pe piață. Serverul MySQL controlează accesul la datele utilizatorului, accesul este permis mai multor utilizatori autorizați. MySQL este un server multi-user și multi-thread și utilizează limbajul standard de interogare a bazelor de date (SQL – Standard Query Language).

MySQL este disponibil în mod public din 1996, dar istoria dezvoltării sale începe încă din 1979 și a câștigat de mai multe ori premiul cititorilor – Linux Journal Readers' Choice Award. MySQL este disponibil sub o licență Open Source, dar există și sub licențe comerciale. Este rapid, iar costul său este nul, fiind distribuit gratuit sau foarte mic, distribuit sub o licență comercială, dacă aceasta este necesară aplicației utilizatorului și este mult mai ușor de configurat decât multe alte produse asemănătoare.

Popularitatea MySQL se datorează în primul rând multiplelor facilități oferite de acesta, dintre care vom aminti:

viteza de execuție: programatorii susțin că MySQL este cel mai rapid sistem de gestiune a bazelor de date care se găsește la ora actuală pe piață;

ușurința în utilizare: MySQL este un sistem de gestiune a bazelor de date cu performanțe ridicate dar relativ simplu de utilizat, a cărui configurare și administrare sunt mult mai simple decât în cazul sistemelor mai mari;

accesul concurent la date de către un număr nelimitat de utilizatori: la server-ul MySQL se pot conecta mai mulți clienți simultan; clienții pot folosi mai multe baze de date simultan; se poate obține acces la MySQL în mod interactiv, folosind numeroase interfețe care permit introducerea de interogări și vizualizarea rezultatelor: clienți în linie de comandă, browsere Web sau clienți Window System; de asemenea este posibilă o varietate de interfețe de programare pentru limbaje precum PHP, C, Perl, Java;

conectivitatea și securitatea: MySQL poate fi folosit integral în rețele, iar bazele de date sunt accesibile de oriunde din internet, oferind astfel posibilitatea partajării datelor cu oricine, oriunde; MySQL are controlul accesului astfel încât persoanele care nu au dreptul să citească datele nu vor avea această posibilitate

distribuția liberă: MySQL este gratuit, fapt ce a atras extinderea fără precedent a folosirii acestui server de baze de date

Distribuția MySQL include următoarele:

un server SQL: acesta ce reprezintă motorul care activează MySQL și furnizează accesul la bazele de date;

programe client pentru accesul la server: acestea sunt reprezentate de programe interactive care permit introducerea de interogări în mod direct și vizualizarea rezultatelor; de asemenea există numeroase programe administrative și utilitare ce permit rularea site-ului;

o bibliotecă client: cu ajutorul acesteia se pot scrie propriile programe client în C; în același timp, biblioteca furnizează baza de date pentru terțe asocieri pentru alte limbaje.

MySQL este un sistem client-server alcătuit dintr-un server SQL multi-thread care are facilități pentru mai mulți utilizatori, mai multe programe și biblioteci client, instrumente de administrare și un număr mare de interfețe de programare. Server-ul de baze de date este un program localizat pe calculatorul responsabil cu stocarea datelor, care ascultă cererile clienților sosite prin rețea și obține acces la conținutul bazei de date în funcție de aceste cereri, în scopul de a furniza clienților informațiile solicitate. Clienții reprezintă programe care se conectează la server-ul de baze de date și efectuează interogări pentru a-i indica acestuia informațiile pe care le doresc.

Având în vedere că MySQL suportă o gamă variată de produse software, există posibilitatea ca multe din limbajele de programare deja folosite de anumiți utilizatori să suporte deja interfața cu acest produs.

Orice mașină care dorește să proceseze interogări asupra unei baze de date MySQL trebuie să ruleze MySQL server – MySQLd –, care este responsabil de tot traficul de tip „incoming” sau „outgoing” cu baza de date. Ca orice server, MySQLd primește pe un port particular (3306) eventualele cereri de conexiune ale unui client care trimite cereri către o bază de date via MySQLd. Acest client poate fi un script în PHP care, grație modelului DBI, poate trimite o cerere către baza de date prin intermediul serverului MySQL, sau chiar clientului command-line MySQL. Clientul MySQL este o interfață interactivă pentru trimiterea de comenzi către server.

Principalele motive pentru folosirea pe scară largă a MySQL sunt viteza, stabilitatea și facilitatea în utilizare. De asemenea MySQL are o serie de caracteristici care au fost dezvoltate prin colaborarea foarte apropiată cu utilizatorii acestui limbaj. Aceste caracteristici ale limbajului se datorează faptului că a fost proiectat încă de la început pentru gestionarea unui volum foarte mare de date, iar experiența în folosirea sa acumulată de-a lungul anilor și-a spus cuvântul. MySQL oferă astăzi un set complet și util de funcții. Conectivitatea, viteza și securitatea fac ca MySQL să fie unul din cele mai potrivite produse pentru gestiunea bazelor de date pe Internet.

2.3.4. Apache

Un server Web este un daemon care acceptă conexiuni conform protocolului HTTP, răspunzând cererilor recepționate de la clienți. Ca și alte protocoale utilizate în Internet, protocolul HTTP (HyperText Transfer Protocol) este un protocol de tip cerere-răspuns, bazat pe TCP/IP, destinat transferurilor de informații hypermedia.

Serverul Web Apache este un proiect al Apache Software Foundation și constă într-un efort colectiv cu scopul declarat de a dezvolta și întreține un server Web care oferă servicii HTTP pentru sistemele de operare moderne precum UNIX și Windows, caracterizat de calitățile: open-source, securizat, eficient și extensibil.

Proiectul Apache este dezvoltat de o comunitate de dezvoltatori și utilizatori cunoscută sub denumirea de Apache Group, care în procesul de dezvoltare se bazează pe consens și colaborare. Acestui număr mare de dezvoltatori i se adaugă o comunitate substanțială de programatori și/sau simpli utilizatori care contribuie cu idei, documentație, cod și mai ales feed-back-ul necesar unei dezvoltări complete.

Devenit cel mai popular server Web încă din aprilie 1996, Apache ajungea în noiembrie 2005 într-un top al serverelor Web făcut de Netcraft Web Server Survey, serverul fiind folosit de 70% din totalitatea site-urilor de pe Internet, mai mult decât toate celelalte servere la un loc.

Ajuns la versiunea 2.2.2, Apache depășește servere comerciale ale unor firme de prestigiu, prin:

opțiunile de configurare și design-ul modular: este foarte ușoară scrierea de module care să satisfacă o funcționalitate particulară, în cazul în care acestea nu sunt deja implementate în librăria proprie.

portabilitate: versiunea originală a serverului Apache a fost dezvoltată pentru UNIX, dar există acum și versiuni care rulează sub OS/2, Windows și alte platforme.

Dorința creatorilor Apache, după cum se specifică în site-ul Grupului Apache, este ca platforma sa să fie folosită de cât mai multă lume (companii mari sau mici, instituții de cercetare, școli, Intranet-uri ) și să se acopere cât mai multe domenii de activitate.

Câteva caracteristici ale serverului Apache sunt:

are foarte multe facilități: Apache are suport XML, incluziune de fișiere pe parte de server, rescrierea URL-urilor, găzduire virtuală, pentru a enumera doar câteva dintre ele;

este modular: dacă se dorește folosirea unei facilități care nu este implementată în nucleul Apache sunt foarte mari șanse să existe un modul care poate adăuga serverului acea facilitate;

este extensibil: după cum am menționat codul sursă fiind gratis, dacă nu se găsește un modul care să ofere funcțiile de care este nevoie la un moment dat, este posibilă crearea unuia nou, care să servească nevoilor personale;

este popular: în acest moment, serverele web Apache acoperă aproximativ 60% din piața serverelor web;

este gratuit: nu în ultimul rând, faptul că este distribuit în mod gratuit este un atu foarte mare pentru Apache.

CAPITOLUL 3: PROIECTAREA APLICATIEI. PREZENTAREA SI ANALIZA ARHITECTURII

3.1. Sistemul informatic

Informațiile sunt stocate și manevrate prin intermediul datelor (fapte, noțiuni, instrucțiuni reprezentate sub o formă adecvată comunicării, interpretării sau prelucrării).

Complexitatea activităților umane a condus la necesitatea manevrării unei cantități ridicate de informații, pentru care volumul datelor este foarte mare. Modul în care circulă informațiile în cadrul unei unități economice sau de alt profil formează sistemul informațional al acestei unități. Acest sistem este format din date, informații, procese de prelucrare a informațiilor, procese de prelucrare a datelor și echipamente fizice.

Într-un sistem informațional clasic, cei care prelucrează datele și informațiile sunt oamenii. Aceasta face ca, în cazul unui volum mare de date, să fie necesar un număr foarte mare de oameni sau un timp îndelungat pentru prelucrarea lor. Totodată crește riscul apariției erorilor de prelucrare, cu consecințe mai mari sau mai mici.

Apariția și dezvoltarea calculatoarelor electronice au permis crearea de aplicații care să realizeze prelucrarea datelor cu viteze mai mari decât operatorul uman.

Aplicațiile informatice folosite în cadrul unei unități formează sistemul informatic al unității.

Sistemul informatic poate fi definit în diferite moduri: prin scop, prin elementele care îl compun sau sub forma unor combinații scop, elemente, interconexiuni dintre elemente. Una din cele mai generale definiții este cea de sistem de colectare, memorare, prelucrare și distribuire de informații, care utilizează unul sau mai multe calculatoare electronice.

Scopul principal al unui sistem informatic este de a servi cerințele informaționale ale omului și/sau de a reduce la minim intervenția și efortul uman în desfășurarea unor procese (de concepție, de instruire, de decizie, de evidență și gestiune etc.). Orice sistem informatic, din orice domeniu de activitate, este parte dintr-un sistem mai larg, sistemul obiect. Informațiile stocate și prelucrate de sistemul informatic sunt, direct sau indirect, bazate pe observațiile făcute asupra sistemului obiect, aceste informații putând fi utilizate pentru comanda și controlul sistemului obiect respectiv.

Oamenii din sistemul obiect au diferite roluri in raport cu sistemul informatic:

consumatorii de informații (denumiți și utilizatori finali);

furnizorii de date/informații;

operatori ai sistemului;

administratori care întrețin și mențin sistemul în funcțiune etc.

Fiecărui sistem informatic i se asociază un sistem de prelucrare automată a datelor (SPAD), în care informațiile sunt reprezentate prin date stocate pe diferiți suporți de memorie, iar procesele de prelucrare a informațiilor sunt concretizate prin procese de prelucrare a datelor executate de diferite echipamente de calcul și de oameni.

Figura 3.1. Structura unui Sistem Informatic

Astfel, sistemul informatic poate fi văzut ca un ansamblu de oameni, informații, procese de prelucrare a informațiilor, date, procese de prelucrare a datelor și echipamente fizice.

După cum se observă din figura 1, sistemul informatic poate fi abordat din două puncte de vedere:

modelul extern sau arhitectura funcțională, orientată către utilizator, constituit din informații și procese de prelucrare a informațiilor;

modelul intern sau structura fizică, orientată către mașină (calculator), constituită din date, procese de prelucrare a datelor și echipamentele fizice.

Este clar că primul îl determină pe al doilea, fapt pentru care, primul pas în conceperea unui sistem informatic, îl constituie definitivarea modelului extern al acestuia.

Pe baza arhitecturii funcționale generale a sistemului informatic se poate stabili structura fizică (modelul intern) al acestuia, respectiv echipamentele utilizate, structurile de date și suporții de memorie, modurile de exploatare, programele necesare, personalul de exploatare și întreținere a sistemului etc. În multe situații echipamentele deja existente în dotare constituie o restricție în stabilirea structurii fizice a sistemului informatic.

Din punct de vedere fizic, un sistem informatic este format din următoarele componente:

echipamente (hardware); cuprind unul sau mai multe calculatoare, lucrând independent sau integrate într-o rețea împreună cu echipamentele periferice necesare (imprimantă, scanner etc.);

programe (software); care se pot diferenția în:

programe de bază (sistem de operare și utilitare);

programe pentru exploatarea colecțiilor de date (Sisteme pentru Gestiunea Bazelor de Date);

programe dedicate, realizate pentru satisfacerea cerințelor specifice unui sistem informatic corect;

colecții de date; compuse din fișierele care conțin datele introduse, stocate, manipulate și întreținute în cadrul sistemului informatic, fișiere stocate pe suporți fizici de memorie (discuri magnetice, benzi magnetice, discuri optice etc.);

proceduri manuale; acestea se concretizează într-o documentație scrisă (manualele sistemului informatic) și care conține instrucțiuni pentru:

utilizarea sistemului de către utilizatorii neinformaticieni;

exploatarea sistemului;

întreținerea sistemului, de către utilizatori și personalul de specialitate informatică;

personalul care exploatează și menține sistemul în funcțiune; format din operatori calculator, personalul de pregătire al datelor, analiști și programatori, administratorii sistemului etc.

Un alt aspect important al structurii fizice a sistemului informatic este determinat de modul în care se face stocarea si prelucrarea informațiilor. Din acest punct de vedere, sistemele informatice se împart în:

sisteme informatice centralizate; în care toate informațiile sunt stocate și prelucrate pe un singur calculator;

sisteme informatice distribuite, în care stocarea și prelucrarea informațiilor este împărțită între mai multe calculatoare legate între ele. Aceste sisteme informatice au de regulă următoarele caracteristici:

prelucrări distribuite;

comunicații distribuite;

baze de date distribuite.

Utilizarea unui sistem informatic este în mare parte dependentă de utilizarea ieșirilor oferite utilizatorului uman. Aceasta deoarece, din punctul de vedere al utilizatorului neinformatician, sistemul informatic poate fi considerat o “cutie neagră” căreia îi furnizează intrări pentru a primi ieșiri.

Ieșirile unui sistem informatic pot fi de exemplu:

documente de tranzacție; care pot avea rol de informare, descriind sau confirmând fapta ca o acțiune a avut sau va avea loc, sau rol de acțiune, declanșând o nouă acțiune sau dând instrucțiuni referitoare la executarea acesteia.

rapoarte predefinite – sunt ieșiri prefixate din punct de vedere al formei și conținutului cât și al momentului/ frecvenței de producere; se referă de regula la una din următoarele situații:

descrierea unei stări sau condiții la termen prestabilit;

lista unor evenimente produse într-un interval de timp specificat.

răspunsuri la intrebări predefinite – sunt în general ieșiri limitate ca volum, cu caracter punctual, care permit selectarea unor informații din fișiere/bază de date după atributele acestora.

rapoarte și răspunsuri la întrebări și cereri “ad-hoc” – apar la intervale de timp diferite, ca o cerere expresă a utilizatorului, cerere care nu a putut fi specificată la proiectarea sistemului. Aceste situații se pot soluționa în diferite maniere, în funcție de facilitățile prevăzute de proiectantul sistemului (echipamente utilizate și sisteme de programare implementate):

prin utilizarea facilităților de lucru în sistemul convențional (interactiv) oferite de sistemul de gestiune a bazei de date;

prin utilizarea unor programe specializate pentru generarea de rapoarte;

prin proiectarea și scrierea unor programe noi necesare regăsirii și editării informațiilor solicitate;

soluții mixte.

Pentru a obține toate aceste ieșiri, un sistem informatic are nevoie de una sau mai multe baze de date în care să fie stocate datele, fie că sunt introduse de către operatori, fie că sunt generate prin prelucrarea datelor introduse anterior.

3.2. Analiza sistemului informatic

Analiza sistemului informatic are ca scop elaborarea unuia sau mai multor modele ale acestui sistem, modele care să permită ulterior elaborarea structurii bazei de date. Această analiză presupune următoarele etape:

analiza componentelor sistemului și a legăturilor dintre acestea, activitate cunoscută sub numele de analiză statică sau structurală;

analiza stărilor sistemului și a tranzițiilor posibile între aceste stări în raport cu anumite evenimente (analiza dinamică), în urma căreia se obține modelul dinamic;

analiza cerințelor informaționale, respectiv a transformărilor de date din cadrul sistemului (analiza funcțională), ce are ca rezultat modelul funcțional;

integrarea modelelor sistemului informatic în scopul corelării lor.

3.2.1. Analiza structurală

Are ca obiectiv evidențierea componentelor din cadrul sistemului, pentru care urmează să se colecteze date în cadrul bazei de date, precum și evidențierea legăturilor dintre componente.

Pentru construirea modelului structural trebuiesc parcurse următoarele etape:

identificarea componentelor din cadrul sistemului informatic;

identificarea asocierilor dintre entități și calificarea lor;

identificarea atributelor aferente entităților și asocierilor lor;

stabilirea atributelor de identificare a entităților.

Legăturile între entități pot fi de mai multe tipuri și anume:

După cardinalitatea asocierii avem, în funcție de gradul asocierii, respectiv după obligativitatea participării la asociere:

de tipul ‘unu la unu’, aceasta însemnând că cel puțin o realizare a fiecărei entități trebuie să participe la asociere;

de tipul ‘unu la mulți’, caz în care o realizare a unei entități revine la celelalte entități;

de tipul ‘mulți la mulți’;

asocieri parțiale, fără obligativitatea entităților;

asocieri totale sau complete, în care cel puțin o realizare a unei entități să participe la asociere.

După numărul de entități care participă la asociere vom avea:

asocieri binare, între două entități,

asocieri recursive, ale entităților cu ele înseși,

asocieri complexe.

Pentru problema prezentată se pot identifica două entități care se află în legătură una cu alta, și anume: entitatea CARTE și entitatea CITITOR.

Diagrama structurală, corespunzătoare celor două entități și a legăturii dintre ele, este prezentată în figura următoare.

Figura 1.2. Diagrama structurală

Legătura dintre cele două entități este de tipul “unu la unu” de la entitatea CARTE la entitatea CITITOR, și de tipul “unu la mulți” de la entitatea CITITOR la entitatea CARTE. Aceasta înseamnă ca o carte se poate afla la un singur cititor, la un moment precizat, iar un cititor poate să împrumute mai multe cărți simultan.

Entitățile identificate sunt caracterizate fiecare de o serie de atribute.

Atributele exprimă caracteristici, proprietăți ale componentelor sistemului informatic analizat sau ale asocierilor dintre componente.

Atributele pot fi de mai multe feluri:

Compus (bloc) – care este format din cel puțin două alte atribute.

Calculat (dedus) – reprezentând un atribut a cărui valoare nu este cunoscută direct, ci se calculează pe baza valorilor altor atribute.

Simplu – ale cărui valori nu pot fi descompuse în elemente componente.

Repetitiv multivaloare – care la un moment dat apare sub forma unei liste.

De identificare (cheie) – se caracterizează prin unicitatea valorii sale pentru fiecare instanță a entității căreia îi aparține. Atributele de identificare au un rol aparte în organizarea și manipularea informațiilor din baza de date. Stabilirea atributelor de identificare pentru entitățile din cadrul sistemului informatic analizat necesită examinarea mai întâi a capacității fiecarui atribut de a se constitui drept atribut de identificare (cheie).

Un atribut poate fi de identificare dacă îndeplinește o serie de cerințe:

oferă o identificare unică a realizărilor de entitate;

poseda o semnificație clară;

este usor de utilizat;

este scurt.

Pentru aceeași entitate pot exista mai multe atribute care pot servi drept atribute de identificare, adică pot exista mai multe chei candidate.

Selectarea unuia dintre candidații cheie drept atribut de identificare a entității se realizeaza astfel:

se determină atributele care potențial pot constitui atribute de identificare a entității, deci care respectă cerințele menționate anterior și care poartă numele de candidați cheie. Dacă nu exista astfel de atribute se introduce un atribut nou drept candidat cheie.

daca există un singur candidat cheie, se va selecta acesta drept atribut de identificare a entitatii;

daca exista mai multi candidati cheie se selectează unul astfel încât:

– se preferă atributele ale căror valori sunt mai puțin volatile,

– se preferă atributele ale căror valori sunt mai scurte.

În continuare sunt prezentate entitățile din diagrama structurală împreună cu atributele fiecăreia.

Figura 3.3. Atributele entității CARTE

Figura 3.4. Atributele entității CITITOR

Ca atribut de identificare pentru entitatea CARTE se alege atributul COD CARTE care corespunde codului de clasificare bibliofilă. Pentru entitatea CITITOR, atributul de identificare este atributul NUME. Pentru a ușura manevrarea ulterioară a informațiilor se preferă introducerea unui atribut nou, COD CITITOR, care va fii mai scurt decât atributul NUME și mai ușor de manevrat.

3.2.2. Analiza dinamică

Analiza dinamică are drept scop explicarea comportamentului elementelor componente ale sistemului informatic analizat.

În urma acestei analize se obține modelul dinamic al sistemului analizat.

Construirea modelului dinamic presupune următoarele etape :

identificarea stărilor în care se pot afla componentele sistemului;

identificarea evenimentelor care determină trecerea unei componente dintr-o stare în alta;

stabilirea succesiunii (fluxului) de evenimente și construirea unei diagrame care să reflecte tranzițiile de stare pentru componentele sistemului (diagrama de flux a evenimentelor).

Figura 3.5. Diagrama de flux a evenimentelor, corespunzătoare stărilor

celor două entități

La realizarea diagramei de flux a evenimentelor este necesar să se țină cont de restricțiile dinamice ale sistemului care servesc la identificarea tranzițiilor admisibile între două stări.

În figura 5 sunt prezentate stările în care se pot afla cele două entități care compun sistemul.

Tranzițiile entităților sistemului dintr-o stare în alta influențează tranzacțiile (transferurile de date) care au loc în interiorul sistemului, iar acestea la rândul lor influențează modul de realizare a aplicațiilor software destinate sistemului.

3.2.3. Analiza funcțională

Analiza funcțională are drept scop determinarea transformărilor de date care se produc în cadrul sistemului informatic analizat în scopul satisfacerii cerințelor informaționale aferente acestuia. Transformările de date se vor reprezenta sub forma unei diagrame de flux a prelucrărilor, în care nodurile reflectă procesele de prelucrare informațională, iar arcele reflectă fluxurile informaționale.

În cadrul analizei funcționale, accentul se deplasează de la realitatea analizată către cerințele informaționale ale utilizatorilor, cerințe a căror satisfacere constituie obiectivul realizării bazei de date.

Construirea modelului funcțional presupune parcurgerea următoarelor etape:

identificarea datelor de intrare și a datelor de ieșire din sistem;

construirea diagramelor de flux, prin care sunt reflectate legăturile procedurale dintre intrări și ieșiri;

identificarea restricțiilor;

precizarea criteriilor de optimizare.

Datele de intrare pentru problema analizată sunt următoarele:

datele care descriu atributele entității CARTE, în cazul adăugării de noi cărți la fondul de carte al bibliotecii;

datele care descriu atributele entității CITITOR, pentru cazul înscrierii unui nou cititor;

codul cărții, codul cititorului, data la care a fost împrumutată cartea și data la care trebuie restituită aceasta, pentru tranzacțiile curente specifice operațiilor zilnice de împrumut-restituire de cărți;

titlul cărții, respectiv numele autorului, pentru operațiile de căutare pe titluri sau autori.

Datele de ieșire sunt reprezentate de:

lista cititorilor care au depășit termenul de restituire a cărților;

lista cărților existente în bibliotecă;

lista cărților cu un anumit titlu care există în bibliotecă, specificându-se starea acestora (dacă există): la raft sau împrumutată persoanei X;

lista cărților aparținând unui anumit autor care există în dotarea bibliotecii, împreună cu starea lor.

Prelucrările de date care trebuiesc efectuate constau în următoarele acțiuni:

adăugarea de noi cărți în baza de date;

adăugarea unui nou cititor în baza de date;

adăugarea datelor necesare pentru a înregistra un împrumut;

ștergerea datelor privind împrumutul la restituirea în bune condiții a cărților;

căutarea și afișarea stării cărților având un anumit titlu sau aparținând unui anumit autor;

extragerea de rapoarte privind numărul cititorilor care au depășit termenul și lista cărților din bibliotecă.

Diagramele de flux a prelucrărilor sunt prezentate în figurile următoare.

Figura 3.6. Diagrame de flux a prelucrărilor

Figura 1.7. Diagrame de flux a prelucrărilor

În final cele trei modele ale sistemului vor fi integrate pentru se obține o reprezentare completă a sistemului analizat.

3.3. Integrarea modelelor sistemului informatic analizat

Analiza sistemului informatic se finalizează prin integrarea modelelor structural, dinamic și a celui funcțional.

Modelul structural și cel dinamic sunt obținute prin investigarea sistemului real, a proprietăților intrinseci, statice și dinamice ale componentelor acestui sistem, proprietăți care sunt independente de aplicațiile care operează asupra lor.

Modelul funcțional este rezultatul analizei cerințelor informaționale ale utilizatorilor, mai precis a tranzacțiilor prin care pot fi satisfăcute aceste cerințe.

Perspectiva diferita din care este realizata analiza explica de ce rezultatele obtinute pot sa difere fiind necesara o coordonare, deci o integrare a lor.

În cadrul etapei de integrare a modelelor sistemului se stabilește în ce măsură modelul structural și cel dinamic satisfac necesitățile diferitelor aplicații, verificându-se complitudinea (existența elementelor informaționale solicitate) și consistența lor (în ce măsură componentele modelelor sunt necesare și suficiente în raport cu procesele de prelucrare). Se verifică dacă relațiile dintre componentele sistemului sunt stabilite în mod corespunzator, pentru a face posibilă regăsirea informațiilor din mai multe entități. Se determină, de asemenea, dacă legăturile dintre entități asigură coerența informațiilor, posibilitatea efectuării de actualizări concomitente asupra datelor redundante.

Se urmăreăte ca toate elementele informaționale participante la diferitele tranzacții să fie asignate ca atribute ale diferitelor entități.

Pe baza acestei analize integrate se efectuează adăugările și/sau corelările necesare între modelele sistemului.

În final se ajunge ca modelul dinamic și cel structural să nu mai fie complet independente de aplicații, iar modelul funcțional să nu mai fie orientat exclusiv pe aplicații.

CAPITOLUL 4: PREZENTAREA APLICATIEI: BIBLIOTECA ON-LINE

4.1. Descriere generala

A. Descrierea produsului

Pe prima pagina a sitului vor fi afisate cele mai noi si cele mai populare(citite) carti. Utilizatorul va putea sa vizualizeze cartile din baza de date ale librariei, va putea sa caute cartea dorita si va putea sa comande cartea prin posta. De asemenea va putea sa-si posteze propriile comentarii despre anumite carti, cat si sa citeasca parerile celorlalti.

Din punct de vedere al administratorului, situl este foarte usor de intretinut datorita intefetei puse la dispozitie, nefiind nevoie ca cel care administreaza situl sa fie familiarizat cu tehnicile de programare.

Interfata cu utilizatorul folosita de carte aplicatie este interfata Web Browserului, deci o interfata usor de folosit, intuitive si atractiva totodata

Se folosesc baze de date Mysql, prin intermediul PHP-ului si al HTML-ului, iar comunicarea intre client si server se face cu ajotorul protocolului HTTP, aici intervenind si serverul Apache, care face practic “transcrierea” codului PHP in cod HTML.

– Interfete cu utilizatorul este reprezentata de situl insusi. Prima pagina va afisa:

cele mai noi carti;

cele mai populare carti;

un buton de cautare;

cosul de cumparaturi

B. Functiile produsului

Situl va avea functia de cautare in baza de date, pentru a putea gasi rapid cartea cautata. De asemenea situl afiseaza si cartile cele mai noi cat si cartile cele mai cumparate. Achizitionarea cartilor se face foarte usor, utilizatorul beneficiind de un cos de cumparaturi in care poate sa faca modificari inainte de a lansa comanda. Comanda se face pe baza unui e-mail valid, unde se va trimite un e-mail de confirmare care cotine comanda ceruta.

Cat priveste administratorul, exista facilitatea de a adauga carti noi, de a sterge carti din baza de date, de a modera comentariile utilizatorilor, daca acestia intrec “limita”. Tot administratorul confirma si comenzile onorate, tot cu ajutorul unei aplicatii inclusa in produs.

Descrierea utilizatorilor

Functiile sitului sunt foarte usor de folosit, ele fiind intuitive astfel incat oricine poate sa foloseasca situl fara a trebui sa posede cunostinte avansate in domeniul IT. Administratorul nu trebuie sa detina cunostinte tehnice suplimentare fata de client.

Print intermediul acestui site, clientul va putea sa:

– navigheze pe diferitele pagini ale site-ului;

– caute o anumita carte in funtie de nume sau autor;

– afle detalii despre cartile care il intereseaza;

– citeasca comentariile altor cititori la adresa unei carti;

– posteze la randul sau comentatrii despre o carte;

– cumpere mai multe carti, avand la dispozitie cosul de cumparaturi, unde poate sa faca modificari ulterioare produselor care se afla in cos;

Administratorul va putea sa :

aiba acces la informatii private ale utilizatorilor, dupa ce se inscrie, folosind un user si o paroloa;

sa modereze comentariile utlizatorilor

sa adauge sau sa stearga o carte din baza de date

sa modifice date despre o anumita carte

sa onoreze sau sa refuze o anumita comanda

4.2. Descriere structurala

4.2.1. Descriere module

A. Descriere modul 1

B. Descriere modul 2

C. Descriere modul 3

D. Descriere modul 4

E. Descriere modul 5

F. Descriere modul 6

G. Descriere modul 7

H. Descriere modul 8

I. Descriere modul 9

J. Descriere modul 10

K. Descriere modul 11

L. Descriere modul 12

4.2.2. Descriere procese concurente

A. Descriere proces 1

B. Descriere proces 2

C. Descriere proces 3

D. Descriere proces 4

E. Descriere proces 5

F. Descriere proces 6

G. Descriere proces 7

H. Descriere proces 8

I. Descriere proces 9

J. Descriere proces 10

4.2.3. Descriere module de date

A. Descriere modul de date 1

B. Descriere modul de date 2

C. Descriere modul de date 3

D. Descriere modul de date 4

E. Descriere modul de date 5

F. Descriere modul de date 6

G. Descriere modul de date 7

4.2.4. Descriere dependente

A. Dependente intre module

Pentru client :

Pentru administrator:

4.2. Dependente intre procese

Pentru client :

Pentru administrator:

C. Dependente intre date

BIBLIOGRAFIE

Similar Posts