Analiza datelor într-un sistem de e-Learning Dițu Alina Maria COORDONATOR ȘTIINȚIFIC S.l.dr.ing. Udriștoiu Anca Septembrie 2015 CRAIOVA DECLARAȚIE DE… [302513]

LUCRARE DE DIPLOMĂ

Dițu Alina Maria

COORDONATOR ȘTIINȚIFIC

S.l.dr.ing. Udriștoiu Anca

Septembrie 2015

[anonimizat] e-Learning

Dițu Alina Maria

COORDONATOR ȘTIINȚIFIC

S.l.dr.ing. Udriștoiu Anca

Septembrie 2015

[anonimizat], Calculatoare și Electronică a [anonimizat], [anonimizat]:

cu titlul “[anonimizat] e-Learning”

coordonată de S.l.dr.ing. [anonimizat] 2015.

[anonimizat]:

reproducerea exactă a [anonimizat]-o [anonimizat]-o [anonimizat],

[anonimizat], [anonimizat] a unor aplicații realizate de alți autori fără menționarea corectă a [anonimizat] a [anonimizat].

Pentru evitarea acestor situații neplăcute se recomandă:

plasarea între ghilimele a citatelor directe și indicarea referinței într-o [anonimizat] a [anonimizat] a sursei originale de la care s-a [anonimizat] s-[anonimizat], figuri, imagini, statistici, [anonimizat], a căror paternitate este unanim cunoscută și acceptată.

Data, Semnătura candidat: [anonimizat],

TEZA DE DIPLOMĂ

REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC

În urma analizei lucrării candidat: [anonimizat]:

[anonimizat]:

Data, [anonimizat], interacțiunea dintre profesori și studenți în cadrul platformelor de învățământ online s-a îmbunătățit semnificativ în special prin dezvoltarea de noi unelte și implementarea diverselor module care integrează tehnici de analiză inteligentă a datelor. O zonă care încă necesită munca este zona de percepție cognitivă mai precis ajutarea profesorilor în a crea modele mentale cu o acuratețe ridicată despre nivelul de instruire și interes al fiecărui student. [anonimizat]/elevii și observarea capacității lor de învățare și bineînțeles interesul acordat materiei. [anonimizat]. De aceea ideea de a crea profesorului un model mental privitor la activitatea studenților este o unealta care poate îmbunătăți semnificativ un sistem educațional online.

Acest proiect iși propune folosirea unor tehnici specifice de Information Retrieval și Machine Learning în vederea imbunătățirii percepției pe care profesorii o au asupra studenților în cadrul platformelor online de învățământ la distanță, precum și dezvoltarea unei aplicații web ce presupune adminstrarea sarcinilor de lucru prin intermediul unei platforme e-learning.

Conceptul e-learning reprezinta un tip de educatie la distanta, ca experienta planificata de predare-invatare organizata de o instituie care furnizeaza materiale intr-o ordine secventiala si logica, pentru a fi asimilate de catre studenti in maniera proprie. Medierea se realizeaza prin noile tehnologii ale informatiei si comunicatiilor – in special prin Internet. Internetul constituie atat mediul de distributie a materialelor, cat si canalul de comunicare intre actorii implicati.

Platforma e-learning dezvoltată se adresează studenților și le permite acestora posibilitatea vizualizării cursurilor, descărcarea acestora, încarcarea unor teme sau proiecte, precum și ocazia de a-și evalua cunoștințele rezolvănd niște teste grile online. Toate aceste acțiuni ale unui student sunt salvate într-o bază de date cu scopul de a ajuta profesorii sa monitorizeze activitatea educativă a studenților.

Folosind această platformă, am integrat un modul care să permită gruparea studenților, în funcție de activitatea acestora, pentru a oferi profesorilor o idee clara despre nivelul de cunoștințe al fiecărui student, sau care este poziția lui în raport cu colegii săi. Pentur această parte am utilizat algoritmul K-Means, care presupune calcularea centrului de greutate al unui cluster si asignarea unei entități acelui cluster în funcție de o anumită metrică.

Al doilea modul de intelligent data analysis este constituit din utilizarea unui algoritm de clasificare pentru oferi posibilitatea anticipării notei finale a unui student pe baza actiunilor sale. Algoritmul de clasificare folosit este algoritmul Naive Bayes și se foloșeste pentru a clasifica date neetichetate cu ajutorul unor estimări folosind date de antrenare etichetate. Fiecare atribut utilizat în procesul de clasificare a fost atent selectionat în vederea obținerii maximului de informație care se poate extrage pentru a maximiza performanțele algoritmului de clasificare.

MULȚUMIRI

Țin să mulțumesc în special coordonatorului științific, S.l.dr.ing. Udriștoiu Anca pentru sprijinul oferit în vederea realizării acestei lucrări de diplomă.

De asemenea mulțumesc cadrelor didactice din această facultate pentru suportul acordat și cunoștințele furnizate pe toată durata ciclului de studii de licență.

Nu în ultimul rând vreau să mulțumesc familiei și prietenilor pentru sprijinul moral de care au dat dovadă atât pe perioada dezvoltării acestui proiect cât și în toți anii de studiu.

PROLOG

Ati fost vreodata in cautarea unui mod mai simplu si mai eficient de a invata?

Ati accesat un portal de e-Learning care nu avea materialele dorite?

Daca da, prezentul proiect prezinta o solutie web de e-Learning care inregistreaza, proceseaza si afiseaza informatii privind activitatea utilizatorilor in vederea adaugarii, stergerii sau actualizarii materialelor didactice de pe platforma.

LISTA FIGURILOR

FIGURE 1. MODELUL RELAȚIONAL AL BAZEI DE DATE …………………………………………………………………………………………… 37

FIGURE 2. STRUCTURA GENERALĂ A APLICAȚIEI …………………………………………………………………………………………………. 38

FIGURE 3. MODULUL DE PARSARE A DOCUMENTELOR …………………………………………………………………………………………. 40

FIGURE 4. MODULUL PENTRU DETECTAREA AUTOMATĂ A CONCEPTELOR …………………………………………………………………… 41

FIGURE 5. ALGORITM STEMMING ………………………………………………………………………………………………………………… 41

FIGURE 6. EXEMPLU TRATARE CUVÂNT SCURT ………………………………………………………………………………………………….. 42

FIGURE 7. EXEMPLU DOCUMENT XML…………………………………………………………………………………………………………… 43

FIGURE 8. MODULUL DE GENERARE A RAPOARTELOR ………………………………………………………………………………………….. 44

FIGURE 9. SCATTER CHART ………………………………………………………………………………………………………………………… 45

FIGURE 10. BAR CHART ……………………………………………………………………………………………………………………………. 45

FIGURE 11. MODULUL DE DETECTARE AUTOMATĂ A DIFICULTĂȚII ÎNTREBĂRILOR ………………………………………………………….. 46

FIGURE 12. EXEMPLU ARFF ……………………………………………………………………………………………………………………….. 48

FIGURE13.ARBORE DE DECIZIE…………………………………………………………………………………………………………………… 49

1 INTRODUCERE

1.1 Scopul

Acest proiect a fost realizat în vederea ajutării profesorilor care predau în sisteme de invățământ la distanță online. În primul rând trebuie să avem în vedere dificultățile pe care aceste cadre didactice le întâmpină datorită interacțiunii scăzute între studenți și profesor.Proiectul are ca scop dezvoltarea unei aplicatii web ce presupune adminstrarea sarcinilor de lucru prin intermediul unei platforme e-learning, precum si utilizarea unor tehnici de data mining in vederea anticiparii comportamentului studentilor.Pentru aceasta, a fost integrat un algoritm de Intelligent Data Analysis, în speță algoritmul de clasificare Naive Bayes, pentru a putea prezicenota finală a unui student înainte ca acesta să susțina examenul. Pe lângă algoritmul de clasificare, a fost de asemenea utilizat și un algoritm de clustering, K-Means, pentru a obține o vizualizare a grupurilor de studenți în funcție de activitățile lor educative.

