Dezvoltarea Unei Platforme - E-Learning

download Dezvoltarea Unei Platforme - E-Learning

of 79

Transcript of Dezvoltarea Unei Platforme - E-Learning

UNIVERSITATEA POLITEHNICA BUCURESTI FACULTATEA DE AUTOMATICA SI CALCULATOARE

DEZVOLTAREA UNEI PLATFORME E-LEARNING

Coordonator: Prof. dr. ing. Dorin Carstoiu

Absolvent:

- BUCURESTI 2008 1

Cuprins: DEZVOLTAREA UNEI PLATFORME.............................................................................1 E-LEARNING.........................................................................................................................1 CAP. 1: CONCEPTE E-LEARNING..................................................................................3 CAP. 2: PREZENTAREA TEHNOLOGIILOR UTILIZATE.......................................16 CAP. 3: PROIECTAREA BAZEI DE DATE...................................................................34 CONCLUZII.........................................................................................................................66 BIBLIOGRAFIE..................................................................................................................67 ANEXA 1 CLASA ADODB.............................................................................................68 ANEXA 2 - CLASA ADLDAP............................................................................................69 ANEXA 3 EXTENSII FPDF............................................................................................72 ANEXA 4 INSTALAREA SI CONFIGURAREA APLICATIEI................................79

2

