Platforme de E Learnig
LUCRARE DE LICENȚĂ
Platforme de E-Learnig
INTRODUCERE
Proiectul tratează aspecte teoretice ale proiectării unei aplicații web, tehnologiile utilizate pentru dezvoltarea acesteia și transpune aceste aspecte în practică prin crearea unei aplicații web care are ca scop administrarea sarcinilor de lucru prin intermediul unei platforme e-learning.
La început, în prima parte a anilor ‘90, World Wide Web (prescurtat WWW) a fost folosit ca un mediu de unde îți iei informațiile, dar cu trecerea timpului acesta a devenit o platformă comună pentru dezvoltarea unui număr vast de sisteme software. Astfel, prin intermediul aplicațiilor web, înscrise într-un limbaj de programare suportat de browsere (de exemplu Javascript, combinat cu un limbaj de markup precum HTML), lumea în care trăim a evoluat și majoritatea domeniilor în care activăm au căpătat amploare. Popularitatea acestora se datorează abilității de a putea fi modificate și mențiunte, precum și compatibilitatea cu alte platforme.
În ziua de astăzi, această importanță a aplicațiilor web a crescut în aproape fiecare domeniu: economie, industrie, educație, sănătate, administrație publică și lista poate continua. Diferitele categorii de aplicații web care au apărut de la începutul web-ului sunt axate pe documente, sunt interactive, tranzacționale, bazate pe fluxuri, colaborative, orientate pe portaluri, omniprezente, sociale și semantice.
Dacă în modelele de calcul anterioare (exemplu client – server), încărcarea aplicației era împărțită între codul de pe server și codul instalat local pe fiecare client, în modelul actual aplicațiile web folosesc documente web scrise într-un format standard ca HTML sau Javascript, care sunt suportate de o varietate mare de browsere web. Prin urmare, dacă înainte o aplicație avea propriul său program client care servea ca interfață și trebuia instalat separat pe fiecare calculator (costuri, productivitate scăzută), acum aplicațiile web pot fi considerate o variantă specifică a modelului client-server unde soft-ul client este descărcat către mașina client când este vizitată o pagină web, folosindu-se o procedura standard ca HTTP. Astfel, în timpul unei sesiuni browser-ul interpretează și afișează paginile comportându-se ca un client universal pentru orice aplicație web.
HTTP sau Hypertext Transfer Protocol este metoda cea mai des utilizată pentru accesarea informațiilor care sunt păstrate pe servere www. Este un protocol de tip text și se presupune că pe calculatorul utilizatorului rulează un program care poate înțelege acest protocol. După modelul de referință OSI, protocolul HTTP este un protocol de nivel aplicație (coordonare World
Wide Web Consortium). Modul de funcționare este foarte simplu, dacă se apelează un link sau adresă de web cum ar fi http://fmi.unibuc.ro, atunci se cere calculatorului host să afișeze o pagină web. În prima fază adresa fmi.unibuc.ro este convertită de protocolul DNS într-o adresă IP. Urmează transferul prin protocolul TCP pe portul standard 80 al serverului HTTP, ca răspuns la cererea HTTP a GET. Informațiile suplimentare legate de conținutul paginii se pot adăuga în antetul pachetului HTTP. În urma acestei cereri serverul va răspunde cu datele cerute: pagini HTML, imagini, fișiere de stil, scripturi, dar pot fi și pagini generate dinamic (PHP, ASP.NET, JSP, SSI). Dacă dintr-un anumit motiv informațiile nu pot fi transmise, atunci serverul trimite înapoi un mesaj de eroare.
Lucrarea de față este structurată pe patru capitole. În primul capitol sunt prezentate noțiunile fundamentale ale sistemului e-learning. Se începe prin definirea educației la distanță, pentru a se evidenția importanța unui fenomen care capătă amploare și se dorește explicarea necesității unei platforme care să susțină acest fenomen. Astfel, modelul clasic de educație este comparat cu modelul e-learning, în vederea stabilirii punctelor forte și slabe ale acestuia din urmă. Tipurile de educație la distanță au evoluat de-a lungul timpului și astăzi intenetul este cel care facilitează acest tip de formare. Datorită acestui fapt, au fost dezvoltate mai multe instituții virtuale, care asigură certificări online în funcție de modelul parcurs si atestând nivelul de învățare atins. De asemenea, este descrisă cheia alegerii unei soluții online și sunt descriși indicatorii sistemului e-learning și tehnologiile multimedia care îl susțin.
În al doilea capitol sunt descrise conceptele de bază de date, sistem de gestiune a bazelor de date si este prezentată o clasificare a bazelor de date. Tot aici sunt enumerate etapele proiectării unei baze de date și sunt descrise modelul entitate-relație și procesul de normalizare a relațiilor dintre tabele.
În al treilea capitol sunt prezentate cele mai populare tehnologii folosite pentru dezvoltarea aplicațiilor web și modul cum au apărut acestea: HTML, limbajul de programare PHP, MySQL și serverul web Apache. Pentru fiecare este prezentată pe scurt sintaxa și sunt date câteva exemple de implementare.
În al patrulea capitol este descrisă aplicația dezvoltată pentru a exemplifica noțiunile teoretice prezentate și pentru a evidenția funcționarea unei platforme e-learning. Lucrarea se incheie cu o scurtă concluzie.
CAPITOLUL 1׃ CONCEPTE E-LEARNING
1.1. Definiții
Educația la distanța reprezintă o abordare nouă a conceptului de pregătire pentru viața și a elementului de învățare continuă. Dar in ce constă aceasta orientare? Educația la distanța este o modalitate alternativă sau complementară de a face educație si reprezintă expresia unei noi orientări spre consumator a diverselor instituții de pregătire. Asigurarea s¸i respectarea unor criterii de calitate în ce prives¸te aspectele pedagogice, academice, administrative, tehnice reprezintă o caracteristică de bază a acestui tip de educație. Spre exemplu, în domeniul academic, acumularea și transferul, modularizarea cursurilor sunt părți ale aceleiași transformări de structură a sistemului de învățământ.
Majoritatea întrebărilor care privesc aceasta formă de învațare sunt indreptate către eficiența sa. Educația la distanță poate avea aceleași rezultate și să dea același nivel de performanță ca formele tradiționale de învățământ? S-a demonstrat ca, având o proiectare corespunzătoare, raspunsul este afirmativ. Mai multe studii s-au facut in acest sens, pentru demonstrarea aplicabilității acestei teorii.
Figura 1.1 Eduația la distanță
Spre exemplu, la cererea Federa¸tiei Americane a Profesorilor s¸i Asocia¸tiei Na¸tionale pentru Educa¸tie, Institutul pentru Politici Educa¸tionale din Statele Unite a ini¸tiat o cercetare privind eficacitatea educa¸tiei la distan¸ta˘, care s-a dorit a fi o analiza˘ a "ceea ce ne spun cerceta˘rile în domeniu s¸i ceea ce nu ne spun". În cadrul studiului realizat s-au cautat răspunsuri la întrebările esențiale pe care această formă de educație le ridică, mai precis, s-a dorit sa se știe׃ dacă anumite obiecte de educație sunt mai usor de studiat prin această metodă, dacă studenții vad această modalitate ca fiind mai potrivit, dacă abandonul in cazul cursurilor la disntanță este mai ridicat, daca sursele de documentație sunt suficiente (bibliotecile, surse de informație), s-a dorit sa se știe care sunt elementele necesare pentru ca un student să absolve cu succes un curs la distanță, cum se poate face evaluarea acestui tip de educație (dacă la fel ca prin metodele tradiționale). O întrebare esențiala dorea sa verifice dacă problemele administrative afectează calitatea instruirii.
Nevoia unei educații continue a determinat o creștere a cererii de cursuri în tehnologia învățământului deschis, in special în cazul învățământului superior. Problema care se pune în aceste condi¸tii este aceea de a cres¸te eficien¸ta programelor existente s¸i proiectarea altora, pe aza unei teorii pedagogice a educa¸tiei la distan¸ta˘ care sa˘ sus¸tina˘ practica la toate nivelele.
Figura 1.2. Învățământul superior și educația la disntanță
1.1.1. Educația la distanță
De-a lungul timpului au existat numeroase încercări de definire a educației la distanță. Dacă inițial aceasta însemna studiu prin corespondență, acum semnificația a evoluat către un tip de învățământ susținut de materiale audio și video transmise prin Internet.
În general, distanța fizică este cea care caracteriza educația la distanță, pentru că ocupă un rol principal în relația profesor – student (studenți). În această situație, tehnologia (audio, video, rețele de calculatoare, material tipărit), îmbinată uneori cu comunicarea față în față este folosită pentru instruire (Engineering Outreach Staff de la Universitatea Idaho – Distance Education at a Glance). Acest sistem are rolul de a augmenta oportunitățile de învățare ale studenților, pentru că obstacolele de ordin spațial, temporal sau cele legate de impunerea unui ritm de învățare sunt eliminate. Se asigură astfel posibilități de studiu unor categorii largi de persoane, fără întreruperea activității lor profesionale, prin urmare cursuri de formare profesionala se pot efectua fara dificultate de catre persoanele angajate, pentru ca activitatea lor zilnică nu este întreruptă, ci se desfășoară în paralel. Tocmai această carateristică esențială face ca sistemul să fie deosebit de viabil pentru ciclurile superioare, pentru educația continuă, pentru învățământul vocațional, și îl situează printre cele mai solicitate tipuri de sisteme de educație ale viitorului.
Definițiile anterioare concentreaza principalele caracteristici ale educației la distanță, și anume׃
Distanță fizică;
Tehonologia folosita (audio, video, Internet, calculator);
Flexibilitate (nu presupune întreruperea unei activități profesionale pentru desfășurare);
Viabilitate (susține educația continuă si oferă rezultate semnificative, dacă proiectarea este bine facută).
Figura 1.3. Caracteristicile educației continue
Consiliul pentru Educație și Instruire la Distanță a formulat o definiție operațională cât mai completă al acestui concept׃ "Educația la distanță presupune înscrierea și studiul la o instituție de instruire, care asigură materialele didactice pregătite într-o ordine secvențială și logică pentru ca studenții să studieze pe cont propriu. La sfârșitul fiecărei etape, studentul trimite prin fax sau e-mail, către instructori calificați, produsul muncii sale spre corectare, clasare și orientare tutorială pe problemele temei de studiu. Sarcinile corectate sunt înapoiate, acest schimb asigurând o relație student-profesor personalizată." Educația la distanță prin Internet oferă un avantaj major, acela de a pune la dispoziția cursanților resurse educaționale de oriunde din lume. Rolul profesioniștilor educației este acela de a media acest tip de învățare si de a-l valorifica, în condițiile circulației informației în mediile culturale.
1.1.2. Educația la distanță sau e-learning
E-learning sau e-education? De fapt, semnificația celor doi termeni este aceeași. In sens larg, e-learning (termen anglo-saxon) înseamnă utilizarea mijloacelor tehnologiei informației si comunicării în totalitatea situațiilor educaționale. Presupune învățarea prin mijloace electronice. Sub denumirea de software didactic/ educațional, au fost create o multitudine de materiale care sprijina acest tip de învățare׃ hărți, dicționare, encilopedii, filme didactice, prezentări in diverse formate, cărți (e-books), teste, tutoriale, , sofware care crează abilități, jocuri didactice, etc. Suportul de predare este, prin urmare, asigurat de aceste materiale si de computer. Învățarea, evaluarea se realizeaza tot prin aceste mijloace.
În sens restrâns, e-learning presupune învățarea la distanță, pusă la dispoziție de către o instituție specializată ce furnizeaza materialele necesare într-o ordine secvențială și logică și le distribuie studenților într-o maniera proprie, care să le asigure formarea. Interneul asigură distribuirea materialelor cât și canalul de comunicarerdine secvențială și logică pentru ca studenții să studieze pe cont propriu. La sfârșitul fiecărei etape, studentul trimite prin fax sau e-mail, către instructori calificați, produsul muncii sale spre corectare, clasare și orientare tutorială pe problemele temei de studiu. Sarcinile corectate sunt înapoiate, acest schimb asigurând o relație student-profesor personalizată." Educația la distanță prin Internet oferă un avantaj major, acela de a pune la dispoziția cursanților resurse educaționale de oriunde din lume. Rolul profesioniștilor educației este acela de a media acest tip de învățare si de a-l valorifica, în condițiile circulației informației în mediile culturale.
1.1.2. Educația la distanță sau e-learning
E-learning sau e-education? De fapt, semnificația celor doi termeni este aceeași. In sens larg, e-learning (termen anglo-saxon) înseamnă utilizarea mijloacelor tehnologiei informației si comunicării în totalitatea situațiilor educaționale. Presupune învățarea prin mijloace electronice. Sub denumirea de software didactic/ educațional, au fost create o multitudine de materiale care sprijina acest tip de învățare׃ hărți, dicționare, encilopedii, filme didactice, prezentări in diverse formate, cărți (e-books), teste, tutoriale, , sofware care crează abilități, jocuri didactice, etc. Suportul de predare este, prin urmare, asigurat de aceste materiale si de computer. Învățarea, evaluarea se realizeaza tot prin aceste mijloace.
În sens restrâns, e-learning presupune învățarea la distanță, pusă la dispoziție de către o instituție specializată ce furnizeaza materialele necesare într-o ordine secvențială și logică și le distribuie studenților într-o maniera proprie, care să le asigure formarea. Interneul asigură distribuirea materialelor cât și canalul de comunicare al actorilor. Acest sistem de învățare este, pentru moment, foarte dezvoltat în învățământul superior și în formarea adulților.
Figura 1.4. E-learning, în sens larg
E-learning este o platformă de învățare viabilă, având rezultate la acest nivel, fiind un sistem caracterizat de׃
Simplitatea utilizării;
Disponibilitatea resurselor utilizate;
Flexibilitatea procesului de învățare;
Comunicare profesor – cursant este facilitată;
Feed-back ul este garantat și se sprijină pe evaluarea elementelor învățate.
1.2. E-learning – Cadru conceptual
Societatea actuală este caracterizată printr-o dezvoltare multilaterală, la toate nivelurile (cultural, social, politic, tehnologic). Resursa umană este însă în centrul tuturor acestor schimbări si reprezintă capitalul cel mai valoros, iar acest capital crește dacă o investiție în educație este
facută în prealabil. Societatea de astăzi este denumită și societatea cunoașterii, datorită faptului că accesul la informație a permis formarea individului și a colectivității, iar tehnologiile existente (Internet, word, diverse programe) au susținul dinamismul dezvoltării acestei societăți.
1.2.1. Sistemul de învățare e-learnig – baza societății cunoașterii
Nevoia de cunoaștere si ritmul rapid al desfășurării evenimentelor din jurul nostru ne fac sa avem puțin timp la dispoziție pentru formare, dar cererea de încadrare pe piața muncii de plasare la nivel național si internațional, ne fac sa intrăm într-un ritm alert și care presupune o modalitate de învățare flexibilă si accesibilă. Prin urmare, e-learning vine în întâmpinarea acestei cerințe și în sprijinul societății cunoașterii. Având ca bază mediul digital, e-learning-ul susține potențialul uman ajutându-l să acumuleze cunoștiințe și să câștige timp, resursa necesară și poate printre cele mai rare ale lumii actuale.
Valoarea acestui sistem este aceea de a contribui la trecerea de la o societate a informației la o societate a cunoașterii, o cunoaștere la care sa aiba acces oricine, indiferent de zona unde se află și de pregatirea pe care o are, eliminând astfel izolarea.
Figura 1.5. Principalele caracteristici ale sistemului e-learning
Prin urmare flexibilitatea este principala caracteristică cerută de societatea cunoașterii, cacarcteristică la care, după cum s-a demonstrat, e-learning-ul răspunde. Asigurarea și a unui feed-back din partea interlocutorului, face din acest sistem de învățare unul fiabil și dinamic.
1.2.2. Modelul e-learning versus modelul clasic de învățare
E-learning-ul reprezintă modelul de învățământ prin utilizarea tehnologiei și înseamnă achiziția unor cunoștințe și/sau formarea unor competențe prin intermediul tehnologiei, respectiv prin folosirea calculatorului și a Internetului. Atingerea obiectivelor de învățare se face apelând la cursuri pe suport digital (cd, dvd) sau cursuri on-line (prin internet).
Învățământul virtual are caracteristicile sale proprii, care îl diferențiază de modelul clasic existent׃
Figura 1.6. Modelul de învățământ e-learning versus Modelul clasic de învățământ
Actualmente, termenul e-learning a ajuns să redefinească maniera de integrare a mijloacelor Tehnologiei Informației și Comunicațiilor (TIC) în procesul de instruire.
Sfera virtuala a căpătat un nou sens și s-a dezvoltat, atragând de la sine o evoluție a mijloacelor electronice. Astfel, conținutul cultural, spre exemplu, a devenit accesibil tuturor, oriunde, oricând tocmai prin faptul că a căpătat un format digital. Educația are un nou sens, pentru că utilizarea calculatorului a devenit esențiala in interiorul unităților de învătământ, pentru că a permis găsirea de strategii ce permit accesul nelimitat la cultură și la informație.
În al doilea rând, modalitatea de reprezentare a informațiilor s-a schimbat si exprimarea ideilor a fost facilitată, achizițiile inteligenței fiind astfel extinse. Participarea la cultură a fost stimulată și dezvoltarea personală și profesională a căpătat o altă dimensiune. Limbajul verbal interferează cu cel vizaul (folosirea de imagini), auditiv și în acest fel, modalitățile de expresie
sunt mult mai vaste, punând în dificultate persoanele care nu au o capacitate ușoară de adaptare si cadrele didactice care nu vor alterna sau îmbina aceste mijloace.
În al treilea rând, tehnologia digitala a ajutat la dezvoltarea individului, prin faptul că îi stimulează gândirea, capacitatea de a analiza, de a compara, de a selecta și de a reține. Astfel, el devine mai pregatit, mai dinamic și mai perspicace. Aceasta tehnologie susține dezvoltarea accelerată, prin accesul rapid la informație, prin utilizarea foilor de calcul și economia de timp oferită. Totuși, acest tip de învățare este utilizat cu predominanță începând cu mediul universitar, pentru a pemite individului să-și formeze abilitățile principale (învățarea scrisului corect din punct de vedere gramatical, a cititului, spre exemplu) în fazele anterioare (clasice).
1.3. Modele de educație la distanță
Modelele de educație la distanță vin să răspundă cererii crescute ale indivizilor în ceea ce privește îmbinarea timpului limitat aflat la dispoziție cu necesitatea de a se forma pe tot parcursul vieții. Sloganul "Învață oriunde și oricând" se află la baza acestui sistem și permite oricărui participant accesul la cursuri din orice zonă geografică.Independența de timp și de locul de predare, o individualizare și mai mare a acestei forme de învățămînt au dus la o popularitate crescută a învățării pe Internet și la găsirea unui element de mediere a relației profesor – student.
Principalele modele de educație la distanță sunt׃
Aceste modele de educație au în comun faptul că se desfășoară într-un mediu virtual. Asemănările și deosebirile între aceste patru tipuri sunt mult mai ușor de observat, pentru că sunt detaliate unul câte unul. Opțiunea este a cursantului, în funcție de modelul care răspunde cel mai bine necesităților sale.
Figura 1.7. Modele de educație la distanță
1.3.1. Modelul de sine stătător
Acest model de educație la distanță presupune o instituție exclusiv virtuală, pentru că aceasta corespunde dezvoltării și managementului sistemelor la distanță, a investit în acest tip de învățare considerându-l adecvat (spre deosebire de modelul clasic care îl consideră inadecvat) și a ales să răspundă necesităților studenților doritori cât mai eficient utilizând mijloacele necesare.
Funcțiile asigurate de acest model de educție, de sine stătător, sunt urmatoarele׃
Figura 1.8. Modelul de sine stătător
1.3.2. Departament de educație la distanță
Acest departament este încadrat într-o instituție de sine stătătoare, prin urmare o instituție de învățământ existentă.
Acest model de educație are ca punct forte recunoașterea rezultatelor studenților la nivel național sau internațional, în funcție de încadrarea instituției furnizoare de cunoaștere.
Figura 1.9. Departament de educație la distanță
1.3.3. Structuri cooperative
Acest model de educație la distanță constă în munca la comun a mai multor instituții de învățământ. Acestea își îndeplinesc sarcinile de producție și distribuție de suport pentru învățare, administrative etc. în strânsă colaborare.
Instituțiile nu înscriu studenții în mod direct, ci oferă servicii pentru instituțiile de învățământ propriu-zise. Rolul lor este, prin urmare, de intermediar între cele două părți (furnizorul de educație si student/ cursant).
1.3.4. Structuri hibride
Acest model este obținut prin îmbinarea diverselor structuri menționate anterior.
Alegerea acestuia se justifică prin׃
Scopul educației – opțiunea pentru o structură hibridă este justificată prin necesitatea de a apela la o componentă a modelului de sine stătător sau dual, unisecțional, în cazul în care se urmărește familiarizarea cadrelor didactice cu prevederile reformei învătământului.
Figura 1.10. Modelul hibrid de educație
Necesitățile pentru educație – cerințele mari sunt îndeplinite prin intermediul unei universități deschise.
Resursele disponibile – diversitatea acestora este un factor esențial. Prin urmare, resursele umane, fizice și financiare sunt mobilizate. Resursa umană însă centrală.
Gradul automoniei și controlului – politicile educaționale dau acest grad, anterior menționat, prin faptul că depind de orientarea și susținerea acestora.
Tendința este de a adopta un model bimodal, care situează instituția virtuală în cadrul uneia tradiționale. Acest aspect este justificat prin faptul că majoritatea instituțiilor de renume nu pot face uneori față volumului mare de cereri de înscriere și încearcă să compenseze acest element. Instituțiile de tradiție ocupă un loc important în spațiul educativ de mâine, spațiul virtual fiind însă direcționat către un viitor al "universităților fără sedii, legate (mai întâi) de oameni și de idei".
Spațiul virtual va însemna sediul universităților fără sediu si va răspunde necesităților indivizilor în ceea ce privește economia de timp și nevoia de dezolvare personală și profesională.
1.4. Tipuri de educatie la distanță
Educația la distanță nu este un fenomen nou în câmpul educațional, dar este un fenomen care caștiga amploare cu trecerea timpului. Tipurile de educație la distanță reies din modalitatea de desfășurare a formării respective, de mijloacele folosite׃
Corespondență
Televiziune
Radio
Internet.
Figura 1.11. Mijloace comunicare – definesc tipurile de educație
Aceste 4 mijloace de educație reprezintă, de fapt, un canal de comunicare și de circulație pentru o cantitate semnificativă de informație.
1.4.1. Educația prin corespondență
În perioada anterioară, în cadrul acestui tip de educație se foloseau serviciile poștale și materialul tipărit. Înca din 1910, un studiu dedicat unei instituții de instruire la distanță ne dă măsura la ceea ce se petrecea în Statele Unite și Canada: "Nu mai puțin de 1600 de persoane sunt antrenate în activități de instruire de către Școala Internațională prin Corespondență, a cărei misiune principală este de a pătrunde în masa eterogenă a umanității pentru a descoperi, direcționa și convinge indivizii de beneficiile educației. Nu cunosc o altă inovație printre metodele existente mai revoluționară și mai radicală decât aceasta. Avem de-a face aici cu o instituție care cheltuiește anual peste două milioane de dolari pentru a crea o cerere de educație."
Figura 1.12. Educația prin corespondență
Tehonologia a intervenit de.a lungul timpului, dar corespondență este încă folosită în țările în care infrastructurile moderne nu sunt foarte dezvoltate.
În variantă modernă, corespondența a fost transformată în zonele dezvoltate, prin utilizarea, CD-ROM-ului, e-mail-ului. Se reduc astfel cheltuielile educației la distanță, pentru că schimbul prin corespondență avea un cost ridicat, iar costul personalului și al spațiilor de depozitare erau, de asemenea, destul de greu de suportat.
1.4.2. Educație prin radio
Dacă înainte educația prin radio era destul de populară, acum acest mijloc este utilizat, mai degrabă, în scopul comunicării, al divertismentului, al informării, al mass-media. La sugestia lui Dimitrie Gusti, în calitate de președinte al Societății Române de Radiodifuziune, s-au organizat începând cu 1930 două conferințe prin radio pentru clasele inferioare și superioare. Fără îndoială, radioul și-a avut perioada lui de predominanță pozitivă în perimetrul instrucției și educației școlare de tip informal.
1.4.3. Educație prin televiziune
Televiziunea contribuie la informarea culturală, fiind folosită și pentru educație și ca alternativă pedagogică în centrul de interes al educatorilor din 1945, când Universitatea de Stat din Iowa obține prima licență, și până spre mijlocul deceniului al VIII-lea (anii 80).
Obiectivul principal al posturilor de televiziune ar trebuie să fie culturalizarea și informarea maselor. Gama largă de programe TV face ca unele să fie mai mult, altele mai puțin apreciate. Daca ne gandim la copii și la adolescenți, este absolut necesar să admitem că televiziunea și educația se intersectează. Trebuie însă stabilit dacă direcția în care această educație este îndreptată este pe placul persoanelor beneficiare sau pe placul părinților.
Figura 1.13. Televiziunea în scop cultural
Televiziunea în scop cultural trebuie să urmeze două linii diferite în linii mari׃
1. emisiunile TV cu caracter educațional general, care urmăresc obiective instructive prin influența educativă difuză și
2. emisiunile proiectate și realizate în funcție de programe de tip școlar. Avantajele specifice educației la distanță׃ anularea impedimentului distanței; reutilizarea ulterioară a materialelor etc.
1.4.4. Educația prin Internet
Internetul a revoluționat lumea în care trăim, pentru că a redus distanțele și diferențele culturale. Folosirea acestui mijloc de comunicare a avut o influență și la nivel educațional, pentru că transferul de documente, informații și îmbinarea formelor multimedia (imagini, text, sunet, filme) au adus o notă de dinamism.
Educația prin internet reprezintă un nou tip de predare-învățare la distanță, care câștigă teren pe zi ce trece. Amplificarea caracterului multimedia al spațiului World-Wide Web, în condițiile unui acces superior la Internet atât cantitativ (ca număr de persoane) dar mai ales calitativ (ca viteză de transfer) au făcut din acest tip de educație un mediu accesibil utilizatorilor din orice colț al lumii.
Figura 1.14. Internetul și educația
Deși se consideră că modalitatea de învățare prin intermediul Internetului este o variantă atractivă, mediul on-line nu va suplini profesorul și nici nu va elimina definitiv instruirea clasică. Tendința evidentă în educație este îmbinarea instruirii clasice cu educația on-line și adaptarea conținutului educațional la ritmul viitoarelor generații.
Trebuie urmărită în primul rând׃
asigurarea calității procesului educațional,
satisfacerea principiilor educaționale,
înlăturarea rigidităților aferente sistemelor clasice de învățământ,
armonizarea inovațiilor din educație cu cele din tehnologie.
Corect folosit, Internetul poate susține educația. Alegerea tipurilor de informații și plierea pe tipul de personalitate pot influența rezultatul acestui proces.
Avantajele principale ale învățării de acest tip sunt următoarele׃
Figura 1.15. Avantajele învățării prin Internet
Aceste avantaje detașează Internetul de celelalte metode de educație la distanță prezentate anterior (corespondență, radio, televiziune), clasându-l în prim plan.
Faptul ca majoritatea populației este acum online, este o dovadă a evoluției lucrurilor în această sferă׃
În 1997 mai puțin de 20% din casele Statelor Unite aveau acces la internet din casele lor.
Până în 2007 acest numar s-a mărit cu până la 61,7%.
Internetului i-a luat doar 7 ani ca să ajungă în casele oamenilor față de televiziune sau electricitate care de la momentul când au fost descoperite până la a fi folosite de majoritatea au luat 35 și respectiv 46 de ani.
Ceea ce face atractivă educația pe internet este posibilitatea de a învața și de a lucra în același timp. Adulții vor putea lucra și continua să învețe în același timp.
Internetul și tehnologia ar trebui folosite tot mai mult în sistemul educațional, pentru a susține acest proces. Nu se poate ignora o cerință esențială pe piața muncii, care impune o condiție pentru selecție׃ candidatul trebuie să știe să folosească calculatorul. În consecintă, trăim într-o lume în care accentul pus pe tehnologizare este mare.
1.5. Instituții virtuale
O instituție de educație virtuală poate fi definită ca:
a. O instituție implicată în activități de tip educativ care își promovează programa și cursurile direct celor interesați prin intermediul tehnologiilor informatice și de comunicare, furnizând și suport tutorial.
b. O organizație creată prin parteneriat pentru a facilita predarea și învațarea fără implicare directă ca furnizor de programe educative.
Figura 1.16. Instutiții virtuale implicate în educația la distanță
Instituțiile virtuale există atât în sectroul public, cât și în cel privat, la toate nivelurile׃ elementar, secundar, liceal, universitar etc.. De asemenea, este vizata educația permanentă, cea de perfecționare.
Un studiu realizat în 11 țări (Canada, SUA, Caraibe, America Latina, Europa, Africa, India, Coreea, Australia, Noua Zeelanda și Insulele Pacificului), Departamentul pentru Dezvoltare Internațională din Londra a dat publicității, în 1999, următoarele observații generale privind educația virtuala și instituțiile virtuale :
Virtual – înseamnă învățare deschisă și la distanță, învațare distribuită (distributed learning), învațare în rețea, învațare prin Web (Web-based learning) și învațare prin computer. Tehnologiile TV și teleconferințele sunt, de asemenea, caracterizate de acest termen.
Figura 1.17. Observații generale – instituții virtuale
Tehnologie informatică – Foarte puține sunt instituțiile care utilizează tehnologiile informatice și de comunicare pentru a acoperi toate funcțiile incluse în definiția educației virtuale. Noile tehnologii se regăsesc în administrare, pregătirea și distribuirea materialelor suport și, acolo unde există posibilitatea, activități de tutorat în forma interacțiunilor student-student și student-profesor.
Dezvoltarea tehnologiilor informatice și de comunicare – va avea un impact profund asupra accesului, funcționării instituționale și proceselor predării și învățarii.
Potențialul real al tehnologiilor nu este foarte solicitat – se folosește World Wide Web-ul doar ca mediu publicistic. Deocamdată, se acordă o importanță scăzută pregătirii și perfecționării personalului didactic.
Viziunea clară, de dorit – Coreea este un exemplu de transforăari care pot avea loc atunci când este dezvoltată o viziune clară asupra unui sistem educațional și implementarea acestuia este susținută de factorii de decizie.
Dezvoltarea și accesul la infrastructura tehnologiilor informatice și de comunicare asigură dezvoltarea instituțiilor virtuale.
Factorii care susțin această nevoie de a integra factorul de schimbare׃
Flexibilitatea noilor tehnologii,
îmbinată cu aplicabilitatea în situațiilor educative,
descreșterea costurilor echipamentelor tehnologice.
1.6. Certificări online
Necesitatea formării pe tot parcursul vieții a dat amploare modelului de e-learning, răspunzând nevoilor׃
Studenților – care apelează uneori la cursurile din cadrul universitățiilor la distanță sau vor să efectueze unele cursuri în plus, pe langă cele văzute de programa șscolară, universitară. Această categorie conștientizează ca o formare cât mai bună îi încadrează mai potrivit pe piața muncii și îi ajută și să facă performanțe.
Părinților – aceștia își împart timpul între locul de muncă și familie, creșterea copiilor. Timpul rămas la dispoziție pentru formarea profesională (adițională) este redus, prin urmare educația online vine în sprijinul acestora.
Profesorilor – aceștia pot fie să aibă calitatea de tutore pentru cursanții online, fie pot să fie la rândul lor în postura de beneficiar al rezultatelor acestora.
Universităților – aflându-se în postura de a nu mai avea locuri disponibile pentru noii studenți, ele se văd într-o lumină pozitivă, în cazul în care pot suplimenta aceste locuri prin intermediul cursurilor online. Acest element poate să contribuie la prestigiul acestei instituții.
Guvernul – acesta vede sistemul e-learning drept un panaceu în întâmplinarea crescânde de formare pe tot parcursul vieții.
1.6.1. Modelului de învățare online – Percepția profesioniștilor
Centrarea pe student și autonomia sunt văzute ca niște atuuri ale modelului e-learning. Cursurile la distanță au loc după multiple eforturi de ridicare a standardelor de calitate și doar în baza unor cercetări amanunțite făcute in prealabil.
Fiind însă un sistem în curs de dezvoltate, este greu de afirmat dacă un angajator apreciază la un anumit nivel sau altul acest tip de formare, la distanță. De ce? Pentru că încă ne aflăm în faza în care ne familiarizăm cu acest tip de educație, deși existența sa este deja cunoscută. Cu toate acestea, angajatorii încep să-și largească orizonturile și să aprecieze cursurile de perfecționare urmate de potențialii viitori angajați.
O cercetare în Statele Unite (Vault.com, octombrie 2000) a scos în evidență percepția asupra cursurilor la distanță׃
Figura 1.18. Percepția asupra cursurilor la distanță (SUA, octombrie 2000)
Din studiul realizat, se poate observa că ponderea cea mai mare este ocupată de profesioniștii din domeniul RH care apreciază cursurile la distanță, dar din cadrul instituțiilor acreditate, iar nu din
cadrul celor virtuale. Acest aspect este unul pozitiv, pentru că totuși deschiderea față acest mediu este una destul de semnificativă.
Majoritatea rapoartelor de evaluare publicate scot în evidență meritele reale și valoarea sistemelor eLearning. Dacă educația la distanță înseamnă eliminarea barierelor instituționale, este însă necesar să îi demonstrăm și eficiența și nu numai în priviința accesibilității.O abordare pertinentă trebuie să vizeze factorii pedagogici, spre exemplu proiectarea acestui model de formare. Dacă se demonstrează atingerea scopurilor vizate și dacă așteptările sunt justificate, atunci domeniul eLearning are de câștigat.
1.6.2. Rolul certificărilor online
În ultima perioadă, certificările profesionale au luat destul de multă amploare pe piața de instruire din România, atat în medii organizate cât și la nivel individual. Angajații și/sau candidații participă în mod activ la derularea unor astfel de programe, indiferent că este vorba despre soluții de certificare cu scopul specializării într-un anumit domeniu, formării continue sau că este vorba de certificări în vederea reorientării profesionale.
Certificările sunt văzute drept׃
Avantaje pentru debutul în carieră,
Atestare a competențelor dobândite,
Creștere a șanselor în găsirea unui loc de muncă,
Utile în scopul dobândirii cunoștințelor necesare activării într-un anumit domeniu,
Cu rol de consolidare a cunoștințelor profesionale.
Deținerea unor certificări profesionale reprezintă un avantaj al candidaților pentru anumite posturi sau al angajaților care vor să avanseze/ să își păstreze locul de muncă.
Diplomele obținute și certificate de Ministerul Educției, de către Uniunea Europeană, spre exemplu, pot reprezenta un instrument de maketing pentru angajați și/ sau candidați (își "vând imaginea").
Evoluția sistemului online a atras după sine posibilitatea de a efectua cursuri pe Internet și de a obține, în urma unei testări, o diplomă recunoscută de nivel național sau internațional. Totuși, în România, modelul eLearning nu deține atâta amploare ca în țările dezvoltate, dar există măcar o tendință de evoluție.
Deschiderea către acest model și modalitatea de pregătire pot influența felul în care decurg evenimentele. Încă avem de lucru la acest nivel și din acest motiv nu este acordată o mare încredere acestui sistem, dar lucrurile tind să se regleze și s-a observat că în ultima vreme, deschiderea departamentelor RH și a societăților este mai mare.
1.7. Alegerea unei soluții E-learning
Sistemul eLearning nu este numai un nou tip de educație la distanță, dar și o soluție de business, în cazul societăților care oferă cursuri de formare/ specializare online.
Multinaționalele doresc să reducă costurile, pentru a face economie la buget, motiv pentru care își dezvoltă angajații prin metode de eLearning. Astfel sunt reduse cheltuielile departamentului de training în medie cu 25-40% în cazul unei implementări de succes. Există însă de multe ori riscul ca banii cheltuiți pe o platformă să nu fie justificați de rezultatele obținute și atunci costurile nu numai că nu sunt reduse, ci sunt nejustificate. Tocmai din această cauză instituția furnizoare de cursuri online trebuie aleasă cu grijă.
Figura 1.19. Sistemul eLearning – opțiune
1.7.1. Cheia alegerii unei soluții online
Elementul-cheie în procesul de alegere a unei platforme eLearning este profesionistul de resurse umane pentru că el trebuie să știe să găsească cele mai bune soluții în baza informațiilor obținute de la aplicația LMS (Learning Management System) sau, în cel mai fericit caz, de o legatură între acest LMS și alte aplicații software dedicate zonei resurselor umane.
O platforma elearning are un efect similar cu cel pe care îl are, de exemplu, folosirea email-ului în locul transmiterii scrisorilor prin postă. Aceasta oferă o imagine obiectivă și în timp real a cunoștințelor pe care un angajat le are și asigură un suport pentru îmbunătățirea acestor cunoștințe în condiții de costuri mult mai mici și cu rezultate vizibile . Sistemul eLearning este, prin urmare, susținut de elementul de cost si de ușurința evaluării.
1.7.2. Indicatori ai sistemului E-learning
Alegerea între o soluție de formare clasică și implementarea unui sistem eLearning se face pe baza unor criterii bine definite. Fiecare instituție poate să aleagă, în funcție de aceste criterii, tipul de educație la distanță care i se potrivește.
Pentru a demonstra fezabilitatea unui sistem, se calculează punctajul acordat fiecărui indicator, iar dacă suma acestor puncte depășește nota 20, atunci sistemul este într-adevăr considerabil.
Principiile eLearning (cunoscute și ca învățare pe Internet) pot fi aplicate în multe domenii ale vieții de zi cu zi, asigurând o existență lungă și prosperă organizațiilor eficiente pe care le creează.
Indicatorii care sunt luați în calcul pentru aprecierea sistemului eLearning sunt următorii׃
Figura 1.20. Indicatorii principali ai sistemului eLearning
1.7.3. Tehnologii multimedia folosite în eLearning
Interacțiunea dintre procesul de predare/învățare și tehnologiile informaționale stau la baza sistemului eLearning (ICT – Information and Communication Technology).
Exemple care scot în evidență utilitatea sistemului eLeraning׃
În domeniul ICT s-au făcut investiții substanțiale pentru a asigura o bună pregătire a profesorilor . Internetul a ajutat la dezvoltarea multor instituții de învățământ, pentru că
este văzut ca sursa bibliografică și imagistică pentru prezentarea lecțiilor sau pregătirea temelor.
În domeniul comercial, s-a dezvoltat o întreagă strategie pentru atragere de noi clienți, prin educarea publicului. Câteva exemple de promovare atractivă a serviciilor și produselor oferite sunt׃ conceperea de ghiduri și de publicații electronice, de materiale promoționale pe Internet etc. Cursuri în domeniul serviciului BBC al British Broadcasting Corporation (http://www.bbc.co.uk/learning/index.shtml) sau în domeniul serviciului de instruire oferit de Discovery Corporation (http://school.discovery.com) au început să fie oferite de majoritatea corporațiilor comerciale.
Internetul oferă noi oportunități de instruire, deci ocupă un loc important în procesul educativ, fără să înlocuiască însă dialogul direct dintre profesor și studenți, care crează un cadru optim pentru modelarea personalității, menținerea mai pregnantă a spiritului de competiție dar și a suportului psihologic reciproc.
Figura 1.21. Limbajele XHTML+TIME în educația online
Accesibilitatea este o cerință majoră pentru domeniul Web, iar limbajele XHTML+TIME (care necesită popularul navigator Internet Explorer) sunt adoptate de multe site-uri educaționale în primul rând din motivul acesibilității.
Printre cele mai importante facilități oferite de aceste limbaje pentru crearea unor materiale atractive din domeniul educativ, putem enumera׃
a) posibilitatea de a concepe de slide-show-uri;
b) realizarea de cursuri de instruire (voce, imagini, animație, conținut multimedia) asistată de calculator;
c) dinamism în cadrul prezentărilor pe un site Web (video-clip-uri, prezentare vocală corespunzătoare);
d) temporizarea prezentărilor (slide-urile sunt afișate la intervale de timp precizate);
e) posibilitatea de a lansa sau de a stopa bucăți muzicale sau video;
f) Televiziunea la cerere (TV on demand) sau TV Web-ului au fost dezvoltate;
g) Arta conceptuală sau de infodivertisment a cunoscut o amploare mai mare.
Prin înglobarea de metode și tehnici tradiționale sau moderne și prin folosirea de tehnologii IT&C (procesare multimedia și comunicare asincronă sau sincronă), sistemul eLearning conduce׃
la obținerea unei experiențe în înțelegerea,
stăpânirea de cunoștințe într-un domeniu al cunoașterii.
Noi dimensiuni au fost create în educație, prin intermediul eLearning. Acestea se pot folosi în mod complementar sau alternativ față de metodele tradiționale de educație și oferă posibilitatea׃
organizării învățământului online pe subiecte sau teme (știind că învățământul tradițional este organizat pe grupe/clase de vârstă);
de a economisi timp și resurse în orice domeniu în care este aplicat;
de a da procesului de predare-învățare-examinare noi dimensiuni, creând posibilitatea de construire a societății informaționale, care nu se poate realiza fără cercetare și proiecte de investiții, atât în domeniul IT&C, cât și în domeniul educației;
elementul de feed-back total, în timp real este asigurat;
obiectivitatea acestui sistem este mult mai mare.
1.8. Avantaje și dezavantaje E-learning
Ca orice sistem, eLearning are puncte forte, dar și puncte slabe. De aceea unele organizații preferă să rămână pe formula clasică, tradițională, în timp ce altele evoluează către noutățile aduse de modul online de realizare a activității
Figura 1.22. Avantajele și dezavantajele eLearning
Participanții la educația online se familiarizează rapid cu mediul virtual și asimilează cunoștințe.
E-learning-ul prezintă numeroase avantaje față de sistemul tradițional de învățământ:
Independența & mobilitate – materialul educațional se poate utiliza de oriunde și oricând, cu ajutorul computerului personal și al rețelei.
Accesibilitate imediată – accesul la educație prin Internet în timp real, de oriunde și oricând, 24 de ore din 24, 7 zile pe saptămână – nu există dependența de timp.
Figura 1.23. E-learning în viața indivizilor
Prezentare concisă și selectivă a conținutului educațional – cursanții pot sări peste capitole pe care le-au învățat deja sau care nu prezintă interes pentru aceștia.
Individualizarea procesului de învățare – poate fi susținut în ritmul propriu, parcurgerea cursurilor poate fi făcută treptat și repetat, controlându-și rapid progresele, beneficiind de un feedback personalizat rapid.
Retenție sporită – Combinarea multimedia cu designul instrucțional conduc la o experiență de învățământ foarte bogată. Feedback-ul constant oferă un mediu de învățământ care-l va ajuta pe cursant să rețină conținutul, cu aplicabilitate practică ridicată în perioada următoare. Un material educațional diversificat este reținut în proporție mai mare de 90% prin ascultare, vizionare și interactivitate.
CAPITOLUL 2: BAZE DE DATE
Definiția unei baze de date pornește de la denumirea de „bancă de date”, prin urmare o vede drept o modalitate de stocare a unor informații și date pe un suport extern (un dispozitiv de stocare), cu posibilitatea extinderii ușoare și a regăsirii rapide a acestora. Bazele de date sunt memorate într-unul sau mai multe fișiere și sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date.
Figura 2.1. Baze de date
Dintre acestea, putem menționa următoarele tipuri de baze de date׃
un tip răspândit de baze, și anume cel relațional, în care datele sunt memorate în tabele și care poate conține:
indecși,
proceduri stocate,
declanșatori,
utilizatori,
și grupuri de utilizatori, tipuri de date etc.
un alt tip de baze de date urmează modelul ierarhic,
un alt urmează modelul orientat pe obiecte,
și, mai nou, se urmează modelul XML,
Utilitatea bazelor de date se găsește în sisteme informaționale pentru diferite domenii ale gospodăriei naționale (agricultură, medicină, educație, energetică, comerț, finanțe, banci, etc). Este vorba despre un sistem informațional destinat pentru prelucrarea, prezentarea, păstrarea și distribuirea informației pentru un domeniu precis și include în componența sa produse soft, Hard și specialiști ce asigură administrarea lucrului.
2.1. Sistem de gestiune a bazelor de date
Sistemele de gestiune a bazelor de date se denumesc în limba engleză "database management system" – SGDB). Acestea reprezintă totalitatea programelor utilizate pentru׃
crearea,
interogarea,
și întreținerea unei baze de date.
Aceste sisteme de gestiune a bazelor de date includ două categorii de module:
module care sunt comune cu cele ale sistemelor de operare ale calculatoarelor,
și module cu funcții specifice acestor baze de date.
Figura 2.2. Sisteme de baze de date
Există, de asemenea subsisteme, și anume׃
subsistemele monitor care includ programele de control al perifericelor și sistemul de gestiune a fișierelor,
subsistemele externe care sunt alcătuite din procesorul de definiție și programul de administrare.
Definirea bazei de date și utilizarea bazei de date reprezintă inferfețele dintre utilizator și sistem. Această definire a unei baze de date se execută sub controlul procesorului de definiție (PD), care poate să prelucreze programe de descriere (în limbaje specializate de definiție a datelor – LDD.
2.1.1. Istoricul Sistemelor de Gestiune a Bazelor de date
A fost identificată o nevoie crescută de acces rapid și de un volum considerabil de informații, fapt care a determinat o evoluție a metodelor și a tehnicilor de organizare a datelor. De asemenea, acest aspect a fost determinat de nevoia de perfecționare a echipamentelor de culegere, memorare, transmitere și de prelucrare a datelor.
Figura 2.3. Istoricul Sistemelor de Gestiune de Baze de Date
2.1.2. Detalii despre Sistemele de Gestiune a Bazelor de Date relaționale
SGBDR reprezintă Sistemul de Gestiune a Bazelor de Date Relaționale.Acesta folosește drept concepție de organizare a datelor modelul relațional. Există o mare diversitate a SGBDR, de aici aparând o serie de expresii precum׃ sisteme cu interfață relațională, sisteme pseudorelaționale, sisteme complet relaționale.
O serie de cerințe minimale cu scopul de a satisface un sistem de gestiune de date relațional au fost formulate׃
SGBD reprezintă un minim relațional, dacă două condiții sunt satisfăcut: Datele sunt reprezentate prin valori în tabel și sistemul suportă operatori relaționali de proiecție, selecție și joing natural, fără limitări impuse de considerente interne (exemplu, integrarea atributelor). Unitatea de informție cu care se lucrează este relația.
SGBD este complet relațional, dacă pe lângă condițiile anterioare se îndeplinesc și următoarele׃ sunt suportate operații de bază din algebră, se respectă unicitatea cheii primare și restricția referențială.
SGBD este pseudorelațional dacă sunt satisfăcute doar condițiile 1 și 3 menționate anterior.
SGBD are interfață relațională dacă pe lângă elementele de pseudorelațional, cerința 3 este îndeplinită numai în raport cu funcția de interogare.
Evoluția din ultimii ani a constat în crearea modelului orientat pe obiect (Object-Oriented Data Model – OODM) și a modelului de date relațional extins (Extended Relational Data Model – ERDM). Astfel, putem spune că baza de date este de fapt o colecție partajată de date aflate în interdependență logică.
Clasificarea SGBD se poate realiza din mai multe puncte de vedere, care îl definesc׃
Din punct de vedere al sistemelor de calcul pe care le implementează׃
sisteme de gestiune pentru calculatoare mari,
sisteme de gestiune pentru minicalculatoare,
sisteme de gestiune pentru microcalculatoare.
Aceste sisteme trebuie să fie compatibile pe platforme largi de sisteme de calcul.
Din punct de vedere al limbajului folosit׃
sisteme cu limbaj gazdă,
sisteme cu limbaj autonom.
Primul dintre acestea ajută la elaborarea unor proceduri complexe și ambele au ca dezavantaj faptul că formularea cerințelor nu este atât de simplificată ca în cazul limbajului autonom.
Din punct de vedere al concepției de organizare a datelor gestionate׃
sisteme de gestiune a bazelor de date cu structuri ierarhice și rețea,
sisteme de gestiune a bazelor de date relaționale,
sisteme de gestiune a bazelor de date orientate pe obiect.
Din punct de vedere al modului de localizare a bazelor de date׃
sisteme de gestiune a bazelor de date centralizate,
sisteme de gestiune a bazelor de date orientate pe obiect.
2.2. Diagrama entitate – relație
O entitate este considerat un element care poate să existe independent și care poate fi identificat în mod unic, fiind și o abstractizare a complexității unui anumit domeniu. Putem asltfel să ne gândim la un aspect din lumea reală, care poate fi diferit de alte aspecte din lumea reală (exemplu׃ o casă sau o mașină, un eveniment – exemplu׃ vânzarea unei case sau repararea mașinii, sau un concept, cum ar fi o tranzacție a unui client sau un ordin de plată).
Există o diferență între o entitate și un tip de entitate, pentru că acesta din urmă este o categorie, pe când entitatea, strict vorbind, este un exemplu al unui anumit tip de entitate.
Figura 2.4. Relație cu atribut
Fiecare entitate (exceptând entitățile slabe), trebuie să aibă un set minimal de atribute unice de identificare, care poartă numele de cheie primară a entității.
Diagramele entitate-relație nu înseamnă entități unice sau cazuri izolate de relații, ci mai degrabă, arată seturi de entități și seturi de relații. Exemplu: entitate = un anumit cântec, entitate set = colecția tuturor melodiilor dintr-o bază de date. Un copil și masa de prânz = este o singură relație, cea de a mânca. Cu alte cuvinte, un set relație corespunde unei relații, pe când o relație corespunde unui membru al relației. Există și anumite constrângeri/limitări în procesul modelării bazei de date.
Figura 2.5. Două entități relaționate reprezentate folosind notația Crow's Foot
Modalitatea de reprezentare este următoarea׃
Seturile de entități = dreptunghiuri,
Relațiile = romburi,
Seturile de entități care participă la un set de relații sunt conectate cu o linie,
Atributele = ovaluri și sunt conectate cu o linie la o entitate sau la un set de relații.
Limitările cardinale sunt desenate după cum urmează:
linie dublă = limitare de participare, relație totală sau funcție surjectivă. Prin urmare, toate entitățile din acel set de entități trebuie să participe la cel puțin o relație din setul de relații;
o săgeată dinspre setul de entități către setul de relații arată o limitare de tip cheie unică, adică o relație injectivă. Prin urmare, fiecare entitate din setul de entități poate participa în cel puțin o relație din setul de relații;
o linie groasă semnifică ambele relații, adică bijectivitate. Prin urmare, fiecare entitate din setul de entități este implicat în exact o relație.
numele subliniat al unui atribut înseamnă faptul că acel atribut este cheie unică. Astfel, două entități sau relații diferite care au acest atribut au întotdeauna valori diferite pentru acest atribut. Atributele crează adesea dezordine în diagramă și sunt uneori omise din această cauză. Atributele entităților se reprezintă în diagramă adesea în dreptunghiurile pentru seturi de entitate.
2.3. Modelul relațional
Definirea unor domenii (valori atomice) și a unor relații stau la baza structurii datelor, integritatea datelor prin impunerea de restricții, prelucrarea datelor prin operații din algebră relațională sau calculul relațional – aceste elemente reprezintă componenetele de bază ale modelului relațional.
Modelul relațional are la bază noțiunea matematică de relație (de văzut teoria mulțimilor care are ca fundament o submulțime a produsului cartezian a unei liste finite de mulțimi numite domenii). Elementele unei relații sunt denumite tupluri, iar numărul de domenii (nu toate distincte) din produsul cartezian se numește aritatea relației. De exemplu (a1,a2,…,ak) sau mai pe
scurt a1a2…ak cu ai din Di pentru orice i=1…k reprezintă un tuplu al unei relații de aritate k = cel de-al i-lea element al tuplului.
Majoritatea operațiilor algebrice sunt conținute de sistemele de gestiune a bazelor, dar se pot implementa și alte operații care să permită o mai ușoară utilizare a sistemelor respective.
Algebra relațională constă într-o colecție de operatori care se bazează pe relații și al căror rezultat este tot o relație. Operațiile principale sunt următoarele׃
Reuniunea = notată R U S (2 relații), este mulțimea tuplurilor care se găsesc în cel puțin una din relațiile R sau S.
Diferența = R – S, este mulțimea tuplurilor din R care nu sunt în S.
Figura 2.6. Algebră relațională – diferența
Produsul cartezian = R X S (R de aritate r și S de aritate s) este mulțimea tuplurilor cu r+s componente în care primele r componente formează un tuplu în R și ultimile s componente formează un tuplu în S.
Proiecția = relația R de aritate r. Proiecția relației R după câmpurile i1,i2,…,ik, notată /Pi1,i2,…,ik(R) este mulțimea tuplurilor de aritate k a1a2…ak pentru care există un tuplu b1b2…br în R astfel încât a1=bi1, a2=bi2, … , ak=bik.
Selecția sau restricția = /SF(R) este mulțimea tuplurilor t din R pentru care formula F devine adevarată prin înlocuirea fiecarui număr de componenta i din ea cu valoarea celei de-a i-a componente a tuplului t.
Intersecția = R /O S, este mulțimea tuplurilor care se găsesc în ambele relații. Deci R /O S = R – (R – S).
Figura 2.7. Operațiile algebrei relaționale
Câtul = Câtul lui R prin S, notat R /- S este mulțimea tuplurilor t de aritate r-s astfel încât pentru orice tuplu u al lui s tuplul tu este în R.
Uniunea = mulțimea i/0 j a tuplurilor produsului cartezian dintre R și S pentru care a "i"-a componentă a lui R se află în relația /0 cu a "j"-a componentă a relației S, unde /0 este operația numită de echiuniune.
Uniunea naturală = R|X|S, se aplică dacă cele două relații au nume asociate atributelor și în acest caz se selectează din produsul cartezian al relațiilor R și S acele tupluri cu valori comune pentru câmpurile numite la fel în cele două relații și apoi se elimină valorile din câmpurile lui S comune cu cele ale lui R.
Limbajele de prelucrare a datelor pentru modelul relațional se pot împarți în două mari categorii:
limbaje algebrice׃ cererile sunt exprimate prin operatorii pe care trebuie să-i aplicăm relațiilor existente în baza de date pentru a obține răspunsul,
limbaje cu calculul predicatelor׃ cererile sunt exprimate sub forma unor mulțimi de tupluri sau valori pentru care se indică proprietățile pe care trebuie să le îndeplinească sub forma unor predicate.
Figura 2.8. Modelul relațional
Au fost dezvoltate mai multe limbaje de algebră relațională׃
ISBL (Information System Base Language) = Limbajul de cereri, conceput de IBM United Kingdom Scientific Center din Peterlee, Anglia pentru a fi folosit în sistemul experimental PRTV (Peterlee Relational Test Vehicle). Operațiile agregate sau de reactualizări ale relațiilor dar în sistemul PRTV există posibilitatea stabilirii fluxului de informații în ambele sensuri între ISBL și limbajul gazdă (în general PL/I). Comunicarea se face prin diferitele valori ale unor atribute sau prin fișiere relaționale de citire sau scriere definite în limbajul gazdă.
SQUARE = este un limbaj intermediar între algebra relațională și calculul relațional pe tupluri. Sunt prevăzute și alte operații decât cele din algebra relațională cum ar fi numirea unor tupluri în relații sau operatori din teoria mulțimilor de tipul incluziune sau apartenență.
QUEL = limbaj de tip calcul relațional pe tupluri. Este un limbaj de cereri pentru INGRES care este un sistem de gestiune a bazelor de date dezvoltat la Universitatea din California, Berkeley și merge sub sistem de operare UNIX. În limbajul QUEL apar funcțiile agregate count, avg, sum, min sau max, ele aplicându-se expresiilor care conțin relații unare, constante și operatori aritmetici. Funcțiile agregat countu, avgu și sumu elimină duplicatele.
Etc.
2.4. Normalizarea relațiilor
Normalizarea bazei de date constă în organizarea câmpurilor și a tabelelor de baze de date relaționale pentru a minimiza redundanța și dependența. La bază se găsește împărțirea de mese mari în tabele mai mici (și mai puțin redundante) și definirea relațiilor dintre ele, în scopul de a izola de date, astfel încât adăugiri, ștergeri și modificări ale unui câmp se pot face într-un singur tabel și apoi propagate prin restul bazei de date folosind relațiile definite. Proiectantul este baza procesului și ar trebui să creeze un design complet normalizat; selectiva denormalizare pot fi ulterior realizată pentru performanță.
Rolul normalizării este, în primul rând, de a permite ca datele să fie interogate și manipulate cu ajutorul unui "date universale sub-limbaj", întemeiată în logica de ordinul întâi, obiectivele fiind׃
Pentru a reduce nevoia de dependențe de ștergere;
Pentru a diminua nevoia de restructurare colectarea de relații, așa cum sunt introduse noi tipuri de date, și, astfel, crește durata de viață a programelor de aplicații;
Pentru a face modelul relațional mai accesibil pentru utilizatori;
Pentru a contribui la o colecție de relații neutre la statistici interogare, în cazul în care aceste statistici sunt susceptibile de a se schimba în timp.
Prin urmare, din exemplele de mai sus, reținem unul din principalele scopuri urmărite la proiectarea bazei de date relaționale, și anume, gruparea atributelor în relații în așa fel încât să se minimizeze redundanța datelor și prin aceasta să se reducă spațiul de stocare necesar relațiilor de bază implementate.
Unul dintre conceptele fundamentale din normalizare este acela de dependență (specificată ca o constrângere între atribute, existând și un determinant). Conceptul de dependență funcțională este elementul central în procesul de normalizare (care se bazează pe cheile primare și dependențele funcționale). Sunt utilizate o serie de reguli pentru testarea relațiilor individuale, astfel încât o BD poate fi normalizată până la orice grad. Atunci când se întâmplă ca o cerință să nu este îndeplinită, relația care o deranjează trebuie să fie descompusă în relații care satisfac individual cerințele normalizării.
De cele mai multe ori normalizarea este executată sub forma unei serii de pași care au ca fundament forme normale, cu proprietăți cunoscute. Astfel, relațiile devin în mod progresiv mai restrictive (mai puternice) ca format și mai puțin vulnerabile la anomaliile de reactualizare.
a) Pentru modelul relațional, trebuie știut că numai prima formă normală (1NF) este de importanță critică în crearea de relații adecvate Figura 2.9. Exemplu relații
și că celelalte sunt opționale, dar că trebuie să se evite anomaliile de reactualizare, se recomandă efectuarea normalizării până la cel puțin forma 3NF. De reținut este că forma nenormalizată (UNF) este un tabel care conține unul sau mai multe grupuri repetitive, unde un grup repetitiv reprezintă un atribut sau grup de atribute din cadrul tabelului (cu valori multiple pentru o singură instanță a atributului cheie).
Există două strategii de lucru pentru eliminarea grupurilor repetitive dintr-un tabel nenormalizat׃
Sunt eliminate grupurile repetitive prin introducerea de date adecvate în coloanele goale ale rândurilor cu date repetitive,
Fiecare atribut este nominalizat (sau un grup de atribute) ca o cheie a tabelului nenormalizat, după care se elimină grupurile repetitive prin plasarea datelor care se repetă – împreună cu o copie a atributului cheie inițial, într-o relație separată.
b) A doua formă normală (2NF) se bazează pe conceptul de dependență funcțională totală. Atunci, dacă A și B sunt atribute ale unei relații R, se spune că B este total dependent funcțional de A, dacă B este dependent funcțional de A dar nu și de orice submulțime a lui A. Ne aflăm în acest caz dacă sunt îndeplinite condițiile pentru prima formă normală și fiecare atribut care nu este cheie primară este total dependent funcțional de cheia primară. Normalizarea relațiilor 1NF la forma 2NF se face prin eliminarea dependențelor parțiale prin scoaterea din relație a atributelor parțial dependente funcțional, și plasarea lor într-o nouă relație, împreună cu o copie a determinantului acestora.
c) A treia formă normală (3NF) presupune îndeplinirea condițiilor pentru prima și a doua formă normală și în plus, nici un atribut (care nu este cheie primară) nu este dependent tranzitiv de cheia primară. Acest lucru este realizat prin eliminarea din relație a atributelor dependente tranzitiv, și plasarea lor într-o nouă relație, împreună cu o copie a determinantului acestora.
Figura 32. Normalizarea relațiilor – baze de date
d) Forma normală Boyce-Codd (BCNF) constă în existența unor dependențele funcționale care iau în considerație toate cheile candidat dintr-o relație. Formele 3NF și BCNF sunt echivalente într-o relație cu o singură cheie candidat, dacă alte atribute sunt total dependente funcțional, dar cele două se diferențiază prin faptul că, pentru o dependență funcțională A → B, forma 3NF permite această dependență în cadrul unei relații dacă B este atribut cheie primară și A nu este cheie candidat.
e) A patra formă normală (4NF) se bazează pe eliminarea dependențelor multivalorice, care adesea creează redundanțe în cazul datelor. O astfel dependență multivalorică există dacă între atributele A, B, C apare o situație ca următoarea׃ dacă pentru fiecare valoare a lui A există o mulțime de valori ale lui B și o mulțime de valori ale lui C, dar mulțimile valorilor lui B și C sunt independente unele de altele. Notația simbolică: A −>> B. Normalizarea de la BDNF la 4NF constă în eliminarea dependențelor multivalorice prin plasarea atributului (atributelor) într-o nouă relație împreună cu o copie a determinantului.
CAPITOLUL 3׃ PREZENTAREA TEHNOLOGIILOR UTILIZATE
3.1. PHP
3.1.1. Scurt istoric
Ce este mai exact PHP-ul? Este un limbaj de programare (open-source și server-side), numele său provenind din limba engleză: Php – venind de la Hypertext Preprocessor. Utilitatea sa inițială a fost de a produce pagini web dinamice, fiind folosit pe scară largă în dezvoltarea paginilor și aplicațiilor web. Este în principal înglobat în codul HTML, dar începând de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI), pentru crearea de aplicații independente.
Inventatorul său, Rasmus Lerdorf a fost primul care l-a dezvoltat, dar gruparea numită The PHP Group (Grupul PHP) a fost cea care l-a preluat odată cu creșterea numărului de utilizatori.
Limbaj început în 1994 ca o extensie a limbajului server-side Perl, și apoi ca o serie de CGI-uri compilate (de către Rasmus Lerdorf). Următoarea versiune׃ PHP/FI 2.0.
Dezvoltat și mai mult în vara 1998 în versiunea PHP 3.0 (de către Zeev Suraski și Andi Gutmans). În perioada respectivă PHP însemna Personal Home Page Tools.
În 1999 limbajul a fost rescris de către Zend Engine.
Figura 3.1. Istoric PHP
În anul 2000 a apărut PHP 4.0, având la bază Zend Engine 1.0.
Pe 13 iulie 2004 a fost lansat PHP 5, cu Zend Engine II (îmbunătățiri׃ o modalitate facilă și consistentă de accesare a diferitelor baze de date, performanță, suport îmbunătățit pentru MySQL și MSSQL, controlul erorilor prin tratarea de excepții etc.).
Pe 13 iulie 2007 PHP Group a anunțat că PHP4 (scos din uz în același an, pe 31 decembrie), dar la sfarșitul aceluiași an începuse dezvoltarea la PHP 6 (îmbunătățiri׃ XMLReader, XMLWriter, Fileinfo vor face parte din distribuția principală, erorile tip E_STRICT sunt incluse în E_AL, constantele FILE_BINARY și FILE_TEXT devin disponibile pentru folosirea în funcții de citire/scriere fișiere, operatorul and a fost înlăturat etc.).
PHP-ul este unul din cele mai folosite limbaje de programare server-side, atribute scoase în evidență de un studiu efectuat de Netcraft în aprilie 2002, apărând pe 9 din cele 37 milioane de domenii cercetate în studiu.
3.1.2. Avantajele PHP
Dezvoltarea afacerilor online a condus la încercarea acestora de a se poziționa cât mai bine pe piață și de a face din modul de prezentare un atuu. Acesta este și motivul pentru care afacerile care investesc într-un site sau afacerile online au cunoscut o mare creștere. Un site web dinamic și intreactiv reprezintă atributele succesului, pentru că se bazează pe ușurința de administrare, de modificare și de adăugare a conținutului. Astfel, la bază se află de obicei un singur fișier care se poate modifica și uploada înapoi pe server. Prin urmare, nu mai este necesară modificarea pagină cu pagină, pas cu pas, lucrurile au devenit mult mai simple.
Tocmai ușurința în utilizare și multitudinea de soluții oferite de PHP, au condus la dezvoltarea cunoscută de acest limbaj de baze de date. Acesta poate executa toate operațiunile aferente comenzilor Sql, fiind un limbaj de programare pe parte de server, care poate să interacționeze cu o bază de date pentru a afișa sau modifica informațiile din aceasta.
Printre avantajele principale ale acestui limbaj de programare putem menționa׃
Popularitatea
Ușurința în utilizare și beneficiile aduse afacerilor online.
Următoarele caracteristici sunt cele care îi definesc popularitatea׃
Familiaritatea : combină sintaxele unora din cele mai populare limbaje Perl sau C, are deci o sintaxă foarte ușoară;
Simplitatea : sintaxa limbajului este destul de liberă (bibliotecile sau directivele de compilare nu sunt necesare), codul PHP executându-se între marcajele speciale;
Eficiența : PHP-ul se folosește de web, deci de mecanisme de alocare a resurselor, foarte necesare unui mediu multiutilizator;
Securitate : acest limbaj de programare pune la dispoziția programatorului un set flexibil și eficient de măsuri de siguranță;
Figura 3.2. Avantajele limbajului de programare PHP
Flexibilitate : PHP a fost modularizat (din necesitatea dezvoltării web-ului), pentru a ține pasul cu dezvoltarea diferitelor tehnologii. PHP-ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus, server, etc.;
Gratuitate : este probabil cea mai importantă caracteristică a PHP-ului, a determinat adaptarea rapidă a PHP-ului la nevoile web-ului, eficientizarea și securizarea codului.
În ceea ce privește utilitatea, PHP-ul este simplu de folosit, pentru că este un limbaj de programare structurat, ca și C-ul, Perl-ul sau începând de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinație a celor trei. PHP este ușor de folosit pentru că poate rula pe majoritatea sistemelor de operare, de la UNIX, Windows, sau Mac OS X și poate interacționa cu
majoritatea serverelor web. Codul dumneavoastră PHP este interpretat de serverul WEB și generează un cod HTML care este vizibil pentru utilizator (clientului-browserului-fiindu-i transmis numai cod HTML). Acest limbaj de programare folosește extensii specifice pentru fișierele sale: .php, .php3, .ph3, .php4, .inc, .phtml, fișierele fiind interpretate de către serverul web iar rezultatul este trimis în formă de text sau cod HTML către browser-ul clientului.
Beneficiile aduse afacerilor online sunt considerabile, pentru că au adus un plus de modernizare a site-urilor, făcându-le interfața mult mai intreactivă și mai atractivă.
3.2. MySQL
MySQL este un sistem de gestiune a bazelor de date relațional, produs de compania suedeză MySQL AB și distribuit sub Licența Publică Generală GNU. Este o componentă cheie a stivei LAMP (Linux, Apache, MySQL, PHP), fiind cel mai popular SGBD open-source la ora actuală. Cu MySQL se pot construi aplicații în orice limbaj major, chiar dacă este folosit foarte des împreună cu limbajul de programare PHP.
Figura 3.3. Despre MySQL
Următoarele scheme API disponibile pentru MySQL permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQ: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip specific API.
Interfața MyODBC permite altor limbaje de programare interacțiunea cu bazele de date MySQL cum ar fi ASP sau Visual Basic. Componente de tip COM/COM+ sau .NET (pentru Windows) sunt produse de companii, în sprijinul acestor limbaje. Astfel acest SGBD se folosește mult mai ușor decât prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.
Licența GNU GPL nu permite încorporarea MySQL în softuri comerciale, o licență comercială de la compania producătoare, MySQL AB se poate obține în urma suportării unui anumit cost.
LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python) sunt platforme care integrează MySQL. Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului. De reținut este că MySQL-ul este mult mai ușor de învățat și folosit decât multe din aplicațiile de gestiune a bazelor de date (ca exemplu comanda de ieșire = „exit” sau „quit”).
O interfață grafică: MySQL Administrator și MySQL Query Browser este utilizată pentru a administra bazele de date MySQL. Un alt instrument de gestionare al acestor baze de date este aplicația gratuită, scrisă în PHP, phpMyAdmin. MySQL se poate executa pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.
3.3. HTML ȘI CSS
3.3.1. HTML
Ce se întelege prin HTML? Semnificația este următoarea׃
Acesta este un limbaj de marcare utilizat pentru crearea paginilor web ce pot fi afișate într-un browser (sau navigator). HTML are drept scop prezentarea informațiilor – paragrafe, fonturi, tabele etc. – decât descrierea semanticii documentului.
Figura 3.4. Semnificație HTML
HTML este o forma˘ de marcare orientata˘ ca˘tre prezentarea documentelor text pe o singura pagina˘. Se folosește un software de redare specializat, numit agent utilizator HTML (exemplu׃ browserul web). HTML furnizeaza˘ mijloacele prin care con¸tinutul unui document poate fi adnotat cu diverse tipuri de metadate (informa¸tii despre titlul s¸i autorul documentului,
informa¸tii structurale despre cum este împărțit documentul în diferite segmente, paragrafe, liste, titluri etc. și informații cruciale care permit ca documentul să poată fi legat de alte documente pentru a forma astfel hiperlink-uri) și indicații de redare (exemplu׃ scripturi sofisticate, hărți de imagini și formulare).
HTML utilizează un editor simplu de text, dar totuși scrierea și modificarea paginilor într- un astfel de program necesită cunoștințe aprofundate legate de acest program. Există editoare grafice (de tip WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web sa fie tratate asema˘na˘tor cu documetele Word.
Figura 3.5. HTML și codificare
Utilizând tehnologii de codare din partea serverului cum ar fi׃
PHP,
JSP sau
ASP
Se poate genera direct HTML (exemplu׃ multe aplica¸tii ca sistemele de gestionare a con¸tinutului, wiki-uri s¸i forumuri web genereaza˘ pagini HTML).
3.3.2. CSS (Cascading Style Sheets)
CSS (Cascading Style Sheets) reprezintă un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prin elementul <style> și/sau atributul style. CSS se poate utiliza și pentru formatarea elementelor XHTML, XML și SVGL.
Figura 3.6. CSS (Cascading Stzle Sheets)
Utilizarea constă în׃
Aranjarea conținutului în pagină cu ajutorul codului (X)HTML
Realizarea prezentării (fonturi, culori, fundaluri, borduri etc.) cu ajutorul fișierului CSS.
Foile de stil ajută designerii de pagini web, extinzând abilitatea lor de a îmbunătăți aspectul paginilor lor.
Pe masură ce oamenii din diferite domenii au descoperit web-ul, limitările HTML-ului au devenit o sursă continuă de frustrare și autorii au fost forțați să ocolească limitările stilistice ale HTML. În timp ce intențiile au fost bune – de îmbunătățire a prezentării paginilor web – tehnicile de obținere a acesteia au avut efecte laterale nefericite.
Există două stiluri caracteristice pentru CSS, și anume׃
Stiluri interne
Dezavantaje׃
Uneori faptul că modificarea se aplică fiecarei pagini care conține stilul respectiv nu scoate în evidență o mare eficacitate a acestui tip de stil
Când această metodă se aplică la două sau trei pagini, totul decurge fără un efort prea mare.
Însă când se dorește modificarea mai multor pagini sau a site-urilor, se observă că este destul de neplăcut să modificăm la nivelul tuturor paginilor.
Figura 3.7. CSS – Stiluri interne
Stiluri externe
Dacă doriți să faceți o schimbare care să aibă efect în toate paginile, este de ajuns să modificați un singur fișier, și anume cel de stil (.css), și efectul se va observa pe toate paginile (X)HTML ce folosesc acel fișier.
Astfel faceți schimbări în tot siteul, indiferent de câte pagini are, fără efort și mai ales foarte repede.
Figura 3.8. CSS – Stiluri externe
.
Figura 3.9. CSS – stiluri externe vs stiluri interne
Prin urmare, a 2-a metodă este preferabilă primeia.
3.4. Apache Web Server
Apache este un server HTTP de tip open source, jucând un rol important în dezvoltarea webului. Este folosit în prezent în circa 50 % din paginile web. Cuvântul apache este numele apașilor, triburi de amerindieni.
Figura 3.10. Apache Web Server
Principalele noțiuni despre Apache sunt׃
este un server web cu o contribuție notabilă la dezvoltatea Internetului (world wide web)
a reprezentat prima alternativă viabilă la Netscape Communications Corporation
și a evoluat rapid în funcționalitate și performanță ca un rival competitiv pentru alte servere web bazate pe Unix.
Apache este dezvoltat de o comunitate deschisă de programatori sub emblema Apache Software Foundation. Aplicația este disponibilă pentru o mare varietate de sisteme de operare incluzând׃
Unix,
FreeBSD,
Linux, Solaris,
Novell NetWare,
Mac OS X,
Microsoft Windows
și OS/2.
Popularitatea serverului Apache ca si server HTTP se datorează în 1996 faptului că este un software gratuit și open source. Cu toate că în noiembrie 2005 a început să piardă din cota de piață, în aprilie 2008 Apache stătea încă la baza a peste 50 % din siturile web.
3.4.1. Istoric Apache
Robert McCool, care la vremea aceea era implicat în proiectul National Center for Supercomputing Applications, cunoscut pe scurt ca NCSA HTTPd – a fost cel care a creat prima versiune a serverului. “Numele Apache a fost ales din respect pentru Tribul nativ indian American al apasilor “, bine cunoscut pentru îndemânările superioare în strategia lor și inepuizabila anduranță. Cea mai răspândită interpretare este aceea că numele provine din faptul că atunci când a apărut la începutul anului 1995, web serverul a constat într-un set de patches la codul de bază al NCSA HTTPd.
A doua versiune a serverului pune însă accentul pe crearea unui layer prioritar (Apache Portable Runtime) și a suportului de module. Versiunea 2 a serverului Apache a fost o rescriere substanțială din codul Apache 1.x, cu o mare concentrare asupra ulterioarei modulații și dezvoltarea unei rețele portabile, Apache Portable Runtime. Ameliorări׃
filetarea UNIX,
suport mai bun pentru platforme non- UNIX , (cum ar fi Microsoft Windows),
un nou Apache API, și suport IPv6 .
Prima eliberare a Apache 2 a fost în Martie 2000 cu prima disponibilitate generală în Mai 2002.
3.4.2. Ultima versiune Apache
The Apache Software Foundation a sarbătorit (pe 21.02.2013) 18 ani de existență a cunoscutului web server Apache.
Figura 3.11. Apache – Găzduirea web
Cu acel prilej, a lansat ultima versiune la acea dată, și anume Apache HTTP Server 2.4. Acesta reprezintă primul update major din ultimii 7 ani, ultimul datând din 2005 când versiunea 2.2 a fost lansată (versiunea 2.3 nu a fost niciodată lansată pentru producție, a existat doar în scop de dezvoltare și testare). Noua versiune 2.4 include multe îmbunătățiri, așa cum era și de așteptat de altfel, astfel încât este mult mai ușor de folosit pentru servere dedicate cu trafic mare.
3.4.3. Avantaje Apache
Apache suportă o mare varietate de module care îi extind funcționalitatea׃
pornind de la server side programming
și până la scheme de autentificare.
Câteva dintre limbajele suportate sunt:
mod_perl,
mod_python,
Tcl
și PHP.
Ca alte module putem enumera :
SSL
și TLS support (mod_ssl),
un modul proxyun,
modul de rescriere URL (cunoscut ca un motor de rescriere mod_rewrite),
custom log files (mod_log_config)
și suport de filtrare (mod_include și mod_ext_filter).
O altă calitate a serverului Apache este virtual hosting (găzduirea virtuală), care constă în posibilitatea de a găzdui mai multe situri simultan pe același server.
Competitorii principali ai serverului Apache sunt׃
Microsoft Internet Information Services (IIS),
urmat de Sun Java System Web Server al companiei Sun Microsystems
și multe altele, cum ar fi Zeus Web Server.
Figura 3.12. Wikimedia – pe server Apache
Utilitatea serverului Apache׃
Motorul de căutare folosit de Google folosește o versiune modificată de Apache numită Google Web Server (GWS) – versiunea modificată de Apache care se folosește ca motor de căutare Google. Acesta mărește capacitatea protocoalelor de bază utilizate pentru transportul de trafic web de pe internet.
Proiectele Wikimedia inclusiv Wikipedia rulează tot pe un server Apache.
CAPITOLUL 4: APLICAȚIE WEB DE E-LEARNING
4.1. Descrierea aplicației
Platforma de E-learning este o aplicație ce exemplifică noțiunile teoretice prezentate în partea de teorie a lucrării. Pentru creearea aceste aplicații s-a folosit limbajul de programare PHP, server web Apache și un sistem de gestiune a bazelor de date MySQL. Pentru design sau interfața cu utilizatorul s-au folosit limbajele HTML și Javascript.
Pentru ca aplicația să ruleze pe un terminal local este nevoie de un server web Apache, PHP și un server de baze de date MySQL, programe ce se pot instala individual dar se pot găsi toate 3 sub un pachet pe nume Xampp.
Scopul acestei aplicații este de a facilita interacțiunea student-profesor și de a ne apropria cât mai mult de culmile cunoașterii. De asemenea, este o aplicație foarte usor de instalat pe un server web și va fi opensource, permițând oricui, de oriunde să iși implementeze o astfel de soluție.
Cazuri de utilizare:
Administrare aplicație – gestionare utilizatori, administrare generală și actualizare a bazei de date, gestionare conținut.
Autentificare utilizator – permite introducerea contului și a parolei.
Listare cursuri/teme disponibile.
Adăugare și eliminare cursuri/teme disponibile.
4.2. Structura bazei de date
Există 3 entitați principale: utilizator, activitate și curs. Un utilizator poate crea un curs, alți utilizatori pot participa la curs. Pentru buna funcționare a aplicației trebuie găsită o metodă pentru separarea tipurilor de utilizatori, astfel că mai apar două entități: rol și permisiune. Un curs va avea mai multe activitați, utlizatorii vor putea comunica eficient între ei astfel că apar și entitațile activitate și forum.
Figura 4.9. Diagrama entitate-relație
Între Utilizator și Curs există o relație “multe la multe” (un utilizator poate crea mai multe cursuri, un curs poate fi urmat de mai mulți utilizatori).
Între Curs și Activitate există o relație “unul la multe” (un curs poate avea mai multe activitați)
Între Curs și Forum există o relație “unul la unul” (un curs are un forum pentru discuții)
Între Utilizator și Rol există o relație "multe la multe" (un utilizator are mai multe roluri, un rol poate fi deținut de mai mulți utilizatori).
Între Rol și Permisiune există o relație "multe la multe" (un rol poate avea mai multe permisiuni, o permisiune poate fi atribuită mai multor roluri).
Pentru a elimina redundanța și anomaliile reactualizării informațiilor este nevoie să se realizeze normalizarea relațiilor. Sunt rezolvate relațiile "multe la multe" și rezultă diagrama conceptuală de mai jos.
Figura 4.10. Schema conceptuală
Pentru crearea tabelelor trebuie să rulăm comenzile SQL specifice. De exemplu, pentru tabelele principale avem:
CREATE TABLE IF NOT EXISTS `cursuri` (
`id_curs` int(15) NOT NULL AUTO_INCREMENT,
`id_categorie` int(15) NOT NULL,
`titlu` varchar(255) NOT NULL,
`descriere` text NOT NULL,
`data_inceput` datetime NOT NULL,
`data_creare` datetime NOT NULL,
PRIMARY KEY (`id_curs`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `utilizatori` (
`id_utilizator` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email` varchar(100) NOT NULL,
`username` varchar(50) NOT NULL,
`parola` varchar(32) NOT NULL,
`data_creare` datetime NOT NULL,
`activ` tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (`id_utilizator`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `roluri` (
`id_rol` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nume_rol` varchar(50) NOT NULL,
PRIMARY KEY (`id_rol`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `permisiuni` (
`id_permisiune` int(10) unsigned NOT NULL AUTO_INCREMENT,
`descriere_permisiune` varchar(50) NOT NULL,
PRIMARY KEY (`id_permisiune`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `forum` (
`id_forum` int(15) NOT NULL AUTO_INCREMENT,
`id_curs` int(15) NOT NULL,
`nume` varchar(255) NOT NULL,
`descriere` varchar(255) NOT NULL,
`data_creare` datetime NOT NULL,
PRIMARY KEY (`id_forum`),
KEY `id_curs` (`id_curs`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `cursuri_activitati` (
`id_activitate` int(10) NOT NULL AUTO_INCREMENT,
`id_tip_activitate` int(10) NOT NULL,
`titlu` varchar(255) NOT NULL,
`data_creare` datetime NOT NULL,
PRIMARY KEY (`id_activitate`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Cu ajutorul unei unelte gratuite oferite de cei de la MySQL se poate vedea schema bazei de date dupa crearea tabelelor:
Figura 4.11. Diagrama aplicației
4.3. Utilizatorii
Există trei tipuri principale de utilizatori (denumite în aplicație roluri):
– administrator (manager);
– profesor;
– student.
Aceștia au urmatoarele atribuții:
Administratorul:
– modifică setările generale ale aplicației;
– postează noutați/știri legate de activitatea universitații/școlii;
– poate accesa orice curs chiar dacă nu este înrolat;
– poate aduce modificări conținutului unui curs chiar dacă nu este profesor desemnat să se ocupe de acel curs;
– accesează, creează și sterge orice categorie sau curs;
– poate vedea lista de utilizatori;
– poate adăuga utilizatori;
– poate creea evenimente;
– poate atribui roluri utilizatorilor, poate modifica permisiuni;
– poate modifica rolurile implicite.
Profesorul:
– poate vedea utilizatorii (studenții) care sunt înrolati la cursurile sale;
– poate adăuga, modifica activitați, teme;
– poate adăuga evenimente;
– poate edita cursurile sale;
Studentul:
– poate vedea evenimentele;
– poate participa la activitați;
– poate trimite temele rezolvate;
– poate folosi sistemul de mesagerie pentru a comunica cu ceilalți studenți sau cu profesorii.
4.4. Instalarea aplicației
Intotdeauna la instalarea aplicației există cel puțin un utilizator: administratorul, urmând ca acesta să adauge utilizatori și să le atribuie roluri și permisiuni.
INSERT INTO `utilizatori` (`id_utilizator`, `email`, `username`, `parola`, `data_creare`, `activ`) VALUES (1, '[anonimizat]', 'admin', 'fe01ce2a7fbac8fafaed7c982a04e229', '2013-05-10 00:13:04', 1); După cum se poate vedea parola nu este păstrată "în clar" ci este criptată folosind funcția MD5().
Aplicația se instalează foarte ușor, dupa ce a fost configurată baza de date este nevoie doar să modificăm câteva variabile în fișierul baza-de-date.php:
Figura 4.1. Crearea bazei de date
define('DB_HOST', 'localhost');
define('DB_NAME', 'elearning');
define('DB_USER', 'root');
define('DB_PASS', '');
După aceea este necesar să adăugam URL-ul principal al aplicației în fișierul constante.php:
define( 'URL', 'http://localhost/elearning/' );
Pentru crearea tabelelor trebuie rulate comenzile SQL specifice:
Figura 4.2. Crearea tabelelor
Aplicația este construită pe arhitectura MVC (Model – View – Controller) ce permite separarea codului php de zona de design (CSS, HTML). Fișierele ce conțin codul sursă au fost organizate astfel:
– config – directorul conține fișierele cu setările bazei de date și setările aplicației;
– controllers – aici sunt ținute clasele și funcțiile care sunt "inima" aplicației;
– libs – clasele principale precum validarea formularelor, clasa care se ocupă de administrarea sesiunii, clasele model, view, controller;
– media – aici se găsesc imagini, fișiere javascript și css;
– models – clasele care se ocupă de interacțiunea cu baza de date;
– views – fișierele care constituie interfața, în mare parte cod HTML;
– fișierul index.php – aici sunt incluse fișierele principale și este incărcată logica din spatele aplicației:
<?php
session_start();
require 'config/baza-de-date.php';
require 'config/constante.php';
require LIBS . 'functii.php';
// incarca clasele
function __autoload($class) {
require LIBS . $class .".php";
}
$app = new Bootstrap();
În constructorul clasei Bootstrap se verifică în ce pagină se află utilizatorul și încarcă clasa și metoda corespunzătoare. De exemplu dacă utilizatorul se află în pagina de cursuri index.php?url=cursuri, se instantiază clasa „cursuri” din directorul „controllers” și se apelează metoda index(). În cazul în care s-ar fi accesat pagina index.php?url=cursuri/cursurile_mele, s-ar fi apelat metoda cursurile_mele() din clasa „cursuri” care încarcă mai departe fișierul de template pentru afișarea informațiilor către utilizator.
class Cursuri extends Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$data = array();
…..
$this->view->render('cursuri', $data, false);
}
public function cursurile_mele() {
$data = array();
……
$this->view->render('cursurile_mele', $data, false);
}
}
Platforma e-learning poate fi accesată doar de către persoanele care dețin un nume utilizator și parolă. În funcție de rolul utilizatorului și permisiunile pe care le-a primit de la administrator poate efectua anumite acțiuni.
if( trim($_POST['utilizator']) != "" && trim($_POST['parola']) != "" ) {
$this->incarcaModel('login');
if( $this->login->validare_login($_POST['utilizator'], $_POST['parola']) ) {
// redirect in prima pagina a aplicatiei
header("Location: " . URL . "index.php?url=index");
exit();
} else {
$data['msg'] = '<div class="alert alert-error">Datele introduse nu sunt corecte!</div>';
}
}
Dacă utilizatorul a completat campurile utilizator și parola în formularul de login, acestea vor fi trimise către scriptul PHP pentru a fi verificate. Se încarcă modelul ‘login’, responsabil de validarea datelor. Folosind un query sql verificăm dacă utilizatorul există în baza de date și dacă parola este corectă:
public function validare_login($utilizator, $parola) {
$sql = "SELECT u.id_utilizator, u.email, u.username, u.parola, r.id_rol, r.nume_rol
FROM `utilizatori` u
INNER JOIN roluri_utilizatori ru ON u.id_utilizator = ru.id_utilizator
INNER JOIN roluri r ON ru.Id_rol = r.id_rol
WHERE u.username = '".mysql_real_escape_string($utilizator)."' AND u.parola = '".md5($parola)."'
LIMIT 1;";
$query = mysql_query($sql);
$row = mysql_fetch_assoc($query);
if(!empty($row)) {
$_SESSION['id_utilizator'] = $row['id_utilizator'];
$_SESSION['utilizator'] = $row['username'];
$_SESSION['email'] = $row['email'];
$_SESSION['rol'] = $row['nume_rol'];
$_SESSION['id_rol'] = $row['id_rol'];
$_SESSION['logat'] = true;
return true;
} else {
return false;
}
}
Dacă datele sunt corecte, în sesiunea utilizatorului se vor introduce câteva date necesare pentru identificarea acestuia: id, nume utilizator, rol. Acestea vor persista în sesiunea utilizatorului până când sesiunea va expira (în general când utilizatorul închide browser-ul) sau până când va accesa link-ul de ieșire din cont (în acel moment se apelează metoda ieșire() din clasa “login” care are rolul de a distruge sesiunea și de a redirecta utilizatorul în pagina de login).
public function iesire() {
session_destroy();
header("Location: " . URL . "index.php?url=login");
exit;
}
Pe fiecare pagină în partea de sus sunt afișate logo-ul, legăturile principale iar în partea dreaptă este afișat numele utilizatorului logat și butonul de ieșire din cont. In partea stanga (sidebar) se află meniul utilizatorului și zona de setări avansate în cazul administratorului. Este recomandat ca la prima instalare înainte de crearea conturilor de utilizatori, a rolurilor și a permisiunilor să fie create setările generale ale aplicatiei – denumirea unitații de invățământ, categoriile de cursuri și cursurile.
4.5. Interfața aplicației
După ce se crează user-ul de administrator ne logăm ca administrator ca să creăm și ceilalți useri.
Figura 4.3. Logarea în aplicație
Am precizat anterior faptul că avem la dispoziție trei roluri: administrator, profesor și student. În logica aplicației avem nevoie de aceste roluri pentru a avea o separare clară între
utilizatori și permisiunile pe care aceștia le au în cadrul aplicației. În modelul “Rol”, responsabil de verificarea permisiunilor pe care le are un utilizator extragem toate permisiunile folosind o interogare SQL și apoi folosind metoda arePermisiunea() verificăm în diferite zone ale aplicației dacă utilizatorul respectiv poate vedea anumite secțiuni, poate efectua acțiuni, poate șterge setări.
class Rol_Model extends Model {
protected $permisiuni;
public function __construct() {
parent::__construct();
$this->permisiuni = array();
}
// returneaza un obiect rol si permisiunile asociate acestuia
public static function iaPermisiuniRol($id_rol) {
$rol = new Rol_Model();
$sql = "SELECT t2.descriere_permisiune
FROM roluri_permisiuni AS t1
INNER JOIN permisiuni AS t2 ON t1.id_permisiune = t2.id_permisiune
WHERE t1.id_rol = ". (int) $id_rol .";";
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query)) {
$rol->permisiuni[$row["descriere_permisiune"]] = true;
}
return $rol;
}
// verifica daca permisiunea este setata
public function arePermisiunea($permisiune) {
return isset($this->permisiuni[$permisiune]);
}
}
Dupa aceea în modelul “utilizator privilegiat”se extrag permisiunile pentru rolul utilizatorului curent iar cu ajutorul metodei arePrivilegiu se verifică dacă acesta are voie sa facă o anumită acțiune:
<?php
class Utilizator_Privilegiat_Model extends Model {
private $roluri;
public function __construct() {
parent::__construct();
}
…….
protected function initiazaRoluri() {
$this->roluri = array();
$sql = "SELECT ru.id_rol, r.nume_rol
FROM roluri_utilizatori as ru
LEFT JOIN roluri as r ON ru.id_rol = r.id_rol
WHERE ru.id_utilizator = " . $this->id_utilizator;
$query = mysql_query($sql);
while($row = mysql_fetch_assoc($query)) {
$this->roluri[$row['nume_rol']] = Rol_Model::iaPermisiuniRol($row['id_rol']);
}
}
public function arePrivilegiu($permisiune) {
foreach($this->roluri as $rol) {
if( $rol->arePermisiunea($permisiune) ) {
return true;
}
}
return false;
}
public function areRol($rolul) {
foreach($this->roluri as $rol => $permisiuni) {
if( $rolul == $rol ) {
return true;
}
}
return false;
}
}
Metoda arePrivilegiu() este folosită în controllere astfel:
// verifica permisiuni
if(!$this->u->arePrivilegiu('vedeListaUtilizatori')) {
header("Location: " . URL . "index.php?url=index/nu_aveti_permisiuni");
exit;
}
Figura 4.4. Modificare utilizatori
Fiecare user o data logat îi apare în partea stangă a ecranului meniul propriu în funție de tipul de utilizator.
Figura 4.5. Meniu administrator Figura 4.6. Meniu profesor/student
În meniul profilul meu fiecare user are datele personale introduse (nume, adresa, adresa mail, numar telefon,etc.) iar în meniul cursurile mele se află cursurile la care user-ul este înscris.
In meniul calendar se află datele la care sunt anumite examene/cursuri.
Figura 4.7. Calendar evenimente
Am integrat și un sistem de mesagerie internă pentru o comunicare cât mai ușoară între utilizatori. Acesta se regasește în meniul mesaje și atunci când avem mesaje noi suntem notificați în meniul principal.
Figura 4.8. Mesageria internă
De asemenea mai este disponibil sub meniul principal un meniu pentru cursurile disponibile. Aici sunt listate cursurile la care studentul are acces, iar în dreptul fiecaruia poate vedea profesorul responsabil de editarea conținutului cursului.
Figura 4.9.
Cursurile mele
Fiecare curs are câte un forum de discuții unde studenții pot pune întrebari, pot discuta între ei și chiar cu profesorul, toate discuțiile pot fi vazute de către toți studenții participanți la curs.
În momentul în care un profesor stabilește structura cursului virtual, acesta poate adăuga mai multe activitați, În acest sens are la dispoziție mai multe tipuri de activitați din care le poate alege pe acelea pe care le consideră potrivite pentru a prezenta cursul și materialele într-un mod interactiv.
Activitatea "lectie" îi permite profesorului să ofere conținutul cursului într-un mod structurat, flexibil.
Activitatea "test" îi permite profesorului să testeze cunoștințele studenților acumulate în urma parcurgerii unei lecții sau a unei alte activitați.
Activitatea "sondaj" poate fi folosită pentru a aduna informații utile de la studenți cu scopul de a îmbunatați cursul, pentru a afla de la aceștia dacă au fost multumiți de modul cum a decurs prezentarea cursului.
Activitatea "fișier" poate fi folosită pentru a atașa diferite materiale de curs. Cu ajutorul acestui tip de activitate se pot adăuga carți în format electronic, prezentări, scheme.
Activitatea "url" este folosită pentru a adauga link-uri externe utile pentru a completa informațiile prezentate în curs.
CONCLUZII
Platformele e-learning susțin ideea de societate aflată într-o continuă evoluție și care optează pentru economie de timp. Oamenii sunt mereu în mișcare și caută alternative pentru a atinge un echilibru între viața personală – profesională și nevoia de formare. Sistemul e-learning vine în sprijinul acestora, prin accesibilitatea sa și prin flexibilitatea pe care o presupune.
Prin aplicația pe care am dezvoltat-o am vrut să demonstrez noțiunile teoretice descrise în primele trei capitole, dar și să arăt partea practică a acestui tip de educație. Platforma e-learning creată este׃
Accesibilă׃ pentru ca este ușor de utilizat, chiar și pentru persoanele care nu posedă cunoștințe semnificative despre folosirea calculatorului și a internetului,
Gratuită׃ utilizatorii nu trebuie să plătească pentru a putea beneficia de informații de pe aceasta platformă,
Rapidă׃ accesul la informație se realizează într-un timp redus,
Bine structurată׃ paginile si subcapitolele sunt bine organizate și astfel utilizatorii nu trebuie să caute îndelung pentru a accesa secțiunea dorită,
Claritate׃ limbajul folosit ca interfață este unul simplu, corect și termenii folosiți sunt de largă intrebuințare,
Interacțiune profesor-student este fundamentată׃ ambele părți sunt bine reprezentate, având propriile elemente necesare connexiunii și putând schimba idei, păreri, cursuri,
Permite organizarea unui sistem de învățare online׃ ambele părți au la dispoziție informații legate de examene, de anumite date de rețiunt datorită caldendarului pus la dispoziție prin intermediul platformei create. De asemenea, secțiunile cursuri și mesaje faciliteaza accesul la informație,
Feedback garantat׃ schimbul profesor-student este realizat, atât la nivel de formare, cât și la nivel de evaluare. Astfel, profesorul va putea să dea un feedback priviind formarea studentului său, iar acesta din urmă va putea să își exprime nevoile legate de informații suplimentare, de răspunsuri la anumite întrebari.
Aplicația poate fi extinsă pe viitor pentru a răspunde cerințelor unei instituții virtuale mai mare, care dorește sa ofere formare la distanță și certificări pe măsura absolvenților săi (ca dovadă a recunoașterii la nivel profesional a cunoștințelor dobândite de aceștia).
BIBLIOGRAFIE
RASMUS, Lerdorf, TATROE, Kevin, MACINTYRE, Peter, Programming PHP, Second Edition, O’Reilly Media, 2006, p. 1 – 72
SHWINGER, Wieland, KOCH, Nora, Web Engineering: The Discipline of Systematic Development of Web Applications, John Wiley & Sons, 2006, p. 39 – 58
History of PHP [Online]. disponibil la adresa:
http://www.php.net/manual/en/history.php.php
Hypertext Transfer Protocol [Online]. disponibil la adresa:
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
MySQL [Online]. disponibil la adresa:
http://en.wikipedia.org/wiki/MySQL
Web application [Online]; disponibil la adresa:
http://en.wikipedia.org/wiki/Web_application
OLTEANU, Adriana, ANGHEL, Magdalena, PIETRARU, Radu Nicolae, Baze de date și utilizarea acestora, 2005, p. 22 – 47
REFSNES, Hege, REFSNES, Stale, REFSNES, Kai Jim, REFSNES, Jan Egil, WOODWARD, Michael, Learn HTML and CSS with w3schools, Wiley Publishing, 2010
http://ro.shvoong.com/internet-and-technologies/universities-research-institutions/2344025-ce-creste-educatia-pe-internet/
Adrian Calin, Technology Enabled Learning din cadrul Bluepoint IT Solutions.
http://www.cariereonline.ro/articol/cererea-de-solutii-elearning-va-creste-cu-pana-la-50-anual
http://ro.wikipedia.org/wiki/Bază_de_date
http://ro.wikipedia.org/wiki/Cascading_Style_Sheets
http://megahost.ro/blog/google-mareste-viteza-apache-web-server-cu-spdy.html
http://ro.wikipedia.org/wiki/Apache_(server)
BIBLIOGRAFIE
RASMUS, Lerdorf, TATROE, Kevin, MACINTYRE, Peter, Programming PHP, Second Edition, O’Reilly Media, 2006, p. 1 – 72
SHWINGER, Wieland, KOCH, Nora, Web Engineering: The Discipline of Systematic Development of Web Applications, John Wiley & Sons, 2006, p. 39 – 58
History of PHP [Online]. disponibil la adresa:
http://www.php.net/manual/en/history.php.php
Hypertext Transfer Protocol [Online]. disponibil la adresa:
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
MySQL [Online]. disponibil la adresa:
http://en.wikipedia.org/wiki/MySQL
Web application [Online]; disponibil la adresa:
http://en.wikipedia.org/wiki/Web_application
OLTEANU, Adriana, ANGHEL, Magdalena, PIETRARU, Radu Nicolae, Baze de date și utilizarea acestora, 2005, p. 22 – 47
REFSNES, Hege, REFSNES, Stale, REFSNES, Kai Jim, REFSNES, Jan Egil, WOODWARD, Michael, Learn HTML and CSS with w3schools, Wiley Publishing, 2010
http://ro.shvoong.com/internet-and-technologies/universities-research-institutions/2344025-ce-creste-educatia-pe-internet/
Adrian Calin, Technology Enabled Learning din cadrul Bluepoint IT Solutions.
http://www.cariereonline.ro/articol/cererea-de-solutii-elearning-va-creste-cu-pana-la-50-anual
http://ro.wikipedia.org/wiki/Bază_de_date
http://ro.wikipedia.org/wiki/Cascading_Style_Sheets
http://megahost.ro/blog/google-mareste-viteza-apache-web-server-cu-spdy.html
http://ro.wikipedia.org/wiki/Apache_(server)
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Platforme de E Learnig (ID: 150127)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