Provocarea acestui sistem este anticiparea comportamentului unui student pe baza analizei unor seturi de date ce apartin altor studenti. Spre exemplu, avem un grup de studenti pentru care este cunscuta atat activitatea dinainte de examen (participarea la curs, temele predate, rezultatul testelor), precum si nota finala pe care a obtinut-o de la profesor. Analizand comportamentul unui alt student din timpul anului, putem, prin comparatie cu alti studenti care au avut un comportament asemanator, sa anticipam cu o anumita marja nota pe care acesta o va primi la finalul examinarii.

1.2 Motivația

În cadrul acestui proiect motivația a survenit din faptul că era necesară realizarea unui modul care să permită analiza activităților studenților în scopul îmbunătățirii modului de abordare a unui curs.

În plus, faptul că dezvoltarea și integrarea aplicației presupunea învățarea pe de o parte a unor tehnologii noi utilizare în realizarea aplicației web, dar mai mult decât atât, faptul că etapa de analiză a presupus o cercetare amănunțită a aspectelor referitoare la domeniul data mining și machine learning, a constituit un motiv în plus în abordarea acestei teme.

Având în vedere acest aspect am considerat ca fiind o provocare realizarea acestui proiect pentru lucrarea de licență.

CAPITOLUL 2׃ CONCEPTE E-LEARNING

2.1. Definiții

Educația la distanță reprezintă o abordare nouă a conceptului de pregătire pentru viață și a elementului de învățare continuă. Dar in ce constă aceasta orientare? Educația la distanță 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 și respectarea unor criterii de calitate în ce priveș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 învățare sunt îndreptate către eficiența sa. Educația la distanta 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, răspunsul este afirmativ. Mai multe studii s-au făcut in acest sens, pentru demonstrarea aplicabilității acestei teorii.

Figura 1.1 Educația la distanță

Spre exemplu, la cererea Federației Americane a Profesorilor șiAsociațieiNaționale pentru Educație, Institutul pentru Politici Educaționale din Statele Unite a inițiat o cercetare privind eficacitatea educației la distanță˘, care s-a dorit a fi o analiza˘ a "ceea ce ne spun cercetările în domeniu și ceea ce nu ne spun". În cadrul studiului realizat s-au căutat 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 ușor de studiat prin această metodă, dacă studenții vad această modalitate ca fiind mai potrivit, dacă abandonul in cazul cursurilor la distanță 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țială 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ții este aceea de a creșteeficiența programelor existente și proiectarea altora, pe baza unei teorii pedagogice a educației la distanț㢠care sa˘ susțin㢠practica la toate nivelele.

Figura 1.2. Învățământul superior și educația la distanță

2.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ântsusț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 fără dificultate de către persoanele angajate, pentru ca activitatea lor zilnică nu este întreruptă, ci se desfășoară în paralel. Tocmai această caracteristicăesențială face ca sistemul să fie deosebit de viabil pentru ciclurile superioare, pentru educația continuă, pentru învățământulvocațional, și îl situează printre cele mai solicitate tipuri de sisteme de educație ale viitorului.

Definițiile anterioare concentrează principalele caracteristici ale educației la distanță, și anume׃

Distanța fizică;

Tehnologia folosita (audio, video, Internet, calculator);

Flexibilitate (nu presupune întreruperea unei activități profesionale pentru desfășurare);

Viabilitate (susțineeducația continuă si oferă rezultate semnificative, dacă proiectarea este bine făcută).

Figura 1.3. Caracteristicile educației continue

Consiliul pentru Educație și Instruire la Distanță a formulat o definițieoperaț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țiacursanților resurse educaționale de oriunde din lume. Rolul profesioniștiloreducației este acela de a media acest tip de învățare si de a-l valorifica, în condițiilecirculațieiinformației în mediile culturale.

2.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țiiloreducaționale. Presupune învățarea prin mijloace electronice. Sub denumirea de software didactic/ educațional, au fost create o multitudine de materiale care sprijină acest tip de învățare׃hărți, dicționare, enciclopedii, filme didactice, prezentări in diverse formate, cărți (e-books), teste, tutoriale, , sofware care creeazăabilități, jocuri didactice, etc. Suportul de predare este, prin urmare, asigurat de aceste materiale si de computer. Învățarea, evaluarea se realizează 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 furnizează materialele necesare într-o ordine secvențială și logică și le distribuie studenților într-o maniera proprie, care să le asigure formarea. Internetul 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ă;

Feedback-ul este garantat și se sprijină pe evaluarea elementelor învățate.

2.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 creste dacă o investiție în educație este

făcută î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ținut dinamismul dezvoltării acestei societăți.

2.2.1. Sistemul de învățare e-learning – baza societățiicunoaș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ățiicunoașterii. Având ca bază mediul digital, e-learning-ul susținepotențialul uman ajutându-l să acumuleze cunoștinț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 aibă acces oricine, indiferent de zona unde se află și de pregătirea 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, caracteristică la care, după cum s-a demonstrat, e-learning-ul răspunde. Asigurarea și a unui feedback din partea interlocutorului, face din acest sistem de învățare unul fiabil și dinamic.

2.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 competente 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, atrăgâ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țială in interiorul unităților de învăță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țiileinteligenț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 vizual (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 pregătit, 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 permite individului să-și formeze abilitățile principale (învățarea scrisului corect din punct de vedere gramatical, a cititului, spre exemplu) în fazele anterioare (clasice).

2.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ă. Independentă 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ță

2.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ățilorstudenților doritori cât mai eficient utilizând mijloacele necesare.

Funcțiile asigurate de acest model de educație, de sine stătător, sunt următoarele׃

Figura 1.8. Modelul de sine stătător

2.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ță

2.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).

2.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, uni secțional, în cazul în care se urmărește familiarizarea cadrelor didactice cu prevederile reformei învăță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 autonomiei ș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 dezvoltare personală și profesională.

2.4. Tipuri de educație la distanță

Educația la distanță nu este un fenomen nou în câmpul educațional, dar este un fenomen care câș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.

2.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. Încă 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 ȘcoalaInternaț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ță

Tehnologia a intervenit de-a lungul timpului, dar corespondența 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.

2.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.

2.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.

2.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.

2.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.

2.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.

2.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.

2.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.

2.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

2.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.

2.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

2.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.

2.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 3: PREZENTAREA TEHNOLOGIILOR UTILIZATE

3.1 Baze de date

O bază de date, numită și ”bancă de date” [8], reprezintă modalitatea de stocare a unor informații și date pe un suport extern 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.

O bază de date poate fi structurată pe trei nivele : extern, conceptual și intern.

Figura 2 Arhitectura ANSI – SPARC pe 3 nivele

Nivelul extern semnifică modul în care utilizatorul percepe datele. Aceste date sunt relevante pentru unii utilizatori, dar irelevante pentru alții, din această cauză putem spune că o bază de date are atâtea nivele externe câți utilizatori o accesează.

Nivelul intern (nivelul fizic) semnifică modul în care SGBD-ul împreună cu sistemul de operare percep datele. La acest nivel sunt specificate : spațiul și modul de stocare a datelor, organizarea fișierelor, precum și utilizarea funcțiilor sistemului de operare pentru citirea datelor și construirea indecșilor.

Nivelul conceptual (nivelul logic) realizează trecerea de la nivelul intern la nivelul extern. Acest nivel conține structura logică a bazei de date descrisă prin noțiunile de entitate, atribut și relație.