Cap. 1: Concepte e-LearningPrefataAbordarea nvmntului la distan ca modalitate alternativ sau complementar de a face educaie pornete de la asigurarea i respectarea unor criterii de calitate n ce privete aspectele pedagogice, academice, administrative, tehnice. Conceptul pregtire pentru via, care a constituit mult vreme un obiectiv major al sistemelor educative din ntreaga lume, a devenit redundant n perspectiva deschis de uriaele transformri din societate datorate schimbrilor tehnologice i economice. Cu treizeci de ani n urm, educaia pe tot parcursul vieii putea fi privit ca o opiune pentru o vrst cu mai mult timp liber. Acum a devenit o necesitate. Ofertele de educaie i pregtire au devenit segmentate i diversificate, n acord cu variatele cereri ale consumatorilor care pltesc pentru module educative ajustate pe propriile nevoi. Educaia la distan este doar o expresie a acestei noi orientri spre consumator a diverselor instituii de pregtire. Acumularea de credite i transferul, modularizarea cursurilor sunt pri ale aceleiai transformri de structur a sistemului de nvmnt. Rezultatele cercetrilor de pn acum, realizate n rile cu tradiie n educaia prin coresponden, relev faptul c nvmntul la distan este la fel de eficient ca formele tradiionale de educaie, cu condiia unei proiectri corespunztoare. Spre exemplu, la cererea Federaiei Americane a Profesorilor i Asociaiei Naionale pentru Educaie, Institutul pentru Politici Educaionale din Statele Unite a iniiat o cercetare privind eficacitatea educaiei la distan, care s-a dorit a fi o analiz a "ceea ce ne spun cercetrile n domeniu i ceea ce nu ne spun" (The Institute for Higher Education Policy. Whats the Difference? A Review of Contemporary Research on the Effectiveness of Distance Learning in Higher Education. 1999. [online] http://www.ihep.com, p. 6.). Raportul sugereaz c multe dintre ntrebrile eseniale despre modul n care se realizeaz predarea-nvarea la distan nu primesc rspuns. Este oare mai potrivit educaia la distan pentru anumite obiecte de nvmnt dect pentru altele? Este mai potrivit pentru anumii studeni? Care sunt cauzele abandonului n cadrul cursurilor la distan? Sunt bibliotecile i sursele de informare suficiente? Ce elemente sunt necesare pentru ca un student s absolve cu succes un curs la distan i cum pot fi evaluate acestea? Evaluarea

3

studenilor n clasele la distan este diferit de evaluarea tradiional? Problemele administrative afecteaz calitatea instruirii la distan? Demersul cercetrii asupra educaiei la distan este departe de a fi clarificat problemele conturate de aceast form de predare-nvare mereu n expansiune. Oricum, noile tehnologii ale informaiei i comunicrii au dat o mn de ajutor instituiilor de nvmnt superior n concentrarea asupra scopului esenial al instruirii. Realitatea ne indic o cerere masiv de cursuri n tehnologia nvmntului deschis i la distan, grefat pe o nevoie tot mai mare de educaie continu. Problema care se pune n aceste condiii este aceea de a crete eficiena programelor existente i proiectarea altora, pe baza unei teorii pedagogice a educaiei la distan care s susin practica la toate nivelele.

Educatia la distanta definitiiTeoria pedagogic a nvmntului la distan pornete de la ncercrile de definire a educaiei la distan. Istoric, educaia la distan nsemna studiul prin coresponden, ns accepiunile actuale tind s fie mai apropiate de metode de transmitere a materialelor susinute de tehnologii audio, video i (mai frecvent i deschiznd mai multe posibiliti) prin Internet. n general, se vorbete despre educaie la distan atunci cnd profesorul i studentul (studenii) sunt separai prin distan fizic i tehnologia (audio, video, reele de calculatoare, material tiprit), mbinat uneori cu comunicarea fa n fa, este folosit pentru instruire (Engineering Outreach Staff de la Universitatea Idaho - Distance Education at a Glance). Un alt numitor comun al definiiilor de pn acum este caracteristica acestui sistem de a augmenta oportunitile de nvare ale studenilor, prin eliminarea obstacolelor de ordin spaial, temporal sau a impunerii unui ritm de nvare. Se asigur astfel posibiliti de studiu unor categorii largi de persoane, fr ntreruperea activitii lor profesionale. Aceasta este de fapt i caracteristica principal, care face ca sistemul s fie deosebit de viabil pentru ciclurile superioare, pentru educaia permanent, pentru nvmntul vocaional, i l situeaz potenial printre cele mai solicitate tipuri de sisteme de educaie ale viitorului. O excelent definiie cu valoare operaional o d Consiliul pentru Educaie i Instruire la Distan: "Educaia la distan presupune nscrierea i studiul la o instituie de instruire, care asigur materialele didactice pregtite ntr-o ordine secvenial i logic pentru ca studenii s studieze pe cont propriu. La sfritul fiecrei etape, studentul trimite prin fax sau e-mail, ctre instructori calificai, produsul muncii sale spre corectare, clasare i orientare tutorial pe problemele temei de studiu. Sarcinile corectate sunt napoiate, acest schimb asigurnd o relaie student-profesor personalizat." (Consiliul pentru Educaie i Pregtire la Distan http://www.detc.org/) Unii autori investesc cu semnificaii deosebite interaciunile dintre studeni, poate pentru c aceasta este una din direciile spre care sistemul de instruire la distan i va depi limitele. Ali

4

autori accentueaz rolul mediator al profesionitilor educaiei - punerea n legtur a studenilor cu resursele educaionale de oriunde din lume fiind considerat unul dintre cele mai importante avantaje ale educaiei la distan prin Internet - n contextul actual al digitizrii culturii, varietii surselor de informare i dificultii de orientare n cmpul informaional. n sens larg, prin elearning (sau e-learning) se ntelege totalitatea situatiilor educationale n care se utilizeaza semnificativ mijloacele tehnologiei informatiei si comunicarii. Termenul, preluat din literatura anglo-saxona, a fost extins de la sensul primar, etimologic, de nvatare prin mijloace electronice, acoperind acum aria de intersectie a actiunilor educative cu mijloacele informatice moderne. Definit astfel, mai mult ca e-education, aria semantica a conceptului elearning interfereaza cu si se suprapune indefinit variabil pe o multitudine de termeni ce surprind varietatea experientelor didactice ce pot beneficia de suport tehnologic: instruire asistata/ mediata de calculator, digital/ mobile/ online learning/ education, instruire prin multimedia etc. Sub denumirea de software didactic/ educational, o gama larga de materiale electronice (pe suport digital/ multimedia) sunt dezvoltate pentru a simplifica procesul de educatie: harti, dictionare, enciclopedii, filme didactice, prezentari n diverse formate, carti (e-books), teste, tutoriale, simulari, software ce formeaza abilitati, software de exersare, jocuri didactice etc. Computerul si materialele electronice/ multimedia sunt utilizate ca suport n predare, nvatare, evaluare sau ca mijloc de comunicare (pentru realizarea unor sarcini individuale etc). n sens restrns, elearning reprezinta un tip de educatie la distanta, ca experienta planificata de predare-nvatare organizata de o institutie ce furnizeaza mediat materiale ntr-o ordine secventiala si logica pentru a fi asimilate de studenti n maniera proprie. Medierea se realizeaza prin noile tehnologii ale informatiei si comunicarii - n special prin Internet. Internetul constituie att mediul de distributie al materialelor, ct si canalul de comunicare ntre actorii implicati. Functional deocamdata doar la nivelul nvatamntului superior si n educatia adultilor, sistemul de instruire prin Internet replica.

e-Learning cadru conceptualCele mai durabile si mai eficiente inovatii sunt acelea pe care beneficiarul le-a asimilat, adica le-a adoptat pentru ca i satisfac nevoile sale specifice. Sa luam n considerare ceea ce se ntmpla la nivelul concret al transformarilor produse de noile tehnologii ale informatiei si comunicarii: n primul rnd, observam convertirea continutului cultural din ntreaga lume ntr-o forma digitala, facnd astfel produsele disponibile oricui, oriunde si oricnd. Retelele de comunicatii cu arie larga si de mare viteza, legnd computerele din apartamente sau de pe pupitrele elevilor la biblioteci digitale de mare capacitate schimba conditiile culturale n care se desfasoara educatia. Izolarea este de domeniul trecutului si are loc o substitutie a insuficientei si perimarii informatiilor cu amploarea si arhisuficienta lor. Problemele educatiei se schimba profund, alternativa la o cunoastere insuficienta si costisitoare fiind gasirea strategiilor ce permit accesul nelimitat la cultura. n al doilea rnd, sunt dezvoltate multiple modalitati de a reprezenta informatii, de a simula interactiuni si a exprima idei, extinznd achizitiile inteligentei, alternd astfel

5

spectrul civilizatiei, modificnd cerintele participarii la cultura. Dezvoltarea epistemologica capata aspecte interesante. Gndirea relationeaza strns cu limbajul, simbolizarea formala din matematica si logica fiind privita ca o extensie a variatelor forme lingvistice curente. Mediul digital extinde evident sfera, fiind folosit pentru a achizitiona informatii si pentru a exprima idei n diverse moduri - verbal, vizual, auditiv sau mbinarea tuturor acestora. Ca rezultat, educatorilor le va fi din ce n ce mai dificil sa favorizeze manipularea limbajului verbal n detrimentul celorlalte modalitati de expresie. n al treilea rnd, oamenii exteriorizeaza diverse abilitati curente - de a calcula, de a scrie corect, a memora, a vizualiza, a compara, a selecta - n instrumentele digitale cu care lucreaza, dobndind astfel practic o adevarata maiestrie n ce priveste aceste abilitati, cndva rezultate ale educatiei. Tehnologiile digitale largesc potentialitatile personale. Procesoarele de texte, de exemplu, avertizeaza n cazul oricarui cuvnt scris incorect sau n cazul greselilor gramaticale, foile de calcul permit oricui sa faca rapid si corect calcule dupa formule extrem de complexe, bazele de date permit si celor cu slabe capacitati de memorare sa manipuleze seturi ntregi de informatii. Diverse alte forme de instrumente de lucru specializate reduc nivelul aptitudinal necesar pentru a participa efectiv la o gama larga de activitati culturale. Bibliotecile digitale, multimedia si abilitatile exteriorizate schimba sensibil perspectiva asupra practicii educationale. Introducerea Internetului este evenimentul ce precipita emergenta unei noi paradigme n educatie si formare. Convergenta, pe fondul schimbarilor majore din social, a unor factori cum ar fi: 1. dezvoltarea tehnologica, 2. noile teorii pedagogice si 3. mpartirea responsabilitatii pentru educatie cu diverse alte institutii - duc la reliefarea unor caracteristici ce dau masura acestei paradigme:

fluiditatea rolurilor curriculum orientat spre necesitatile particulare ale studentului resurse distribuite facilitati virtuale lectii asincron.

Paradigma noua este strns legata de efectele depasirii culturii tiparului, ntr-o societate a comunicarii generalizate. Internetul devine, pe zi ce trece, arbitrul accesului la educatie si cultura, iar forma cea mai potrivita de a veni n ntmpinarea nevoilor de cunoastere si formare continua este eLearning.

Modele de educatie la distantaSpatiul limitat din institutii, precum si diverse dificultati ntmpinate de unii studenti, n jonctiune cu necesitatea pregatirii pe tot parcursul vietii ce conduce la o cerere de educatie sporita, conduc la luarea n considerare de catre institutiile traditionale a alternativelor nvatamntului deschis si la distanta. Diverse modele de educatie la distanta pot fi adoptate, n functie de scopul urmarit, cererea de educatie si resursele disponibile:

6

1. Model de sine statatorPresupune o institutie exclusiv virtuala, care va asigura urmatoarele functii:

Dezvoltarea programelor educationale (inclusiv proiectarea materialelor pentru nvatare) Tutoriat si ndrumare Producerea, stocarea si distribuirea materialelor pentru nvatare Administrare si probleme financiare Marketing Evaluare si acreditare

Argumentele pentru un sistem educational constituit exclusiv pe criteriul instruirii la distanta sunt urmatoarele:

Structurile administrative ale sistemelor educationale conventionale nu corespund dezvoltarii si managementului sistemelor la distanta. Institutiile traditionale considera adesea educatia la distanta ca avnd rezultate inadecvate, asadar sunt rezervate n a le aloca resurse. Cerintele studentilor la distanta pot fi mai bine satisfacute daca institutia este dedicata n ntregime cerintelor acestora. Caracteristicile populatiei tinta sunt total diferite n sistemul conventional fata de cel la distanta. Pedagogia educatiei la distanta difera de cea a nvatamntului traditional.

Aceste institutii se clasifica n doua tipuri: multi-sectional - asigura pregatire n mai multe domenii si uni-sectional - asigura pregatire ntr-un singur domeniu.

2. Departament de educatie la distanta n cadrul unei institutii de nvatamnt existente.Argumentele pentru un asemenea sistem bimodal sunt:

Materialele suport pentru nvatare pregatite de cadrele didactice pot servi n egala masura studenti interni si externi de campus. Materialele de autoinstruire ncurajeaza nvatarea independenta a ambelor categorii de studenti. Studentii pot opta pentru unul sau altul dintre sisteme. Studentii la distanta beneficiaza de traditia si renumele institutiei si se supun standardelor acesteia. Cadrele didactice sunt ncurajate pentru practicarea unui nvatamnt mai interactiv.

3. Structuri cooperativeDiverse institutii lucreaza n comun, att n activitatea de educare ct si n ndeplinirea celorlalte functii ce le revin (productie si distributie de suport pentru nvatare, administrative etc.). Aceste institutii nu nscriu studenti n mod direct, ci ofera servicii pentru institutiile de nvatamnt propriu-zise.

4. Structuri hibride 7

Ca rezultat al mbinarii diverselor structuri din modelele descrise anterior. n afara descriptorilor modelelor de educatie la distanta de mai sus, care poarta cu sine gradul de aplicabilitate practica n varii situatii, se mai pot enumera ctiva factori care influenteaza alegerea unei structuri:

Scopul educatiei. Daca se urmareste pefectionarea cadrelor didactice n sensul familiarizarii cu prevederile reformei nvatamntului, atunci optiunea ar putea fi pentru un model de sine statator sau dual, unisectional. Necesitatile pentru educatie. O universitate deschisa este cea mai buna solutie pentru cerinte mari. Resurse disponibile - umane, fizice si financiare. Gradul autonomiei si controlului - dependente de orientarea si sustinerea de la nivelul politicilor educationale.

n general, institutiile educative prefera adoptarea unui sistem bimodal de organizare, prin proiecte specifice care creaza o institutie virtuala n cadrul uneia traditionale. Efectele sunt evidente n timp relativ scurt - o universitate nscriind de zeci de ori mai multi studenti dect pot ncape n salile sale de curs - dar efectele pe termen lung sunt cele vizate, institutiile cu traditie ocupnd un loc n spatiul educativ de mine, spatiul virtual, catre un viitor al "universitatilor fara sedii, legate (mai nti) de oameni si de idei". (Dumitru Oprea, rectorul Universitatii "Al.I.Cuza" din Iasi - martie 2000)

Tipuri de educatie la distantaEducatia la distanta nu este un fenomen nou n cmpul educational, ci constituie o modalitate de predare si nvatare cunoscuta si practicata de cel putin o suta de ani.

Educatia prin corespondentanainte de aparitia si folosirea n masa a noilor tehnologii ale informatiei si comunicarii, educatorii foloseau materialul tiparit si serviciile postale pentru ceea ce se numea educatie prin corespondenta. nca din 1910, un studiu dedicat unei institutii de instruire la distanta ne da masura a ceea ce se petrecea n Statele Unite si Canada: "Nu mai putin de 1600 de persoane sunt antrenate n activitati de instruire de catre Scoala Internationala prin Corespondenta, a carei misiune principala este de a patrunde n masa eterogena a umanitatii pentru a descoperi, directiona si convinge indivizii de beneficiile educatiei. Nu cunosc o alta inovatie printre metodele existente mai revolutionara si mai radicala dect aceasta. Avem de-a face aici cu o institutie care cheltuieste anual peste doua milioane de dolari pentru a crea o cerere de educatie.". Aceasta forma a educatiei la distanta ramne nca o modalitate de instruire viabila acolo unde nu sunt nca dezvoltate infrastructurile necesare unei abordari moderne si mai eficiente. Mai trebuie semnalate aici unele dintre formele actuale ale educatiei prin corespondenta, n care materialele pentru nvatare sunt n format electronic si pot fi livrate pe dischete, CD-ROM sau direct prin e-mail. Se obtin astfel unele avantaje fata de nvatamntul la distanta prin corespondenta postala: reducerea costurilor, personalului si spatiilor de depozitare.

8

Educatie prin radioEducatia la distanta prin radio a avut o popularitate mai scazuta, fiind folosita odata cu dezvoltarea extraordinara a acestui nou purtator de informatie si dizolvndu-se n celelalte functii ale comunicarii prin mass-media: promovarea culturii, informarea, socializarea si chiar divertismentul. Imediat dupa obtinerea primei licente de educatie prin radio de catre Universitatea din Salt Lake City, n 1921, apareau si n Romnia primele aprecieri cu privire la metodele pedagogice noi oferite de radiodifuziune. La sugestia lui Dimitrie Gusti, n calitate de presedinte al Societatii Romne de Radiodifuziune, s-au organizat ncepnd cu 1930 doua conferinte prin radio pentru clasele inferioare si superioare. Fara ndoiala, radioul si-a avut perioada lui de predominanta pozitiva n perimetrul instructiei si educatiei scolare de tip informal.

Educatie prin televiziuneSimilar este cazul educatiei prin televiziune, care preia, de asemenea, la un moment dat, de la carte/manual si presa, multiple sarcini de stocare si transfer a informatiei aflate ntr-o adevarata explozie. Prin mijloacele sale ample si variate si beneficiind de avantajul familiaritatii, televiziunea contribuie la informarea culturala, dar poate fi utilizata si pentru educatie, mentinndu-se ca alternativa pedagogica n centrul de interes al educatorilor din 1945 (cnd Universitatea de Stat din Iowa obtine prima licenta) si pna spre mijlocul deceniului al optulea. Cercetarile au demonstrat ca rezultatele obtinute prin televiziunea scolara nu sunt inferioare celor obtinute prin nvatamntul traditional. Distinctia ce se impune este ntre 1. emisiunile TV cu caracter educational general, care urmaresc obiective instructive prin influenta educativa difuza si 2. emisiunile proiectate si realizate n functie de programe de tip scolar, ca forma alternativa de nvatamnt, ce beneficiaza de avantajele specifice educatiei la distanta: un profesor poate conduce situatii de nvatare pentru un numar mai mare de elevi; sunt prezentate elevilor realitati inaccesibile observatiei directe; atractivitatea materialelor prin mbinarea imaginii cu sunetul; continuturile transmise pot avea girul unor personalitati prezente la lectie; anularea impedimentului distantei; reutilizarea ulterioara a materialelor etc. n ciuda raspndirii lor pe arie larga si fortei de seductie pe care o au pentru educatori pentru acest atu, aceste mijloace moderne de comunicare n masa se abat de la prezenta n rndul mijloacelor educative eficiente prin doua neajunsuri majore: 1. Receptorul fiind o masa mare si eterogena de oameni, a te adresa oricui comporta riscul de a nu te adresa nimanui; nu exista siguranta receptarii mesajului de catre cei carora le este adresat n mod special (nu putem fi siguri ca elevii vor recepta o emisiune despre literatura, pregatita special pentru ei). 2. Comunicarea prin radio si televiziune are, n esenta, un caracter unidirectional, lipsind conexiunea inversa; ntre emitator si receptor nu exista un dialog permanent si real.

Educatie prin InternetUn alt tip de predare-nvatare la distanta, care cstiga teren pe zi ce trece, este educatia prin Internet. Cursurile suport sunt stocate pe un computer ntr-o forma specifica si un navigator uzual pentru Internet sau, n unele cazuri rare, un program special, permite cursantilor sa acceseze informatiile n ritmul propriu de asimilare. Materialele de nvatare sunt prezentate ntr-o forma multimedia - prin mbinare de text, sunet, imagine si chiar scurte filme - si n modul hyperlink un model structural n care accesul la alte informatii se realizeaza prin legaturi multiple de la o

9

singura pagina; la rndul lor alte pagini permit revenirea, aprofundarea prin accesarea altor pagini cu subiect similar sau saltul la alte tipuri de informatii. Acest tip de materiale 'fara suport pe hrtie' au o serie de avantaje:

se nlatura necesitatea spatiilor de depozitare si personalului numeros; costuri de expediere reduse; flexibilitate pentru student n sensul posibilitatii alegerii portiunilor care se tiparesc si care ramn n format electronic; expedierea la student exact la timp n sensul accesului la material exact cnd si unde este necesar; integrarea unei varietati de medii de nvatare: text, grafica, imagine statica si animata, sunet, scurte filme; acces la materiale din alte sute de mii de surse, unele prin linkuri (legaturi ) directe din situl de origine;

integrarea legaturilor cu tutorii si cu alti studenti, prin intermediul Web sitului.

Institutii virtualeO institutie de educatie virtuala poate fi definita ca: a. O institutie implicata n activitati de tip educativ care si promoveaza programa si cursurile direct celor interesati prin intermediul tehnologiilor informatice si de comunicare, furniznd si suport tutorial. b. O organizatie creata prin parteneriat pentru a facilita predarea si nvatarea fara implicare directa ca furnizor de programe educative. Exemplele de institutii virtuale pot include att sectorul public ct si privat, la nivel elementar, secundar, liceal, universitar etc., ca si forme de educatie non-formala, educatie permanenta, educatie vocationala de perfectionare. Emergenta institutiilor virtuale are patru surse diferite:

Institutii care au fost implicate n educatia deschisa si la distanta. Institutii traditionale, de la scoli la universitati, care nu au mai fost implicate n educatia la distanta. Aceste institutii ncep sa aplice noile tehnologii informatice ca suport pentru un plus de calitate, o productivitate si flexibilitate crescute, cu premisa ca astfel reduc costurile si atrag venituri prin atragerea de noi studenti. Aceasta tranzitie apare n situatia tipica a unor proiecte specifice care creaza o institutie virtuala n cadrul uneia traditionale. Sectorul corporatiilor sau al organizatiilor mari care dezvolta programe de pregatire pentru uz intern avnd ca suport si mijloc de distribuire tehnologiile informatice si de comunicare si purtnd eticheta de virtual. Persoane individuale care, din motive variind de la altruism la profit, folosesc tehnologiile pentru a crea oportunitati de nvatare pentru oricine interesat.

10

Dupa o analiza a educatiei la distanta din 11 regiuni (Canada, SUA, Caraibe, America Latina, Europa, Africa, India, Korea, Australia, Noua Zeelanda si Insulele Pacificului), Departamentul pentru Dezvoltare Internationala din Londra a dat publicitatii, n 1999, urmatoarele observatii generale privind educatia virtuala si institutiile virtuale : Eticheta virtual este folosita n sens larg si nediscriminat n toata lumea, interschimbabila cu alti termeni cum ar fi: nvatare deschisa si la distanta, nvatare distribuita (distributed learning), nvatare n retea, nvatare prin Web (Web-based learning) si nvatare prin computer. Mai mult, uneori termenul este folosit cu referire la sisteme care combina tehnologii TV si teleconferinte interactive n timp real. n ciuda folosirii din ce n ce mai frecvente a termenului virtual, sunt foarte putine exemple de institutii care utilizeaza tehnologiile informatice si de comunicare pentru a acoperi toate functiile incluse n definitia educatiei virtuale. Cele mai comune aplicatii ale noilor tehnologii se regasesc n administrare, pregatirea si distribuirea materialelor suport si, acolo unde exista posibilitatea, activitati de tutorat n forma interactiunilor student-student si student-profesor. Desi sunt foarte putine exemple de institutii virtuale n sensul pur, numarul activitatilor de acest tip, n toate tipurile si la toate nivelele organizatiilor instructiv-educative, publice sau private, este considerabil n toate partile lumii. Nimeni nu pare sa se ndoiasca de faptul ca dezvoltarea tehnologiilor informatice si de comunicare va avea un impact profund asupra accesului, functionarii institutionale si proceselor predarii si nvatarii. Dezvoltarea institutiilor virtuale este nca n faza experimentala n majoritatea tarilor; n mod obisnuit se foloseste World Wide Web-ul doar ca mediu publicistic, fara a se apela la potentialul real al tehnologiilor. Aceasta datorita lipsei de importanta ce se acorda pregatirii si perfectionarii personalului didactic. Sunt remarcabile cteva exemple (Korea) de transformari care pot avea loc atunci cnd este dezvoltata o viziune clara asupra unui sistem educational si implementarea acestuia este sustinuta de factorii de decizie. Emergenta institutiilor virtuale este n relatie directa cu dezvoltarea si accesul la infrastructura tehnologiilor informatice si de comunicare. Oricum, majoritatea decalajelor socio-economice si geografice rezida din acest acces si constituie punctul critic al educatiei la distanta deoarece lipsa accesului dezavantajeaza din ce n ce mai mult achizitia de aptitudini si cunoastere. n ciuda acestei relatii directe evidente, se pare ca planurile strategice de dezvoltare a infrastructurii tehnologiilor informatice si de comunicare nu iau n considerare aplicativitatea n educatie. Se considera n general ca vom fi martorii dezvoltarii unui numar relativ mic de institutii internationale care domina piata educationala prin retele vaste de distributie si parteneriate strategice. Oricum, la acest stadiu al evolutiei institutiilor virtuale, aceasta observatie este mai mult retorica dect reala. Reducerea costurilor este des citata ca obiectiv pentru introducerea noilor tehnologii informatice n institutiile de educare si formare. Dar date valide n problema costurilor sunt insuficiente.

Cresterea continua a capacitatilor si flexibilitatii noilor tehnologii informatice cu aplicabilitate n situatiile educative, dublata de o continua descrestere n cost a echipamentelor, precum si capacitatea tehnologiilor de a facilita functionarea anumitor structuri traditionale ale institutiilor - sunt argumente ce conving factorii decizionali sa adopte schimbarea si sa accepte un

11

mod dual de organizare - acesta fiind dealtfel un model de educatie la distanta destul de frecvent ntlnit.

Certificari onlinen ciuda obstacolelor n stabilirea avantajelor reale, tehnologiile de predare-nvatare la distanta au un pondere din ce n ce mai mare n toata lumea, n mare parte datorita eforturilor profesorilor, parintilor si studentilor care considera accesul la o forma de nvatamnt deschis la distanta un drept la educatie, sau ca rezultat al eforturilor bine-intentionate ale unor guverne, care considera educatia la distanta un panaceu n ntmpinarea cererii crescnde de formare pe tot parcursul vietii. Sistemul eLearning a fost asociat teoretic cu termenii efectelor sale dezirabile, transpuse si la nivelul obiectivelor, care incorporeaza valori dificil de negat, cum ar fi centrarea pe student si autonomia. nsa acceptarea la nivelul comun a diverselor tipuri de educatie si formare la distanta, de la studiul prin corespondenta si terminnd cu eLearning, este departe de a fi deplina. Includerea cursurilor la distanta n practica obisnuita de formare va avea loc doar dupa multiple eforturi de ridicare a standardelor de calitate, sustinute de cercetari n domeniu. Va accepta un potential angajator o diploma care atesta absolvirea unui curs la distanta? Pentru moment, este dificil de raspuns la o asemenea ntrebare. Perceptia comuna a cursurilor la distanta a constituit obiectul unor cercetari n Statele Unite (Vault.com, octombrie 2000), ajungndu-se la urmatoarele rezultate:

30% dintre profesionistii n departamentele de resurse umane au intervievat aplicanti cu diplome obtinute online; 77% considera ca "o diploma care atesta absolvirea unor cursuri la distanta n cadrul unei institutii acreditate (Duke, Stanford)" este mai credibila dect o diploma obtinuta de la o institutie virtuala (Jones International); 26% cred ca o diploma de curs la distanta este tot att de credibila ca o diploma conventionala; 61% sustin ca o diploma de curs la distanta nu este att credibila, dar este acceptabila.

Este cert ca n privinta cursurilor la distanta perceptia comuna este tributara multor prejudecati. Revine practicienilor educatiei rolul de a mbunatati imaginea programelor de formare la distanta printr-un efort sustinut de clarificare teoretica pe de o parte, iar pe de alta parte de ridicare a standardelor n practica curenta. Cu att mai mult cu ct, prin eliminarea obstacolelor de ordin spatial, temporal sau a impunerii unui ritm de nvatare, se asigura astfel posibilitati de studiu unor categorii sociale largi, fara ntreruperea activitatii lor profesionale. Aceasta este de fapt si caracteristica principala, care face ca sistemul sa fie deosebit de viabil pentru ciclurile superioare, pentru educatia permanenta, pentru educatia vocationala si l situeaza potential printre cele mai solicitate tipuri de sisteme de educatie ale viitorului. Majoritatea rapoartelor de evaluare publicate puncteaza succint meritele reale si valoarea sistemelor de eLearning. n schimb, acorda o mare atentie satisfactiei cursantilor (ca si consumatori), impactului tehnologiilor utilizate sau conditiilor de ndeplinit pentru mentinerea studentilor n programul de formare la distanta. Unele studii compara cursurile la distanta cu formele traditionale. Dar, daca educatia la distanta nseamna eliminarea barierelor institutionale,

12

mai este nevoie sa-i demonstram eficienta, cnd este att de evident aspectul negativ al acestor bariere? Nu, dar numai n privinta accesibilitatii. Ct priveste factorii pedagogici ce constribuie la succesul unui program de educatie la distanta si modurile n care aceste programe pot fi ameliorate - acestea sunt subiecte mai putin abordate sau detaliate. n mod sigur, ncrederea deplina ntr-o astfel de inovatie va veni doar dupa stabilirea ct mai exacta a gradului n care scopurile sunt atinse si asteptarile justificate. nsa deocamdata, eforturile de clarificare a domeniului eLearning n Romnia sunt demersuri individuale. Toate referintele la studii aprofundate se fac la surse straine. Baza teoretica si sustinerea legislativa pentru solutiile de eLearning romnesti merg pe acelasi drum sinuos, prelungit pna n ultimul moment. Instruirea pe tot parcursul vietii, nevoia de formare continua - sunt probabil realitati ale unor tari mai dezvoltate si cu decidenti mai responsabili.

Alegerea unei solutii e-LearningMai mult dect un tip nou de educaie i formare la distan, un sistem eLearning este o soluie de business, o opiune de succes pentru instituiile care ofer cursuri de formare. La un studiu de fezabilitate n vederea implementrii unei sistem de eLearning, comparaia ntre diversele soluii de pe pia poate fi fcut printr-o serie de indicatori definitorii pentru un sistem de formare la distan:

scal - numrul participanilor implicai ntr-o activitate de nvare pe o durat determinat; include i distana dintre participani, acoperit de sistem; percepie - calitatea tehnic a materialelor primite de participani (de la realism grafic, la rezoluie); simetrie - gradul n care se poate focaliza atenia pe fiecare participant (invers proporional cu mrimea clasei); interactivitate - durata de timp minim n care se poate obine un rspuns ntr-o interaciune; mijloace - evantaiul de mijloace/ instrumente de lucru de care dispun participanii pentru nvare i comunicare; control din partea cursantului - gradul n care cursantul poate fi activ, poate colabora cu ali cursani sau cu profesorii pentru atingerea obiectivelor de nvare; capacitatea de integrare - posibilitatea de a prezenta informaii n diverse moduri i din diverse surse; costuri - cheltuielile unui cursant pentru atingerea unui set stabilit de obiective; timp - nivelul de control al timpului necesar unui cursant pentru a atinge un obiectiv de nvare (posibilitatea parcurgerii coninutului n ritm propriu); flexibilitate - uurina cu care se pot aduce ameliorri pe parcursul programului.

O analiz comparativ poate fi urmrit printr-un instrument simplu de tip gril. Se acord un punctaj de la 0 la 4 pentru fiecare item luat n calcul, unde 0 nseamn absena caracteristicii, iar 4 nseamn c indicatorul satisface deplin ateptrile: Solutia de eLearning: Click2learn Macromedia Solutia X

13

scala perceptie simetrie interactivitate mijloace control integrare costuri timp flexibilitate TOTAL punctaj

3 4 4 4 4 4 4 3 4 4 38

4 4 3 4 2 3 4 3 3 2 32

3 4 0 2 3 2 4 3 4 1 26

Totalul pe fiecare coloan exprim, sintetic i aproximativ, diferenele dintre soluiile analizate. n funcie de importana pe care instituia o acord unor anumii itemi, se poate trece la analiz pe caracteristici. Dac flexibilitatea unui sistem este de maxim importan, datorit cererii n continu schimbare de pe piaa de formare sau datorit perimrii rapide a informaiilor n domeniul vizat, atunci se poate chiar renuna la ceilali itemi. Sau se poate alctui o alt gril, cu punctaje maxime difereniate: pentru flexibilitate se acord o not ntre 0 i 20.

Avantaje si dezavantajeAvantajePrin raportare la educatia traditionala, se pot reliefa cteva avantaje ale educatiei la distanta prin Internet, considernd-o aplicabila, cel putin deocamdata, la nivelul nvatamntului universitar si n educatia permanenta, dupa modelul universitatilor deschise si la distanta din tarile tehnologizate:

n primul rnd, toate resursele care constituie obiectul cursului pot fi accesibile ubicuu. Scopul curriculumului va fi mai cuprinzator dect cel curent, curriculumul oferind modalitati multiple pentru achizitii de cel mai nalt nivel n toate domeniile culturii. Audienta este considerabil crescuta, educatia la distanta putnd cuprinde si studenti care nu pot participa la cursurile din sistemul traditional. Accesul la retele locale, regionale si nationale leaga studentii din diferite medii sociale, culturale, economice, si cu experiente variate. Este facilitata nvatarea ntr-un ritm propriu, ntr-un stil personal, parcurgerea sau audierea cursurilor putnd fi facuta treptat si repetat. Computerele ncorporeaza variate pachete de softuri extrem de flexibile, studentul avnd un control maxim al informatiilor de continut. Interactiunile sincrone si cele asincrone dintre profesor si studenti se pot complementariza. Un corolar important aici l-ar constitui posibilitatea constituirii unui

14

grup pedagogic (team teaching) pentru transmiterea cunostintelor unui anumit domeniu si antrenarea n activitati a unor educatori care n mod curent nu sunt disponibili din variate motive. Tehnologiile sunt interactive, permitnd un feed-back total, n timp real, si evaluari formative sau sumative, cantitative sau calitative ntr-un mod facil si de catre evaluatorii cei mai avizati.

LimitePrintre dificultatile la implementare, ce pot fi considerate si limite ale noului sistem se numara:

Costurile ridicate ale dezvoltarii sistemului, incluznd cheltuieli cu: tehnologia (hard si soft); transmiterea informatiilor n retea; ntretinerea echipamentului; producerea materialelor necesare. Dificultatea sustinerii la implementarea sistemului a unui efort consistent si sustinut al studentilor, profesorilor, intermediarilor ce ofera suport tehnic si personalului administrativ. Necesitatea experientei cursantilor n domeniul computerelor. ntretinerea propriului computer va fi probabil una dintre responsabilitatile curente. Studentii trebuie sa fie extrem de motivati pentru participare. Fenomenul de abandon scolar este mult mai frecvent n educatia la distanta dect n cadrele traditionale ale educatiei, interrelatiile instituite fiind relativ impersonale, facnd optiunea mai usoara pentru cursant. Relativa "dezumanizare" a cursurilor pna la dezvoltarea unor strategii optime de interactiune si a focalizarii pe student si nu pe sistem.

nsa experienta sistemelor deja functionale ne asigura de faptul ca participantii la educatia prin intermediul noilor tehnologii se familiarizeaza n scurt timp cu mediul virtual si intra relativ curnd n ritmul natural al transmiterii si, respectiv, nsusirii de cunostinte.

15

Cap. 2: Prezentarea tehnologiilor utilizate

2.1 Sisteme de Gestiune a Bazelor de Date (SGBD)Istoric; comentariiEvoluia metodelor i tehnicilor de organizare a datelor a fost determinat de necesitatea de a avea un acces ct mai rapid i mai uor la un volum din ce n ce mai mare de informaii precum i de perfecionarea echipamentelor de culegere, memorare, transmitere i prelucrare a datelor. Exist afirmaii conform crora sistemul de baze de date i are rdcinile n anii '60, n proiectul de aselenizare Apollo. Deoarece pe atunci nu exista un astfel de sistem, North American Aviation (actualmente Rockwell International) a dezvoltat, n calitate de principal colaborator la proiect, un pachet de programe cunoscut sub numele GUAM (Generalized Update Access Method), care se baza pe date organizate n mod ierarhic. Modelul de date ierarhic i are originea n acest proiect. La mijlocul anilor '60, un pas napoi s-a facut prin elaborarea sitemului IMS (Information Management System), de ctre IBM n colaborare cu NAA, pornind de la sistemul GUAM. Pasul napoi se datoreaza faptului c manipularea ierarhiilor de date a fost restrns la organizarea secvenial a datelor (o cerin dictat de piaa la acel moment). In aceeai perioada General Electric a dezvoltat sistemul IDS (Integrated Data Store). Conducator de proiect: Charles Bachmann. Proiectul a condus la modelul de date reea (numele se datoreaza ca i n modelul precedent, modului de organizare a datelor). n acea perioada se cuta eficientizarea manipulrii datelor i se ncerca stabilirea unor standarde. n 1965 CODASYL (the Conference On Data SYstems Languages) care reunise reprezentani ai guvernului USA i reprezentani ai lumii afacerilor i comerului, a reuit s

16

stabileasc un grup de lucru (care a avut iniial numele List Processing Task Force) cunoscut din 1967 sub numele Data Base Task Group (DBTG). Sarcina acestui grup era s stabileasc specificaii cu rol de standarde pentru un mediu care ar permite crearea de baze de date i manipularea datelor. Conceptul de baz de date s-a definit n 1969 cu ocazia prezentrii primului proiect de raport CODASYL (Raportul final s-a prezentat n 1971). Ideea principal n organizarea datelor se baza pe existena a trei componente de baz: schema de reea - care reprezenta organizarea logica a ntregii baze de date subschema - care reprezenta o parte a bazei de date aa cum e vazut de utilizator sau de programele de aplicaie un limbaj de gestionare a datelor - care definea caracteristicile datelor, structura lor i care manipula datele Pentru standardizare, s-au propus trei limbaje: un limbaj de definire a datelor (LDD) la nivel de schem un limbaj ajuttor la nivel de subschem un limbaj de manipulare a datelor (LMD)

Cu toate c nu a fost adoptat formal de ANSI (American National Standard Institute) propunerea DBTG a fost aplicat ntr-o serie de sisteme dezvoltate ulterior i ea st la baza conceptului modern de baz de date. Proiectul ierarhic i cel prezentat de CODASYL reprezint prima generaie de Sisteme de Gestiune a Bazelor de Date (SGBD). n 1978 E.F.Codd de la IBM Research Laboratory a elaborat o lucrare care a avut o influen covritoare n dezvoltarea bazelor de date. Lucrarea trata despre modelul de date relaional. De aici ncolo s-au proiectat multe sisteme dintre care mentionam System R dezvoltat la IBM's San Jose Research Laboratory din California, la sfritul anilor '70. Acest proiect a dus la: dezvoltarea unui limbaj structurat de interogare (numit SQL) care de atunci a devenit un standard pentru sistemele relaionale; producerea n anii '80 de sisteme comerciale arhicunoscute dintre care menionm: DB2 i SQL/DS de la IBM i ORACLE de la ORACLE Corporation. Alte exemple de sisteme relaionale: INGRES de la Relational Technology Inc., Informix de la Informix Sofware Inc., Sybase de la Sybase Inc.. Dintre sitemele relaionale pentru microcalculatoare enumerm aici: Paradox i dBase IV de la Borland, Access de la Microsoft, FoxPro i R:base de la Microrim. Toate acestea constituie generatia a doua de SGBD.

2.1.2 Definirea sistemelor de gestiune a bazelor de date relaionalentr-o prim ncercare de definire, se poate considera un sistem de gestiune a bazelor de date relaionale (SGBDR) ca reprezentnd un SGBD care utilizeaz drept concepie de organizare a datelor modelul relaional. Astfel spus, un SGDBR reprezint un sistem care suport modelul relaional.

17

Definiia de mai sus este prea general pentru a putea fi operaional, deoareca modul de implementare a modelului relaional difer, de regul att ntre diferitele SGBDR, ct i n raport cu modelul teoretic, cel definit n cadrul teoriei relaionale, datorit eforturilor productorilor de a realiza sisteme ct mai perfomante care s satisfac cerinele i exagerrile utilizatorilor. Ct de aproape (sau de departe) de modelul relaional teoretic trebuie s fie modelul datelor efectiv utilizat de SGBD pentru a putea afirma c SGBD-ul respectiv utilizeaz sau nu modelul relaional, deci este sau nu SGBDR? Diversitatea modelelor relaionale operaionale au determinat, n mod natural existena unei mari diversitii de SGBDR, pentru a cror prezentare a fost necesar nuanarea terminologiei. Au aprut o serie de sintagme precum: sisteme cu interfa relaional, sisteme pseudorelaionale, sisteme complet relaionale. Conceptele specifice organizrii datelor n fiiere, SGBDR i teoriei relaionale ntre care se pot stabili analogii Organizarea datelor n fiiere Fiier Record(nregistrare) Cmp SGBDR Tabel Linie Coloan Tabel 2.1 n general, conceptele utilizate la prezentarea SGBDR i a modelelor relaionale operaionale difer de cele din cadrul teoriei relaionale. Tabelul de mai sus prezint comparativ conceptele organizrii datelor n fiiere, concepte SGBDR i ale teoriei relaionale. Faptul c se pot stabili analogii ntre conceptele organizrii datelor n fiiere i conceptele relaionale, i-au determinat pe unii productori s prezinte sisteme fr nici o legtur cu modelul relaional drept SGBDR, n scopul asigurrii succesului comercial al acestor sisteme. Teoria relaional Relaie Tuplu Atribut

2.1.3 Criterii minimale de definire a unui SGBDRPentru caracterizarea unui SGBD sunt formulate o serie de cerine minimale pe care trebuie s la satisfac un sistem de gestiune a bazelor de date pentru a putea fi considerat relaional. Un SGBD este minimal relaional dac satisface urmtoarele condiii: 1. Toate datele din cadrul relaiei sunt reprezentate prin valori n tabele, 2. Nu exist pointeri observabili de ctre utilizatori n tabele, n sensul c operaiile cu relaii nu fac apel la pointeri, indeci, fiiere inverse, etc. 3. Sistemul suport operatori relaionali de proiecie, selecie i joing natural, fr limitri mpuse de considerente interne (cum ar fi de exemplu, necesitatea indexrii atributelor). Unitatea de informaie cu care se lucreaz n cadrul acestor operaii trebuie s fie relaia. Un SGBD este complet relaional dac este minimal relaional i satisface n plus urmtoarele condiii: 4. Sistemul suport toate operaiile de baz ale algebrei relaionale, fr limitri npuse de considerente interne. 5. Sistemul suport dou dintre restriciile de integritate de baz al modelului relaional i anume unicitatea cheii unei relaiii restricia referenial. Un SGBD este pseudorelaional dac satisface numai condiiile 1. i 3.

18

Un SGBD cu interfa relaional este un SGBD are satisface condiiile 1. i 3., cu observaia c cerina 3. Este ndeplinit numai n raport cu funcia de interogare

n ultimii ani, ca rspuns la necesitatea de a crete complexitatea aplicaiilor cu baze de date (ncurajat i de progresele aprute n programare odata cu programarea orientata obiect) au aprut modelul de date orientat obiect (Object-Oriented Data Model - OODM) i modelul de date relaional extins (Extended Relational Data Model - ERDM). Cu toate ca modelul de date ce sta la baza noilor modele nu este atat de clar ca n cazul modelului relaional, se poate considera ca aceste din urma dezvoltari reprezinta generatia a treia de SGBD. In esenta, conceptul de baza de date poate fi definit ca fiind o colectie partajata de date aflate n interdependenta logica (impreuna cu o descriere a acestor date i a relatiilor dintre ele), colectie desemnata pentru a rezolva nevoia de informatizare a unei intreprinderi (sau organizatii). Baza de date trebuie sa ndeplineasca urmatoarele conditii: - sa asigure o independenta sporita a datelor fata de programe i invers; - structura bazei de date trebuie astfel conceputa ncat sa asigure informatiile necesare i suficiente pentru cerintele de informare i decizie; - sa asigure o redundanta minima i controlata a datelor; - sa permita accesul rapid la informatiile stocate n baza. Bazele de date sunt extrem de variate n functie de criteriile luate n considerare. Prezentam cateva criterii de clasificare: - dupa orientare: generalizate, specializate; - dupa modelul de date: ierarhice, retele, relaionale, orientate obiect; - dupa amploarea geografica: locale, distribuite; Numim SGBD (Sistem de Gestiune al Bazelor de Date) un sistem software care permite, pe de o parte, definirea, crearea i n tretinerea bazei de date i pe de alta parte, permite accesul controlat la informatiile din baza de date n cauza. SGBD este format din programe de software care interactioneaza cu programele de aplicaie ale utilizatorilor i cu baza de date. Sistemul de gestiune al bazei de date asigura realizarea urmatoarelor activitati: - definirea structurii bazei de date; - ncarcarea datelor n baza de date; - accesul la date (interogare, actualizare); - ntretinerea bazei de date (colectarea i reutilizarea spatiilor goale, refacerea bazei de date n cazul unui incident); - reorganizarea bazei de date (restructurarea i modificarea strategiei de acces); - integritatea datelor; - securitatea datelor. Asadar, sistemul de gestiune al bazei de date apare ca un sistem complex de programe care asigura interfata n tre o baza de date i utilizatorii acestuia.

19

Clasificarea SGBD se poate realiza din mai multe puncte de vedere. 1. Din punctul de vedere al sistemelor de calcul pe care se implementeaza. SGBD pot fi: sisteme de gestiune pentru calculatoarele mari; sisteme de gestiune pentru minicalculatoare; sisteme de gestiune pentru microcalculatoare. In prezent se manifesta tendinta ca marea majoritate a sistemelor de gestiune a bazelor de date sa fie compatibile pe platforme cat mai largi de sisteme de calcul. 2. Din punctul de vedere al limbajului pe care il utilizeaza, sunt: sisteme cu limbaj gazda; sisteme cu limbaj autonom. Sistemele cu limbaj gazda realizeaza activitatile de creare, actualizare i interogare a bazei de date, utilizand limbajele de nivel nalt sau extensii ale acestora, proprii sistemului de calcul pe care se implementeaza baza de date. Avantajul acestor sisteme consta n posibilitatile sporite ce le ofera limbajele de nivel nalt la elaborarea unor proceduri complexe. Sistemele cu limbaj gazda prezinta dezavantajul ca formularea cerintelor nu este atit de simplificata ca n cazul sistemelor cu limbaj autonom. 3. Din punctul de vedere al conceptiei de organizare a datelor pe care le gestioneaza, SGBD se clasifica n : sisteme de gestiune a bazelor de date cu structuri ierarhice i retea; sisteme de gestiune a bazelor de date relaionale; sisteme de gestiune a bazelor de date orientate obiect. 4. Din punctul de vedere al modului de localizare a bazelor de date avem: sisteme de gestiune a bazelor de date centralizate; sisteme de gestiune a bazelor de date distribuite. Marea majoritate a sistemelor de gestiune aprute n ultima perioada dispun i de o componenta de gestiune distribuita a datelor.

2.2 PHPInternet-ul a intrat deja in al treilea stadiu de dezvoltare, iar notiuni si facilitati precum site-uri web dinamice si interactive au devenit atributele esentiale ale oricarei afaceri online de succes implicand comert electronic (dar nu numai). Un studiu al Cyberatlas cu privire la comertul prin Internet releva faptul ca activitatile de vanzari online au cel mai mare potential de dezvoltare din intreg sectorul economic. Principalul avantaj al unui site dinamic asupra unuia static este usurinta in administrare (actualizare). Adaugarea sau modificarea de continut este foarte simpla datorita faptului ca acest continut este stocat intr-o baza de date sau in fisiere text, astfel incat cei care se ocupa de continut nu au nevoie sa posede cunostinte de HTML, CSS, JavaScript sau alte tehnologii specifice domeniului "web design" si utilizate intens la construirea paginilor de prezentare. De asemenea, daca trebuie sa schimbam logo-ul pe fiecare pagina a site-ului, este de ajuns sa facem modificarea intr-un singur fisier in loc sa luam fiecare pagina in parte, sa o modificam si sa o uploadam inapoi pe server. Pe langa manipularea continutului paginilor web, PHP poate trimite headere HTTP pentru autentificare, seta cookie-uri, redirectiona utilizatorii. Mai mult, cu ajutorul bibliotecilor externe de functii poate parsa fisiere XML, crea si manipula imagini, animatii Shockwave, Flash, PDF-uri sau se poate conecta la un server de mail. Iar acestea sunt doar cateva din functiile pe care le poate indeplini.

20

Dezvoltarea exploziva a limbajului PHP din ultimii ani este in cea mai mare parte datorata usurintei cu care acesta lucreaza cu bazele de date in Internet. Din multitudinea de solutii de dezvoltare site-uri web, PHP ofera programatorului o multime de functii predefinite pentru lucrul cu bazele de date in Internet. Aceasta inseamna ca din cadrul PHP putem executa toate operatiunile aferente comenzilor Sql. O prima pagina atractiva este vitala pentru succesul unui site. Menirea ei este sa ofere utilizatorului motivele pentru a continua sa vada mai mult si eventual sa fie imediat interesat sa cumpere un produs. PHP este un limbaj de programare pe parte de server (in engleza "server-side") care poate, printre altele, sa interactioneze cu o baza de date pentru a afisa sau a modifica informatiile din ea. Mai exact, serverul stie sa furnizeze browser-ului clientului doar pagini HTML. Paginile HTML pot fi deja pe server sau create tot acolo de catre alte aplicatii la cererea server-ului de web, fiind apoi servite ca HTML browser-ului clientului. PHP este un limbaj de programare destinat n primul rnd Internetului, aducnd dinamic unei pagini de web. Este unul din cele mai importante limbaje de programare web open-source i server-side. PHP a fost nceput n 1994 ca o extensie a limbajului server-side Perl, i apoi de o serie de CGI-uri compilate de ctre Rasmus Lerdorf, pentru a genera un curriculum vitae i pentru a urmri numrul de vizitatori ai unui site. Apoi a evoluat n PHP/FI 2.0, dar proiectul open-source a nceput s ia amploare dup ce Zeev Suraski i Andi Gutmans, de la Technion au lansat o nou versiune a interpretorului PHP n vara anului 1998, aceast versiune primind numele de PHP 3.0. Tot ei au schimbat i numele n acronimul recursiv de acum (Hypertext Preprocessor), pn atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski i Gutmans au rescris baza limbajului, producnd astfel i Zend Engine n 1999. n mai 2000 a fost lansat PHP 4.0, avnd la baz Zend Engine 1.0. Pe 13 iulie 2004 a fost lansat PHP 5, cu Zend Engine II, ce a adus i o orientare obiect mai pronunat i suportnd mai multe caracteristici ale acestui tip de programare. Exemple faimoase de utilizare a acestui limbaj sunt PhpBB (forum), PhpNuke(CMS), chiar i MediaWiki, software-ul din spatele Wikipedia. Folosirea PHP poate fi vzut ca o alternativ gratuit la utilizarea unor limbaje comerciale cum sunt ASP de la Microsoft, ColdFusion de la Macromedia, sau chiar JSP de la Sun Microsystems. PHP-ul este unul din cele mai folosite limbaje de programare server-side, conform unui studiu efectuat de Netcraft n aprilie 2002, aprnd pe 9 din cele 37 milioane de domenii cercetate n studiu. De asemenea, exist un grafic al creterii folosirii PHP-ului pe site-ul oficial. Popularitatea de care se bucur acest limbaj de programare se datoreaz urmtoarelor caracteristici : Familiaritatea : sintaxa limbajului este foarte uoar combinnd sintaxele unora din cele mai populare limbaje Perl sau C; Simplitatea : sintaxa limbajului este destul de liber. Nu este nevoie de includere de biblioteci sau de directive de compilare, codul PHP inclus ntr-un document executnduse ntre marcajele speciale; Eficiena : PHP-ul se folosete de mecanisme de alocare a resurselor, foarte necesare unui mediu multiuser, aa cum este Web-ul; Securitatea : PHP-ul pune la dispoziia programatorului un set flexibil i eficient de msuri de siguran; Flexibilitatea : fiind aprut din necesitatea dezvoltrii Web-ului, PHP a fost modularizat pentru a ine pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server web, PHP-ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus, etc.;

21

Gratuitatea : este probabil cea mai important caracteristic a PHP-ului. Dezvoltarea PHP-ului sub licena open-source a determinat adaptarea rapid PHP-ului la nevoile Web-ului, eficientizarea i securizarea codului.

PHP este simplu de utilizat, fiind un limbaj de programare structurat, ca i C-ul, Perl-ul sau ncepnd de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinaie a celor trei. Datorit modularitii sale poate fi folosit i pentru a dezvolta aplicaii de sine stttoare, de exemplu n combinaie cu PHP-GTK sau poate fi folosit ca Perl sau Python n linia de comand. Probabil una din cele mai importante faciliti ale limbajului este conlucrarea cu majoritatea bazelor de date relaionale, de la PostgreSQL i pn la Oracle, trecnd prin MS Sql Server, MySQL, sau DB2. PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Linux, Windows, sau Mac OS X i poate interaciona cu majoritatea servereler web. Codul dumneavoastr PHP este interpretat de serverul WEB i genereaz un cod HTML care va fi vzut de utilizator (clientului -browserului- fiindu-i transmis numai cod HTML).

Figura 2.1

2.3 PostgreSQLPostgreSQL este un sistem de administrare al bazelor de date relationale folosit pentru dezvoltarea aplicatiilor web. In acest subcapitol trebuie sa raspundem la intrebarea: De ce am folosit PostgreSQL (in loc de MySQL,Oracle, FoxPro etc.) pentru a dezvolta aplicatia ELearning?. Tinand cont de faptul ca exista disponibile multe alte optiuni populare, este indicat sa precizam de ce am facut aceasta alegere particulara. Pentru acest lucru, vom compara PostgreSQL cu alte pachete de baze de date folosite pentru dezvoltarea aplicatiilor web: MySQL, Oracle sau Microsoft SQL Server. De asemenea, sunt disponibile baze de date desktop folosite pentru implementarea aplicatiilor web: Access, FoxPro, FileMaker Pro si altele. Din moment ce aceste pachete de baze de date sunt foarte ieftine si prietenoase pentru aplicatii desktop, ele sunt foarte rar utilizate in dezvoltarea aplicatiilor web. Pentru a demonstra aceasta afirmatie, trebuie precizate urmatoarele motive:

22

- bazele de date desktop permit unul sau un numar foarte mic de utilizatori. Din aceasta cauza, ele sunt neutilizabile pentru aplicatiile web, unde este necesara conectarea simultana a unui numar mare de utilizatori. - bazele de date desktop nu sunt foarte sigure securitatea fiind un criteriu important in alegerea pachetului de baze de date pentru aplicatiile web. - arhitectura, scalabilitatea si performantele bazelor de date desktop nu sunt optimizate pentru a fi folosite in dezvoltarea aplicatiilor web. Tinand cont de aspectele de mai sus, sistemele desktop de baze de date nu sunt tocmai potrivite pentru implementarea unei aplicatii complexe, asa cum este e-Learning, de aceeasi parerea fiind mare majoritate a profesionistilor din domeniul IT.

2.3.1 Alegerea pachetului PostgreSQLIn momentul alegerii pachetului PostgreSQL pentru dezvoltarea aplicatiei e-Learning am tinut cont de mai multe aspecte, printre care enumeram: Avantaje generale Caracteristici Performante Suport comercial Larga utilizare a pachetului Experienta folosirii PostgreSQL

1. Avantaje generale PostgreSQL este gratis, software Open Source PostgreSQL are un excelent suport comercial PostgreSQL este fiabil si stabil PostgreSQL este scalabil si extensibil PostgreSQL este platforma de tip cross (incrucisat) PostgreSQL este dezvoltat pentru aplicatii cu un volum mare de date PostgreSQL este usor de administrat

2. Caracteristici In tabelul de mai jos sunt prezentate caracteristicile pentru cele mai importante pachete RDBMS (Relational Database Management System)

Caracteristici Open Source Gratis/ Fara costuri pentru licenta ACID Compliant

SQL Server

Oracle

X

X

PostgreSQL PostgreSQL X X X X X X

23

ANSI SQL Compliant Referential Integrity Replication Reguli Vederi Triggers Unicode Secvente Mostenire Outer Join Sub-select Open API Proceduri stocate Native SSL Support Limbaj procedural Indecsi

X X X X X X X

X X X X X X

X X X X X X X X X X X X X X X

X X X X X X X X X X X

X X X X X X X X X X X X X X X X

Tabel 2.2 Caracteristici ale pachetelor RDBMS Majoritatea caracteristicilor sunt importante pentru dezvoltarea robusta, scalabila a aplicatiilor iar pachetul PostgreSQL cu siguranta ofera valori excelente in aceasta privinta. 3. Performante PostgreSQL, ca si celelalte pachete, va necesita intotdeauna optimizari bazate pe aplicatii particulare. Astfel, fiecare sistem SQL Server, Oracle, MySQL si PostgreSQL are arie de performanta unde exceleaza. PostgreSQL este optimizat si rapid fata de celelalte sisteme pentru scenarii care implica tranzactii cu volum mare de date, un numar ridicat de utilizatori si interogari complexe. Celelalte caracteristici (vederi, indecsi) contribuie deasemenea la performanta generala a pachetului PostgreSQL. 4. Suport comercial Exista o serie de companii si profesionisti in domeniu care ofera consultanta si suport pentru PostgreSQL. O lista cu asemenea furnizori poate fi gasita la urmatorul link: http://techdocs.postgresql.org/companies.php. De asemenea, pe internet se gasesc liste de mailuri, grupuri pentru suport sau colaboratori online care pot oferi informatii despre orice problema aparuta in utilizarea pachetului PostgreSQL. 5. Larga utilizare a pachetului

24

In dezvoltarea oricarei aplicatii web sau chiar desktop, este foarte important sa ne asiguram ca tehnologiile folosite sunt acceptate de catre industria IT. O lista cu organizatiile care accepta PostgreSQL poate fi gasita la : http://techdocs.postgresql.org/techdocs/supportcontracts.php 6.Experienta folosirii PostgreSQL In momentul in care am inceput dezvoltarea aplicatiei e-Learning, un rol important in alegerea pachetului pentru baza de date a fost experienta de lucru cu PostgreSQL. Sistemul se instaleaza foarte usor atat pe Windows cat si pe Linux, oferind ca interfete grafice doua aplicatii:

pgAdmin III aplicatie desktop PhpPgAdmin aplicatie web.

Concluzii

Figura nr. 2.2PostgreSQL este un sistem de gestiune a bazelor de date, foarte rapid si robust. O baza de date va permite sa stocai, sa cautati, sa sortai si sa va regasiti datele in mod eficient. Serverul PostgreSQL controleaz accesul la datele dumneavoastr pentru a garanta ca mai muli utilizatori pot lucra simultan cu acestea. Deci, PostgreSQL este un server multi-user (mai muli utilizatori) si multi-thread (mai multe fire de execuie).

2.4 AJAX (Asynchronous JavaScript and XML)2.4.1 Prezentare generalaAJAX este prescurtarea pentru Asynchronous JavaScript and XML (JavaScript si XML asincron) si reprezinta o colectie de tehnologii utilizate in dezvoltarea site-urilor Internet. Intentia este de a adauga o interactivitate mai mare in paginile web si de a micsora timpul de incarcare al acestora. In masura in care Internetul este in continua dezvoltare, unde numarul de pagini web se

25

dubleaza la o perioada de cateva luni, si se dezvolta foarte mult servicii de comert electronic, magazine virtuale sau site-uri sociale, tehnologia AJAX devine o componenta de baza pentru orice astfel de site. AJAX presupune un schimb mic de date intre browser si server, astfel incat sa nu mai fie necesara reincarcarea intregii pagini web de fiecare data cand userul face o schimbare in aceasta. AJAX reprezinta o colectie de tehnologii, fiecare utilizata si in mod de sine-statator, dar care combinate permit obtinerea unei unelte foarte puternice: Prezentarea in mod standard a paginilor, prin HTML sau mai noul XHTML, si CSS (Cascading Style-Sheets) pentru aranajrea in pagina a continutului; Afisare dinamica si interactiune folosind DOM (Document Object Model), accesat printr-un limbaj de scripting, pentru a modifica in mod dinamic si a asigura interactiunea cu informatia prezentata; Schimb bidirectional de date si manipulare prin XML intre client si server, desi orice format poate fi folosit, inclusiv HTML, XSLT sau text simplu; Schimbul de date asincron se realizeaza prin obiectul XMLHttpRequest, desi in unele implementari AJAX se poate folosi un IFrame pentru schimbul de date, sau chiar tag-uri adaugate dinamic. JavaScript folosit pentru a lega toate aceste elemente intr-un pachet puternic. Modelul clasic al aplicatiilor web este urmatorul: actiunile utilizatorilor in interfata din browser conduc la o cerere HTTP catre serverul web. Serverul efectueaza niste procesari (extrage date din baze de date, efectueaza calcule, interogheaza alte sisteme) si apoi returneaza o pagina HTML catre client. Este modelul clasic, sincron, dezvoltat odata cu aparitia Internetului ca retea la nivel mondial. Este calea cea mai simpla, dar in timp ce serverul proceseaza cererea, utilizatorul asteapta si nu poate interactiona in alt mod cu pagina web. AJAX elimina aceasta modalitate de interactiune start-stop-start-stop a Web-ului introducand un nivel intermediar intre utilizator si server motorul AJAX. Adaugarea unui nou nivel intr-o aplicatia de obicei o face sa lucreze mai greu, dar in acest caz este adevarata afirmatia opusa. In loc sa incarce pagina la inceputul sesiunii, browserul incarca un motor AJAX, scris in JavaScript si plasat de obicei intr-un cadru (frame) invisibil. Acest motor este apoi responsabil atat cu interfata pe care o afiseaza utilizatorului, cat si cu comunicatia cu serverul pentru folosul utilizatorului. Motorul AJAX permite interactiunea utilizatorului cu aplicatia in mod asincron, independent de comunicatia cu serverul. Prin urmare utilizatorul nu mai priveste o fereastra goala, asteptand ca aceasta sa se incarce direct de pe server.

26

Figura nr. 2.3 diferenta dintre modelul clasic si cel AJAX, se observa nivelul suplimentar al motorului AJAX in browserul clientului

2.4.2 IstoricPrima utilizare a termenului AJAX in mod public a fost in februarie 2005. Jesse James Garrett sustine ca a gandit aceasta denumire realizand necesitatea unui termen simplu, scurt si usor de pronuntat in momentul cand urma sa prezinte unor clienti o suita de tehnologii propuse pentru implementare. Desi termentul AJAX are mai putin de trei ani, istoria tehnologiilor care au dus la implementarea acestuia incepe acum 10 ani, cand Microsoft avea initiativa in a dezvolta Remote Scripting. Tehnici pentru incarcarea asincrona a continutului intr-o pagina web, fara necesitatea reincarcarii totale, au aparut de pe vremea elementului IFRAME (introdus in Internet Explorer 3 in 1996) si a elementului LAYER (introdus in Netscape 4 in 1997 si abandonat la aparitia browserului Mozilla). Ambele elemente aveau campul src pentru incarcarea unui URL extern, si prin utilizarea JavaScript se putea manipula pagina mama, obtinandu-se un efect asemanator cu AJAX. Astfel de tehnici au fost implementate in DHTML, si chiar si produsul Macromedia Flash putea incarca fisiere XML sau CSV de pe un server fara a necesita un refresh in browser. Remote Scripting de la Microsoft functiona ca un inlocuitor mai elegant al acestor tehnologii, datele fiind

27

extrase de un applet Java cu care clientul comunica prin JavaScript, tehnica disponibila in IE versiunea 4. Microsoft a creat pentru Internet Explorer 5 obiectul XMLHttpRequest si a aratat avantajele lui in Outlook Web Access, care face parte din pachetul Microsoft Exchange Server 2000. Comunitatea Web, suficient de dezvoltata la inceputul anilor 2000, a preluat initiativa in dezvoltarea acestui tip de tehnologie. Prin colaborare publica, s-a imbunatatit tehnica de scripting pentru a permite utilizarea pe alte browsere. In 2002 a fost modificat Remote Scripting pentru a inlocui applet-ul Java cu XMLHttpRequest, care a devenit modelitatea preponderenta de comunicare cu serverul. Microsoft a introdus tehnologia Callback in ASP.NET, dar XMLHttpRequest a rmas cel mai folosit deoarece este bine implementat in toate browserele, celelalte tehnologii nefiind folosite decat in cazuri de incompatibilitate.

2.4.3 Avantaje ale tehnologiei AJAX Utilizarea eficienta a benzii disponibile

Prin generarea de HTML local, in browser, si aducand de pe server doar apelari JavaScript si date, paginile realizate cu AJAX se incarca mai repede deoarece informatia necesara este mai mica. De exemplu se pot aduce doar datele dintr-un tabel, iar afisarea tabelului in sine, tag-urile , si se genereaza local, in browser, nefiind necesar si transferul acestora de pe server. Structura generala a unei pagini, titlu, meniu lateral, subsolul paginii, se genereaza o singura data, iar la navigarea acelui site se aduc doar datele noi din continutul paginii respective, titlul si meniurile ramanand neschimbate. Interactivitate

Aplicatiile AJAX sunt in principal executate in computerul utilizatorului, prin manipularea paginii curente de catre browser folosind metode de document object model (DOM). AJAX poate fi utilizat pentru o serie de functii precum actualizarea inregistrarilor, expandarea formularelor, returnarea unor cautari simple, editarea de elemente, toate fara nevoia de a reincarca intreaga pagina web in momentul cand aceasta este modificata. Se trimit doar cereri scurte catre server si se primesc raspunsuri de dimensiuni mici. Acest lucru creste interactivitatea si apropie paginile web de posibilitatile aplicatiilor desktop. Pentru magazinele virtuale, site-uri de eBanking sau eCommerce, sau pentru implementarea unui chat intr-o pagina web tehnologia AJAX este foarte importanta. In conditiile in care un studiu recent a aratat ca un client paraseste site-ul unui magazin online in favoarea altuia, daca incarcarea unei pagini dureaza mai mult de 4 secunde, interactiunea oferita de AJAX, posibilitatea de a modifica doar anumite aspecte ale paginii (de ex aparitia parerilor altor cumparatori despre un anumit produs, sau calculul sumei totale din cosul de cumparaturi fara a reincarca toata pagina, ci doar acea zona) este foarte importanta.

2.4.4 Dezavantaje Utilizarea butoanelor de Back si Forward, si a link-urilor

Paginile web ce utilizeaza AJAX pot sa impiedice functionarea comportamentului normal, obisnuit si asteptat al butoanelor de Back dintr-un browser. Utilizatorii se asteapta ca apasand aceste butoane sa fie dusi la aspectul anterior al paginii, dar acest lucru nu este mereu

28

adevarat cand se utilizeaza AJAX, deoarece browserul nu poate tine mereu socoteala modificarilor produse in mod dinamic si asincron. Dezvoltatorii de site-uri au introdus diverse rezolvari pentru aceasta problema, folosind IFRAME-uri invizibile pentru a retine continutul paginii anterioare. Google Maps, de exemplu, face cautarile intr-un IFRAME invizibil si apoi aduce rezultatele in partea vizibila a paginii. In recomandarea XHTML 1.1 a World Wide Web Consortium, organismul care standardizeaza metodele si limbajele utilizate in Internet, se recomanda folosirea elementului object. O alta problema a paginilor dinamice este dificultatea crearii unui link sau bookmark catre o stare particulara a aplicatiei. Solutii au fost gasite prin utilizarea de identificatoare de fragmente URL (portiunea unui URL de dupa un semn #), deoarece prin JavaScript se poate modifica adresa paginii prin schimbarea acestui identificator de fragment (se modifica nu doar informatii si portiuni dintr-o pagina, ci si adresa ei). Aceasta solutie ajuta si la problema butonului Back, dar nu este una completa. Griji pentru timpul de raspuns

Modificarea doar a unor portiuni din pagini poate creste totusi timpul aparent de raspuns, deoarece utilizatorul observa mai greu modificarile facute intr-o portiune mica a unei pagini deja incarcate. Se recomanda utilizarea unor indicatori de activitate de procesare, de exemplu celebra clepsidra. Optimizarea paginilor pentru motoarele de cautare

Website-urile care utilizeaza pagini incarcate prin AJAX trebuie sa fie atente sa ofere aceeasi informatie si intr-un format clasic, pentru a putea fi indexat de robotii de citire ai motoarelor de cautare pe Internet. Daca anumite informatii (date, text, imagini) nu apar decat la apelarea unor functii JavaScript prin AJAX, aceste informatii nu vor fi gasite de un motor de cautare deoarece acestea citesc doar textul existent in pagina si nu ruleaza si functiile din ea.

2.5 HTML si CSS2.5.1 HTML (HyperText Markup Language)HyperText Markup Language (HTML) este un limbaj de marcare utilizat pentru crearea paginilor web ce pot fi afiate ntr-un browser (sau navigator). Scopul HTML este mai degrab prezentarea informaiilor paragrafe, fonturi, tabele .a.m.d. dect descrierea semanticii documentului. HTML este o form de marcare orientat ctre prezentarea documentelor text pe o singura pagin, utiliznd un software de redare specializat, numit agent utilizator HTML, cel mai bun exemplu de astfel de software fiind browserul web. HTML furnizeaz mijloacele prin care coninutul unui document poate fi adnotat cu diverse tipuri de metadate i indicaii de redare. Indicaiile de redare pot varia de la decoraiuni minore ale textului, cum ar fi specificarea faptului c un anumit cuvnt trebuie subliniat sau c o imagine trebuie introdus, pn la scripturi sofisticate, hri de imagini i formulare. Metadatele pot include informaii despre titlul i autorul documentului, informaii structurale despre cum este mprit documentul n diferite segmente, paragrafe, liste, titluri etc. i informaii cruciale care permit ca documentul s poat fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul).

29

HTML este un format text proiectat pentru a putea fi citit i editat de oameni utiliznd un editor de text simplu. Totui scrierea i modificarea paginilor n acest fel solicit cunotine 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 asemntor cu documetele Word. HTML se poate genera direct utiliznd tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP. Multe aplicaii ca sistemele de gestionare a coninutului, wiki-uri i forumuri web genereaz pagini HTML.

2.5.2 CSS (Cascading Style Sheets)CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot ataa elementelor HTML prin intermediul unor fiiere externe sau n cadrul documentului, prin elementul i/sau atributul style. CSS se poate utiliza i pentru formatarea elementelor XHTML, XML i SVGL. Fisierul CSS (cascading style sheet - foi de stil in cascada) va permite separarea continutului (X)HTML de stilul de afisare in pagina. Ca de obicei, utilizati codul (X)HTML pentru aranjarea continutului in pagina, insa toata prezentarea (fonturi, culori, fundaluri, borduri, etc) se realizeaza din fisierul CSS. In acest moment, puteti folosi CSS-urile in doua moduri, si anume interne sau externe.

Stilurile interneMai intai vom aborda metoda stilurilor interne. Aceasa metoda inseamna ca veti plasa codul CSS in interiorul fiecarei pagini html pe care doriti sa folositi stilurile respective, intre tagurile .Acest lucru se face ca in exemplul ce urmeaza: titlu pagina Aici se definesc stilurile CSS Folosind aceasta metoda (stilurile interne), fiecare fisier (X)HTML va contine codul CSS folosit la stilizare. Asta inseamna ca atunci cand doriti sa faceti o schimbare de stil (marimea fontului, culoare, etc) va trebui sa operati modificarea in toate paginile ce contin acel stil. Metoda descrisa pana acum este buna atunci cand avem de stilizat doua, trei pagini, insa cand avem de a face cu siteuri de zeci sau sute de pagini este destul de neplacut sa modificam toate paginile.

Stilurile externeIn continuare vom explora metoda stilurilor externe. Un fisier CSS extern poate fi realizat cu orice editor simplu de text (Notepad, Wordpad, etc) sau cu editoare avansate gen Dreamweaver. Fisierul CSS nu contine sub nici o forma cod (X)HTML, ci doar cod CSS. Fisierul trebie salvat cu extensia .css. Inserarea fisierului extern in paginile (X)HTML se face foarte usor, prin plasarea unui link (legatura) in sectiunea a fiecarei pagini pe care dorim sa folosim stilul respectiv. Iata un exemplu de inserare a unui fisier extern .css intr-o pagina (X)HTML:

30

sau puteti folosi metoda de import dupa cum urmeaza: @import url( Calea catre fisierul.css ) Oricare dintre metode este buna si se obtine plasand unul dintre codurile de mai sus in sectiunea a paginii, dupa cum exemplificam mai jos: titlu pagina sau titlu pagina @import url( Calea catre fisierul.css ) Folosind metoda fisierelor CSS externe, toate paginile (X)HTML vor folosi acelasi fisier de stil. Asta inseamna ca dca doriti sa faceti o schimbare care sa aiba efect in toate paginile, este de ajuns sa modificati un singur fisier, si anume cel de stil (.css), si efectul se va observa pe toate paginile (X)HTML ce folosesc acel fisier. Astfel faceti schimbari in tot siteul, indiferent de cate pagini are, fara efort si mai ales foarte repede. Iata cateva motive pentru care aceasta metoda este mai buna.

Intretinere mai usoara Dimensiuni reduse ale paginilor Economie de banda internet Flexibilitate

2.6 Apache Web ServerApache este principalul tip de server folosit pe Internet la ora actuala, constituind o componenta cheie a infrastructurii acestuia. Cea mai importanta caracteristica a unui server web este de traduce un URL intr-un nume de fisier si apoi sa-l trimita inapoi prin Internet, sau intr-un nume de program, apoi sa ruleze programul si sa transmita datele de iesire catre calculatorul sursa. Apache este un server web foarte complex, in principal datorita numeroaselor facilitati pe care le ofera: fiabilitate (fiind un program open-source este permanent testat si imbunatatit), rapiditate, consum mic de resurse hardware, multitasking, virtual hosts, securitate sporita, ruleaza pe diferite platforme, usor de configurat. Apache HTTP Server este un web server pentru sisteme ca si Unix, Microsoft Windows, Novell NetWare si alte sisteme de operare . Apache este remarcabil pentru ca joaca un

31

rol cheie in cresterea initiala a Internetului din lumea intreaga. Cand a fost pentru prima data eliberat, Apache a fost singura sursa alternativa viabila la Netscape Communications Corporation web server ( in mod current cunoscut ca si Sun Java System Web Server ). De atunci a evoluat la rivalul Unix- servere web in termeni de functionalitate si performanta. Din Aprilie 1996 Apache a fost cel mai popular server HTTP din intreaga lume a internetului, servind ca platforma de referinta impotriva careia alte server web sunt intentionate si apreciate; ca si in Ianuarie 2007, Apache a servit la 60% din toate website-urile. Apache continua sa fie cel mai popular server web care este utilizat. Apache este dezvoltat si mentinut de o comunitate deschisa de dezvoltatori de aplicatii sub auspiciile Fundatiei Apache Software. Eliberata sub licenta Apache, serverul Apache HTTP este un program gratis. Istoria Prima versiune a web serverului Apache a fost creeata de Robert McCool, care a fost serios implicat in Centru National pentru Supercomputing Applications web server, cunoscut simplu ca si NCSA HTTPd . Cand Rob a parasit NCSA la mijlocul anului 1994 a lasat o varietate de modele pentru a imbunatati circulatia prin email. Rob McCool nu a fost singur in eforturile sale. Multi alti dezvoltatori de aplicatii au ajutat la formarea originalului "Apache Group": Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters, si Nicolas Pioch. FAQ afirma pe site-ul oficial al proiectului: Numele Apache a fost ales din respect pentru Tribul nativ indian American al apasilor , bine cunoscut pentru indemanarile superioare in strategia lor si inepuizabila anduranta. Cea mai raspandita interpretare este aceea ca numele provine din faptul ca atunci cand a aparut la inceputul anului 1995, web serverul a constat intr-un set de patches la codul de baza al NCSA HTTPd 1.3 si de aceea a fost "a patchy" server .Aceasta a fost explicatia initiala a website-ului acestui proiect. Versiunea 2 a serverului Apache a fost o rescriere substantiala din codul Apache 1.x, cu o mare concentrare asupra ulterioarei modulatii si dezvoltarea unei retele portabile ,Apache Portable Runtime. Partea centrala din Apache 2 x are mai multe intensificari majore fata de Apache 1.x . Acestea include filetarea UNIX, suport mai bun pentru platforme non-UNIX , (cum ar fi Microsoft Windows), un nou Apache API, si suport IPv6 . Prima eliberare a Apache 2 a fost in Martie 2000 cu prima disponibilitate generala in Mai 2002.

2.7 UMLTendina actual din industria software impune dezvoltarea de sisteme extrem de complexe i n cel mai scurt timp posibil. Se impune cu necesitate adaptarea procesului de dezvoltare a sistemelor informatice la cerinele din ce n ce mai complexe fa de produsele informatice. n plus, odat cu impunerea pe pia a limbajelor orientate obiect i a mediilor vizuale de programare, au aprut n ultimii ani mai multe propuneri de procese de dezvoltare orientat obiect a sistemelor informatice, ceea ce a introdus nc o pictur de haos n ecuaie. UML-ul reprezint o sintez a celor mai multe notaii i concepte utilizate n proiectarea orientat obiect. A nceput ca o coroborare a activitii lui Grady Booch, James Rumbaugh, i Ivar Jacobson, creatorii a trei dintre cele mai cunoscute metodologii orientate obiect. UML propune notaii standard i semantic corespunztoare pentru modelarea sistemelor orientate obiect. nainte de aceasta un proiect orientat obiect putea fi descris utiliznd una dintre zecile de metodologii disponibile, ceea ce fcea ca n cazul unei revizuiri cei responsabili de

32

aceasta s piard mult timp cu analiza notaiilor i semanticii metodologiei nainte de a ptrunde logica proiectrii. n acest moment, utiliznd UML, diferii proiectani ce lucreaz la diverse sisteme pot nelege cu uurin munca celuilalt. UML-ul prescrie un set standard de diagrame i notaii pentru analiza i proiectarea orientat obiect a diverselor tipuri de sisteme (sisteme software, sisteme hardware sau organizaii), descriind totodat i semantica acestor diagrame i simboluri. Limbajul unificat de modelare ofer pentru aceasta zece tipuri de diagrame ce pot fi grupate astfel: Diagram pentru modelarea proceselor de afaceri, respectiv: Diagrama cazurilor de utilizare n cazul metodologiilor orientate pe cazuri de utilizare, aceast diagram dirijeaz ntreg procesul de dezvoltare al sistemului Diagrame pentru modelarea structurii statice, respectiv: Diagrama claselor pentru modelarea structurii statice a claselor sistemului Diagrama obiectelor pentru modelarea structurii statice a obiectelor sistemului Diagrame pentru modelarea dinamicii: Diagrame de interaciune, respectiv: Diagrama de secven pentru modelarea circuitului mesajelor ntre obiecte Diagrama de colaborare pentru modelarea interaciunilor ntre obiecte Diagrame de comportament, respectiv: Diagrama de stare pentru modelarea comportamentului obiectelor din sistem Diagrama de activitate - pentru modelarea comportamentului cazurilor de utilizare, obiectelor sau operaiilor Diagrame de implementare, respectiv: Diagrama componentelor pentru modelarea componentelor Diagrama de desfurare pentru modelarea distribuirii sistemului Diagrama pachetelor mijloc de grupare a elementelor diagramelor n pachete n figura de mai jos se prezint grafic aceast clasificare a diagramelor UML. Mecanismele de extensibilitate incluse permit ca n UML s poat fi abordate aspecte care nu sunt specificate n standard. Aceste mecanisme permit extinderea notaiilor i semanticii UML. Stereotipul este cel mai utilizat dintre mecanismele de extensibilitate ale UML-ului. Un stereotip reprezint un mecanism de calificare din punct de vedere al utilizrii. El se poate aplica oricrui element de modelare, inclusiv claselor, pachetelor, relaiilor de motenire, etc. De exemplu, o clas cu stereotipul este o clas utilizat ca agent extern n modelarea proceselor de afaceri. O clas ablon (template) este modelat ca o clas cu stereotipul , cu semnificaia c aceasta cuprinde parametrii.

33

Figura nr. 2.5

Cap. 3: Proiectarea bazei de dateDiagrama bazei de date

34

relatie_teste_categorii intrebari PK id_intrebare continut varianta_raspuns _1 varianta_raspuns _2 varianta_raspuns _3 varianta_raspuns _4 varianta_raspuns _5 id_raspuns _1 id_raspuns _2 id_raspuns _3 id_raspuns _4 id_raspuns _5 activ utilizator data_sistem raspuns _corect teste_definite_supervizor PK id_test denumire data_start_interval data_stop_interval nr_intrebari activ data_sistem utilizator secunde_intrebare activare_hr PK PK FK1 id_test id_categorie pondere

relatie_intrebari _categorii

istoric_intrebari

FK2 FK1

id_categorie id_intrebare

FK1

relatie_categorii_supervizori categorii PK FK1 id_categorie id_parent nume activ FK2 FK1 utilizator id_categorie

FK2

id_intrebare continut varianta _raspuns _1 varianta _raspuns _2 varianta _raspuns _3 varianta _raspuns _4 varianta _raspuns _5 id_raspuns _1 id_raspuns _2 id_raspuns _3 id_raspuns _4 id_raspuns _5 activ utilizator data_sistem raspuns _corect

utilizatori id_utilizator utilizator parola denumire email tip_utilizator id_categorie activ data_sistem relatie _teste_angajat _intrebari PK FK1 FK2 id_test _angajat id_intrebare raspuns _corect raspuns _angajat teste_angajat id_test _angajat id_test data_inceput _test data_sfarsit_test utilizator raspunsuri _corecte procentaj current _session anulat intrebari _quiz PK id_intrebare _quiz continut varianta _raspuns _1 varianta _raspuns _2 varianta _raspuns _3 varianta _raspuns _4 varianta _raspuns _5 id_curs activ utilizator data_sistem raspuns _corect

FK1

FK1

FK1

cursuri_continut _detaliat subiecte PK id_subiect denumire id_curs nivel utilizator data_sistem PK subiecte_detaliat PK id_comentariu comentariu id_subiect nivel utilizator data_sistem FK1 PK FK1 id_pagina id_curs nr_pagina continut FK1 cursuri_continut _detaliat 1 id_fisier id_curs fisier data_sistem cursuri PK id_curs denumire nr_slideuri descriere activ utilizator data_sistem FK1 FK2

FK1

FK1 FK2

Figura nr 3.1 Tabela categorii

35

CAMP id_categorie id_parent Nume Activ

TIP Integer Integer varchar(255) integer

NULL Nu Nu Nu Nu

SETARE DE BAZA 0 1

36

Scop: In tabela categorii vor fi stocate departamentele(sub-departamentele) intr-o structura arborescenta. Observatii: 1. id_categorie este cheie primara. 2. id_parent reprezinta id-ul parintelui departamentului in cauza (id_parent=0 reprezinta primul nivel). 3. nume denumirea departamentului (sub-departamentului). Constrangeri: CONSTRAINT categorii_pkey PRIMARY KEY (id_categorie) CONSTRAINT activ_categorii CHECK (activ = 0 OR activ = 1) Indecsi: CREATE INDEX id_parent ON categorii USING btree (id_parent);

Tabela intrebariCAMP TIP NULL SETARE DE BAZA

id_intrebare integer Nu Continut text Nu varianta_raspuns_1 text Nu varianta_raspuns_2 text Nu varianta_raspuns_3 text Nu varianta_raspuns_4 text Nu varianta_raspuns_5 text Nu id_raspuns_1 char(1) Nu id_raspuns_2 char(1) Nu id_raspuns_3 char(1) Nu id_raspuns_4 char(1) Nu id_raspuns_5 char(1) Nu Activ integer Nu Utilizator varchar(100) Nu data_sistem timestamp Nu raspuns_corect char(1) Nu Scop: In tabela intrebari vor fi stocate intrebarile introduse variante de raspuns, raspuns corect etc...) Observatii:

A B C D E 1 now() de catre utilizatori (continut,

37

1. id_intrebare este cheie primara; 2. continut reprezinta continutul intrebarii; 3. varianta_raspuns_1 .. varianta_raspuns_5 reprezinta variantele de raspuns; 4. activ in momentul in care o intrebare devine inactiva, ea nu va fi stearsa din baza de date, in schimb campul activ va lua valoarea 0. 5. utilizator reprezinta username-ul utilizatorului care a introdus intrebarea. 6. raspuns_corect - reprezinta varianta de raspuns corespunzatoare Constrangeri: CONSTRAINT intrebari_pkey PRIMARY KEY (id_intrebare) CONSTRAINT check_activ CHECK (activ = 0 OR activ = 1), CONSTRAINT check_intrebari CHECK (raspuns_corect = 'A'::bpchar OR raspuns_corect = 'B'::bpchar OR raspuns_corect = 'C'::bpchar OR raspuns_corect = 'D'::bpchar OR raspuns_corect = 'E'::bpchar) Indecsi: CREATE INDEX utilizator_intr ON intrebari USING btree (utilizator);

Tabela istoric_intrebariCAMP id_istoric id_intrebare Continut varianta_raspuns_1 varianta_raspuns_2 varianta_raspuns_3 varianta_raspuns_4 varianta_raspuns_5 id_raspuns_1 id_raspuns_2 id_raspuns_3 id_raspuns_4 id_raspuns_5 Activ Utilizator Data_sistem raspuns_corect TIP integer integer text text text text text text char(1) char(1) char(1) char(1) char(1) integer varchar(100) timestamp char(1) NULL Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu Nu SETARE DE BAZA

A B C D E 1 now()

Scop: In tabela istoric_intrebari vor fi stocate istoricul modificarilor pentru intrebarile introduse de catre utilizatori (continut, variante de raspuns, raspuns corect etc...) Constrangeri: CONSTRAINT istoric_intrebari_pkey PRIMARY KEY (id_istoric),

38

CONSTRAINT fk_istoric_intrebari FOREIGN KEY (id_intrebare) REFERENCES intrebari (id_intrebare) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT check_activ_istoric CHECK (activ = 0 OR activ = 1), CONSTRAINT check_istoric_intrebari CHECK (raspuns_corect = 'A'::bpchar OR raspuns_corect = 'B'::bpchar OR raspuns_corect = 'C'::bpchar OR raspuns_corect = 'D'::bpchar OR raspuns_corect = 'E'::bpchar) CREATE INDEX id_intrebare_istoric ON istoric_intrebari USING btree (id_intrebare); CREATE INDEX utilizator_istoric ON istoric_intrebari USING btree (utilizator);

Indecsi:

Tabela relatie_categorii_supervizoriCAMP Utilizator id_categorie TIP varchar(100) integer NULL Nu Nu SETARE DE BAZA 0

Scop: In tabela relatie_categorii_supervizori vor fi stocate id-urile departamentelor care se afla in subordinea unui supervizor. Constrangeri: CONSTRAINT fk_categorii FOREIGN KEY (id_categorie) REFERENCES categorii (id_categorie) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE Indecsi: CREATE INDEX id_categorie_r_c ON relatie_categorii_supervizori USING btree (id_categorie); CREATE INDEX utilizator_r_c ON relatie_categorii_supervizori USING btree (utilizator);

Tabela relatie_intrebari_categoriiCAMP id_intrebare id_categorie TIP integer integer NULL Nu Nu