Arhitectura pe cele trei nivele are scopul de a separa percepția fiecărui utilizator asupra datelor de modul de reprezentare fizică al acestora în baza de date. Important de știut este faptul că în timp ce nivelul extern și conceptual urmează același model (relațional, orientat-obiect, etc), nivelul intern constă în înregistrări memorate, pointeri, indecși, etc.

Se cunosc mai multe tipuri de baze de date:

modele primitive – datele sunt organizate la nivel logic în fișiere;

baze de date ierarhice – legăturile dintre date sunt ordonate unic, iar accesul se face numai prin vârful ierarhiei;

baze de date în rețea – un membru al bazei de date poate avea oricâți superiori, iar la un subordonat se poate ajunge pe mai multe căi;

baze de date relaționale – sunt cele mai raspândite tipuri de baze de date, în care datele sunt memorate în tabele. Ele reprezintă o mulțime structurată de date care pot satisface în timp minim și într-o manieră selectivă mai mulți utilizatori. Pe lângă tabele o bază de date relațională mai poate conține : indecși, proceduri stocate, declanșatori, tipuri de date, utilizatori și grupuri de utilizatori, etc.

baze de date distribuite – sunt baze de date logic integrate, dar fizic distribuite pe mai multe sisteme de calcul.

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). O bază de date este cu atât mai valoroasă cu cât conține mai multe informații despre destinatari, astfel încât să fie importantă pentru cât mai multe companii.

3.1.1 Sisteme de gestiune a bazelor de date

Sistemul de gestiune a bazelor de date (în limba engleză "database management system" – SGDB) este un ansamblu software complex care asigură interfața între utilizatori și date. El reprezintă totalitatea programelor utilizate pentru :

crearea,

interogarea

și întreținerea unei baze de date.

Acestea includ două categorii de module :

module care sunt comune cu cele ale sistemelor de operare ale calculatoarelor ;

module cu funcții specifice acestor baze de date.

Un SGBD trebuie să asigure următoarele funcții și servicii :

crearea bazei de date;

adăugarea datelor în baza de date;

modificarea datelor deja existente în baza de date;

ștergerea datelor din baza de date;

interogarea/extragerea datelor;

interfață atractivă pentru comunicarea cu utilizatorul;

”help” pentru ajutarea utilizatorului în lucrul cu baza de date.

În evoluția SGBD, care a pornit de la programele ce prelucrau fișiere (Cobol, Fortran), se constată trei generații:

I – arborescente și rețea (IMS, IDMS);

II – relaționale (Oracle, Informix, SQLServer, Access, etc.);

III – orientate obiect (Gemstone, O2, Jasmine).

Pentru modelele arborescente și de rețea datele sunt reprezentate la nivel de articol prin legături de tip paragraf. Ele au un limbaj de prelucrare a datelor ce impune programatorului să definească căile de acces la date. Structurile de date sunt descrise la nivel logic în termenii diagramei structurii de date. Diagrama este un graf orientat ce reprezintă tipurile de entități și legăturile funcționale între acestea.

Modelele relaționale, apărute în anul 1970, domină piața actuală de baze de date, având rolul de a trata entitățile ca niște relații. Bazele de date relaționale au fost concepute pentru aplicații clasice, precum : contabilitate, gestiunea stocurilor, etc.

Ele se deosebesc de celelalte modele prin :

independența completă pe care o au în descrierea logică și fizică a datelor;

existența unor limbaje de definire și prelucrare a datelor;

apariția unor generatoare de meniuri, aplicații, forme și etichete.

Modelele orientate obiect reprezintă a treia generație de SGBD-uri, fiind sisteme avansate care încearcă să depășească limitele sistemului relațional. Aceste sisteme au luat naștere prin îmbinarea tehnicii limbajelor orientate obiect cu cea a bazelor de date. Au puterea de a realiza o modelare superioară a informației, de a asigura îmbunătățirea interfeței cu utilizatorul și nu în ultimul rând permit luarea în considerare a aspectelor dinamice.

Scopul unui sistem de gestionare a bazelor de date este de a oferi utilizatorului mijlocul potrivit pentru a relaționa cu o bază de date în momentul dezvoltării unei aplicații. Un astfel de sistem reduce timpul de răspuns și costurile aferente, are o flexibilitate și o protecție ridicată asupra datelor cuprinse în bază.

Printre facilitățile oferite de un SGBD se numără:

determinarea bazei de date folosind un limbaj de definire a datelor (DDL – Data Definition Language). Cu ajutorul lui se simplifică procesul de creare a bazei prin faptul că stochează constrângerile asupra datelor, lăsând utilizatorul să definească tipurile de date și structurile;

folosirea unui limbaj de manipulare a datelor (DML – Data Manipulation Language) pentru a face selecții, inserări, actualizări sau alte procedee asupra bazei;

În cartea sa, ”Baze de date pentru începători” [9], John V. Petersen stabilește cea mai importantă funcție a unui sistem de gestiune a bazelor de date ca fiind menținerea integrității datelor. Integritatea bazelor de date se clasifică în reguli de validare a datelor și integritate referențială.

Regulile de validare participă în procesul de alegere a datelor care pot face parte dintr-o anumită bază de date, pe baza unor constrângeri stabilite inițial. Există reguli de validare pe două niveluri :

validări la nivel de câmp – pentru a atenționa utilizatorul în momentul introducerii unei date incorecte;

validări la nivel de înregistrare – pentru a verifica datele introduse doar la momentul creării unei înregistrări.

Utilizatorul stabilește aceste reguli în momentul când a creat baza de date, sau pe parcurs, atunci când apare necesitatea impunerii acestor reguli.

Integritatea referențială este ”un sistem care asigură menținerea validității relațiilor dintre tabele”[9] prin crearea de restricții pentru integritatea referențială. Printre constrângerile de integritate referențială se numără : ștergerile restricționate, introducerea restricțională a datelor, ștergerile și actualizările în cascadă.

Sistemele de gestiune a bazelor de date au și dezavantaje, dintre care le putem remarca pe următoarele :

costuri adiționale pentru elemente de hardware;

impactul pe care îl are o defecțiune asupra bazei de date sau a sistemului de gestiune;

costuri care variază în funcție de funcționalitatea oferită, la care se adaugă cheltuielile de întreținere.

3.1.2 Istoricul Sistemelor de Gestiune a Bazelor de date

Odată cu evoluția metodelor și tehnicilor de organizare a datelor a apărut și necesitatea de a avea un acces cât mai rapid și mai ușor la un volum din ce în ce mai mare de informații. De asemenea, acest aspect a fost determinat de nevoia de perfecționare a echipamentelor de culegere, memorare, transmitere și de prelucrare a datelor.

Tabel 2 Istoricul Sistemelor de Gestiune de Baze de Date

3.1.3 Sistemele de gestiune a bazelor de date relaționale

Putem să definim sistemul de gestiune a bazelor de date realaționale (SGBDR) [10] ca reprezentând un SGBD care utilizează drept concepție de organizare a datelor modelul relațional. Prin urmare un SGBDR reprezintă un sistem care suportă modelul relațional.

Diversitatea modelelor relaționale operaționale au determinat apariția unor serii de sintagme precum : sisteme cu interfață relațională, sisteme pseudorelaționale, sisteme complet relaționale.

Se pot stabili analogii între organizarea datelor în fișiere, SGBDR și teoria relațională, astfel:

Figura 3 [11] Conceptele organizării datelor în fișiere, concepte SGBDR și ale teoriei relaționale

O serie de cerințe minimale cu scopul de a satisface un sistem de gestiune de date relațional au fost formulate astfel [11] :

SGBD este minimal relațional dacă îndeplinește următoarele condiții :

datele sunt reprezentate prin valori în tabel;

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ă este minimal și îndeplinește în plus următoarele condiții :

sistemul suportă operațiile de bază ale algebrei relaționale;

se respectă unicitatea cheii primare și restricția referențială.

SGBD este pseudorelațional dacă îndeplinește condițiile de la punctul 1).

SGBD cu interfață relațională este un SGBD care îndeplinește condițiile de la punctul 1) cu observația că ultima condiție este îndeplinită numai în raport cu funcția de interogare.

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.

Sistemele cu limbaj gazdă 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.

Marea majoritate a sistemelor de gestiune apărute în ultima perioadă dispun și de o componentă de gestiune distribuită a datelor.

3.1.4 SQL

Cel mai popular limbaj de gestiune a bazelor de date este SQL (Structured Query Language). Este un limbaj independent de bazele de date și aplicabil mai multor aplicații pentru baze de date cum ar fi SQL Server, Oracle și Sybase. Oferă mecanisme atât pentru modificarea cât și pentru interogarea unei baze de date.

SQL pune la dispoziție trei tipuri de limbaje pentru lucrul cu baze de date:

LDD (Data Definition Language) – cuprinde instrucțiunile necesare pentru definirea entităților și a atributelor acestora. Tot prin LDD se precizează și relațiile dintre date și constrângerile asupra acestora;

LMD (Data Manipulation Language) – conține comenzi ce împachetează datele prin diverse comenzi : inserare, modificare, ștergere.

LCD (Data Control Language) – conține comenzi care țin de aspectul de confidențialitate și integritate a datelor, la menținerea datelor în cazul unor defecțiuni și la obținerea de performanțe.

Tipuri de date SQL

Sistemul de gestiune a bazelor de date definește 13 tipuri de date primare pentru a fi folosite în codul SQL.

Tabel 3 Tipuri de date SQL

3.1.5 MySQL

Mysql este cel mai popular sistem de gestiune a bazelor de date la ora actuală, produs de compania suedeză MySQL AB și distribuit sub Licența Publică Generală GNU. Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului, fiind foarte des folosit împreună cu acesta, formând așa numitul Duo Dinamic.

MySQL este disponibil în mod public încă din anul 1996 sub o licență Open Source, dar existând și sub licențe comerciale. Costurile utilizării acestuia sunt nule, iar beneficiile aduse sunt numeroase.

Caracteristicile cele mai importante ale MySQL sunt :

sistem relațional – stochează informații în mai multe tabele, creând relații între acestea, pentru un accces mai lejer;

open-source – poate fi folosit și modificat de oricine în funcție de nevoi;

rapid și de încredere – poate efectua mai multe task-uri în același timp, permițând utilizarea sa de către mai mulți clienți simultan.

3.2 AJAX (Asynchronous JavaScript and XML)

AJAX [14] este o prescurtare pentru asincronul JavaScript și XML și reprezintă o colecție de tehnologii utilizate în dezvoltarea site-urilor web. Intenția este de a adăuga o interactivitate mai mare în paginile web și de a micșora timpul de încărcare al acestora.

AJAX are la bază un schimb mic de date între browser și server, astfel încât să nu mai fie necesară reîncărcarea întregii pagini web de fiecare dată când user-ul face modificări în aceasta.

Modelul clasic al aplicațiilor web este următorul :

Utilizatorii, prin acțiunile lor, conduc la o cerere HTTP către serverul web;

Serverul extrage date din baza de date, efectuează calcule și interoghează alte sisteme;

Returnează o pagină HTML către client.

3.2.1 Istoric AJAX

Prima utilizare a termenului AJAX a fost în februarie 2005, iar denumirea a fost dată de către Jesse James Garrett care susține că a gândit această denumire când urma să prezinte unor clienți o suită de tehnologii propuse pentru implementare.

Deși termenul AJAX este de actualitate, el a luat naștere atunci când au apărut elementele IFRAME (introdus de Internet Explorer 3 în 1996) și LAYER (introdus în Netscape 4 în 1997, fiind abandonat la apariția Mozilla). Aceste două elemente aveau câmpul src pentru încărcarea unui URL extern, iar prin utilizarea JavaScript, se putea modifica pagina mamă, obținându-se astfel un efect asemănător cu AJAX.

Extrem de dezvoltată la începutul anilor 2000, comunitatea web a preluat inițiativa dezvoltarii acestui tip de tehnologie, astfel că în anul 2002 a fost modificat Remote Scripting pentru a înlocui applet-ul Java cu XMLHttpRequest, care a devenit modalitatea principală de comunicare cu serverul.

3.2.2 Avantajele tehnologiei AJAX

Principalele avantaje ale tehnologiei AJAX sunt :

utilizarea eficientă – paginile realizate cu AJAX se încarcă mai repede, deoarece informația necesară este mai mică. Structurile generale ale unei pagini se generează o singură dată, iar la navigarea acelui site se aduc doar datele noi din conținutul paginii respective;

interactivitate – se trimit doar cereri scurte către server și se primesc răspunsuri de dimensiuni mici (un studiu recent a arătat că un client părăsește site-ul unui magazin online în favoarea altuia, dacă încărcarea unei pagini durează mai mult de 4 secunde).

3.2.3 Dezavantajele tehnologiei AJAX

Principalele dezavantaje ale tehnologiei AJAX sunt :

utilizarea butoanelor de back și forward, și a link-urilor – utilizatorii se așteaptă ca apăsând butoane să fie duși la aspectul anterior al paginii, dar acest lucru nu este mereu posibil, deoarece browser-ul nu poate ține mereu socoteala modificărilor produse în mod dinamic și asincron;

timpul de răspuns – se recomandă utilizarea unor indicatori de activitate de procesare (de exemplu : celebra clepsidră);

optimizarea paginilor – site-urile web trebuie să ofere aceeași informație și într-un format clasic, pentru a putea fi indexat de roboții de citire ai motoarelor de căutare. Se poate întâmpla ca informațiile de pe site să nu fie găsite de motorul de căutare, deoarece citesc doar textul existent în pagină și nu rulează și funcțiile din ea.

3.3 HTML

HTML [15] (Hyper Text Markup Language) [15] este un limbaj utilizat pentru a crea pagini web ce pot fi afișate într-un browser, având un rol important în prezentarea informațiilor : paragrafe, fonduri, tabele.

HTML reprezintă un limbaj de marcare universal interpretat de browsere și se folosește pentru elaborarea diferitelor documente text cu link-uri și elemente multimedia. Fișierele HTML sunt fișiere text, astfel ele pot fi afișate și modificate pe orice calculator cu orice sistem de operare.

Cu ajutorul lui poți realiza pagini web, nu foarte pretențioase, însă reprezintă un început pentru realizarea site-urilor profesionale

3.3.1 Istoric HTML

HTML a luat naștere în anul 1990 prin apariția acestuia la CERN (Centrul European de Cercetări Nucleare de la Geneva), având ca dezvoltator inițial pe Tim Berners-Lee și cunoscând mai multe versiuni de dezvoltare de-alungul timpului. Scopul acestuia a fost să faciliteze accesul rapid la informațiile tehnice cuprinse în manualele de utilizare a calculatoarelor.

În iunie 1994 este elaborat HTML 2.0 reprezentând standardul pe care ar trebui să-l suporte toate browserele curente.

Apărută în 1995, specificația HTML 3.0 a încercat să dezvolte HTML 2.0 prin adăugarea unor tabele și a unui control asupra textului din jurul imaginilor.

În mai 1996 a ieșit pe piață specificația HTML 3.2, fiind proiectată să standardizeze practicile acceptate la scară largă. La momentul apariției, HTML 4.0 este larg utilizat fiind publicate deja specificațiile HTML 4.01.

3.3.2 Avantajele HTML

Principalele avantaje HTML pe care le putem enumera cu usurință sunt :

documente independente de platformă;

legături cu alte documente;

inserție de grafică, video și sunet;

interactivitate între cititorul documentului și aplicația dorită de autor.

3.4 CSS

CSS (Cascading Style Sheets) [15] este un limbaj folosit pentru a controla formatul și aspectul unui document scris într-un limbaj de tip ”markup”, așa cum este HTML.

CSS a fost creat pentru a permite separarea conținutului unui document, de elementele de formatare, cum ar fi culori, fonturi, dimensiuni. Această separare îmbunătățește aspectul vizual al aplicației dezvoltate, dar ajută și beneficiarul să folosească aceeași formatare scrisă în CSS pentru mai multe documente de tip HTML.

În concluzie permite simplificarea codului scris în HTML prin crearea unui document separat de acesta, salvat cu extensia (.css), care să conțină formatări ale tag-urilor folosite în documentul HTML (culori, fonturi, margini, încadrări, stiluri de fundal).

La momentul actual putem folosi CSS-urile în două moduri, și anume :

Stilurile interne – plasează codul CSS în interiorul fiecărei pagini html pe care dorim să folosim stilurile respective, între tagurile <head></head>.

Exemplu : <head>

<title>titlu pagina</title>

<style type="text/css">Aici se definesc stilurile CSS</style></head>

Dezavantajul ar fi acela că metoda se aplică la două sau trei pagini, însă atunci cănd dorim modificarea mai multor pagini sau a site-urilor se observă că este destul de neplăcut să modificăm toate paginile.

Stilurile externe – dacă dorim să facem o schimbare care să aibe efect în toate paginile, este de ajuns să modificăm un singur fișier, și anume cel de stil (.css), și efectul se va observa pe toate paginile HTML ce folosesc acel fișier.

Pentru a insera un fișier extern (.css) într-o pagina HTML, plasăm un link în secțiunea <head></head> a fiecărei pagini pe care dorim să folosim stilul respectiv, astfel :

<link rel="stylesheet" type="text/css" href="Calea catre fisierul.css" />

sau putem folosi metoda de import după cum urmează :

<style type="text/css">@import url( Calea catre fisierul.css )</style>

Avantajele acestei metode sunt : flexibilitatea, întreținerea mai ușoară și dimensiunile reduse ale paginilor.

3.4.1 Avantajele și dezavantajele CSS

Printre avantajele utilizării CSS enumerăm :

scăderea dimensiunii în KB a paginii web, atunci când codul CSS este conținut într-un fișier extern;

suprapunerea unei imagini peste altă imagine, a unui text peste alt text, afișarea unor fonturi mai mari decât h1 și multe altele;

control mai fin asupra paginii.

Ca și dezavantaj apare faptul că o pagină care conține cod CSS poate arăta diferit în navigatoare diferite, deoarece nu toate browserele interpretează codul CSS.

3.5 Apache Web Server

Apache este principalul tip de server folosit pe Internet la ora actuală. Este un server HTTP de tip open-source jucând un rol important în dezvoltarea web-ului. Este folosit în prezent în circa 50% din paginile web. Cuvântul apache este numele apașilor, triburi de amerindieni.

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;

a evoluat rapid în funcționalitate și performanță ca un rival competitiv pentru alte servere web bazate pe Unix.

Popularitatea serverului Apache ca și 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.5.1 Istoric Apache

Robert McCool a fost cel care a creat prima versiune a serverului. “Numele Apache a fost ales din respect pentru Tribul nativ indian American al apasilor“ [16], 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 (National Center for Supercomputing Applications).

The Apache Software Foundation a sarbătorit (pe 21.02.2013) 18 ani de existență a cunoscutului web server Apache. Cu acest prilej, a lansat ultima versiune la acea dată, și anume Apache HTTP Server 2.4 care include mai multe îmbunătățiri, fiind mult mai ușor de folosit pentru servere dedicate cu trafic mare.

3.5.2 Avantajele Apache

Unele dintre avantajele Apache sunt :

suportă o mare varietate de module care îi extind funcționalitatea (pornind de la server side programming până la scheme de autentificare);

deține virtual hosting (găzduire virtuală), care constă în posibilitatea de a găzdui mai multe site-uri simultan pe același server;

mărește [17] capacitatea protocoalelor de bază utilizate pentru transportul de trafic web de pe internet.

3.6 Spring MVC

Cadrul Spring este o platformă pentru dezvoltarea și rularea de aplicații care poate fi împărțită în 2 moduri majore de funcționalitate. În centrul Spring se află un Kernel care este responsabil cu configurarea, administrarea și imbunătățirea componentelor Spring în aplicații. Pe langă acesta, Enterprise Service Layer oferă funcționalitate și abstracții asupra caracteristicilor enterprise cum ar fi tranzacții, acces de date, mesagerie, acces la distanță și altele.

Comparativ cu cadre similare bazate pe componente cum ar fi EJB, unul dintre diferențiatorii cheie al containerului de baza din Spring este acela că elementele administrate sunt de obicei POJO-uri (Plain Old Java Object) care nu necesită implementarea de interfețe speciale sau cunoștințe despre ciclul de viață al containerului. Aceste obiecte sunt configurate folosind principiul Inversion of Control (IoC), principiu ce înseamnă că dezvoltatorii nu leagă direct obiectele prin cod java, ci se bazează pe container pentru crearea, scrierea și administrarea obiectelor.

Unele beneficii ale IoC, când sunt îmbinate cu abstracțiile enterprise Spring, includ:

Decuplarea componentelor de mediul de execuție;

Separarea datelor de configurare de codul aplicației;

Abilitate facilă de a testa componentele în izolare folosind teste pe unitate, sau în combinație prin teste de integrare, fară modificarea codului existent;

Abilitatea de a schimba POJO-urile existente printr-o modalitate transparentă și declarativă de injectare de funcționalități în interiorul acestora, cum ar fi suport transparent, securitate, audit, creare de loguri, cache și altele.

Toate caracteristicile spring pot fi instalate într-un singur container web free cum ar fi Tomcat, întrucât facilitățile containerului EJB sunt obționale. Într-un scenariu web, gruparea clasică este un fisier WAR conținând fișierele JAR. Componentele majore ale unei aplicații web Spring clasice includ:

Componentele administrate spring: folosind facilitățile de configurare în timpul execuției, orice obiect poate fi administrat de Spring și orchestrat de alte caracteristici spring cum ar fi securitate, suport pentru tranzacții, loguri, și multe altele. Complexitatea legării componentelor este ridicată din componente și permite dezvoltatorilor să se concentreze la scrierea aplicațiilor în sine.

API-urile și funcționalitatea serviciilor spring enterprise – Funcționalitatea și abstracțiile oferite de Spring asupra variatelor servicii enterprise simplifică complexitatea aplicației și scade timpul de dezvoltare. Aceste servicii sunt accesibile prin API-uri programatice, sau transparent în momentul în care componentele administrate spring sunt grupate pentru a oferi această funcționalitate.

Componentele și codul care nu sunt administrat de Spring: Spring este folosit doar pentru a lega și administra obiecte unde se adaugă valori concrete. Unele clase de obiecte nu sunt administrate, cum ar fi obiecte de transfer de date, obiecte de domeniu, cod third-party, etc. Aceste obiecte încă mai pot folosi serviciile API enterprise Spring într-o manieră programatică.

Cadre web: MVC-ul Spring reprezintă un cadru web integral care este cu ușurință legat la o aplicație spring existentă. Spring suportă de asemenea orice alt cadru, și include clase de integrare direct pentru Struts, JSF, și alte platforme gata făcute.

Orice container web standard poate susține o aplicație web spring. SpringSource recomandă Apache Tomcat care s-a dovedit a fi popular, rentabil, fără cost, sau cu un cost mic de hostare a aplicațiilor bazate pe spring.

3.6.1. Arhitectura Spring

Spring constă în 7 module bine definite:

Spring AOP – Una dintre componentele cheie ale spring este cadrul AOP. Acesta este folosit pentru a oferi servicii enterprise declarative, mai ales ca un înlocuitor pentru serviciile EJB declarative. Cel mai important asemenea serviciu este managementul tranzacțional declarativ. Altă utilitate a AOP este de a permite utilizatorilor să implementeze aspecte personalizate, completând utilitatea OOP-ului cu AOP.

Spring ORM – Pachetul ORM este legat de accesul la baza de date. Oferă niveluri de integrare pentru mapări obiectual-relaționale populare, incluzând JDO, Hibernate și IBatis.

Spring Web – Acesta este o parte a modulului spring de dezoltare de aplicații web care include Spring MVC.

Spring DAO – Suportul DAO (Data Access Object) în spring are ca rol principal standardizarea accesului de date folosind tehnologii ca JDBC, Hibernate și JDO.

Spring Context – Acest pachet este construit împrejurul pachetului beans pentru a adauga suport pentru surse de mesaje și pentru șablonul Observer, și abilitatea obiectelor aplicațiilor de a obține resurse folosind un API consistent.

Sproig Web MVC – Oferă implementările MVC pentru aplicații web.

Spring Core – Această componentă este cea mai importantă a cadrului spring. Suportă injecția de dependențe. BeanFactory oferă un șablon de construcție care separă dependențele ca inițializarea, creearea și accesarea obiectelor din logica programului propriu.

3.6.2. Spring MVC

Cadrul web Spring MVC este un cadru orientat pe cerere/răspuns. Oferă integrare cu oricare alt nivel al aplicației, și este administrat de containerul spring IoC. Spring MVC include suport de randare pentru JSP-uri, Velocoty, XSLT, Freemarker, Jasper Reports, Excel și PDF și suportă Tiles pentru compunerea paginii.

3.7 Javascript

JavaScript (JS) este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.

Până la începutul lui 2005, ultima versiune existentă a fost JavaScript 1.5, care corespunde cu Ediția a 3-a a ECMA-262, ECMAScript, cu alte cuvinte, o ediție standardizată de JavaScript. Versiunile de Mozilla începând cu 1.8 Beta 1 au avut suport pentru E4X, care este o extensie a limbajului care are de a face cu XML, definit în standardul ECMA-357.

3.8 Weka

Weka este o colectie de algoritmi de invatare pentru data mining. Algoritmii pot fi aplicati fie direct pe un set de date sau folositi chiar din codul Java. Weka contine instrumente pentru preprocesarea datelor, clasificare, regresie, reguli de asociere si pentru vizualizare. De asemenea, este potrivit pentru dezvoltarea de noi scheme de invatare. Weka este utilizat in cercetare, educatie si in cadrul aplicatiilor. Aplicatia insumeaza un set vast de instrumente de preprocesare a datelor, algoritmi de invatare si metode de evaluare, interfete grafice utilizator (incluzand vizualizarea datelor) si un mediu pentru compararea algoritmilor de invatare.

Weka este un software open source, sub licenta generala publica GNU. "WEKA" provine de la Mediul Waikato pentru Analiza Cunostiintelor (Waikato Environment for Knowledge Analysis), si a fost dezvoltat la Universitatea Waikato din Noua Zeelanda. WEKA este extensibil si a devenit o colectie de algoritmi pentru invatare in scopul rezolvarii problemelor de data mining din lumea reala. A fost implementat in limbajul Java si ruleaza aproape pe orice platforma. WEKA este usor de folosit si usor de aplicat pe mai multe nivele diferite. Libraria WEKA poate fi accesata de propriul program Java, si poate implementa noi algoritmi pentru invatare.

Exista trei scheme majore implementate in WEKA. (1) Scheme implementate pentru clasificare. (2) Scheme implementate pentru previziunea numerica. (3) Meta-scheme implementate. In afara schemelor actuale de invatare, WEKA contine, de asemenea, o varietate mare de instrumente care pot fi folosite pentru preprocesarea seturilor de date, astfel incat este posibila concentrarea pe propriul algoritm fara a se tine cont de detalii precum citirea datelor din fisier, implementarea algoritmilor de filtrare si oferirea de code sursa pentru evaluarea rezultatelor.

3.8.1.Algoritmi de clasificare. Algoritmul Naive Bayes

Algoritmi de clasificare sunt folositi pentru a grupa date multi-dimensionale în grupe

(clusters) definite algoritmic. Aceasta metoda este utila pentru cuantificarea unor cantitati

mari de informatie, fiecare grupa reprezentând mai multe puncte având caracteristici

similare. Clusterele distincte sunt disjuncte.

Analiza clasificarii consta dintr-o serie de algoritmi ce exploateaza mai multe euristici

bazate în principal pe experienta noastra „vizuala” în gruparea punctelor în regiuni de puncte.

În general, pentru a putea folosi un algoritm de clasificare, este nevoie de urmatoarele

informatii:

distanta între punctele unui spatiu multidimensional;

strategia de alegere a punctului reprezentativ (adica a „centrului”) pentru orice grupare de puncte;

distanta între doua grupe de puncte.

3.8.1.1. Teorema lui Bayes

Teorema lui Bayes este una dintre teoremele fundamentale ale teoriei probabilitățiilor, care determină probabilitatea apartenenței evenimentelor și a obiectelor la o anumită grupă. Probabilitatea bayesiană este numele dat mai multor interpretări ale noțiunii de probabilitate, care au în comun ideea de probabilitate ca credință parțială, în loc de cea de frecvență de apariție a unui eveniment. Aceasta permite aplicarea probabilității mai multor propoziții și nu doar cele care au o clasă de referință. Termenul de „bayesian” a început să fie folosit în acest sens cam din 1950. Nu se știe dacă Bayes însuși a îmbrățișat larga interpretare denumită astăzi bayesiană. Este dificil să se evalueze ideile filosofice ale lui Bayes despre probabilitate, deoarece eseul său nu intră în chestiuni de interpretare. Acolo, Bayes definește probabilitatea ca și: “Probabilitatea oricărui eveniment este raportul între valoarea la care ar trebui calculată o așteptare în funcție de întâmplarea unui eveniment, și valoarea lucrului așteptat după ce s-a întâmplat”.

Teorema lui Bayes reprezintă un prim mijloc de a determina probabilitatea unui eveniment Ai (componentă a unei repartiții) în situația în care se știe că apariția acestuia este influențată de îndeplinirea unui alt eveniment independent B. Prin mulțime de evenimente mutual exclusive și exhaustive se înțeleg acele evenimente care satisfac următoarele condiții:

oricare ar fi două evenimente din mulțimea respectivă, acestea nu pot avea loc simultan (exclusivitate);

cu evenimentele din mulțime se pot descrie toate stările în care se află sistemul la care aceste evenimente fac referire (exhaustivitate)

3.8.1.2. Algoritmul Naive Bayes

Se folosește pentru a clasifica date neetichetate cu ajutorul unor estimări folosind date de antrenare etichetate. Conform cu teorema Bayes se poate obține probabilitatea posterioară cunoscând probabilitatea anterioară, probabilitatea ca un document să aparțină la un subiect. Probabilitățile pentru noile date de antrenare ale unui clasificator (evidence):

P(D|T)/(P(D| T ) unde: D– document, T – topic

Estimarea acestor probabilități se face prin măsurarea frecvenței de apariție a cuvintelor într-un set de documente de antrenare.

wk este cuvântul k din cele n cuvinte ale documentului D. Documentele neetichetate se folosesc pentru a îmbunătăți setul de documente de antrenare.

3.8.2. Algoritmi de grupare(clustering). Algoritmul K Means

Gruparea datelor (“data clustering”) este una dintre cele mai cunoscute si frecvent utilizate prelucrari din domeniul analizei datelor. Scopul gruparii este identificarea unor grupuri de date (“clusteri”) caracterizate prin faptul ca datele din fiecare grup sunt suficient de similare intre ele iar datele din grupuri diferite sunt suficient de disimilare. Gruparea datelor este cunoscuta si sub numele de clasificare nesupervizata a datelor intrucat nu se porneste de la exemple de asignare a datelor la grupuri iar in cazul cel mai general nu este cunoscut nici macar numarul de grupuri. Fiecarui cluster i se asociaza de regula un reprezentant (numit centru sau centroid) care are rolul de a reprezenta clusterul.

Gruparea datelor are aplicatii in analiza imaginilor (identificarea regiunilor omogene din imagine), in identificarea profilurilor utilizatorilor unei resurse web (gruparea in aceeasi categorie a utilizatorilor cu comportament similar), in analiza expresiei genice (cu scopul de a identifica gene cu functii similare) etc.

3.8.1.1. Algoritmul kMeans

Este un algoritm iterativ care permite partitionarea unui set de date intr-un numar prestabilit de clusteri, fiecare caracterizat printr-un reprezentant, astfel incat suma distantelor dintre date si reprezentatul clusterului caruia ii apartin este minima. Varianta cea mai simpla a algoritmului de partitionare consta in:

Se initializeaza reprezentantii claselor cu date selectate aleator din setul de date

Se repeta:

Se asigneaza datele clusterilor pe baza criteriului distantei minime (o data X este asignata clusterului avand cel mai apropiat reprezentant);

Se recalculeaza reprezentantii clusterilor ca medii aritmetice ale datelor din fiecare cluster;

Pana cand reprezentantii nu se mai modifica.

Figura 1: Algoritmul K Means. Exemplele din setul de date sunt ilustrate ca puncte, iar centroidele clusterului sunt reprezentate ca x. (a) Setul de date original. (b) Centroide de cluster initiale aleaotare. (c-f) Ilustrarea rulării a doua iterații k means. În fiecare iterație,asignăm fiecare exemplu din setul de date celui mai apropiat centroid de cluster.

3.9 Google Charts

Pentru a afișa datele intr-un format prietenos pentru utilizator in cadrul platformei au fost utilizate graficele si tabelele oferite de serviciul online pus la dispozitie de Google si anume Google Charts. Aceste serviciu faciliteaza afișarea rezultatelor in paginile web prin introducerea de cod scris in JavaScript pentru a afișa datele primite. Modalitatea de utilizare este destul de intuitiva iar rezultatele au un aspect deosebit.

Pentru utilizare trebuie să ne familiarizam cu serviciile și tipurile de grafice oferite de Google Charts. Partea de business logic din aplicație se va ocupa de obținerea datelor necesare și introducerea lor intr-un format adecvat pentru a putea fi trimise către serviciul online. In pagina web a aplicației vom introduce un cod scris in JavaScript menit să primeasca datele din aplicație să le trimita către google pentru ca mai apoi să primeasca inapoi graficele solicitate.

3.10 Hibernate

Lucrul cu software orientat obiect si baze de date relationale poate fi time-consuming si poate cauza diverse erori datorita diferentelor dintre reprezentarea datele in baza de date si modelarea lor in obiecte.

Hibernate este o biblioteca ORM()Object-Relational Mapping) pentru limbajul Java, utila pentru maparea modelului orientat pe obiecte peste bazele de date relationale. Principalul atu al acestei librarii este faptul ca ofera o solutie rapida, de inalta performanta, independenta de tipul bazei de date folosite pentru modelarea obiectelor unei baze relationale. Aceasta tehnologie este free si open source, distribuita sub licenta GNU Lesser General Public License.

Principala caracteristica a Hibernate este maparea intre clasele Java si tabelele bazelor de date precum si intre tipurile de date Java si SQL. Hibernate pune la dispozitie posibilitatea redactarii de query-uri si data-retrieval.

3.10.1 Mapari

Maparea claselor Java pe tabele dintr-o baza relationala se realizeaza prin configurarea unui fisier XML sau prin folosirea de adnotari Java. Atunci cand se alege prima varianta, Hibernate poate genera un schelet de cod pentru clasele persistente. Daca se folosesc adnotarile Java acest lucru nu mai este necesar. Hibernate poate folosi oricare dintre cele doua variante pentru a mentine schema bazei de date.
Hibernate ofera posibilitatea de a realiza relatii unu-la-unu sau multi-la-multi intre clase. De asemenea se pot realiza asocieri reflexive intre un obiect si mai multe instance din acelasi timp, relatie de tip unu-la-multi.

Configurarile necesare pentru lucrul cu Hibernate se realizeaza in fiserul hibernate.cfg.xml. Acest fisier contine informatii pentru realizarea conexiunii JDBC precum:

propietati – property

connection.driver_class

connection.url

connection.username

connection.password

connection.pool_size – folosit pentru configurarea pool-ului

dialect – specifica dialectul pe care Hibernate o va converti

hbm2ddl.auto – activeaza generarea schemei bazei de date direct in baza

mapari persistente pentru clasele POJO – mapping

class – numele clasei mapate referitor la pachetul in care se afla

resource – localizeaza clasa folosind java.lang.ClassLoader

Un exemplu de fisier de configurare este ilustrat mai jos:

3.10.2 Persistenta

Hibernate ofera suport de persistenta pentru Plain Old Java Objects(POJOs).  Clasele POJO folosesc conventia de nume JavaBeans pentru getters, setters iar campurile interne se recomanda sa abia modificatorul de acces private.

O cerinta pentru ca o clasa sa fie persistenta este existenta constructorului default (fara argumente), deoarece Hibernate se va folosi de acesta pentru a crea obiecte folosind Java Reflection. Constructorul poate fiprivate, dar pachetul sau visibilitatea trebuie sa permita generarea de proxy-uri la runtime si de asemenea accesarea datelor fara folosirea de metode de bytecode instrumentation.

Colectiile de date sunt stocate in obiecte Java precum Set, List. Genericele, introduse in Java 5, sunt de asemenea suportate. Hibernate by default (incepand cu Hibernate 3) foloseste metoda de lazy load a colectiilor.
Pentru obiectele „inrudite“ se pot configura operatii in cascada de la unul la altul. De exemplu, un obiect de tip Album poate fi configurat ca operatiile de save si/sau delete aplicate pe aceasta clasa sa se apeleze in cascada pe obiectele copil de tip Track.

3.10.3 Integrare

Hibernate este disponibil pe SourceForge in format ZIP si TGZ. Pentru download, accesati hibernate 3.

Hibernate3.jar este o agregare a tutturor claselor Hibernate si trebuie inclus pe classpath-ul proiectului pentru a putea folosi obiecte Hibernate.
Directorul lib/required/ contine jar-urile necesare functionarii corecte a lui Hibernate, si trebuie de asemenea sa se alfe pe classpath-ul proiectului.
Directorul /lib/jpa/ contine jarul pentru JPA API. Acesta este necesar daca in proiect folositi adnotari JPA sau elemente ale API-ului JPA.

3.10.4 Hibernate Query Language

Hibernate ofera un limbaj de lucru cu bazele de date relationale inspirat din SQL numit Hibernate Query Language. Acest limbaj permite scrierea de queriuri asemenea limbajul SQL care se vor aplica pe obiectele Hibernate.

Obiectele de tip Criteria Queries sunt varianta orientata obiect a lui HQL.

Sintaxa HQL este foarte asemanatoare cu cea SQL:

3.10. 5 Entitati si componente

In Hibernate, o entitate este un obiect stand-alone care poate fi manipulat independent de alte obiecte. 
In contrast cu entitatea, o componenta este subordonata unei entitati si poate fi manipulata doar prin intermediul acesteia. Spre exemplu, un obiect de tip Album poate reprezenta o entitate dar obiectele de tipTrack asociate cu obiectele Album reprezinta o componenta a entitatii Album, inseamnand ca pot fi salvate sau obtinute doar prin intermediul obiectelor de tip Album.

Obiectele de tip SessionFactory sunt thread-safe si imutabile. Acestea folosesc la crearea de noi sesiuni Hibernate. De regula, se foloseste o singura instanta de clasa care implementeaza aceasta interfata (de regula expusa cu design patternul Singleton).

CAPITOLUL 4: DESCRIERE APLICAȚIE WEB

4.1. Arhitectura și design-ul aplicației

Aplicația respectă arhitectura Spring MVC, iar toate acțiunile unui user sunt interpretate de către dispatcher-servlet care va redirecționa orice operație către clasele adnotate cu @Controller și ale căror metode sunt mapate cu request-ul făcut de utilizator.

Controller-ul nu lucrează direct cu obiectele (POJO) din model, ci interactionează cu ele prin intermediul unor interfețe de repository. Aceste interfețe sunt implementate de clase care extind o clasă abstractă numita BaseHibernateRepository. Această clasă conține toate metodele prin intermediul cărora se face comunicarea cu baza de date.

4.1.1. Baza de date

4.1.2. Legătura cu baza de date

Pentru maparea modelului orientat pe obiecte peste baza de date relațională a fost folosită biblioteca Hibernate. Configurarile necesare pentru lucrul cu Hibernate se realizeaza in fiserul hibernate.cfg.xml.

Maparea claselor Java pe tabele dintr-o baza relationala se realizeaza prin folosirea de adnotari Java. Hibernate ofera suport de persistenta pentru Plain Old Java Objects(POJOs). 
Clasele POJO folosesc conventia de nume JavaBeans pentru getters, setters iar campurile interne se recomanda sa abia modificatorul de acces private

POJO

Tabelul din baza de date

4.1.3. Diagrame de clase

4.1.3.1. User Controller

4.1.3.2. File Upload Controller

4.1.3.3. Unit Test Controller 4.1.3.4. Weka Controller

4.1.4. Diagrama use case

5. Analiza datelor

Pe lângă partea de dezvoltare a platformei de e-learning, proiectul a mai presupus și o parte de analiză a datelor generate prin intermediul aplicației web.

Folosind platforma de e-learning implementată, am integrat un modul care să permită gruparea studenților, în funcție de activitatea acestora, pentru a oferi profesorilor o idee clara despre nivelul de cunoștințe al fiecărui student, sau care este poziția lui în raport cu colegii săi. Pentur această parte am utilizat algoritmul K-Means, care presupune calcularea centrului de greutate al unui cluster si asignarea unei entități acelui cluster în funcție de o anumită metrică.

Al doilea modul de intelligent data analysis este constituit din utilizarea unui algoritm de clasificare pentru oferi posibilitatea anticipării notei finale a unui student pe baza actiunilor sale. Algoritmul de clasificare folosit este algoritmul Naive Bayes și se foloșeste pentru a clasifica date neetichetate cu ajutorul unor estimări folosind date de antrenare etichetate. Fiecare atribut utilizat în procesul de clasificare a fost atent selectionat în vederea obținerii maximului de informație care se poate extrage pentru a maximiza performanțele algoritmului de clasificare.

Pentru a putea obține o idee mai clară a ideii de clasificare a instanțelor în funcție de atribute, am mai utilizat un algoritm de clasificare, și anume implementarea arborelui de decizie C4.5, J48.

5.1. Setul de date

Setul de date (training set) asupra căruia au fost aplicați algoritmii de data mining este format din instanțe ce reprezintă studenții înscriși în baza de date. Atributele acestor instanțe sunt, de fapt, atributele claselor mapate in obiecte java.

Atributele unei instanțe asupra căreia se aplică algoritmii sunt:

numărul de descărcări al unui curs

numărul de vizualizări al unui curs

numărul temelor încărcate

numărul temelor urcate dupa deadline

timpul petrecut la un test grilă

nota obținută la un test grilă

dificultatea testelor

5.2. Aplicarea algoritmilor

public static List<KeyValue> applyKMeans(

ClassifiedInstance[] classifiedInstances,

UnclassifiedInstance instance) throws Exception {

WekaService wekaService = new WekaService(classifiedInstances, instance);

Instances isTrainingSet = wekaService.convertForCluster();

SimpleKMeans kmeans = new SimpleKMeans();

kmeans.setSeed(10);

kmeans.setPreserveInstancesOrder(true);

kmeans.setNumClusters(5);

kmeans.buildClusterer(isTrainingSet);

int[] assignments = kmeans.getAssignments();

Integer[] newArray = ArrayUtils.toObject(assignments);

Multiset<Integer> seussCount = HashMultiset.create(Arrays

.asList(newArray));

double[] medii = returnClusterAverage(assignments);

List<KeyValue> clusterList = new ArrayList<KeyValue>();

for (int k = 0; k < kmeans.getNumClusters(); k++) {

clusterList.add(new KeyValue("Cluster " + k + ": " + medii[k], seussCount

.count(k)));

}

return clusterList;

}

6. Manual de utilizare

6.1. Pagina principală

Studentul poate accesa oricare din link-urile care îl vor redirecționa către pagina oficială a Facultății de Automatică, Calculatoare și Electronică.

Studentul are acces la mai multe cursuri, fiecare curs fiind împărțit pe mai multe capitole. Studentul poate descărca un curs, sau îl poate vizualiza online.

6.2. Cursurile mele

6.3 Temele mele

Pentru fiecare curs, studentul are opțiunea de a încărca o temă. Temele sunt înregistrate in baza de date împreună cu data încărcarii. Fiecare temă are o data limită până la care poate fi încărcată. Studentul poate încarca teme si dupa termenul limită, însă fiecare zi întârziată va fi de asemenea salvata în baza de date, astfel încat profesorul să aibă acces la toate informațiile legate de teme.

6.4 Încarcă o temă

Stundentul poate alege din computerul personal o temă pe care să o încarce pe severul aplicației

6.5 Susține un test

Studentul are posibilitatea de a-și verifica cunoștințele, susținând teste grilă on line. Fiecare test este alcătuit din 8 grile.

La finalul testului, studentul își poate vedea nota obținută, precum și timpul în care acesta a terminat testul

6.6 Vizualizarea statisticilor

Studentul are opțiunea de a vizualiza statistici și rapoarte ce conțin date asupra cărora au fost aplicații algoritmii de clasificare și de clustering

7. CONCLUZII

Aplicația dezvoltată în cadrul acestui proiect de licență a cuprins atat o parte de dezvoltare bazată pe tehnologii software cât și o parte de cercetare și analiză a datelor.

În concluzie putem conchide că proiectul și-a atins scopul pentru care a fost dezvoltat fiind dus la bun sfârșit și nu în ultimul rând m-a motivat să învăț lucruri noi și să imi depașesc limitele.

Similar Posts